/* Quote tool */
.qt-wrap{background:var(--canvas);min-height:calc(100vh - 4.5rem);padding:2rem 0 6rem}
.qt-progress{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem}
.qt-progress .track{flex:1;height:6px;border-radius:6px;background:#dde3ee;overflow:hidden}
.qt-progress .fill{height:100%;width:0;border-radius:6px;background:linear-gradient(90deg,var(--navy),var(--orange));transition:width .6s var(--ease)}
.qt-progress .count{font-size:.85rem;font-weight:700;color:var(--muted);white-space:nowrap}
.qt-back{border:0;background:none;color:var(--navy);font-weight:700;display:inline-flex;gap:.4rem;align-items:center;padding:.4rem 0}
.qt-back[hidden]{display:none}
.qt-grid{display:grid;gap:1.5rem;align-items:start}
@media(min-width:1000px){.qt-grid{grid-template-columns:minmax(0,1fr) 24rem;gap:2rem}}
.qt-card{background:#fff;border:1px solid var(--line);border-radius:1.75rem;padding:clamp(1.5rem,1rem + 2vw,2.75rem);box-shadow:var(--sh-panel);min-height:30rem}
.qt-step{animation:app-swap .45s var(--ease) both}
.qt-step.back{animation-name:app-swap-back}
@keyframes app-swap-back{from{opacity:0;transform:translateX(-10px)}}
.qt-q{font-family:var(--font-display);font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);line-height:1.15;letter-spacing:-.02em;font-weight:700}
.qt-help{margin-top:.6rem;color:var(--muted);max-width:40rem}
.qt-sub{font-weight:800;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:2rem 0 .8rem}
.tiles{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));margin-top:1.75rem}
.tiles--sm{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));margin-top:0}
.tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;text-align:left;padding:1.1rem;border-radius:1.1rem;border:1.5px solid var(--line);background:#fff;font-weight:700;color:var(--ink);transition:border-color .2s,transform .3s var(--ease),box-shadow .3s,background .2s}
.tile:hover{border-color:rgb(16 54 122 / .45);transform:translateY(-2px);box-shadow:0 18px 36px -24px rgb(16 54 122 / .6)}
.tile small{font-weight:500;color:var(--muted);font-size:.82rem;line-height:1.35}
.tile svg{width:2.6rem;height:2.6rem;color:var(--navy)}
.tile[aria-pressed=true]{border-color:var(--navy);background:var(--navy-soft);box-shadow:0 0 0 3px rgb(16 54 122 / .12)}
.tile[aria-pressed=true]::after{content:"✓";position:absolute;top:.7rem;right:.7rem;width:1.4rem;height:1.4rem;border-radius:50%;display:grid;place-items:center;font-size:.75rem;color:#fff;background:linear-gradient(135deg,var(--navy),var(--orange))}
.tile--center{align-items:center;text-align:center;justify-content:center;min-height:5rem;font-size:1.3rem;font-family:var(--font-display)}
.seg{display:inline-flex;flex-wrap:wrap;gap:.4rem;padding:.35rem;border-radius:999px;background:var(--canvas);border:1px solid var(--line)}
.seg button{border:0;background:none;padding:.6rem 1.15rem;border-radius:999px;font-weight:700;color:var(--muted);transition:background .2s,color .2s}
.seg button[aria-pressed=true]{background:#fff;color:var(--navy);box-shadow:0 4px 14px -6px rgb(16 54 122 / .5)}
.stepper{display:inline-flex;align-items:center;gap:1rem;margin-top:.25rem}
.stepper button{width:3.25rem;height:3.25rem;border-radius:50%;border:1.5px solid var(--line);background:#fff;font-size:1.5rem;font-weight:600;color:var(--navy);transition:border-color .2s,transform .2s}
.stepper button:hover{border-color:var(--navy)}
.stepper button:active{transform:scale(.94)}
.stepper output{min-width:4.5rem;text-align:center;font-family:var(--font-display);font-size:3rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.field{display:grid;gap:.4rem}
.field label{font-weight:700;font-size:.9rem}
.input{height:3.5rem;border-radius:1rem;border:1.5px solid var(--line);padding:0 1.1rem;font:inherit;font-size:1.1rem;font-weight:600;background:#fff;width:100%;transition:border-color .2s,box-shadow .2s}
.input:focus{outline:0;border-color:var(--navy);box-shadow:0 0 0 4px rgb(16 54 122 / .12)}
.input--pc{font-size:1.5rem;text-transform:uppercase;letter-spacing:.06em;height:4rem;max-width:22rem}
.input-unit{position:relative;max-width:16rem}
.input-unit span{position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);font-weight:700;color:var(--muted)}
.qt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2.25rem}
.qt-skip{border:0;background:none;color:var(--muted);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.callout{display:flex;gap:.9rem;align-items:flex-start;margin-top:1.5rem;padding:1rem 1.2rem;border-radius:1rem;background:var(--navy-soft);color:var(--navy);font-size:.95rem;font-weight:600}
.callout.good{background:#e6f7ef;color:#0b7a50}
.callout.warn{background:var(--orange-soft);color:var(--orange-ink)}
.callout b{font-weight:800}
.callout .ic{font-size:1.2rem;line-height:1.2}
.win-meter{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:.35rem}
.win-meter i{width:1.9rem;height:2.3rem;border-radius:.3rem;border:2px solid var(--navy);background:linear-gradient(180deg,#cfe0ff,#eef4ff);position:relative;animation:pop .35s var(--ease) both}
.win-meter i::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--navy);transform:translateX(-50%)}
.win-meter i.hot{box-shadow:0 0 14px 2px rgb(254 87 22 / .55)}
@keyframes pop{from{transform:scale(.6);opacity:0}}

/* Live side panel */
.live{position:sticky;top:6rem;background:var(--ink);color:#fff;border-radius:1.75rem;padding:1.5rem;overflow:hidden;box-shadow:var(--sh-frame)}
.live .orb{width:20rem;height:20rem}
.live>*:not(.orb){position:relative}
.live .label{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:rgb(255 255 255 / .55)}
.live-price{font-family:var(--font-display);font-size:2.1rem;font-weight:700;line-height:1.1;margin-top:.35rem;font-variant-numeric:tabular-nums}
.live-price.blur{filter:blur(7px);opacity:.6}
.live-sub{font-size:.85rem;color:rgb(255 255 255 / .62);margin-top:.3rem}
.acc{margin-top:1.25rem}
.acc .bar{height:6px;border-radius:6px;background:rgb(255 255 255 / .1);margin-top:.5rem;overflow:hidden}
.acc .bar i{display:block;height:100%;width:10%;background:linear-gradient(90deg,var(--navy-bright),#5fe0a7);transition:width .8s var(--ease)}
.acc-row{display:flex;justify-content:space-between;font-size:.8rem;color:rgb(255 255 255 / .65);font-weight:600}
.house{margin:1rem -0.5rem 0;border-radius:1.25rem;background:linear-gradient(180deg,rgb(42 91 208 / .18),rgb(255 255 255 / .02));border:1px solid rgb(255 255 255 / .08)}
.house svg{width:100%;height:auto}
.live-kpis{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}
.live-kpis div{background:rgb(255 255 255 / .05);border:1px solid rgb(255 255 255 / .08);border-radius:.9rem;padding:.7rem .8rem}
.live-kpis b{display:block;font-family:var(--font-display);font-size:1.2rem;font-variant-numeric:tabular-nums}
.live-kpis span{font-size:.72rem;color:rgb(255 255 255 / .55);font-weight:600}
.live-trust{margin-top:1rem;display:grid;gap:.4rem;font-size:.8rem;color:rgb(255 255 255 / .7)}
@media(max-width:999px){
  .live{position:fixed;left:.75rem;right:.75rem;bottom:.75rem;top:auto;z-index:45;padding:.85rem 1.1rem;border-radius:1.25rem}
  .live .house,.live .live-kpis,.live .live-trust,.live .acc,.live .orb{display:none}
  .live-price{font-size:1.4rem}
  .qt-wrap{padding-bottom:9rem}
}

/* House illustration */
.h-glow{transition:opacity .8s var(--ease)}
.h-wave{animation:wave 2.8s ease-in-out infinite;transform-box:fill-box}
@keyframes wave{0%{opacity:0;transform:translateY(6px)}40%{opacity:.9}100%{opacity:0;transform:translateY(-14px)}}
.h-win{transition:fill .4s;transform-box:fill-box;transform-origin:center}

/* Results */
.res-hero{background:var(--ink);color:#fff;border-radius:1.75rem;padding:clamp(1.75rem,1rem + 3vw,3rem);position:relative;overflow:hidden;box-shadow:var(--sh-frame)}
.res-hero>*:not(.orb){position:relative}
.res-price{font-family:var(--font-display);font-size:clamp(2.6rem,1.6rem + 4vw,4.6rem);font-weight:700;line-height:1;letter-spacing:-.03em;margin-top:.75rem;font-variant-numeric:tabular-nums}
.res-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}
.res-grid{display:grid;gap:1.25rem;margin-top:1.25rem}
@media(min-width:900px){.res-grid{grid-template-columns:1.2fr 1fr}}
.panel{background:#fff;border:1px solid var(--line);border-radius:1.5rem;padding:1.75rem}
.panel h3{font-size:1.15rem}
.sys{display:grid;gap:.85rem;margin-top:1.1rem}
.sys div{display:flex;gap:.9rem;align-items:center}
.sys .ic{width:2.6rem;height:2.6rem;flex-shrink:0;border-radius:30%;display:grid;place-items:center;background:var(--navy-soft);color:var(--navy);font-size:1.1rem}
.sys b{display:block}
.sys small{color:var(--muted)}
.opts{display:grid;gap:.6rem;grid-template-columns:repeat(3,1fr);margin-top:1.1rem}
.opt{border:1.5px solid var(--line);border-radius:1rem;padding:.9rem .8rem;background:#fff;text-align:left;transition:border-color .2s,background .2s}
.opt[aria-pressed=true]{border-color:var(--navy);background:var(--navy-soft)}
.opt .t{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.opt b{display:block;font-family:var(--font-display);font-size:1.05rem;margin-top:.25rem;font-variant-numeric:tabular-nums}
.opt small{display:block;font-size:.75rem;color:var(--muted);margin-top:.15rem}
.opt .rec{display:inline-block;font-size:.62rem;font-weight:800;color:#fff;background:var(--orange);padding:.12rem .45rem;border-radius:999px;margin-left:.25rem;vertical-align:middle}
@media(max-width:560px){.opts{grid-template-columns:1fr}}
.save-bars{display:grid;gap:.9rem;margin-top:1.25rem}
.save-bars .row{display:grid;grid-template-columns:8.5rem 1fr 4.5rem;gap:.75rem;align-items:center;font-size:.9rem;font-weight:600}
.save-bars .b{height:.9rem;border-radius:.5rem;background:var(--canvas);overflow:hidden}
.save-bars .b i{display:block;height:100%;width:0;border-radius:.5rem;transition:width 1.1s var(--ease)}
.save-bars .num{text-align:right;font-family:var(--font-display)}
.kpis3{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1.25rem}
.kpis3 div{background:var(--canvas);border-radius:1rem;padding:.9rem}
.kpis3 b{display:block;font-family:var(--font-display);font-size:1.35rem;font-variant-numeric:tabular-nums}
.kpis3 span{font-size:.78rem;color:var(--muted);font-weight:600}
.lines{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.92rem}
.lines td{padding:.7rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.lines td:last-child{text-align:right;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.lines small{display:block;color:var(--muted);font-size:.8rem}
.lines tr.total td{border-bottom:0;font-weight:800;font-size:1rem;padding-top:1rem}
.lines tr.grant td{color:var(--green);font-weight:800}
.hl-bars{display:grid;gap:.55rem;margin-top:1rem}
.hl-bars .row{display:grid;grid-template-columns:6.5rem 1fr 3.8rem;gap:.6rem;align-items:center;font-size:.85rem}
.hl-bars .b{height:.6rem;border-radius:.4rem;background:var(--canvas)}
.hl-bars .b i{display:block;height:100%;border-radius:.4rem;background:linear-gradient(90deg,var(--navy),var(--orange))}
.hl-bars .v{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.answers{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.answers button{border:1px solid var(--line);background:var(--canvas);border-radius:999px;padding:.4rem .85rem;font-size:.82rem;font-weight:700;color:var(--ink)}
.answers button:hover{border-color:var(--navy);color:var(--navy)}
.answers button::after{content:" ✎";color:var(--muted)}
.book{background:linear-gradient(160deg,#fff,var(--navy-soft));border:1.5px solid rgb(16 54 122 / .25)}
.book form{display:grid;gap:.9rem;margin-top:1.25rem}
.book .two{display:grid;gap:.9rem}
@media(min-width:620px){.book .two{grid-template-columns:1fr 1fr}}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.5rem}
.slot{border:1.5px solid var(--line);background:#fff;border-radius:.9rem;padding:.6rem .4rem;text-align:center;font-size:.82rem;font-weight:700;line-height:1.3}
.slot small{display:block;font-weight:600;color:var(--muted)}
.slot[aria-pressed=true]{border-color:var(--navy);background:var(--navy);color:#fff}
.slot[aria-pressed=true] small{color:rgb(255 255 255 / .75)}
.consent{display:flex;gap:.6rem;font-size:.82rem;color:var(--muted);align-items:flex-start}
.consent input{margin-top:.2rem;width:1.1rem;height:1.1rem;accent-color:var(--navy)}
.qt-promise{display:grid;gap:.6rem;margin-top:1.25rem;font-size:.88rem;font-weight:600}
.qt-promise div{display:flex;gap:.6rem;align-items:center}
.qt-promise div::before{content:"✓";width:1.3rem;height:1.3rem;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-size:.7rem;color:#fff;background:var(--green)}
.disclaim{font-size:.78rem;color:var(--muted);margin-top:1.5rem;line-height:1.6}
.confirm{text-align:center;max-width:40rem;margin:2rem auto}
.confirm .tickbig{width:5rem;height:5rem;border-radius:50%;margin:0 auto 1.5rem;display:grid;place-items:center;font-size:2.2rem;color:#fff;background:linear-gradient(135deg,var(--navy),var(--orange));box-shadow:var(--sh-btn);animation:pop .5s var(--ease) both}
.err{color:#c0262d;font-size:.85rem;font-weight:700}

/* ===== CRO pass (see research/quote-cro.md) ===== */
/* Header: keep the phone number on one line on small screens */
.site-header--bare .nav-phone{white-space:nowrap}
@media(max-width:640px){.site-header--bare #saveNote{display:none}}
.qt-card:focus-within .qt-q:focus{outline:0}
.qt-q:focus{outline:0}
.qt-label{display:block;font-weight:700;font-size:.9rem;margin-bottom:.45rem}
.input--pc{max-width:100%;width:22rem}
.input[aria-invalid=true]{border-color:#c0262d;box-shadow:0 0 0 4px rgb(192 38 45 / .1)}
.err{margin-top:.6rem}
.err[hidden]{display:none}
.qt-reassure{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:.55rem;font-size:.9rem;font-weight:600;color:var(--muted);border-top:1px solid var(--line);padding-top:1.5rem}
.qt-reassure li{display:flex;gap:.6rem;align-items:center}
.qt-reassure svg{width:1.1rem;height:1.1rem;color:var(--green);flex-shrink:0}
.tile kbd{position:absolute;right:.7rem;bottom:.6rem;font:600 .68rem/1 var(--font-body);color:var(--muted);border:1px solid var(--line);border-radius:.3rem;padding:.15rem .3rem;opacity:0;transition:opacity .2s}
.tile[aria-pressed=true] kbd{display:none}
.qt-kbd{margin-top:1rem;font-size:.78rem;color:var(--muted);display:none}
.qt-kbd kbd{font:600 .72rem var(--font-body);border:1px solid var(--line);border-radius:.3rem;padding:.05rem .3rem;background:#fff}
@media(hover:hover) and (min-width:1000px){.qt-kbd{display:block}.tile kbd{opacity:1}}
.tiles--num{grid-template-columns:repeat(5,1fr)}
.qt-skip{display:inline-flex;flex-direction:column;align-items:flex-start;text-align:left;text-decoration:none;color:var(--navy);font-weight:700;padding:.4rem 0}
.qt-skip span{font-weight:500;font-size:.8rem;color:var(--muted)}
.qt-skip:hover{text-decoration:underline;text-underline-offset:3px}
.callout.info .ic,.callout.warn .ic{font-family:var(--font-display);font-weight:700;width:1.4rem;height:1.4rem;border-radius:50%;display:grid;place-items:center;font-size:.8rem;background:currentColor}
.callout.info .ic{color:var(--navy)}
.callout .ic{flex-shrink:0}
.callout.info .ic,.callout.warn .ic{color:#fff;background:var(--navy)}
.callout.warn .ic{background:var(--orange-ink)}
.callout.good .ic{width:1.4rem;height:1.4rem;border-radius:50%;display:grid;place-items:center;font-size:.8rem;background:#0b7a50;color:#fff}
.callout.info{font-weight:500}
.qt-quote{margin:2rem 0 0;padding:1.1rem 1.3rem;border-left:3px solid var(--orange);background:var(--canvas);border-radius:0 1rem 1rem 0}
.qt-quote blockquote{margin:0;font-weight:600;color:var(--ink);font-size:.95rem;line-height:1.55}
.qt-quote figcaption{margin-top:.4rem;font-size:.8rem;color:var(--muted)}
.qt-more{margin-top:1.75rem;border-top:1px solid var(--line);padding-top:1rem}
.qt-more summary{cursor:pointer;font-weight:700;color:var(--navy);list-style:none;display:flex;align-items:center;gap:.5rem}
.qt-more summary::-webkit-details-marker{display:none}
.qt-more summary::before{content:"+";display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;border:1.5px solid currentColor;font-size:.95rem;line-height:1;flex-shrink:0}
.qt-more[open] summary::before{content:"−"}
.qt-more summary span{font-weight:500;color:var(--muted)}
.win-row{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;margin-top:1.75rem}
.hint{font-size:.8rem;color:var(--muted);font-weight:500}
.field-err{font-size:.85rem;font-weight:700;color:#c0262d}
.field-err[hidden]{display:none}

/* Live panel + mobile dock */
.live-top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.live-next{display:none}
@media(max-width:999px){
  .qt-card .qt-actions [data-next]{display:none}
  .qt-card .qt-actions{margin-top:1.5rem}
  .qt-card .qt-actions:not(:has(.qt-skip, [data-resume])){display:none}
  .live-next:not([hidden]){display:inline-flex;height:3rem;padding:0 1.25rem;flex-shrink:0}
  .live .label{font-size:.62rem}
  .live-sub{font-size:.75rem}
  .qt-card{min-height:0}
}
@media(max-width:380px){.live-price{font-size:1.2rem}.live-next:not([hidden]){padding:0 1rem}}
.qt-is-result .live{display:none}
.qt-is-result .qt-grid{display:block}
.qt-is-result .qt-wrap{padding-bottom:6rem}

/* Results */
.res-hero .eyebrow{color:rgb(255 255 255 / .7)}
.res-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;align-items:center}
.res-top .qt-back{color:rgb(255 255 255 / .8)}
.res-for{font-size:.85rem;color:rgb(255 255 255 / .6);font-weight:600}
.res-price:focus{outline:0}
.res-price--sm{font-size:clamp(2rem,1.4rem + 2.5vw,3.2rem)}
.res-lead{margin-top:1rem;font-size:1.1rem;line-height:1.65;color:rgb(255 255 255 / .82);max-width:40rem}
.res-lead b{color:#fff}
.res-cover,.res-assumed{margin-top:1rem;padding:.8rem 1rem;border-radius:.9rem;background:rgb(255 255 255 / .08);border:1px solid rgb(255 255 255 / .14);font-size:.92rem;color:rgb(255 255 255 / .88);max-width:44rem}
.res-assumed button{border:0;background:none;padding:0;color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.res-ctas{align-items:center;margin-top:1.75rem}
.res-sec{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem}
.link-btn{border:0;background:none;padding:.35rem 0;color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgb(255 255 255 / .4)}
.link-btn:hover{text-decoration-color:#fff}
.res-micro{margin-top:.75rem;font-size:.85rem;color:rgb(255 255 255 / .65);font-weight:600}
.res-meta .pill{color:#fff}
.pill--offer{background:rgb(254 87 22 / .2)!important;border-color:rgb(254 87 22 / .5)!important}
.res-fin{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgb(255 255 255 / .14);max-width:52rem;color:rgb(255 255 255 / .82);font-size:.95rem}
.res-fin .apr{font-size:1.1rem;color:#fff;font-weight:800}
.res-fin-ex{margin-top:.5rem;font-size:.8rem;line-height:1.6;color:rgb(255 255 255 / .65)}
.toast{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%,1rem);background:var(--ink);color:#fff;padding:.8rem 1.2rem;border-radius:.9rem;font-weight:700;font-size:.9rem;box-shadow:var(--sh-frame);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:60;max-width:calc(100vw - 2rem)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.res-save{margin-top:1.25rem;border:1.5px solid rgb(16 54 122 / .25)}
.save-row{display:flex;gap:.6rem;margin-top:1rem;max-width:34rem}
.save-row .input{flex:1}
.save-row .btn{height:3.5rem}
.res-save .consent{margin-top:.8rem}
.res-h{font-size:1.15rem}
.res-trust{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}
.res-trust li{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:.9rem 1.1rem;display:grid;gap:.15rem}
.res-trust b{font-size:.95rem}
.res-trust span{font-size:.8rem;color:var(--muted);font-weight:600}
.res-trust .stars{color:#e59a12;font-size:.85rem}
.res-book{margin-top:1.25rem;scroll-margin-top:1.5rem}
.book-grid{display:grid;gap:2.5rem;align-items:start}
@media(min-width:960px){.book-grid{grid-template-columns:1fr minmax(0,26rem)}}
.book-h{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin-top:.9rem}
.timeline{list-style:none;counter-reset:t;padding:0;margin:1.5rem 0 0;display:grid;gap:0}
.timeline li{counter-increment:t;position:relative;padding:0 0 1.1rem 2.75rem;display:grid;gap:.1rem}
.timeline li::before{content:counter(t);position:absolute;left:0;top:0;width:1.9rem;height:1.9rem;border-radius:50%;display:grid;place-items:center;font:700 .85rem var(--font-display);color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-glow))}
.timeline li:not(:last-child)::after{content:"";position:absolute;left:.92rem;top:2.1rem;bottom:.2rem;width:2px;background:var(--line)}
.timeline b{font-size:.95rem}
.timeline span{font-size:.86rem;color:var(--muted)}
.more{margin-top:1.25rem}
.more summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.more summary::-webkit-details-marker{display:none}
.more summary>span{display:grid;gap:.15rem}
.more summary small{color:var(--muted);font-size:.85rem;font-weight:500}
.more summary::after{content:"+";font-size:1.6rem;line-height:1;color:var(--navy);flex-shrink:0;transition:transform .3s var(--ease)}
.more[open] summary::after{transform:rotate(45deg)}
.more--plain{margin-top:.75rem;border-top:1px solid var(--line);padding-top:1rem}
.more--plain summary{font-weight:700;color:var(--navy);justify-content:flex-start}
.more--plain summary::after{order:-1;font-size:1.3rem}
.worries{margin:.75rem 0 0;display:grid;gap:.25rem}
.worries dt{font-weight:800;font-size:.92rem;margin-top:.6rem}
.worries dd{margin:0;font-size:.88rem;color:var(--muted);line-height:1.55}
.book-box{background:linear-gradient(160deg,#fff,var(--navy-soft));border:1.5px solid rgb(16 54 122 / .25);border-radius:1.5rem;padding:1.5rem}
.book-tabs{display:flex;width:100%;background:#fff}
.book-tabs button{flex:1;padding:.6rem .5rem}
.book-form{display:grid;gap:1rem;margin-top:1.25rem}
.book-form[hidden]{display:none}
.book-form .field label,.book-form legend{font-weight:700;font-size:.9rem}
.book-form fieldset{border:0;padding:0;margin:0;min-width:0}
.book-form legend{padding:0;margin-bottom:.45rem}
.book-form .seg{display:flex;width:100%;background:#fff}
.book-form .seg button{flex:1}
.book-submit{width:100%}
.book-submit:disabled{opacity:.7;cursor:progress}
.fine{margin:0;font-size:.78rem}
.res-dock{position:fixed;left:.75rem;right:.75rem;bottom:.75rem;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:var(--ink);color:#fff;border-radius:1.25rem;padding:.7rem .75rem .7rem 1.1rem;box-shadow:var(--sh-frame)}
.res-dock[hidden]{display:none}
.res-dock .label{display:block;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:rgb(255 255 255 / .55)}
.res-dock b{font-family:var(--font-display);font-size:1.1rem;font-variant-numeric:tabular-nums}
.res-dock .btn{height:2.9rem;padding:0 1.1rem}
@media(min-width:1000px){.res-dock{display:none!important}}
.answers button em{font-style:normal;color:var(--orange-ink);font-weight:600}
.confirm{padding:clamp(2rem,1.5rem + 2vw,3rem) clamp(1.25rem,1rem + 2vw,2.5rem)}
.confirm .qt-q:focus{outline:0}
.timeline--confirm{text-align:left;max-width:30rem;margin-inline:auto}
.refer{margin-top:1.5rem;padding:1rem 1.2rem;border-radius:1rem;background:var(--orange-soft);color:var(--orange-ink);font-size:.9rem;text-align:left}
@media(max-width:560px){
  .res-ctas .btn--lg{width:100%}
  .save-row{flex-direction:column}
  .save-row .btn{width:100%}
  .kpis3{grid-template-columns:1fr 1fr 1fr;gap:.5rem}
  .kpis3 div{padding:.7rem .6rem}
  .kpis3 b{font-size:1.05rem}
  .save-bars .row{grid-template-columns:6.5rem 1fr 3.8rem;font-size:.82rem}
  .panel{padding:1.35rem}
  .book-box{padding:1.1rem}
}
/* Scope against the shared .field label rule (built for dark forms elsewhere) */
.qt-wrap .field label,.qt-wrap .field legend{display:block;color:var(--ink);text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:700;margin-bottom:0}
.qt-wrap .field{gap:.4rem}
.qt-wrap h2.qt-sub,.qt-wrap h3.qt-sub{font-family:var(--font-body);font-size:.8rem;font-weight:800;letter-spacing:.07em}
.opt .t{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.opt .rec{margin-left:0}
.tile--center[aria-pressed=true]::after{top:.3rem;right:.3rem;width:1.05rem;height:1.05rem;font-size:.55rem}
@media(max-width:999px){
  .live-price{font-size:1.15rem;white-space:nowrap}
  .live-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:12.5rem}
  .live-top>div{min-width:0}
}
@media(max-width:560px){
  .qt-card .seg{display:flex;width:100%;flex-wrap:nowrap}
  .qt-card .seg button{flex:1;padding:.6rem .4rem;font-size:.9rem}
  .res-price{font-size:2.15rem;white-space:nowrap}
  .res-price--sm{white-space:normal}
  .tiles{grid-template-columns:1fr 1fr}
  .tiles--num{grid-template-columns:repeat(5,1fr);gap:.5rem}
}
@media(max-width:360px){.res-price{font-size:1.8rem}}
.qt-grid>*{min-width:0}
.input--pc{width:100%;max-width:22rem}
.input--pc::placeholder{text-transform:none;letter-spacing:0}
.live .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
