/* Form-first entry and a free-standing, responsive Fir companion. */
.evaluation{padding:54px 0 72px;min-height:calc(100svh - 72px);background:radial-gradient(ellipse at 10% 22%,#152c4d 0,transparent 62%),#071222}
.evaluation .evaluation-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:clamp(30px,5vw,82px);width:min(calc(100% - 240px),1220px);margin-left:max(36px,calc((100vw - 1440px)/2));margin-right:190px}
.evaluation .evaluation-intro{grid-column:auto;max-width:none;padding-top:31px;position:sticky;top:115px}
.evaluation .evaluation-intro .section-cap{font-size:9px;margin-bottom:34px;line-height:1.8;color:#9cb1d1}
#evaluation-title{font:500 clamp(41px,4.15vw,68px)/1.04 "Helvetica Neue",Arial,sans-serif;letter-spacing:-.065em;color:#f4f4ef;margin:0}
#evaluation-title em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em;color:#afc1ef}
.evaluation .evaluation-intro>p{font-size:16px;line-height:1.7;max-width:36ch;color:#b2c1d6;margin:27px 0 32px}
.evaluation-range{border-top:1px solid #35465d;padding-top:23px;max-width:390px}
.evaluation-range>span{font:9px var(--mono);letter-spacing:.08em;color:#93a7c4}
.evaluation-range strong{display:block;font-size:clamp(30px,3.1vw,48px);font-weight:400;letter-spacing:-.055em;color:#f2f3ec;margin:10px 0}
.evaluation-range small{font-size:.58em;color:#a8bce5}
.evaluation-range p{font-size:12px;color:#91a5c2}
.evaluation-entry-note{display:flex;align-items:center;gap:11px;margin-top:28px;font-size:11px;color:#afbdd1}
.evaluation-entry-note i{width:3px;height:3px;border-radius:50%;background:#7898db}
.evaluation-services-link{display:inline-flex;align-items:center;gap:16px;margin-top:31px;font-size:13px;color:#cad6ec;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#62758e}
.evaluation-services-link:hover{color:#fff}
.evaluation-card{width:100%;padding:31px 32px;border-radius:5px;box-shadow:0 25px 80px -40px #0008;margin:0}
.evaluation .has-financial-context{grid-template-columns:minmax(0,1fr);max-width:820px}
.evaluation .has-financial-context .evaluation-card{padding:34px 42px}
.finance-score-line{border-block:1px solid #ccd6df;padding:16px 0;margin:0 0 28px;--score:#4c6896}
.finance-score-line[data-level=red]{--score:#b24747}.finance-score-line[data-level=yellow]{--score:#a46a16}.finance-score-line[data-level=green]{--score:#18765f}
.finance-score-line>div{display:flex;gap:16px;justify-content:space-between;align-items:center}
.finance-score-line span{font:9px/1.7 var(--mono);letter-spacing:.035em;max-width:20ch}
.finance-score-line strong{font-size:31px;font-weight:500;letter-spacing:-.055em;color:var(--score);white-space:nowrap}
.finance-score-line p{font:11px/1.7 var(--mono);margin:6px 0 0;color:#61758d}
.hero-writing #hero-title{font:650 clamp(74px,7.45vw,134px)/.90 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:-.077em;margin:30px 0 21px}
.hero-writing #hero-title em{font:inherit;color:#eef1f5;letter-spacing:inherit}
.pet-companion{--pet-color:#7fbeff;position:fixed;right:17px;bottom:15px;z-index:45;width:155px;color:#172c47;isolation:isolate;pointer-events:none}
.pet-companion[data-level=red]{--pet-color:#ff696b}.pet-companion[data-level=yellow]{--pet-color:#ffb448}.pet-companion[data-level=green]{--pet-color:#5fffc0}
.pet-toggle{display:block;position:relative;border:0;padding:0;background:none;width:100%;aspect-ratio:2/3;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;border-radius:36%;outline-offset:0;transition:filter .25s,transform .25s}
.pet-toggle:hover{filter:brightness(1.08);transform:translateY(-3px)}
.pet-toggle:focus-visible{outline:2px solid #91acfc}
.pet-character{display:block;position:absolute;inset:0;animation:pet-breathe 5.8s ease-in-out infinite;transform-origin:50% 80%;filter:drop-shadow(0 8px 6px #020b1c48)}
.pet-character img,.pet-face{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.pet-face{overflow:visible;color:var(--pet-color);transition:color .45s}
.pet-eyes{fill:currentColor;filter:drop-shadow(0 0 17px currentColor);transform-origin:512px 305px;animation:pet-blink 7.2s infinite}
.pet-gaze{transition:transform .24s ease-out;transform:translate(var(--gaze-x,0px),var(--gaze-y,0px))}
.pet-mouth,.pet-brows{stroke:currentColor;stroke-width:13px;stroke-linecap:round;filter:drop-shadow(0 0 10px currentColor);transition:opacity .3s;opacity:0}
.pet-mouth-neutral{opacity:1}.pet-companion[data-level=red] .pet-mouth-neutral,.pet-companion[data-level=green] .pet-mouth-neutral{opacity:0}
.pet-companion[data-level=red] .pet-mouth-sad,.pet-companion[data-level=red] .pet-brows,.pet-companion[data-level=green] .pet-mouth-happy{opacity:1}
.pet-shadow{position:absolute;bottom:1.5%;left:19%;width:62%;height:5%;background:#0004;filter:blur(7px);border-radius:50%;animation:pet-shadow 5.8s ease-in-out infinite}
.pet-message{pointer-events:auto;position:absolute;right:11px;bottom:calc(100% + 6px);width:310px;padding:20px 21px;border:1px solid #ced8e3;border-radius:15px 15px 5px 15px;background:#f7f9fb;color:#1b304f;box-shadow:0 20px 70px #020b2440;max-height:min(560px,calc(100dvh - 335px));overflow:auto;animation:pet-message-in .22s ease-out}
.pet-message[hidden]{display:none!important}
.pet-message-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.pet-message-top>span{font:8px/1.5 var(--mono);letter-spacing:.06em;color:#657b97}
#pet-close{width:28px;height:28px;display:grid;place-items:center;border:0;background:#e9eef4;border-radius:50%;font-size:20px;color:#59718e;cursor:pointer;flex-shrink:0}
.pet-message h3{font-size:22px;line-height:1.12;letter-spacing:-.045em;font-weight:500;margin:0 0 9px}
.pet-message>p{font-size:12px;line-height:1.65;color:#5a6f89;margin:0}
.pet-details{display:none}.pet-companion.is-pinned .pet-details{display:block}
.pet-score{display:flex;gap:16px;align-items:center;border-block:1px solid #d8e0e9;padding:15px 0;margin-top:18px}
.pet-score strong{font-size:36px;letter-spacing:-.055em;font-weight:500;white-space:nowrap}.pet-score small{font-size:15px;color:#8392a7;font-weight:400}
.pet-score>div>span{display:block;font:8px/1.8 var(--mono);color:#526d90}.pet-score>div>span:last-child{font:10px/1.8 Arial,sans-serif;color:#7b8ba0}
.pet-breakdown{margin:15px 0}.pet-breakdown>div{display:flex;justify-content:space-between;gap:16px;padding:5px 0;font-size:11px;color:#5c718c}.pet-breakdown dd{margin:0;font:10px var(--mono);color:#294b75}
.pet-details>p{font-size:11px;line-height:1.65;color:#62758c;margin:12px 0}
#assistant-optimize{width:100%;display:flex;justify-content:space-between;gap:10px;border:1px solid #c3cfe0;border-radius:4px;background:#edf2f8;color:#214372;font-size:11px;line-height:1.5;padding:12px;cursor:pointer;text-align:left}
#assistant-optimize:disabled{opacity:.45;cursor:default}
.pet-details>.pet-note{font-size:10px;padding-top:10px;border-top:1px solid #dbe2e9;color:#7c8ba0;margin-bottom:0}
@keyframes pet-breathe{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-6px) rotate(.5deg)}}
@keyframes pet-shadow{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(.88);opacity:.5}}
@keyframes pet-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}
@keyframes pet-message-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.evaluation .evaluation-layout{width:calc(100% - 185px);margin-left:30px;margin-right:155px;gap:35px;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.evaluation-card{padding:28px 25px}.pet-companion{width:125px;right:12px}.pet-message{bottom:calc(100% + 4px);max-height:calc(100dvh - 285px)}#evaluation-title{font-size:45px}.evaluation-range strong{font-size:33px}.hero-writing #hero-title{font-size:clamp(70px,8.2vw,92px)}}
@media(max-width:900px){.evaluation{padding:32px 0 55px}.evaluation .evaluation-layout{grid-template-columns:1fr;width:calc(100% - 160px);margin-left:24px;margin-right:136px;gap:32px}.evaluation .evaluation-intro{padding-top:0;position:static}.evaluation .evaluation-intro .section-cap{margin-bottom:20px}.evaluation .evaluation-intro>p{max-width:48ch;margin:20px 0}.evaluation-range{max-width:none;padding-top:18px}.evaluation-range strong{font-size:38px}.evaluation-entry-note{margin-top:20px}.evaluation-services-link{margin-top:18px}.evaluation .has-financial-context .evaluation-card{padding:28px}.pet-companion{width:110px;right:9px}.pet-message{width:300px;max-height:calc(100dvh - 260px)}}
@media(max-width:600px){.evaluation{padding-top:28px}.evaluation .evaluation-layout{width:calc(100% - 95px);margin-left:16px;margin-right:79px;gap:27px}.evaluation .evaluation-intro .section-cap{font-size:7px;letter-spacing:.045em;line-height:1.8;margin-bottom:17px}#evaluation-title{font-size:clamp(32px,8.7vw,46px);line-height:1.05}.evaluation .evaluation-intro>p{font-size:13px;line-height:1.65;margin:17px 0 20px}.evaluation-range{padding-top:16px}.evaluation-range>span{font-size:7px}.evaluation-range strong{font-size:29px}.evaluation-range p{font-size:10px}.evaluation-entry-note{font-size:9px;gap:8px;margin-top:16px}.evaluation-services-link{font-size:11px;margin-top:18px}.evaluation-card,.evaluation .has-financial-context .evaluation-card{padding:24px 17px;border-radius:4px}.form-top{font-size:8px}.form-step-names{font-size:8px;gap:8px}.form-progress{margin-bottom:30px}#evaluation-form legend{font-size:26px}.step-help{font-size:12px}.field-hint{font-size:10px}.field-pair{grid-template-columns:1fr;gap:0}.form-actions{gap:8px}.form-next{padding:11px 13px;gap:12px;font-size:12px}.form-actions>span{font-size:8px}.finance-score-line>div{gap:8px}.finance-score-line strong{font-size:27px}.finance-score-line span{font-size:8px}.finance-score-line p{font-size:9px}.pet-companion{width:70px;right:4px;bottom:max(9px,env(safe-area-inset-bottom))}.pet-message{right:8px;bottom:calc(100% + 11px);width:min(310px,calc(100vw - 25px));max-height:min(66dvh,580px);padding:18px}.pet-message h3{font-size:21px}.pet-toggle{min-width:44px;min-height:44px}.hero-writing #hero-title{font-size:clamp(52px,13vw,78px);margin:18px 0 14px}.hero-writing #hero-title br:nth-child(1){display:none}.optimization-table{font-size:10px}.optimization-table th,.optimization-table td{padding:9px 5px}.contribution-scale{font-size:8px}.computed-contribution{padding:17px 13px}.computed-contribution dl>div{gap:8px}.computed-contribution dd{font-size:11px}}
@media(prefers-reduced-motion:reduce){.pet-character,.pet-eyes,.pet-shadow,.pet-message{animation:none}.pet-face,.pet-gaze,.pet-mouth,.pet-brows,.pet-toggle{transition:none}}
.evaluation .evaluation-card{grid-column:auto;order:initial}
.evaluation .evaluation-layout:not(.has-financial-context) .form-progress{margin:15px 0 30px}
.evaluation .evaluation-layout:not(.has-financial-context) .form-step-names{margin-bottom:23px}
.evaluation .evaluation-layout:not(.has-financial-context) .step-help{margin:12px 0 20px}
@media(min-width:901px){.evaluation{padding-top:35px}.evaluation .evaluation-intro{padding-top:22px}}

.pet-message{scrollbar-width:thin;scrollbar-color:#bac8d8 transparent}
