/* =====================================================================
   Home page, homepage design brief v1.0 (13 Oct 2026). Loaded last, on index.html only (body.home).
   Marketing type variants (hero H1, section H2, family total) live here and nowhere else, so the
   signed-in pages keep the shared scale in type-scale.css. Sizes in rem, unitless line heights.
   Mobile is below 48rem.
   ===================================================================== */
body.home{
  --h-hero:2.25rem;  --h-hero-lh:1.2222;   /* 36 / 44 mobile */
  --h-sec:1.75rem;   --h-sec-lh:1.2857;    /* 28 / 36 mobile */
  --h-total:2.25rem; --h-total-lh:1.2222;  /* 36 / 44 mobile */
  font-size:1rem;line-height:1.5;letter-spacing:0
}
@media (min-width:48rem){
  body.home{--h-hero:3rem;--h-hero-lh:1.1667;--h-sec:2rem;--h-sec-lh:1.25;--h-total:2.5rem;--h-total-lh:1.2}
}

/* no italic serif words in headings: the accent phrase reads as plain Inter */
body.home .acc{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit;font-feature-settings:inherit}

/* ---------- headings ---------- */
body.home .hero h1{font-size:var(--h-hero);line-height:var(--h-hero-lh);font-weight:700;letter-spacing:-.02em}
body.home .hero h1 .kw{font-size:1rem;line-height:1.5;font-weight:600;letter-spacing:0;margin-bottom:12px}
body.home .hero h1 .tag2{font-size:1.375rem;line-height:1.3636;font-weight:600;letter-spacing:0;margin-top:.5em}
@media (min-width:48rem){body.home .hero h1 .tag2{font-size:1.5rem;line-height:1.3333}}
body.home #main h2{font-size:var(--h-sec);line-height:var(--h-sec-lh);font-weight:700;letter-spacing:-.02em}
body.home #main h3{font-size:1.125rem;line-height:1.4444;font-weight:600;letter-spacing:0}
/* overline: sentence case, +0.04em */
body.home #main .kicker{font-size:.8125rem;line-height:1.3846;font-weight:600;letter-spacing:.04em;text-transform:none}
body.home .sec-h p,body.home .lead{font-size:1rem;line-height:1.5;max-width:68ch}
body.home .small{font-size:.875rem;line-height:1.4286}

/* ---------- header and mobile menu ---------- */
body.home .top nav{margin-left:8px;gap:0}
body.home .top nav a{font-size:.9375rem;line-height:1.4667;font-weight:500;padding:8px 10px;white-space:nowrap}
body.home .top .btn{white-space:nowrap}
body.home .top-acts{display:flex;gap:8px;align-items:center}
body.home .top-acts[hidden]{display:none}
body.home .btn,body.home .btn.small{font-size:1rem;line-height:1.5;font-weight:600}
body.home .menu-btn{display:none;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer}
@media (max-width:1180px){
  body.home .top nav:not(.open){display:none}
  body.home .menu-btn:not([hidden]){display:inline-flex}
  body.home .top .in{flex-wrap:wrap}
  body.home .top nav.open{display:flex;flex-direction:column;order:10;width:100%;margin:0 0 12px;gap:2px}
  body.home .top nav.open a{min-height:44px;display:flex;align-items:center}
}
@media (max-width:560px){
  body.home .top-trial{display:none}          /* the hero button is the trial action on small phones */
  body.home .top .in{gap:10px}
  body.home .wordmark{font-size:1.0625rem}
}
/* anchors clear the sticky header */
body.home section[id],body.home #selective{scroll-margin-top:88px}

/* ---------- hero ---------- */
body.home .promise{font-size:1.125rem;line-height:1.5556;font-weight:600}
body.home .hero .lede{font-size:1.125rem;line-height:1.5556;max-width:68ch}
body.home .cover-now{margin-top:16px;padding:12px 16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:12px;font-size:1rem;line-height:1.5;max-width:68ch}
body.home .cover-now b{font-weight:600}
body.home .cover-now .link{padding:0;min-height:0;display:inline}
body.home .reassure{margin-top:10px;font-size:1rem;line-height:1.5;color:var(--ink-2)}
body.home .reassure + .reassure{margin-top:0}
body.home .reassure .link{display:inline-flex;align-items:center;min-height:44px;padding:0 2px}
@media (max-width:560px){body.home .cta-row .btn{width:100%}}

/* ---------- how it works ---------- */
body.home .steps3{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:48rem){body.home .steps3{grid-template-columns:minmax(0,1fr)}}
body.home .steps3 li{background:var(--panel);border-radius:12px;padding:24px}
@media (max-width:48rem){body.home .steps3 li{padding:20px}}
body.home .steps3 .n{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--ink);color:#fff;font-weight:700;margin-bottom:12px}
body.home .steps3 p{margin-top:8px;font-size:1rem;line-height:1.5}
body.home .curric{margin-top:16px;font-size:1rem;line-height:1.5;max-width:68ch;color:var(--ink-2)}
body.home .curric .rollout{display:inline;margin:0;padding:0;background:none;font-size:inherit;line-height:inherit;font-weight:600;color:var(--ink)}
body.home .demo{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:48rem){body.home .demo{grid-template-columns:minmax(0,1fr)}}
body.home .ex-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:10px}
@media (max-width:48rem){body.home .ex-card{padding:20px}}
body.home .ex-tag{align-self:flex-start;font-size:.875rem;line-height:1.4286;font-weight:500;color:var(--ink-2);background:var(--panel);border-radius:8px;padding:2px 8px}
body.home .ex-q{margin:0;font-size:1.5rem;line-height:1.3333;font-weight:600;font-variant-numeric:tabular-nums}
body.home .ex-ans{margin:0;font-size:1.125rem;line-height:1.5556}
body.home .ex-fb{border-left:4px solid var(--attention-ink,#B45309);background:var(--attention-fill);border-radius:8px;padding:12px 14px}
body.home .ex-fb p{margin:6px 0 0;font-size:1rem;line-height:1.625}
body.home .ex-dl{margin:0;display:flex;flex-direction:column}
body.home .ex-dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}
body.home .ex-dl div:first-child{border-top:0}
body.home .ex-dl dt{color:var(--ink-2)} body.home .ex-dl dd{margin:0;font-weight:600;text-align:right}
body.home .ex-why{margin:0;font-size:1rem;line-height:1.5}
body.home .chip-st{display:inline-flex;align-items:center;font-size:.875rem;line-height:1.4286;font-weight:500;border-radius:8px;padding:2px 8px;background:var(--attention-fill);color:var(--ink);white-space:nowrap}
body.home .chip-st.ok{background:var(--good-fill);color:var(--good-ink)}
body.home .chip-st.pre{background:var(--panel-2,#E5E9F0);color:var(--ink)}

/* ---------- parent view ---------- */
body.home .dash .cap{font-size:.875rem;line-height:1.4286}
body.home .drow .sub{font-size:.875rem;line-height:1.4286;font-weight:400}
body.home .dcard.todo-ex{border-left-color:var(--maths-fill,#1E40AF)}
body.home .dcard.todo-ex p{font-size:1.125rem;line-height:1.5556;font-weight:500}
body.home .ticks li{font-size:1rem;line-height:1.5}

/* ---------- coverage + selective ---------- */
body.home .cov{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:48rem){body.home .cov{grid-template-columns:minmax(0,1fr)}}
body.home .cov li{background:#fff;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:8px}
@media (max-width:48rem){body.home .cov li{padding:20px}}
body.home .cov-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
body.home .cov p{margin:0;font-size:1rem;line-height:1.5}
body.home .sel{margin-top:24px;background:#fff;border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:12px}
@media (max-width:48rem){body.home .sel{padding:20px}}
body.home .sel p{margin:8px 0 0;font-size:1rem;line-height:1.5;max-width:68ch}
body.home #main .sel-h{font-size:1.375rem;line-height:1.3636;font-weight:700}
body.home .sel-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
body.home .sel-links{display:flex;gap:4px 20px;flex-wrap:wrap}
body.home .sel .fine{margin:0;font-size:.875rem;line-height:1.4286}

/* ---------- pricing ---------- */
body.home .price{border-radius:12px;padding:24px}
@media (max-width:48rem){body.home .price{padding:20px}}
body.home .price .amt{font-size:var(--h-total);line-height:var(--h-total-lh);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
body.home .price .amt small{font-size:1rem;line-height:1.5;font-weight:500;letter-spacing:0}
body.home .price .terms,body.home .terms-dl{font-size:1rem;line-height:1.5}
body.home .terms-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:0}
body.home .terms-dl dd{overflow-wrap:anywhere}
@media (max-width:30rem){body.home .terms-dl{grid-template-columns:minmax(0,1fr)}body.home .terms-dl dd{margin-bottom:6px}}
body.home .terms-dl dt{font-weight:600} body.home .terms-dl dd{margin:0}
body.home .calc-ctl{display:flex;flex-wrap:wrap;gap:12px 24px}
body.home .calc-ctl[hidden]{display:none}
body.home .calc-ctl fieldset{border:0;margin:0;padding:0;min-width:0}
body.home .calc-ctl legend{font-size:.875rem;line-height:1.4286;font-weight:600;margin-bottom:6px;padding:0}
body.home .seg{display:inline-flex;border:1.5px solid #6B7280;border-radius:8px;overflow:hidden}
body.home .seg label{position:relative;display:block}
body.home .seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
body.home .seg span{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:44px;padding:0 14px;font-size:.9375rem;line-height:1.4667;font-weight:600;color:var(--ink);background:#fff}
body.home .seg label + label span{border-left:1.5px solid #6B7280}
body.home .seg input:checked + span{background:var(--ink);color:#fff}
body.home .seg input:checked + span::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:6px}  /* selected is shown by shape too, not colour alone */
body.home .seg input:focus-visible + span{outline:3px solid var(--focus,#2563EB);outline-offset:-3px}
body.home .unit{margin:6px 0 0;font-size:1rem;line-height:1.5;font-weight:500}
body.home .save{margin:4px 0 0;font-size:1rem;line-height:1.5;color:var(--ink-2)}
body.home .brk summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
body.home .rates{border-collapse:collapse;width:100%;font-size:1rem;line-height:1.5;font-variant-numeric:tabular-nums}
body.home .rates th,body.home .rates td{text-align:left;padding:6px 8px;border-top:1px solid var(--line)}
body.home .rates thead th{border-top:0;font-size:.875rem;font-weight:600}

/* ---------- trust, FAQ, closer, footer ---------- */
body.home #trust .honest{display:flex;gap:4px 20px;flex-wrap:wrap;background:none;padding:0;font-size:1rem}
body.home .faq summary{font-size:1rem;line-height:1.5;font-weight:600;min-height:44px}
body.home .faq details p{font-size:1rem;line-height:1.5}
body.home #main .closer h2{font-size:var(--h-sec);line-height:var(--h-sec-lh)}
body.home .closer p{font-size:1.125rem;line-height:1.5556}
body.home .closer .cl-fine{font-size:1rem;line-height:1.5;margin-top:8px}
body.home .closer .cl-fine a{color:#fff;text-decoration:underline;text-underline-offset:3px}
body.home footer{font-size:.875rem;line-height:1.4286}
body.home footer .link{font-weight:500}
body.home footer .in > span:first-child{font-size:.8125rem;line-height:1.3846}

/* very large text: let rows wrap rather than push the page sideways */
body.home .top .in{flex-wrap:wrap}
body.home .chip-st{white-space:normal}
body.home .ex-dl div{flex-wrap:wrap}
body.home .seg{flex-wrap:wrap}
body.home .rates-wrap{max-width:100%;overflow-x:auto}
body.home .price > *{min-width:0;max-width:100%}
/* small phones: the menu button keeps its name for screen readers but shows only the icon */
@media (max-width:30rem){
  body.home .menu-btn{padding:0 10px;min-width:44px;justify-content:center}
  body.home .menu-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body.home .top .btn.small{padding-inline:14px}
}

/* Practice NAPLAN highlight (Oct 2026): "New" bar above the header + feature card after the hero */
body.home .nm-new{display:inline-flex;align-items:center;font-size:.8125rem;line-height:1.4;font-weight:700;padding:2px 9px;border-radius:8px;background:var(--sunny);color:var(--ink)}
body.home .nm-bar{background:var(--ink);color:#fff}
body.home .nm-bar .in{display:flex;gap:6px 12px;align-items:center;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;font-size:1rem;line-height:1.5}
body.home .nm-bar a{color:#fff;font-weight:700;text-underline-offset:3px}
body.home .nm-bar a:focus-visible{outline:2px solid var(--sunny);outline-offset:2px}
body.home .nm-feat{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;align-items:center;background:var(--ink);color:#fff;border-radius:24px;padding:40px}
body.home #main .nm-feat h2{color:#fff;margin:12px 0 10px}
body.home .nm-feat p{margin:0 0 12px;font-size:1.0625rem;line-height:1.55;color:#E5E7EB;max-width:52ch}
body.home .nm-feat ul{margin:4px 0 20px;padding:0;list-style:none;display:grid;gap:8px}
body.home .nm-feat li{display:flex;gap:10px;align-items:flex-start;font-size:1rem;line-height:1.5}
body.home .nm-feat li svg{flex:none;margin-top:3px;color:var(--sunny)}
body.home .nm-feat .btn.white{background:#fff;color:var(--ink);box-shadow:0 var(--lip) 0 var(--line-strong,#C7CBD2)}
body.home .nm-feat .btn.white:focus-visible{outline:3px solid var(--sunny);outline-offset:3px}
body.home .nm-feat .fine{font-size:.875rem;line-height:1.4286;color:#C7CBD2;margin:14px 0 0}
body.home .nm-shot-wrap{margin:0}
body.home .nm-shot{border-radius:14px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.2)}
body.home .nm-shot img{display:block;width:100%;height:auto}
body.home .nm-shot-wrap figcaption{font-size:.875rem;line-height:1.4286;color:#C7CBD2;margin-top:10px}
@media (max-width:56rem){body.home .nm-feat{grid-template-columns:minmax(0,1fr);padding:24px;gap:24px}}
body.home .cov{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media (max-width:48rem){body.home .cov{grid-template-columns:minmax(0,1fr)}}

/* State picker in the top banner (Deb, 19 Oct 2026): a short state code (VIC, QLD, SA) that opens the list of every
   state, so it stays one small button as states are added. It sits at the banner's right-hand end. */
/* the states as short codes next to the picker (Deb, 19 and 23 Oct 2026): "In ACT NT QLD SA TAS VIC", the current one marked */
body.home .state-row{margin-left:auto;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:.9375rem}
body.home .nm-bar .state-row a{display:inline-flex;align-items:center;min-height:36px;padding:0 6px;font-weight:700}
body.home .nm-bar .state-row a[aria-current]{text-decoration:none;border-bottom:2px solid var(--sunny);min-height:0;padding-bottom:1px}
body.home .state-pick{position:relative}
/* with six states (23 Oct 2026) the codes and the menu no longer fit on one line at any width, and the codes already list every
   state, so the menu is hidden. It stays in the markup in case the list grows past what the codes can hold. */
body.home .state-pick{display:none}
body.home .nm-bar .state-pick summary{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1.5px solid rgba(255,255,255,.55);border-radius:999px;color:#fff;font-size:.9375rem;font-weight:700;cursor:pointer;list-style:none;white-space:nowrap}
body.home .state-pick summary::-webkit-details-marker{display:none}
body.home .state-pick summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:2px}
body.home .nm-bar .state-pick summary:hover{background:rgba(255,255,255,.12)}
body.home .nm-bar .state-pick summary:focus-visible{outline:2px solid var(--sunny);outline-offset:2px}
body.home .state-pick ul{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:220px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(11,31,68,.18)}
body.home .nm-bar .state-pick li a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;color:var(--ink);font-weight:500;text-decoration:none}
body.home .nm-bar .state-pick li a:hover{background:var(--panel)}
body.home .nm-bar .state-pick li a[aria-current]{font-weight:700;color:var(--link)}
body.home .nm-bar .state-pick li a[aria-current]::after{content:"✓";margin-left:auto;padding-left:12px}

/* ---------- Home page A2 (21 Oct 2026): free mock cards, price + questions, sub pages ---------- */
body.home .mocks2{padding-top:40px}
body.home #main .mocks2 .mk-kick{font-size:1rem;line-height:1.5;font-weight:600;letter-spacing:0;color:var(--ink-2);margin:0 0 12px}
body.home .mk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
body.home .mk-card{--c:var(--reading-fill);display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 16px;align-content:start;background:#fff;border:1.5px solid var(--line);border-top:6px solid var(--c);border-radius:20px;padding:24px}
body.home .mk-card.selective{--c:var(--writing-fill)}
body.home .mk-ico{width:44px;height:44px;border-radius:12px;background:var(--c);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.125rem}
body.home .mk-tag{display:inline-flex;font-size:.875rem;line-height:1.4286;font-weight:500;color:var(--ink);background:var(--panel);border-radius:999px;padding:2px 10px}
body.home .mk-card h3{font-size:1.125rem;line-height:1.4444;margin:8px 0 2px}
body.home .mk-card p{margin:0;color:var(--ink-2);font-size:.9375rem;line-height:1.4667}
body.home .mk-btn{grid-column:1/-1;width:100%;margin-top:16px;border:2px solid var(--ink);color:var(--ink);background:#fff}
/* exam prep that isn't built yet for a state (ACT, Tasmania, NT, Oct 2026): a plain "Coming soon" bar where the button would be */
body.home .mk-soon{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:16px;border:2px dashed var(--line-strong);border-radius:999px;color:var(--ink-2);font-weight:700;background:var(--panel)}
body.home .mk-fine{grid-column:1/-1;margin-top:10px!important;font-size:.875rem!important}
body.home .pq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
body.home .pq .lead{margin:8px 0 20px}
body.home .pq .cta-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
body.home .pq-more{margin:4px 0 0}
body.home.sub .sub-hero .in{grid-template-columns:minmax(0,1fr)}
body.home.sub .sub-hero h1{margin:4px 0 8px}
body.home.sub .crumbs{margin:0;font-size:.9375rem}
@media (max-width:48rem){body.home .mk-grid,body.home .pq{grid-template-columns:minmax(0,1fr);gap:24px}}

/* ---------- Homepage declutter (Deb, 23 Oct 2026): same logo, colours and type; fewer boxes, one button colour, two backgrounds ----------
   Built by home-src/build_home.py for every state. The "New" bar is gone; the state choice is a labelled menu in the header. */
body.home section.band.slim{padding-block:64px}
@media (max-width:48rem){body.home section.band.slim{padding-block:44px}}
body.home #how{padding-bottom:16px}
body.home .sec-h{margin-bottom:28px}
body.home .hero h1 .kw{font-size:1rem;color:var(--ink-2)}
body.home .hero .lede{font-size:1.25rem;line-height:1.5;max-width:30em;margin-top:14px}
body.home .link.quiet{font-weight:600;display:inline-flex;align-items:center;min-height:44px}
body.home .cta-row{gap:12px 24px}

/* state menu in the header */
body.home .state-sel{position:relative}
body.home .state-sel summary{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink);font-size:.9375rem;font-weight:600;cursor:pointer;list-style:none;white-space:nowrap;background:#fff}
body.home .state-sel summary::-webkit-details-marker{display:none}
body.home .state-sel summary::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:4px}
body.home .state-sel summary:hover{background:var(--panel)}
body.home .state-sel ul{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:240px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(11,31,68,.18)}
body.home .state-sel li a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:10px;color:var(--ink);font-weight:500;text-decoration:none}
body.home .state-sel li a:hover{background:var(--panel)}
body.home .state-sel li a[aria-current]{font-weight:700;color:var(--link)}
body.home .state-sel li a[aria-current]::after{content:"✓";margin-left:auto;padding-left:12px}
@media (max-width:30rem){body.home .state-sel summary span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}body.home .state-sel summary{padding:0 10px;min-height:44px}}

/* how it works: plain columns, no boxes */
body.home .steps3.plain{gap:32px}
body.home .steps3.plain li{background:none;padding:0}
body.home .steps3.plain p{color:var(--ink-2)}

/* parent view: three statuses, each a dot plus a word, and one tip for home */
body.home .st i{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
body.home .st.ok i{background:#12805C} body.home .st.warn i{background:#B45309}
body.home .dash .dcard{gap:4px}
body.home .try{display:flex;gap:12px;align-items:flex-start;margin-top:8px;padding:12px 14px;background:var(--panel);border-radius:12px;color:var(--ink)}
body.home .try svg{flex:none;color:var(--link);margin-top:2px}
body.home .try b{display:block;font-weight:600}
body.home .try span{font-size:.9375rem;line-height:1.5}

/* pathways: the only cards on the page, all alike */
body.home .pw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:60rem){body.home .pw-grid{grid-template-columns:minmax(0,1fr)}}
body.home .pw-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}
body.home .pw-tag{font-size:.875rem;line-height:1.4286;font-weight:500;color:var(--ink-2)}
body.home #main .pw-card h3{font-size:1.25rem;line-height:1.4;font-weight:700;margin:0}
body.home .pw-card p{margin:0;color:var(--ink-2);font-size:1rem;line-height:1.5}
body.home .pw-btn,body.home .pw-soon{margin-top:12px}
body.home .pw-soon{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;margin-top:12px;border:1.5px dashed var(--line-strong);border-radius:999px;color:var(--ink-2);font-weight:600}
body.home .pw-fine{font-size:.875rem!important;line-height:1.4286}

/* price + questions */
body.home .pq .reassure{margin-top:8px}

/* footer: four short columns, then states, then the legal line */
body.home footer.foot{border-top:1px solid var(--line);padding-block:48px 40px;color:var(--ink-2)}
body.home footer.foot .in{display:block}
body.home .foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
@media (max-width:48rem){body.home .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}}
body.home .foot-cols h2{font-size:.9375rem;line-height:1.4;font-weight:700;color:var(--ink);margin:0 0 10px}
body.home .foot-cols ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
body.home .foot-cols a,body.home .foot-states a{color:var(--ink-2);text-decoration:none;display:inline-flex;align-items:center;min-height:32px;font-size:.9375rem}
body.home .foot-cols a:hover,body.home .foot-states a:hover{color:var(--link);text-decoration:underline}
body.home .foot-states{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin:32px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:.9375rem}
body.home .foot-states > span{font-weight:600;color:var(--ink);margin-right:8px}
body.home .foot-states a[aria-current]{color:var(--link);font-weight:700;text-decoration:underline;text-underline-offset:4px}
body.home .foot-legal{margin:16px 0 0;font-size:.8125rem;line-height:1.6}
@media (min-width:60.01rem){body.home .hero .in{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px}}
body.home .pw-card > p:not(.pw-fine){flex-grow:1}
/* phones: one header row (logo, state, menu); Sign in moves into the menu */
body.home .top nav .nav-signin{display:none}
@media (max-width:30rem){
  body.home .top-acts{display:none}
  body.home .top nav.open .nav-signin{display:flex}
  body.home .top .in{flex-wrap:wrap;gap:8px}
}
@media (max-width:30rem){body.home .foot-states > span{flex-basis:100%}}
