
/* ============================================================
   Guides: the shared layer over each guide's own <style>.
   Approved by John on the acceptance-rate sample, 29 Oct 2026, then rolled
   out to all twelve guides. Loaded AFTER each guide's inline styles, so the
   frame (banner, headings, callouts, lists, closing note, Read next, phone
   contents bar) is one design everywhere.

   Rules from that review (keep them):
   - Colour means something: brown on cream; sage only for "advice / do
     this" and the one highlight of something new. No tinted heading bands.
   - No runs of boxed cards for prose: a ruled, numbered list instead. A box
     is for a picture, a diagram or one key figure.
   - Animation only where it shows data, and only when it is on screen.
   - Changing this file: bump the ?v= on every guide (pre-push checks it).
   ============================================================ */
.guide-header{background:var(--parchment);padding:104px 24px 8px}
.guide-header-inner{grid-template-columns:1fr;gap:0}
.guide-header-inner>div:last-child{max-width:760px}
.guide-header .g-crumbs{font:500 14px var(--body);color:var(--text-secondary);margin:0 0 14px}
.guide-header .g-crumbs a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px}
.guide-header .guide-title{color:var(--ink);font:800 clamp(32px,4.6vw,50px)/1.08 var(--display);letter-spacing:-.02em;text-wrap:balance;margin:0 0 18px}
.guide-header .guide-intro-text{color:var(--text-secondary);font:400 19px/1.6 var(--body);max-width:62ch;margin:0 0 16px}
.guide-header .guide-byline{color:var(--text-secondary);font:400 14px/1.55 var(--body);margin:0;padding-top:14px;border-top:1px solid var(--border)}
.guide-header .guide-byline a{color:var(--ink);font-weight:600}
.guide-wrap{padding-top:40px}
.rate-comparison{align-items:start!important}
/* one heading style: no tinted bands, no colour that means nothing */
.guide-section .section-head{background:none!important;margin:0!important;padding:34px 0 10px!important}
.section-head-accent{display:none}
.guide-body h2{font:800 26px/1.2 var(--display)!important;color:var(--ink)!important;letter-spacing:-.01em;text-wrap:balance}
.guide-body h3{font:700 18px/1.35 var(--display);color:var(--ink)}
/* pull quote: a line that pulls, not another box */
.guide-pull-quote{background:none;border-left:3px solid var(--tan);border-radius:0;padding:4px 0 4px 20px;margin:6px 0 22px}
.guide-pull-quote p{font:700 21px/1.4 var(--display)!important;font-style:normal!important;color:var(--ink)!important;margin:0!important}
/* two callouts only: a note, and advice */
.guide-info-callout,.guide-callout,.insight-callout,.overlap-callout,.horizon-callout,.warn-callout,.disclaimer-note,.guide-stat-callout{background:var(--linen)!important;border:0!important;border-left:4px solid var(--stone)!important;border-radius:0 12px 12px 0!important;padding:16px 20px!important;color:var(--text-secondary)}
.guide-tip-callout,.approach-callout{background:var(--sage-pale)!important;border:0!important;border-left:4px solid var(--sage)!important;border-radius:0 12px 12px 0!important;padding:16px 20px!important}
.guide-tip-label,.approach-label{font:700 14px var(--display)!important;text-transform:none!important;letter-spacing:0!important;color:#2A5020!important}
.insight-label,.warn-label,.horizon-label,.guide-info-callout strong:first-child{font:700 14px var(--display)!important;text-transform:none!important;letter-spacing:0!important;color:var(--brown)!important}
.guide-section-tinted{background:none!important;border:0!important;padding-inline:0!important}
.chances-card{background:var(--warm-white)!important;border:1px solid var(--border)!important}
/* "what improves": a ruled, numbered list like a printed guide; no boxes (John: seven cards in a row "feel quite AI like") */
.chances-cards{counter-reset:cc;gap:0!important;border-top:1px solid var(--border);margin-top:22px!important}
.chances-card{counter-increment:cc;background:none!important;border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;padding:22px 0 22px 64px!important;position:relative}
.chances-card::before{content:counter(cc);position:absolute;left:0;top:16px;font:800 34px/1 var(--display);color:var(--tan);font-variant-numeric:tabular-nums}
.chances-card h3{margin:0 0 8px!important;font:700 19px/1.35 var(--display)!important;color:var(--ink)!important}
.g-tests{margin:16px 0 4px;border-top:1px solid var(--border)}
.g-tests p{display:grid;grid-template-columns:150px 1fr;gap:2px 16px;align-items:baseline;margin:0!important;padding:12px 0;border-bottom:1px solid var(--border)}
.g-tests p:last-child{border-bottom:0}
.g-tests small{grid-column:1;grid-row:1;font:600 13px var(--body);color:var(--tan)}
.g-tests b{grid-column:1;grid-row:2;font:800 17px/1.25 var(--display);color:var(--ink)}
.g-tests span{grid-column:2;grid-row:1/3;align-self:center;font:400 15px/1.6 var(--body);color:var(--ink)}
.g-tests mark{background:linear-gradient(transparent 12%,var(--sage) 12%,var(--sage) 88%,transparent 88%);color:var(--ink);font-weight:700;padding:0 4px;border-radius:2px;white-space:nowrap}
@media (max-width:820px){.chances-card{padding:20px 0!important}.chances-card::before{position:static;display:block;font-size:28px;margin-bottom:6px}
  .g-tests p{grid-template-columns:1fr}.g-tests span{grid-column:1;grid-row:3;margin-top:4px}}
/* the Department's quarter */
.g-quarter{margin:18px 0 22px;padding:18px 0;border-block:1px solid var(--border)}
.g-quarter b{display:block;font:800 48px/1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.g-quarter span{display:block;max-width:46ch;font:400 15px/1.5 var(--body);color:var(--text-secondary);margin-top:8px}
@media (max-width:520px){.g-quarter b{font-size:40px}}
/* the two rates */
.g-rates{display:grid;grid-template-columns:max-content 96px 1fr;align-items:start;gap:0;margin:18px 0 24px;padding:18px 0;border-block:1px solid var(--border)}
.gr-col small{display:block;font:700 15px/1.35 var(--body);color:var(--ink);margin-top:8px}
.gr-col b{display:block;font:800 52px/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.gr-old b{color:var(--stone)}.gr-old small{color:var(--text-secondary)}.gr-new b{color:var(--ink)}
.gr-col span{display:block;font:400 14px/1.45 var(--body);color:var(--text-secondary);margin-top:6px}
.gr-arrow{width:36px;height:18px;margin-top:17px;justify-self:center;fill:none;stroke:var(--tan);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:520px){.g-rates{grid-template-columns:1fr 40px 1fr;gap:0}.gr-col b{font-size:44px}.gr-arrow{width:24px;margin-top:13px}}
/* applicants: bars from zero, growing as each row arrives */
.g-bars{margin:22px 0 26px;padding:18px 18px 14px;background:var(--warm-white);border:1px solid var(--border);border-radius:12px}
.gb-row{display:grid;grid-template-columns:44px 1fr 64px;align-items:center;gap:12px;padding:5px 0}
.gb-y{font:600 14px var(--body);color:var(--text-secondary);font-variant-numeric:tabular-nums}
.gb-track{height:12px;position:relative}
.gb-bar{position:absolute;left:0;top:0;bottom:0;background:var(--stone);border-radius:0 3px 3px 0;transform-origin:left;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.gb-row.now .gb-bar{background:var(--brown)}
.gb-n{font:600 15px var(--body);color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.gb-row.now .gb-n{font:800 16px var(--display)}
.gb-row.wait .gb-bar{transform:scaleX(0)}
.gb-scale{display:flex;justify-content:space-between;margin:6px 76px 0 56px;font:400 13px var(--body);color:var(--text-muted);border-top:1px solid var(--border);padding-top:4px}
.g-bars figcaption{font:400 14px/1.5 var(--body);color:var(--text-secondary);margin-top:10px}
.gb-src{display:block;font-size:13px;color:var(--text-muted);margin-top:6px}
/* the 75/20/5 split as one bar */
.g-split{margin:22px 0 26px}
.gs-bar{display:flex;height:22px;border-radius:6px;overflow:hidden;gap:2px;background:var(--parchment)}
.gs-bar i{display:block;transform-origin:left;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.g-split.wait .gs-bar i{transform:scaleX(0)}
.gs-a{background:var(--brown)}.gs-b{background:var(--tan)}.gs-c{background:var(--stone)}
.gs-key{margin-top:14px;display:grid;gap:12px}
.gs-row{display:grid;grid-template-columns:14px 108px 1fr;gap:10px;align-items:start;font:400 15px/1.55 var(--body);color:var(--text-secondary)}
.gs-row b{font:800 20px/1.2 var(--display);color:var(--ink);white-space:nowrap}
@media (max-width:520px){.gs-row{grid-template-columns:14px 1fr;gap:2px 10px}.gs-row b{grid-column:2;font-size:20px}.gs-row>span:last-child{grid-column:2}.gs-sw{margin-top:6px}}
.gs-row strong{display:block;color:var(--ink);font-weight:700}
.gs-sw{width:14px;height:14px;border-radius:3px;margin-top:5px}
/* the handwritten note */
/* read next: a ruled list */
.g-next{margin-top:44px}
.g-next h2{margin:0 0 6px}
.g-next ul{list-style:none!important;margin:0!important;padding:0!important;border-top:1px solid var(--border)}
.g-next li{border-bottom:1px solid var(--border);margin:0!important}
.g-next a{display:grid;grid-template-columns:1fr auto;grid-template-areas:"k arrow" "b arrow" "s arrow";column-gap:16px;padding:14px 0;text-decoration:none!important;color:var(--ink)!important}
.g-next a::after{content:"→";grid-area:arrow;align-self:center;color:var(--tan);font:600 18px var(--body);transition:transform .2s}
.g-next a:hover::after{transform:translateX(3px)}
.g-next small{grid-area:k;font:600 13px var(--body);color:var(--tan)}
.g-next b{grid-area:b;font:700 17px/1.3 var(--display);margin:2px 0}
.g-next span{grid-area:s;font:400 14px/1.5 var(--body);color:var(--text-secondary)}
/* author note */
.chances-card:last-child{border-bottom:0!important}
.guide-section:has(+ .g-author),.guide-section:last-of-type{border-bottom:0!important}
.guide-section:has(+ .g-author) .section-body{padding-bottom:4px!important}
.g-author{display:grid;grid-template-columns:170px 1fr;gap:26px;align-items:start;margin-top:20px;padding-top:26px;border-top:2px solid var(--ink)}
.ga-photo{width:170px;height:auto;display:block}
.g-author h2{margin:0 0 8px!important;font-size:22px!important}
.g-author p{font:400 16px/1.7 var(--body)!important;color:var(--text-secondary)!important;margin:0 0 10px!important}
.g-author a{color:var(--ink)!important;font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* phone contents bar */
.g-toc-m{display:none}
@media (max-width:820px){
  .guide-toc{display:none}
  .g-toc-m{display:block;position:sticky;top:64px;z-index:50;background:rgba(250,246,238,.97);backdrop-filter:blur(6px);border-block:1px solid var(--border);margin-top:18px}
  .g-toc-m summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:10px;padding:13px 20px;min-height:48px;box-sizing:border-box}
  .g-toc-m summary::-webkit-details-marker{display:none}
  .g-toc-m summary::after{content:"▾";margin-left:auto;color:var(--tan)}
  .g-toc-m[open] summary::after{content:"▴"}
  .g-toc-m .k{font:700 14px var(--display);color:var(--brown);flex:none}
  .g-toc-m .cur{font:500 14px var(--body);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .g-toc-m ul{list-style:none;margin:0;padding:0 20px 10px;max-height:60vh;overflow:auto}
  .g-toc-m li a{display:block;padding:11px 0;border-top:1px solid var(--border);font:500 16px/1.35 var(--body);color:var(--ink);text-decoration:none}
  .g-toc-m li.on a{font-weight:700}
  .g-toc-m li.up a{color:var(--tan)}
  html [id]{scroll-margin-top:130px}
  .guide-header{padding:92px 20px 4px}
  .guide-header .guide-intro-text{font-size:17px}
  .guide-wrap{padding-top:20px}
  .g-author{grid-template-columns:132px 1fr;grid-template-areas:"p h" "t t";gap:4px 16px;align-items:end}.ga-photo{width:132px;grid-area:p}
  .g-author>div{display:contents}.g-author h2{grid-area:h;align-self:end;margin-bottom:6px!important}.g-author p{grid-column:1/-1}
  .g-author p:first-of-type{margin-top:12px!important}
  .guide-body h2{font-size:23px!important}
}
@media (prefers-reduced-motion:reduce){.gb-bar,.gs-bar i{transition:none}}

/* every guide: body text and links the same (the inline copies had drifted: 4 link colours, one guide at 15px) */
.guide-body .section-body>p,.guide-body .section-body>ul>li,.guide-body .section-body>ol>li{font:400 16px/1.8 var(--body);color:var(--text-secondary)}
.guide-body .section-body a:not([class]),.guide-body .guide-callout a:not([class]){color:var(--brown);text-decoration:underline;text-underline-offset:2px}
/* prose card stacks become ruled lists (the same rule as "What you can change") */
.tip-cards,.guide-option-cards,.guide-level-cards{display:block!important;border-top:1px solid var(--border);margin-top:18px}
.tip-card,.guide-option-card,.guide-level-card{background:none!important;border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;box-shadow:none!important;padding:18px 0!important;margin:0!important}
/* pictures never scroll sideways or overflow a phone */
.guide-body img{max-width:100%;height:auto}
.guide-example-img-wrap{overflow:visible!important;max-width:100%}
/* the "what to avoid" card was pink and red, outside the palette: it is a note like the others */
.resource-card.avoid{background:var(--linen)!important;border-color:var(--border)!important}
.resource-card.avoid .resource-label{color:var(--brown)!important}

/* ============================================================
   Sweep, 30 Oct 2026 (three reviews: facts, plain English, phone UX).
   One version of each component, so the inline copies stop mattering.
   ============================================================ */
/* type floor: no label under 13px, no reading text under 16px, captions 14px */
.qtype-pill,.level-label,.compare-section-label,.resource-label,.doe-card-header,.doe-scenario-label,.report-summary-label,.worked-q-label,.g-kicker{display:block;font:600 13px/1.4 var(--body)!important;letter-spacing:0!important;text-transform:none!important;color:var(--tan)!important;background:none!important;padding:0!important;border:0!important;border-radius:0!important;margin:0 0 6px!important}
.guide-body :is(.approach-callout,.guide-callout,.guide-tip-callout,.guide-info-callout,.insight-callout,.overlap-callout,.horizon-callout,.warn-callout,.disclaimer-note,.resource-card,.doe-card,.report-summary,.tip-card,.guide-prep-card,.guide-level-card,.guide-option-card,.compare-card) :is(p,li):not([class*="label"]):not([class*="header"]){font-size:16px!important;line-height:1.7!important}
.guide-img-caption,.guide-example-caption,.g-figs-note,.g-split figcaption{font:400 14px/1.5 var(--body)!important;font-style:normal!important;text-align:left!important;color:var(--text-secondary)!important;margin:10px 0 0!important}
/* table badges carry no meaning the palette allows: plain text */
.guide-body .badge{display:inline;font:500 15px/1.4 var(--body)!important;color:var(--ink)!important;background:none!important;padding:0!important;border-radius:0!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important}
/* the other box styles join the two callouts (note = linen, advice = sage) */
.resource-card:not(.recommended),.doe-card,.report-summary,.warn-callout{background:var(--linen)!important;border:0!important;border-left:4px solid var(--stone)!important;border-radius:0 12px 12px 0!important;padding:16px 20px!important;box-shadow:none!important}
.resource-card.recommended{background:var(--sage-pale)!important;border:0!important;border-left:4px solid var(--sage)!important;border-radius:0 12px 12px 0!important;padding:16px 20px!important}
.warn-item::before{background:var(--stone)!important}
/* key figures: one style (was a sand card, a bordered box and a 72px $0 inside a note) */
.g-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:18px 0 6px;border-block:1px solid var(--border)}
.g-figs>div{padding:16px 18px 16px 0}
.g-figs>div+div{border-left:1px solid var(--border);padding-left:18px}
.g-figs b{display:block;text-wrap:balance;font:800 36px/1.05 var(--display);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.g-figs span{display:block;font:400 15px/1.5 var(--body);color:var(--text-secondary);margin-top:6px;max-width:46ch}
.g-figs+p,.g-figs-note+p{margin-top:18px!important}
@media (max-width:520px){.g-figs{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.g-figs>div{padding:14px 12px 14px 0}.g-figs>div+div{padding-left:12px}.g-figs b{font-size:28px}}
/* tables: brown header over an ink rule, not a solid ink band; quiet rows */
.guide-body :is(.guide-table,.school-table,.report-table,.applicant-table){border-collapse:collapse;border:0!important;box-shadow:none!important;background:none!important}
.guide-body :is(.guide-table,.school-table,.report-table,.applicant-table) thead tr{background:none!important}
.guide-body :is(.guide-table,.school-table,.report-table,.applicant-table) thead th{background:none!important;color:var(--brown)!important;font:700 14px/1.35 var(--body)!important;letter-spacing:0!important;text-transform:none!important;border-bottom:2px solid var(--ink)!important;padding:10px 12px 10px 0!important}
.guide-body :is(.guide-table,.school-table,.report-table,.applicant-table) tbody tr{background:none!important}
.guide-body :is(.guide-table,.school-table,.report-table,.applicant-table) tbody td{border-bottom:1px solid var(--border)!important;padding:11px 12px 11px 0!important;font-size:15px!important;color:var(--ink)}
.guide-body :is(.guide-table-wrap,.school-table-wrap,.report-table-wrap){border:0!important;box-shadow:none!important;border-radius:0!important;background:none!important}
/* boxed card runs become ruled, numbered lists (same rule as "What you can change") */
.guide-prep-cards{display:block!important;counter-reset:pc;border-top:1px solid var(--border);margin-top:18px}
.guide-prep-card{counter-increment:pc;position:relative;background:none!important;border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;box-shadow:none!important;padding:20px 0 20px 56px!important;margin:0!important}
.guide-prep-card::before{content:counter(pc);position:absolute;left:0;top:16px;font:800 30px/1 var(--display);color:var(--tan);font-variant-numeric:tabular-nums}
.guide-prep-card h3{margin:0 0 6px!important;font:700 18px/1.35 var(--display)!important;color:var(--ink)!important}
@media (max-width:820px){.guide-prep-card{padding:18px 0!important}.guide-prep-card::before{position:static;display:block;font-size:26px;margin-bottom:6px}}
/* no double rule where a ruled list meets the section's own divider */
:is(.tip-card,.guide-prep-card,.guide-option-card,.guide-level-card):last-child{border-bottom:0!important}
/* bands of everyone who sat a test, drawn to scale; lower to higher, one hue in steps */
.gs-1{background:#EDE0C8}.gs-2{background:#C8B898}.gs-3{background:#A08458}.gs-4{background:#7A5A30}.gs-5{background:#5A4020}
.g-bands .gs-bar{height:26px}
.gs-axis{display:flex;justify-content:space-between;font:500 13px var(--body);color:var(--text-muted);margin-top:6px}
.gs-axis span:last-child::after{content:" →"}.gs-axis span:first-child::before{content:"← "}
.g-bands .gs-key{gap:10px}
.g-bands .gs-row,.g-bands .gs-row>span:last-child{grid-template-columns:14px 1fr!important;grid-column:auto!important}
.g-bands .gs-row strong{display:inline;margin-right:6px}
/* the contents bar sits under the nav, not 5px beneath it */
@media (max-width:820px){.g-toc-m{top:69px}}
/* charts never print or capture empty */
@media print{.wait .gb-bar,.wait .gs-bar i,.gb-row.wait .gb-bar,.g-split.wait .gs-bar i{transform:none!important}}

/* practice questions: try first, then see why (30 Oct 2026). The picture opens full size on a tap;
   without the script the options stay hidden and "Show the answer" still works. */
.g-question{margin:22px 0 26px;padding:18px 0 6px;border-block:1px solid var(--border)}
.gq-pic{display:block;margin:4px 0 6px;text-decoration:none!important}
.gq-pic img{display:block;width:100%;height:auto;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px;box-sizing:border-box}
.gq-tap{display:none;font:400 13px/1.4 var(--body);color:var(--text-muted);margin:0 0 8px}
.gq-stem,.gq-stim{font:400 16px/1.7 var(--body);color:var(--ink);margin:12px 0 0}
.gq-stem{font-weight:500}
.gq-stim+ul{margin:8px 0 0;padding-left:20px;font:400 16px/1.7 var(--body);color:var(--ink)}
.gq-opts{display:none;flex-wrap:wrap;gap:10px;margin:14px 0 2px}
.gq-on .gq-opts{display:flex}
.gq-opts button{min-width:56px;min-height:48px;padding:10px 16px;font:700 17px/1.2 var(--display);color:var(--ink);background:var(--warm-white);border:1.5px solid var(--border-card);border-radius:10px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}
.gq-opts.gq-text button{flex:1 1 100%;font:500 16px/1.35 var(--body)}
.gq-opts.gq-text button b{font-family:var(--display);margin-right:8px}
.gq-opts button:hover:not(:disabled){border-color:var(--tan)}
.gq-opts button:focus-visible{outline:3px solid var(--tan);outline-offset:2px}
.gq-opts button:disabled{cursor:default}
.gq-opts button.is-right{background:var(--sage-pale);border-color:#6E9A62;color:var(--ink)}
.gq-opts button.is-wrong{background:var(--linen);border-color:var(--stone);color:var(--text-secondary)}
.gq-result{font:700 16px/1.4 var(--display);margin:12px 0 0}
.gq-result:empty{display:none}
.gq-result.right{color:#2A5020}.gq-result.wrong{color:var(--brown)}
.gq-why{margin-top:10px}
.gq-why summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;font:700 15px var(--display);color:var(--brown)}
.gq-why summary::-webkit-details-marker{display:none}
.gq-why summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border:1.5px solid var(--tan);border-radius:50%;font:700 15px/1 var(--body);color:var(--tan)}
.gq-why[open] summary::before{content:"−"}
.gq-why>*:not(summary){font-size:16px!important;line-height:1.7!important;color:var(--text-secondary)}
.gq-why h4{font:700 15px var(--display);color:var(--ink);margin:14px 0 4px}
.gq-why ul{margin:4px 0 12px;padding-left:20px}
@media (max-width:820px){.gq-pic{margin-inline:calc(-1 * var(--guide-bleed))}.gq-pic img{border-radius:0;border-inline:0}.gq-tap{display:block}}

/* "Which offer would you get?": the order of the list decides (30 Oct 2026). Without the script the
   Department's three written cases show instead. */
.g-pick{margin:20px 0 24px;padding:18px 0 14px;border-block:1px solid var(--border)}
.gp-tool{display:none}.gq-on .gp-tool{display:block}.gq-on .gp-static{display:none}
.gp-ask{font:400 16px/1.6 var(--body);color:var(--ink);margin:4px 0 12px}
.gp-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.gp-list li{border-bottom:1px solid var(--border)}
.gp-list label{display:grid;grid-template-columns:28px 44px 1fr;align-items:center;gap:0 8px;min-height:52px;padding:6px 0;cursor:pointer}
.gp-list input{width:22px;height:22px;margin:0;accent-color:var(--brown)}
.gp-n{font:700 14px var(--display);color:var(--tan)}
.gp-s{font:600 17px/1.3 var(--body);color:var(--ink)}
.gp-tag{grid-column:3;font:500 14px/1.4 var(--body);color:var(--text-secondary)}
.gp-tag:empty{display:none}
.gp-list li.offer{background:var(--sage-pale)}
.gp-list li.offer .gp-tag{color:#2A5020;font-weight:700}
.gp-out{font:700 17px/1.45 var(--display);color:var(--ink);margin:14px 0 0}
.gp-static{margin:6px 0 0;padding-left:20px;font:400 16px/1.7 var(--body);color:var(--text-secondary)}
.gp-note{font:400 15px/1.6 var(--body);color:var(--text-secondary);margin:12px 0 0}
/* the 30 minutes as a bar: the axis reads as time, so no arrows */
.g-clock .gs-axis span::before,.g-clock .gs-axis span::after{content:none!important}
/* a short checklist as a ruled list */
.guide-body ul.g-ruled{list-style:none!important;padding:0!important;margin:12px 0 18px!important;border-top:1px solid var(--border)}
.guide-body ul.g-ruled>li{padding:10px 0 10px 26px!important;margin:0!important;border-bottom:1px solid var(--border);position:relative}
.guide-body ul.g-ruled>li::before{content:"";position:absolute;left:4px;top:19px;width:9px;height:9px;border-radius:2px;background:var(--stone)}
/* the example reports as one grid per set, oldest report first (was six boxed tables) */
.report-grid-wrap{overflow-x:auto;margin:18px 0 6px}
.report-grid{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.report-grid th,.report-grid td{text-align:left;vertical-align:top;padding:9px 8px 9px 0;border-bottom:1px solid var(--border)}
.report-grid thead th{font:700 14px/1.3 var(--body);color:var(--brown);border-bottom:2px solid var(--ink)}
.report-grid tbody th{font:600 15px/1.35 var(--body);color:var(--ink)}
.report-grid td b{display:block;font:800 18px/1.2 var(--display);color:var(--ink)}
.report-grid td span{display:block;font:400 13px/1.35 var(--body);color:var(--text-secondary)}
.report-grid td.low b{color:var(--brown);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.report-grid td.none span{color:var(--text-muted);font-style:italic}
.report-grid-key{font:400 14px/1.5 var(--body)!important;color:var(--text-secondary)!important;margin:6px 0 10px!important}
@media (max-width:520px){.report-grid{table-layout:fixed}.report-grid thead th:first-child{width:28%}.report-grid tbody th{font-size:13px}.report-grid thead th{font-size:13px}.report-grid th,.report-grid td{padding-right:5px}.report-grid td span{letter-spacing:-.01em}}
/* "what to do now": a short numbered answer at the top of a guide */
.g-steps{counter-reset:st;list-style:none!important;margin:16px 0 4px!important;padding:0!important;border-top:1px solid var(--border)}
.g-steps>li{counter-increment:st;position:relative;padding:12px 0 12px 40px!important;margin:0!important;border-bottom:1px solid var(--border);font:400 16px/1.6 var(--body);color:var(--text-secondary)}
.g-steps>li::before{content:counter(st);position:absolute;left:0;top:10px;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--parchment);font:700 14px/26px var(--display);text-align:center}
.g-steps b{color:var(--ink)}
.g-steps a{white-space:nowrap}
/* a timeline: a rule with a dot per step */
.g-time{list-style:none!important;margin:14px 0 18px!important;padding:0 0 0 22px!important;position:relative}
.g-time::before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:var(--border)}
.g-time>li{position:relative;padding:0 0 14px!important;margin:0!important}
.g-time>li::before{content:"";position:absolute;left:-22px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--parchment);border:2px solid var(--tan)}
.g-time b{display:block;font:700 15px/1.3 var(--display);color:var(--ink)}
.g-time span{display:block;font:400 15px/1.55 var(--body);color:var(--text-secondary)}
/* find a school or suburb in a long table (needs the script, so hidden without it) */
.g-filter{display:none;margin:14px 0 10px}.gq-on .g-filter{display:block}
.g-filter label{display:block;font:600 14px var(--body);color:var(--ink);margin-bottom:6px}
.g-filter input{width:100%;box-sizing:border-box;min-height:48px;padding:10px 14px;font:400 16px var(--body);color:var(--ink);background:var(--warm-white);border:1.5px solid var(--border-card);border-radius:10px}
.g-filter input:focus{outline:3px solid var(--tan);outline-offset:1px;border-color:var(--tan)}
.g-filter-count{font:500 14px var(--body)!important;color:var(--text-secondary)!important;margin:6px 0 0!important}
.g-filter-count:empty{display:none}
.oc-compare{table-layout:fixed;width:100%}.oc-compare thead th:first-child{width:34%}
.oc-compare tbody th{font:600 15px/1.35 var(--body);color:var(--ink);text-align:left;padding:11px 12px 11px 0;border-bottom:1px solid var(--border)}

/* Clean-up round, 30 Oct 2026 (John: "this looks very messy").
   A run of bold-start paragraphs is a numbered, ruled list: a number, a short heading, the point. */
.guide-body ol.g-points{counter-reset:gp;list-style:none!important;margin:16px 0 8px!important;padding:0!important;border-top:1px solid var(--border)}
.guide-body ol.g-points>li{counter-increment:gp;position:relative;padding:18px 0 18px 52px!important;margin:0!important;border-bottom:1px solid var(--border)}
.guide-body ol.g-points>li:last-child{border-bottom:0}
.guide-body ol.g-points>li::before{content:counter(gp);position:absolute;left:0;top:14px;font:800 28px/1 var(--display);color:var(--tan);font-variant-numeric:tabular-nums}
.g-points b{display:block;font:700 17px/1.4 var(--display);color:var(--ink);margin-bottom:4px}
.g-points span{display:block;font:400 16px/1.7 var(--body);color:var(--text-secondary)}
/* two options side by side, treated the same (was a boxed table with one dark column) */
.g-compare{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;margin:20px 0 22px;border-top:2px solid var(--ink)}
.gc-col{padding-top:16px}
.gc-col+.gc-col{border-left:1px solid var(--border);padding-left:36px}
.gc-col h3{margin:0 0 12px!important;font:800 20px/1.25 var(--display)!important;color:var(--ink)!important}
.gc-col .g-kicker{margin:14px 0 4px!important}
.gc-col>p:not(.g-kicker){font:400 16px/1.7 var(--body)!important;color:var(--text-secondary)!important;margin:0!important}
.gc-col ul.g-ruled{margin:6px 0 0!important}
@media (max-width:720px){.g-compare{grid-template-columns:1fr}.gc-col+.gc-col{border-left:0;padding-left:0;margin-top:22px;border-top:1px solid var(--border)}}
/* a sub-section with no box around it */
.g-block{margin:26px 0 8px}
.g-block>h3{margin:0 0 8px!important;font:800 20px/1.3 var(--display)!important;color:var(--ink)!important}
/* the timeline, with room to breathe */
.g-time{margin:18px 0 20px!important;padding-left:30px!important}
.g-time::before{left:7px!important;top:10px!important;bottom:14px!important;width:2px;background:var(--stone)!important}
.g-time>li{padding:0 0 18px!important}
.g-time>li::before{left:-30px!important;top:3px!important;width:16px!important;height:16px!important;background:var(--tan)!important;border:3px solid var(--parchment)!important;box-shadow:0 0 0 1.5px var(--tan)}
.g-time>li:last-child{padding-bottom:0!important}
.g-time b{font-size:16px!important;margin-bottom:2px}
.g-time span{font-size:16px!important;line-height:1.6!important}
/* report grids: one tile per grade, centred; shaded = below B; effort underneath, quiet */
.report-grid th:not(:first-child),.report-grid td{text-align:center!important;padding:10px 4px!important}
.report-grid thead th{font-size:13px!important;line-height:1.3!important;vertical-align:bottom}
.report-grid tbody th{vertical-align:middle!important;padding-right:6px!important}
.report-grid tbody tr{border-bottom:1px solid var(--border)}
.report-grid th,.report-grid td{border-bottom:0!important}
.report-grid td b{display:grid!important;place-items:center;width:38px;height:38px;margin:0 auto;border:1.5px solid var(--border-card);border-radius:9px;background:var(--warm-white);font:800 18px/1 var(--display)!important;color:var(--ink)!important;text-decoration:none!important}
.report-grid td.low b{background:var(--sand);border-color:var(--tan);color:var(--brown)!important}
.report-grid td span{margin-top:5px;font:400 13px/1.3 var(--body)!important;color:var(--text-muted)!important;letter-spacing:0!important}
.report-grid td.none span{font:400 20px/38px var(--body)!important;color:var(--stone)!important;font-style:normal!important;margin:0}
.guide-body ul.g-ruled>li{font:400 16px/1.65 var(--body)!important;color:var(--text-secondary)!important}
.guide-body ul.g-ruled>li::before{top:18px!important}
.report-grid td.none span{color:var(--text-muted)!important;font-size:22px!important}
