/* Shared quote presentation. Scoped selectors; no site shell or loader ownership. */
.quote-inline-error{font:600 12px/1.5 'Hanken Grotesk',system-ui,sans-serif;color:#9c2727;margin:8px 0 0;flex-basis:100%}.vim-consent:has(.quote-inline-error),.ap-consent:has(.quote-inline-error){flex-wrap:wrap}.vim-consent:has(.quote-inline-error)>span,.ap-consent:has(.quote-inline-error)>span{flex:1;min-width:80%}
.vim-next.is-sending::after,.aq-page .ap-next.is-sending::after{content:'';width:14px;height:14px;border:2px solid #ffffff70;border-top-color:#fff;border-radius:50%;animation:quote-sending .8s linear infinite}.vim-back:disabled,.aq-page .ap-back:disabled{opacity:.5;cursor:default}.vim-body input:disabled,.aq-page .ap-in:disabled{opacity:.75;cursor:default}.vim-next:disabled:not(.is-sending),.aq-page .ap-next:disabled:not(.is-sending){cursor:default}@keyframes quote-sending{to{transform:rotate(360deg)}}
.quote-guide{--q-ink:#203f34;--q-muted:#536658;box-sizing:border-box;background:#edf0e5;color:var(--q-ink);padding:32px;display:flex;flex-direction:column;text-align:left;font-family:'Hanken Grotesk',system-ui,sans-serif}
.quote-guide *{box-sizing:border-box}
.quote-kicker{font-size:10px!important;font-weight:700;letter-spacing:.15em;line-height:1.5;color:#4e6654;margin:0 0 16px}
.quote-guide h2{font:400 clamp(29px,2.5vw,38px)/1.12 'Newsreader',Georgia,serif;letter-spacing:-.8px;margin:0 0 16px;color:#203f34}
.quote-guide h2 em{font-weight:400;color:#386249}
.quote-intro{font-size:14px;line-height:1.65;margin:0;color:#536658;max-width:31ch}
.quote-stages{list-style:none;padding:0;margin:30px 0;display:grid;gap:0}
.quote-stages li{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid #ccd5c4;position:relative}
.quote-stages li>span{width:28px;height:28px;display:grid;place-items:center;flex:none;border:1px solid #97aa95;border-radius:50%;font-size:11px;font-weight:600;color:#48614e;transition:background .2s,color .2s}
.quote-stages b{display:block;font-size:14px;line-height:1.5;font-weight:600}.quote-stages small{display:block;font-size:12px;line-height:1.5;color:#536658;margin-top:2px}
.quote-stages .is-current>span,.quote-stages .is-complete>span{background:#284f3d;color:#fff;border-color:#284f3d}.quote-stages .is-current b{font-weight:800}
.quote-stages .is-current::before{content:'';position:absolute;left:-16px;top:18px;width:3px;height:23px;background:#284f3d;border-radius:2px}
.quote-note{padding-left:14px;border-left:2px solid #8d9e6a}.quote-note .quote-kicker{display:block;margin:0 0 8px}.quote-note p{font-size:13px;line-height:1.65;color:#445b49;margin:0}
.quote-guide-foot{margin-top:auto;padding-top:26px}.quote-guide-foot p{font-size:12px;line-height:1.6;color:#536658;margin:0 0 12px}.quote-guide-foot a{font-size:12px;font-weight:700;color:#284f3d;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px;gap:8px}
.vim-scrim{top:var(--vim-offset,0);bottom:auto;height:var(--vim-viewport,100dvh);box-sizing:border-box;padding:24px;overscroll-behavior:contain}
.vim-scrim.on{background:rgba(16,31,24,.56);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.vim-card{width:1100px;max-width:100%;height:min(790px,calc(var(--vim-viewport,100dvh) - 48px));max-height:calc(var(--vim-viewport,100dvh) - 48px);display:grid;grid-template-columns:300px minmax(0,1fr);grid-template-rows:auto 3px minmax(0,1fr) auto;border-radius:20px;background:#faf9f5;border:1px solid #d6ddce;box-shadow:0 32px 110px #0e211b55;font-family:'Hanken Grotesk',system-ui,sans-serif}
.vim-head{grid-column:1/-1;padding:14px 24px;background:#faf9f5;border:0;min-height:72px}.vim-brand b{font-size:15px;color:#203f34}.vim-brand span{color:#536658;font-size:10px}.vim-brand img{width:34px;height:34px}
.vim-x{width:auto;min-width:88px;min-height:44px;border-radius:24px;display:flex;gap:8px;padding:10px 14px;color:#284f3d;border-color:#cad4c4;background:transparent;font:600 13px 'Hanken Grotesk',system-ui,sans-serif}.vim-x:hover{background:#edf0e5;color:#183b2c}.vim-x svg{width:16px;height:16px}
.vim-prog{grid-column:1/-1;height:3px;background:#dce2d4}.vim-prog i{background:#496e42}
.vim-card>.quote-guide{grid-column:1;grid-row:3/5;overflow:auto;overscroll-behavior:contain;padding:30px 28px}
.vim-body{grid-column:2;grid-row:3;min-height:0;padding:32px 38px 20px;overscroll-behavior:contain;scroll-padding:20px;scrollbar-gutter:stable}
.vim-eyebrow{text-align:left;font-size:11px;color:#536658;letter-spacing:.12em;margin:0 0 12px}.vim-h{text-align:left;font:400 clamp(30px,3vw,42px)/1.1 'Newsreader',Georgia,serif;color:#203f34;letter-spacing:-.7px;margin:0 0 14px;max-width:24ch}.vim-h::before{display:none}.vim-h em{color:#386249}.vim-h:focus{outline:none}.vim-sub{text-align:left;font-size:15px;line-height:1.6;color:#536658;margin:0 0 22px;max-width:54ch}
.vim-opts{gap:10px}.vim-opts.cols{grid-template-columns:repeat(2,minmax(0,1fr))}.vim-opt{border:1px solid #c5d0be;background:#fffefb;border-radius:11px;min-height:62px;padding:14px 16px;box-shadow:none;gap:12px}.vim-opt:hover{border-color:#55774d;background:#f2f6ed}.vim-opt.sel{background:#edf4e7;border-color:#315c40;box-shadow:inset 0 0 0 1px #315c40}.vim-opt .t{font-size:16px;font-weight:600;color:#284632;overflow-wrap:anywhere}.vim-opt .ic{background:transparent;color:#496b44;width:28px;height:28px}.vim-opt .ic svg{width:24px;height:24px}.vim-opt .rad{border-color:#8eaa88;width:18px;height:18px}.vim-opt .rad::after{background:#315c40;width:8px;height:8px}.vim-opt.sel .rad{border-color:#315c40}.vim-opt:disabled{cursor:wait;opacity:1}
.vim-choice-hint{font-size:12px;line-height:1.5;color:#536658;margin:16px 0 0}.vim-field label{font-size:13px;color:#284632}.vim-in{font-size:16px;min-height:54px;border:1px solid #acbda5;border-radius:9px;background:#fffefb;color:#203f34;scroll-margin:20px}.vim-in:focus{border-color:#315c40;outline:3px solid #315c4030;outline-offset:1px;box-shadow:none}.vim-consent{gap:12px;min-height:44px;padding:8px 0}.vim-consent input{width:22px;height:22px;accent-color:#315c40}.vim-consent span{font-size:12px;line-height:1.6;color:#465c4b}.vim-consent input.bad{outline:2px solid #a32828;outline-offset:3px}
.vim-review{border-top:1px solid #d2dbca;margin-top:22px;padding-top:8px}.vim-review summary{font-size:13px;font-weight:700;color:#315c40;min-height:44px;padding:12px 0;cursor:pointer}.vim-review dl{margin:0}.vim-review dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #dde3d6;font-size:12px;line-height:1.5}.vim-review dt{color:#536658}.vim-review dd{margin:0;color:#203f34;overflow-wrap:anywhere}.vim-review button{border:0;background:none;color:#315c40;text-decoration:underline;text-underline-offset:3px;min-height:44px;font:600 12px inherit;cursor:pointer}
.vim-foot{grid-column:2;grid-row:4;padding:12px 38px 18px;background:#faf9f5;border-top:1px solid #d4ddcd}.vim-err{font-size:13px;line-height:1.5;color:#9c2727;margin:0 0 10px;min-height:0;max-height:96px;overflow:auto}.vim-err:empty{display:none}.vim-next{background:#284f3d;border-radius:10px;min-height:50px;min-width:182px;font-size:15px;box-shadow:none;padding:13px 22px}.vim-next:hover{background:#193e2b;box-shadow:none}.vim-next[disabled]{opacity:.65;cursor:wait}.vim-back{min-height:44px;min-width:70px;color:#38563e}.vim-trust{display:none}.vim-lic{font-size:10px;line-height:1.5;text-align:left;color:#586953;margin:8px 0 0}.vim-draft-note{font-size:11px;line-height:1.5;color:#536658;margin:10px 0 0;max-width:65ch}
.vim-card :is(button,a,input,summary):focus-visible{outline:3px solid #416d39;outline-offset:3px}.vim-body>*{animation:quote-arrive .24s ease-out both}.vim-body>.vim-opts{animation-delay:.035s}
@keyframes quote-arrive{from{transform:translateY(7px)}to{transform:translateY(0)}}
html body.aq-page main.ap-main{width:min(1200px,100%)!important;max-width:1200px!important;min-height:calc(100svh - 80px);padding:146px 40px 64px!important}
.aq-page .aq-context{margin-bottom:20px;color:#536658}.quote-layout{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start;gap:clamp(32px,4vw,64px)}
.quote-layout>.quote-guide{border-radius:14px;min-height:620px;position:sticky;top:120px}.quote-work{min-width:0}.aq-page .ap-prog{margin-bottom:24px!important}.aq-page .ap-prog .lbl{font-size:12px;color:#536658}.aq-page .ap-h{font-size:clamp(34px,3.6vw,48px)!important;line-height:1.12!important;letter-spacing:-.8px!important;scroll-margin-top:120px}.aq-page .ap-sub{font-size:16px!important;line-height:1.65!important;margin-bottom:22px!important;color:#536658!important}.aq-page .ap-opt{min-height:66px!important;padding:16px 18px!important}.aq-page .ap-opt .t{font-size:16px!important}.aq-page .ap-in{font-size:17px!important;min-height:58px;padding:15px 16px!important}.aq-page .ap-field{max-width:none}.aq-page .ap-field label{font-size:14px}.aq-page .ap-2col{max-width:none;gap:16px}.aq-page .ap-next{min-height:54px!important;min-width:190px!important;font-size:16px!important;padding:15px 22px!important}.aq-page .ap-back{font-size:15px!important;min-height:48px}.aq-page .ap-nav{margin-top:24px!important}.aq-page .aq-reassurance{font-size:12px;color:#536658;max-width:none;justify-content:flex-start;text-align:left;margin:24px 0 0}.aq-page .aq-reassurance a{display:inline-flex;align-items:center;min-height:44px;color:#315c40}.aq-page .ap-rev .v{overflow-wrap:anywhere}.aq-page .ap-rev .ch{min-width:60px}.aq-page .ap-consent input.bad{outline:2px solid #a32828;outline-offset:3px}.aq-page .ap-step{animation:quote-arrive .24s ease-out}.aq-page .ap-err:not(:empty){padding:12px 14px;border-left:3px solid #a32828;background:#fff1ec;border-radius:0 6px 6px 0}
@media(max-width:900px){.vim-card{grid-template-columns:1fr;width:700px}.vim-card>.quote-guide{display:none}.vim-body,.vim-foot{grid-column:1}.quote-layout{grid-template-columns:1fr;gap:0}.quote-layout>.quote-guide{display:none}html body.aq-page main.ap-main{width:min(760px,100%)!important;padding:130px 32px 50px!important;min-height:calc(100svh - 80px)}}
@media(max-width:600px){.vim-scrim{padding:0;align-items:stretch}.vim-card{width:100%;height:var(--vim-viewport,100dvh);max-height:var(--vim-viewport,100dvh);border-radius:0;border:0;grid-template-rows:auto 3px minmax(0,1fr) auto}.vim-grab{display:none}.vim-head{padding:10px 16px;min-height:66px}.vim-brand b{font-size:13px}.vim-brand span{font-size:9px;letter-spacing:.06em}.vim-brand img{width:28px;height:28px}.vim-x{min-width:78px;gap:6px;padding:10px 12px}.vim-body{padding:24px 20px 18px;scrollbar-gutter:auto}.vim-h{font-size:32px}.vim-sub{font-size:14px}.vim-opt{min-height:64px;padding:13px 12px;gap:9px}.vim-opt .t{font-size:14px}.vim-opt .ic{width:22px}.vim-opt .rad{width:16px;height:16px}.vim-foot{padding:10px 20px calc(12px + env(safe-area-inset-bottom))}.vim-next{flex:initial;margin-left:auto;min-width:166px}.vim-draft-note{font-size:10px;margin-top:8px}.vim-lic{display:none}.vim-err{max-height:80px}.vim-2col{gap:12px}.vim-review dl>div{grid-template-columns:1fr auto}.vim-review dt{grid-column:1/-1}.vim-consent span{font-size:12px}html body.aq-page main.ap-main{padding:108px 20px 40px!important}.aq-page .ap-h{font-size:34px!important;scroll-margin-top:100px}.aq-page .ap-sub{font-size:15px!important}.aq-page .ap-opt{padding:14px!important}.aq-page .ap-opt .t{font-size:15px!important}.aq-page .ap-next{min-width:170px!important}.aq-page .aq-context{font-size:10px}.aq-page .ap-rev{padding:0 14px}.aq-page .ap-rev .r{flex-wrap:wrap}.aq-page .ap-rev .k{width:100%}}
@media(max-width:360px){.vim-body{padding:20px 16px 14px}.vim-foot{padding-inline:16px}.vim-brand img{display:none}.vim-h{font-size:29px}.vim-opt .ic{display:none}.vim-2col{grid-template-columns:1fr}.aq-page .ap-2col{grid-template-columns:1fr}.aq-page .ap-next{min-width:156px!important}}
/* Short landscape and visible keyboard: one scroll surface keeps all controls reachable. */
.vim-scrim.vim-compact{padding:0}.vim-compact .vim-card{height:var(--vim-viewport,100dvh);max-height:var(--vim-viewport,100dvh);border-radius:0;display:flex;overflow-y:auto}.vim-compact .vim-head{position:sticky;top:0;z-index:2;flex:none;min-height:60px}.vim-compact .vim-prog{flex:none}.vim-compact .vim-card>.quote-guide{display:none}.vim-compact .vim-body{flex:none;overflow:visible;padding:20px 24px}.vim-compact .vim-foot{flex:none;padding:12px 24px}.vim-compact .vim-h{font-size:30px}.vim-compact .vim-draft-note,.vim-compact .vim-lic{display:none}
@media(max-height:540px){.vim-scrim{padding:0}.vim-card{height:var(--vim-viewport,100dvh);max-height:var(--vim-viewport,100dvh);border-radius:0;display:flex;overflow-y:auto}.vim-head{position:sticky;top:0;z-index:2;flex:none;min-height:60px}.vim-prog{flex:none}.vim-card>.quote-guide{display:none}.vim-body{flex:none;overflow:visible;padding:20px 24px}.vim-foot{flex:none;padding:12px 24px}.vim-h{font-size:30px}.vim-draft-note,.vim-lic{display:none}.vim-opts{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-layout>.quote-guide{position:static}.aq-page .ap-h{scroll-margin-top:80px}}
@media(prefers-reduced-motion:reduce){.vim-card,.vim-body *,.vim-prog i,.vim-next::after,.aq-page .ap-next::after,.quote-guide *,.aq-page .ap-step{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.vim-opt.sel,.aq-page .ap-opt.sel{outline:2px solid Highlight}.quote-stages .is-current{outline:1px solid Highlight}.vim-in.bad{outline:2px solid Mark}}
