.price-hero{align-items:center}.offer-banner{background:var(--blue);color:#fff;border-radius:var(--radius);padding:32px}.offer-banner .eyebrow{color:#8fddfb}.offer-banner h2{font-size:2rem;line-height:1.15}.offer-banner p{color:#e1eafa}
.calc-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin:0 0 20px}legend{font-weight:650;font-size:1.1rem;padding:0 8px;display:flex;gap:10px;align-items:center}
.step{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--cyan);color:#fff;font-size:.85rem}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chips input{position:absolute;opacity:0}.chips span{display:block;border:1px solid #cbdeeb;border-radius:30px;padding:9px 18px;cursor:pointer;color:var(--blue);font-weight:550}.chips small{display:block;font-size:.7rem;color:#5f7286;font-weight:400}.chips input:checked+span{background:var(--blue);color:#fff;border-color:var(--blue)}.chips input:checked+span small{color:#cfe3f7}.chips input:focus-visible+span{outline:3px solid var(--cyan)}
.loc-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:10px}.loc-row label{font-size:.78rem;font-weight:600}.loc-row input{display:block;width:100%;padding:10px;border:1px solid #cbdeeb;border-radius:7px;font:inherit}
.loc-remove{background:none;border:1px solid #e3b1b1;color:#a33;border-radius:7px;padding:10px 12px;cursor:pointer}.loc-remove:disabled{opacity:.35;cursor:default}
.add-loc{background:none;border:0;cursor:pointer;font:inherit;font-weight:650;color:#0085ba;padding:6px 0}
.stu,.stu-only{display:none}.is-school .loc-row .stu{display:block}.is-school .stu-only{display:inline}.is-school label.stu-only{display:block}.loc-row:not(:has(.stu)) {}
body:not(.is-school) .loc-row{grid-template-columns:2fr 1fr auto}
.hint{font-size:.85rem;color:var(--text)}.totals{margin:12px 0 6px}.check{font-size:.9rem}
.calc-result{position:sticky;top:110px;background:var(--pale);border:1px solid #d7e7f1;border-radius:var(--radius);padding:28px}
.r-tier{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#5f7286}.r-big{font-size:2.2rem;font-weight:650;color:var(--blue)}
.r-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.92rem}.r-line.strong{font-weight:700;font-size:1.05rem;color:var(--blue)}
.r-offer{background:#e3f6e8;border:1px solid #9fd5ae;border-radius:10px;padding:12px;margin:14px 0;font-size:.88rem}.r-offer.soft{background:#fff;border-color:var(--line)}
.r-note,.muted{font-size:.78rem;color:#5f7286;margin-top:10px}.calc-result .button{display:block;text-align:center;margin-top:18px}
.included{columns:2;column-gap:40px}
@media(max-width:860px){.calc-grid{grid-template-columns:1fr}.calc-result{position:static}.loc-row,body:not(.is-school) .loc-row{grid-template-columns:1fr 1fr}.loc-row label:first-child{grid-column:1/-1}.included{columns:1}}
.assess-offer{max-width:760px}.assess-offer .calc-result{position:static;margin-top:18px;color:var(--ink,#10233f)}.assess-offer .r-line span{color:inherit}.assess-offer .r-line.strong span{color:var(--blue)}.assess-offer .r-note{color:#e1eafa}
.assess-offer .calc-result,.assess-offer .calc-result .r-line{color:#10233f}
/* v2 layout: stepped cards, bubbles, tighter spacing */
.price-top{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;align-items:center;padding-top:28px;padding-bottom:12px}.price-top h1{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:.2em 0}.price-top .intro{margin:0}
.offer-banner{padding:22px 24px}.offer-banner h2{font-size:1.5rem;margin:.2em 0}.offer-ends{display:inline-block;margin-top:6px;background:#fff;color:var(--blue)!important;font-weight:700;border-radius:20px;padding:4px 12px;font-size:.85rem}
.calc-sec{padding-top:12px;padding-bottom:24px}.calc-grid{gap:28px}fieldset{padding:16px 18px;margin:0 0 14px}
.sbubs{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.sbub{text-align:center;cursor:pointer}.sbub input{position:absolute;opacity:0}
.b-img{display:block;aspect-ratio:1;border-radius:50%;overflow:hidden;border:4px solid transparent;box-shadow:0 2px 8px rgba(16,35,63,.15);transition:border-color .15s,transform .15s}.b-img img{width:100%;height:100%;object-fit:cover;display:block}
.b-lab{display:block;font-size:.8rem;font-weight:650;color:var(--blue);margin-top:6px;line-height:1.2}.sbub input:checked~.b-img{border-color:var(--cyan);transform:scale(1.04)}.sbub input:checked~.b-lab{color:#0085ba}.sbub input:focus-visible~.b-img{outline:3px solid var(--cyan)}
.sols{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sol{cursor:pointer}.sol input{position:absolute;opacity:0}.sol span{display:block;height:100%;border:1px solid #cbdeeb;border-radius:12px;padding:10px 12px 10px 40px;position:relative;color:var(--blue)}
.sol span::before{content:"";position:absolute;left:12px;top:12px;width:18px;height:18px;border:2px solid #9bb8cc;border-radius:5px;background:#fff}.sol input:checked+span{border-color:var(--blue);background:#eef6fc}.sol input:checked+span::before{background:var(--blue);border-color:var(--blue);content:"✓";color:#fff;font-size:13px;line-height:18px;text-align:center}
.sol small{display:block;font-size:.76rem;color:#5f7286;margin-top:2px}.sol input:focus-visible+span{outline:3px solid var(--cyan)}.hint{margin:0 0 8px}
.calc-result{padding:20px;top:90px}.r-sec{font-weight:700;color:var(--blue);margin:12px 0 2px;font-size:.88rem}.r-line small{display:block;font-size:.72rem;color:#5f7286;font-weight:400}.r-ends{font-weight:700;color:#1d6b35}.r-small{font-size:.88rem}
.sector-band.tight{padding:32px 0}.two-col{display:grid;grid-template-columns:1fr 1.4fr;gap:32px;align-items:start}.two-col h2{margin-top:.2em}.two-col .included{columns:1;margin:0}.two-col .included li{margin-bottom:8px}.fine-sec{padding-top:12px;padding-bottom:24px}
@media(max-width:860px){.price-top,.two-col{grid-template-columns:1fr}.sbubs{grid-template-columns:repeat(3,1fr)}.sols{grid-template-columns:1fr}}
.sbub{display:block;padding:0;background:none;margin:0;position:relative}.sbub .b-img{width:100%;max-width:110px;margin:0 auto}
.value-lines{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}.value-lines li{background:#eef6fc;color:var(--blue);border-radius:20px;padding:5px 12px;font-size:.82rem;font-weight:650}.value-lines li::before{content:"✓ ";color:#0085ba}
.r-tiernote{font-size:.8rem;background:#fff6dc;border:1px solid #f0d98a;border-radius:8px;padding:6px 10px;margin:6px 0}
