/* Copied from the sample site. The animation reads --paper, --ink, --panel, --muted, --yellow, --dark;
   here they resolve to this site's palette tokens. --yellow (the accent) and the font tokens are global. */
.insurance-animation{--paper:var(--white);--panel:var(--card);--ink:var(--olive);--dark:var(--olive);--muted:var(--text-muted)}
/* The sample's global stylesheet gave the module these defaults (h2/p reset, normal line-height, no faux bold,
   its focus ring). Scoped here so the copy renders the same without touching the site's own resets. */
.insurance-animation{line-height:normal;font-synthesis:none}.insurance-animation h2,.insurance-animation p{margin:0;font-weight:400}.insurance-animation button:focus-visible{outline:2px solid var(--ink);outline-offset:5px;border-radius:0}
.insurance-animation{margin:130px 30px 0;position:relative;height:auto;isolation:isolate}
/* Sized like the previous hero: 80% of the page, centred (full width again on phones, at the end of the file). */
.insurance-animation{width:80%;max-width:calc(var(--max) * .8);margin-inline:auto}
.insurance-stage{position:relative;width:100%}.lifecycle-world{width:100%;height:auto;overflow:visible;display:block}.lifecycle-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;min-height:58px;margin-bottom:20px}.lifecycle-heading h2{font:24px/1.2 var(--serif);letter-spacing:-.6px;max-width:750px}.lifecycle-heading>span{font:10px/1.5 var(--mono);color:var(--muted);max-width:180px;text-align:right;padding-top:5px}.lifecycle-viewport{overflow:hidden;width:100%;isolation:isolate}.lifecycle-track{display:flex;width:100%;will-change:transform}.lifecycle-scene{flex:0 0 100%;min-width:0}.insurance-world text{user-select:none}.svg-small-label{font:10px var(--mono);letter-spacing:1px;fill:var(--paper)}.policy-name{font:34px var(--serif);letter-spacing:-1px;fill:var(--paper)}.coverage-fields{font:12px var(--sans);fill:var(--paper)}.field-rule{stroke:var(--paper);stroke-width:1.4}.svg-status{font:10px var(--mono);fill:var(--paper)}.handoff-title{font:19px var(--serif);fill:var(--ink)}.scene-labels{font:12px var(--mono);fill:#7a6b72}
.home-mark,.auto-mark{opacity:1}.roof-highlight{opacity:calc(.3 + var(--request-glow,0)*.7)}.old-routes{display:none}.animated-routes{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-dasharray:3 5;pointer-events:none}.motion-overlay{pointer-events:none}.home-art,.car-art,.policy-art{transform-origin:0 0}.policy-leaf,.coverage-scan,.authorization-mark,.policy-risk-symbol{opacity:0}.handoff-dots{opacity:.8}.delivered-document,.handoff-check{opacity:0}.scene-labels{opacity:var(--cycle-opacity,1)}

.illustration-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:16px;min-height:28px;font-size:12px;color:var(--muted)}.phase-select{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:24px;margin-top:12px}.phase-select button{display:flex;align-items:flex-start;gap:8px;background:none;font:10px/1.5 var(--mono);color:var(--muted);padding:6px 0;min-height:28px;text-align:left}.phase-select button span{flex-shrink:0;color:#ab9fa1}.phase-select button[aria-pressed=true],.phase-select button[aria-pressed=true] span{color:var(--ink)}.phase-select button[aria-pressed=true] span{border-bottom:2px solid var(--yellow)}.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
@media(min-width:1600px){.insurance-animation{margin-top:11vw;height:auto;max-height:none}}
@media(min-width:651px) and (max-width:1000px){.insurance-animation{margin-top:125px;height:auto}}
@media(max-width:650px){.insurance-animation{margin:75px 18px 0;height:auto}.lifecycle-world{aspect-ratio:620 / 920}.lifecycle-heading{flex-direction:column;justify-content:flex-start;min-height:96px;margin-bottom:20px;gap:6px}.lifecycle-heading h2{font-size:22px}.lifecycle-heading>span{font-size:9px;max-width:none;text-align:left;padding-top:0}.quote-art{transform:translate(-776px,375px) scale(1,.85);transform-origin:0 0}.handoff-art{transform:translate(-980px,165px) scale(1.3);transform-origin:0 0}.handoff-dots{display:none}.scene-labels{font-size:17px}.illustration-caption{margin-top:10px;gap:10px;font-size:11px;min-height:38px;line-height:1.5;padding-top:12px}.phase-select{gap:12px}.phase-select button{display:block;font-size:9px;line-height:1.45}.phase-select button span{display:block;margin-right:0;margin-bottom:2px;width:max-content}}
@media(prefers-reduced-motion:reduce){.insurance-stage *{animation:none!important;transition:none!important}}

.quote-carrier-name{font:600 15px var(--sans);fill:var(--paper);letter-spacing:0}
@media(max-width:650px){.insurance-animation{width:auto;max-width:none}}
