/* ═══ RESET & VARIABLES ═══ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden;-webkit-overflow-scrolling:touch}
:root{
  --ink:#1a1a1a;--ink2:#444;--ink3:#666;--ink5:#767676;
  --paper:#fcfbf9;--paper2:#f5f3f0;--paper3:#edeae5;
  --white:#fff;--rule:#e0ddd8;--rule2:#eae7e3;
  --navy:#000666;--navy-deep:#0c1045;
  --feat-bg:#f0eeeb;
  --red:#C8102E;--red2:#a00d24;
  --serif:'Source Serif 4',Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,'Helvetica Neue','Segoe UI',Roboto,sans-serif;
  --mono:'DM Mono','Courier New',monospace;
  --mw:1200px;--fs:1rem;
}
body.fs-lg{--fs:1.125rem}body.fs-xl{--fs:1.25rem}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit}img{display:block;max-width:100%}
.mw{max-width:var(--mw);margin:0 auto;padding:0 1.5rem}

/* ═══ TOP BAR ═══ */
.tb{background:var(--ink);padding:5px 0}
.tb-i{display:flex;justify-content:space-between;align-items:center;font-size:.6875rem;color:rgba(255,255,255,.45)}
.tb-i a{color:rgba(255,255,255,.65);margin-left:1rem;transition:color .15s}.tb-i a:hover{color:#fff}

/* ═══ HEADER ═══ */
header{background:var(--white);border-bottom:3px solid var(--ink);position:sticky;top:0;z-index:100;box-shadow:0 1px 8px rgba(0,0,0,.04);transition:transform .25s ease}
header.hdr-hide{transform:translateY(-100%)}
.hdr{height:56px;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'Playfair Display',Georgia,serif;font-weight:900;font-size:1.2rem;color:var(--ink);letter-spacing:-.02em;white-space:nowrap}
.logo-the{font-size:.5em;font-weight:400;letter-spacing:.05em;opacity:.5;margin-right:.15em}
.nav{display:flex;gap:0;align-items:center;overflow-x:auto;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}
.nl{font-size:.8125rem;font-weight:600;color:var(--ink2);padding:0 .625rem;height:56px;display:flex;align-items:center;white-space:nowrap;transition:color .12s}.nl:hover{color:var(--navy)}.nl.red{color:var(--red)}
.hr{display:flex;align-items:center;gap:6px;flex-shrink:0}
.fs-tog{display:flex;align-items:center;gap:2px}
.fs-b{font-family:var(--serif);font-weight:700;color:var(--ink3);padding:3px 5px;border-radius:3px;line-height:1;transition:color .12s,background .12s}
.fs-b:hover{color:var(--ink);background:var(--paper2)}.fs-b.on{color:var(--navy);background:var(--feat-bg)}
.fs-s{font-size:.75rem}.fs-m{font-size:.9375rem}.fs-l{font-size:1.125rem}
.dm{width:32px;height:18px;background:var(--rule);border-radius:9px;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0}
.dm::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--white);border-radius:50%;transition:transform .2s}
.btn-s{background:var(--navy);color:#fff;font-size:.6875rem;font-weight:700;letter-spacing:.5px;padding:7px 16px;border-radius:4px;transition:background .15s}.btn-s:hover{background:var(--navy-deep)}

/* Hamburger */
.ham{display:none;width:36px;height:36px;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.ham-line{width:20px;height:2px;background:var(--ink);position:relative;transition:background .2s}
.ham-line::before,.ham-line::after{content:'';position:absolute;width:20px;height:2px;background:var(--ink);left:0;transition:transform .2s}
.ham-line::before{top:-6px}.ham-line::after{top:6px}
.ham.open .ham-line{background:transparent}.ham.open .ham-line::before{transform:rotate(45deg) translate(4px,4px)}.ham.open .ham-line::after{transform:rotate(-45deg) translate(4px,-4px)}

/* Mobile menu */
.mob-menu{position:fixed;inset:0;top:56px;background:var(--white);z-index:99;display:none;flex-direction:column;padding:2rem 1.5rem;overflow-y:auto}
.mob-menu.open{display:flex}
.mob-menu a{font-family:var(--serif);font-weight:700;font-size:1.125rem;color:var(--ink);padding:.75rem 0;border-bottom:1px solid var(--rule2);display:block}.mob-menu a:hover{color:var(--navy)}.mob-menu a.red{color:var(--red)}
.mob-menu .mob-sub{display:block;margin-top:1rem;background:var(--navy);color:#fff;text-align:center;font-size:.875rem;font-weight:700;padding:.75rem;border-radius:4px}

/* Progress bar */
.prog{position:fixed;top:0;left:0;height:3px;background:var(--red);z-index:200;width:0;transition:width .08s linear}

/* Share rail */
.share-rail{position:fixed;left:max(calc((100vw - 960px)/2 - 56px),12px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:50}
.sr-btn{width:36px;height:36px;border-radius:50%;background:var(--white);border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,border-color .12s}
.sr-btn:hover{background:var(--navy);border-color:var(--navy)}.sr-btn:hover svg{color:#fff}
.sr-btn svg{width:16px;height:16px;color:var(--ink3);transition:color .12s}

/* Footer */
footer{background:var(--ink);color:rgba(255,255,255,.55);padding:2rem 0 1.25rem}
.ft-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;max-width:960px;margin:0 auto;padding:0 1.5rem}
.ft-col a{display:block;font-size:.75rem;color:rgba(255,255,255,.55);padding:2px 0;transition:color .15s}.ft-col a:hover{color:#fff}
.ft-head{font-size:.625rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:.5rem}
.fb{font-family:'Playfair Display',Georgia,serif;font-weight:900;font-size:1rem;color:#fff;margin-bottom:2px}
.ftg{font-family:var(--serif);font-size:.75rem;font-style:italic;color:rgba(255,255,255,.3);line-height:1.4}
.fc{font-size:.625rem;color:rgba(255,255,255,.35);text-align:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06);max-width:960px;margin-left:auto;margin-right:auto}

/* Focus */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-radius:2px}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.big-num .num{opacity:1;transform:none}.pull{opacity:1;transform:none}.chart-fill{width:auto!important;min-width:30px}}

/* Print */
@media print{header,.tb,.prog,.share-rail,.sidebar,.closer,.art-nl,.rec,.mr-sec,.back-bar,footer,.ham,.share-btn,.print-btn,.tag-row,.meta-right,.tl-strip,.read-next{display:none!important}body{font-size:11pt;color:#000;background:#fff}.art-layout{grid-template-columns:1fr;max-width:100%}.art-head,.hero{max-width:100%}a{text-decoration:underline}.contra{background:#000}.contra p{color:#fff}}

/* ═══ RESPONSIVE ═══ */
@media(max-width:1100px){.share-rail{display:none}}
@media(max-width:960px){
  .art-layout{grid-template-columns:1fr}
  .sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
  .sb-sec:first-child{display:none}
  .rec-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .nav,.tb{display:none}.ham{display:flex}
  .rec-grid{grid-template-columns:1fr 1fr;gap:.75rem}
  .rec-card{display:block}
  .rec-card .ph{aspect-ratio:16/10;margin-bottom:.375rem}
  .rec-card .rec-ey{margin-top:0}
  .sidebar{grid-template-columns:1fr}
  .mr-grid{max-width:100%}.mr-item .mr-ph{width:64px;height:44px}.mr-item{grid-template-columns:24px 64px 1fr}
  .ft-grid{grid-template-columns:1fr 1fr;gap:1.25rem}.ft-col:first-child{grid-column:1/-1;text-align:center;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.06)}
  .art-h1{font-size:1.7em}
  .hero-img{aspect-ratio:3/2;margin-left:-1.5rem;margin-right:-1.5rem;width:calc(100% + 3rem);border-radius:0}
  .chart-dept{width:70px;font-size:.625rem}
  .vs-head,.vs-row{grid-template-columns:1fr}.vs-head-m,.vs-mid{display:none}
  .vs-cell.promise{border-bottom:1px solid var(--rule)}
  .vs-cell.reality::before{content:'→ Then:';display:block;font-family:var(--mono);font-size:.5rem;letter-spacing:1px;text-transform:uppercase;color:var(--red);margin-bottom:.25rem;font-weight:700}
  .tl-dt{font-size:.4375rem}.tl-strip{overflow-x:auto}.big-num .num{font-size:2.5em}
  .art-body p{line-height:1.7}
  .tag-row .tag:nth-child(n+3){display:none}
  .bread{display:none}
  .logo{font-size:1.05rem}
}
@media(max-width:480px){.art-body p{font-size:1em}}

/* ═══ SEARCH ═══ */
.search-tog{cursor:pointer;display:flex;align-items:center;color:var(--ink3);transition:color .15s;flex-shrink:0}
.search-tog:hover{color:var(--ink)}
html.dark .search-tog{color:#888}html.dark .search-tog:hover{color:#fff}
.nw-search{display:none;position:fixed;top:0;left:0;right:0;z-index:9999;background:rgba(0,0,0,.6);padding:0;height:100vh}
.nw-search.open{display:flex;align-items:flex-start;justify-content:center;padding-top:120px}
.nw-search-inner{background:var(--paper);padding:1.5rem;border-radius:4px;width:90%;max-width:560px;display:flex;gap:1rem;align-items:center;box-shadow:0 8px 32px rgba(0,0,0,.2)}
html.dark .nw-search-inner{background:#1a1a1a}
.nw-search-inner input{flex:1;font-family:var(--serif);font-size:1.125rem;padding:.75rem 1rem;border:1.5px solid var(--rule);border-radius:3px;background:transparent;color:var(--ink);outline:none}
.nw-search-inner input:focus{border-color:var(--navy)}
html.dark .nw-search-inner input{border-color:#333;color:#eee}
.nw-search-close{font-size:1.5rem;cursor:pointer;color:var(--ink3);line-height:1;padding:.25rem}
.nw-search-close:hover{color:var(--ink)}

/* ═══ PAGE CONTENT (Privacy, Terms, etc.) ═══ */
.page-content h2{font-family:var(--serif);font-weight:800;font-size:1.25em;color:var(--ink);margin:2rem 0 .75rem;padding-top:.5rem;border-top:1px solid var(--rule)}
.page-content h2:first-child{border-top:none;margin-top:0;padding-top:0}
.page-content h3{font-family:var(--serif);font-weight:700;font-size:1.0625em;color:var(--ink);margin:1.25rem 0 .5rem}
.page-content p{margin-bottom:1rem}
.page-content ul,.page-content ol{margin:0 0 1rem 1.5rem}
.page-content li{margin-bottom:.375rem}
.page-content a{color:var(--navy);text-decoration:underline}
.page-content strong{color:var(--ink);font-weight:700}

/* ═══ AUDIT FIXES ═══ */

/* Button resets for elements changed from div to button */
button.dm,button.ham,button.search-tog,button.nw-search-close{border:none;background:none;padding:0;margin:0;font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}

/* Skip navigation link */
.skip-link{position:absolute;top:-100%;left:1rem;background:var(--navy);color:#fff;padding:.5rem 1rem;font-family:var(--sans);font-size:.875rem;font-weight:600;z-index:9999;border-radius:0 0 4px 4px;transition:top .15s}
.skip-link:focus{top:0}

/* Lead h1 — match existing h2 styling */
.lead-h1{font-family:var(--serif);font-weight:800;font-size:clamp(1.25em,2vw,1.5em);line-height:1.18;color:var(--ink);margin-bottom:.375rem;letter-spacing:-.015em;transition:color .15s}

