:root{
  --navy:#17365B;--navy-deep:#102943;--gold:#C79B3B;--gold-dark:#8a651f;
  --blue:#DEEAF1;--paper:#FCFCF8;--ink:#24303f;--muted:#596573;--line:#9eb1bd;
  --shadow:7px 7px 0 rgba(23,54,91,.12);--radius:4px;
  --display:Georgia,"Times New Roman",serif;
  --body:"Trebuchet MS","Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font:17px/1.68 var(--body)}
a{color:var(--navy);text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--gold-dark)}
img{display:block;max-width:100%;height:auto}
button,a{touch-action:manipulation}
:focus-visible{outline:4px solid var(--gold);outline-offset:3px}
.skip-link{position:absolute;left:1rem;top:-6rem;background:var(--gold);color:var(--navy-deep);padding:.7rem 1rem;z-index:100}
.skip-link:focus{top:1rem}
.evidence-strip{background:var(--navy-deep);color:#fff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.strip-inner,.mast-inner,.tabs-inner,.page,.footer-inner{width:min(1180px,calc(100% - 32px));margin:auto}
.strip-inner{display:flex;justify-content:space-between;gap:1rem;padding:.46rem 0}
.mast{background:var(--paper);border-bottom:1px solid var(--navy)}
.mast-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 0}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--navy)}
.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:2px solid var(--navy);border-radius:50%;background:var(--blue);font:700 1.15rem var(--display)}
.brand-copy{display:grid;line-height:1.05}
.brand-copy strong{font:700 1.05rem var(--display)}
.brand-copy span{margin-top:.25rem;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.head-call{display:flex;align-items:center;gap:.8rem;border:2px solid var(--navy);border-radius:var(--radius);padding:.55rem .72rem;text-decoration:none;box-shadow:3px 3px 0 rgba(23,54,91,.12)}
.head-call small{color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
.head-call strong{white-space:nowrap;color:var(--navy);font-size:1.08rem}
.tabs{background:var(--blue);border-bottom:2px solid var(--navy)}
.tabs-inner{display:flex;align-items:stretch}
.tabs a{padding:.75rem 1.15rem;text-decoration:none;border-right:1px solid var(--line);font-weight:700;font-size:.88rem}
.tabs a:first-child{border-left:1px solid var(--line)}
.tabs a[aria-current="page"]{background:var(--navy);color:#fff}
.menu-button{display:none;border:0;background:var(--navy);color:#fff;padding:.72rem 1rem;font-weight:800}
.page{padding:2.3rem 0 7rem}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--muted);font-size:.8rem;margin-bottom:1rem}
.breadcrumbs a{color:var(--muted)}
.hero-sheet{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(370px,.94fr);border:2px solid var(--navy);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-bottom:2.2rem;overflow:hidden}
.hero-copy{padding:clamp(1.5rem,4vw,3.5rem);background:
 repeating-linear-gradient(to bottom,transparent 0,transparent 34px,rgba(23,54,91,.075) 35px)}
.eyebrow{display:inline-flex;align-items:center;gap:.48rem;margin:0 0 .85rem;color:var(--navy);font-size:.74rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.tick{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;background:var(--gold);border:1px solid var(--navy);border-radius:50%;font-size:.75rem}
h1,h2,h3{font-family:var(--display);color:var(--navy);line-height:1.12}
h1{font-size:clamp(2.35rem,5.3vw,4.9rem);letter-spacing:-.035em;margin:.2rem 0 1.1rem;max-width:15ch}
h2{font-size:clamp(1.65rem,3vw,2.55rem);margin:0 0 1rem}
h3{font-size:1.22rem;margin:.1rem 0 .45rem}
.lead{font-size:1.14rem;max-width:66ch;margin:0 0 1.5rem}
.job-note{border-left:5px solid var(--gold);padding:.1rem 0 .1rem 1rem;margin:1.2rem 0;color:var(--navy);font-weight:700}
.gold-call{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:var(--gold);color:var(--navy-deep);border:2px solid var(--navy);border-radius:var(--radius);padding:.8rem 1.1rem;text-decoration:none;font-weight:900;box-shadow:4px 4px 0 var(--navy)}
.gold-call:hover{transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--navy);color:var(--navy-deep)}
.hero-score{display:flex;flex-direction:column;background:var(--blue);border-left:2px solid var(--navy);padding:1.2rem}
.score-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.55rem .65rem;background:var(--navy);color:#fff}
.score-head span{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}
.roof-figure{margin:.85rem 0;border:1px solid var(--navy);background:var(--paper)}
.roof-figure figcaption{border-top:1px solid var(--navy);padding:.5rem .7rem;color:var(--muted);font-size:.72rem}
.score-grid{display:grid;grid-template-columns:1fr 1.05fr 1fr;border:1px solid var(--navy);background:#fff}
.score-grid div{min-height:48px;padding:.55rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.75rem}
.score-grid div:nth-child(3n){border-right:0}
.score-grid div:nth-last-child(-n+3){border-bottom:0}
.score-grid strong{display:block;color:var(--navy);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}
.body-grid{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:2rem;align-items:start}
.report{min-width:0}
.report-section{position:relative;margin:0 0 1.55rem;padding:1.55rem 1.65rem;border:1px solid var(--navy);border-left-width:5px;border-radius:var(--radius);background:#fff;box-shadow:4px 4px 0 rgba(23,54,91,.1)}
.report-section:nth-child(even){background:linear-gradient(90deg,var(--blue),#fff 43%)}
.report-section p{margin:.8rem 0}
.report-section p:last-child{margin-bottom:0}
.section-no{position:absolute;right:1rem;top:.7rem;color:rgba(23,54,91,.25);font:700 1.3rem var(--display)}
.shortlist{position:sticky;top:1rem;border:2px solid var(--navy);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}
.shortlist-head{background:var(--navy);color:#fff;padding:1rem}
.shortlist-head h2{color:#fff;font-size:1.4rem;margin:0}
.shortlist-body{padding:1rem}
.shortlist ol{padding-left:1.45rem;margin:.7rem 0}
.shortlist li{margin:.65rem 0}
.shortlist-links{display:grid;border-top:1px solid var(--navy);margin-top:1rem}
.shortlist-links a{padding:.65rem 0;border-bottom:1px dotted var(--line)}
.safe-note{font-size:.8rem;color:var(--muted);padding:.75rem;background:var(--blue);border-left:4px solid var(--gold)}
.related{margin:2rem 0;border-top:2px solid var(--navy);padding-top:1.2rem}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}
.related a{display:block;border:1px solid var(--navy);border-radius:var(--radius);padding:1rem;background:var(--blue);text-decoration:none;font-weight:800}
.call-sheet{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;margin-top:2.2rem;padding:1.6rem;border:2px solid var(--navy);border-radius:var(--radius);background:var(--blue);box-shadow:var(--shadow)}
.call-sheet h2{margin:0 0 .6rem}
.call-sheet p{margin:.45rem 0;max-width:72ch}
.disclosure{font-size:.86rem;color:var(--muted)}
.footer{background:var(--navy-deep);color:#fff;border-top:6px solid var(--gold)}
.footer-inner{padding:2rem 0 5.5rem;display:grid;grid-template-columns:1.2fr 1fr;gap:2rem}
.footer a{color:#fff}
.footer-links{display:flex;flex-wrap:wrap;align-content:start;gap:.6rem 1rem}
.footer p{margin:.5rem 0;color:#dce6ed;font-size:.84rem}
.mobile-call{display:none;position:fixed;z-index:50;left:12px;right:12px;bottom:10px;background:var(--gold);border:2px solid var(--navy);color:var(--navy-deep);text-decoration:none;font-weight:900;text-align:center;padding:.7rem;border-radius:var(--radius);box-shadow:4px 4px 0 var(--navy)}
.not-found{min-height:65vh;display:grid;place-items:center;text-align:center}
.not-found .hero-copy{border:2px solid var(--navy);box-shadow:var(--shadow);max-width:750px}
@media(max-width:840px){
  .strip-inner{display:block}.strip-inner span:last-child{display:none}
  .mast-inner{align-items:flex-start}.head-call small{display:none}
  .tabs-inner{display:block;width:min(1180px,100%);margin:0}
  .menu-button{display:block;width:100%;text-align:left}
  .tab-links{display:none}.tab-links.open{display:grid}
  .tabs a{display:block;border:0;border-top:1px solid var(--line)}
  .hero-sheet{grid-template-columns:1fr}.hero-score{border-left:0;border-top:2px solid var(--navy)}
  .body-grid{grid-template-columns:1fr}.shortlist{position:static}
  .footer-inner{grid-template-columns:1fr}
  .mobile-call{display:block}
}
@media(max-width:560px){
  body{font-size:16px}.mast-inner{padding:.7rem 0}.brand-mark{width:38px;height:38px}
  .brand-copy strong{font-size:.88rem}.brand-copy span{display:none}
  .head-call{padding:.45rem .55rem}.head-call strong{font-size:.91rem}
  .page{padding-top:1.3rem}.hero-copy{padding:1.25rem}.hero-score{padding:.85rem}
  h1{font-size:2.45rem}.score-grid{grid-template-columns:1fr}
  .score-grid div{border-right:0}.score-grid div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
  .score-grid div:last-child{border-bottom:0}
  .report-section{padding:1.25rem 1rem}.section-no{font-size:1rem}
  .related-grid{grid-template-columns:1fr}.call-sheet{grid-template-columns:1fr}
  .gold-call{width:100%}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}
  .gold-call:hover{transform:none}
}
