/* Sunlit League — Leovegas Today
   Palette: warm cream surfaces, blue ink, amber emphasis.
   Typography: Poppins display + Inter body, Noto Sans Devanagari fallback.
*/

:root{
  --primary:#176A9E;
  --primary-ink:#114E76;
  --accent:#D17A00;
  --accent-soft:#FFE3B3;
  --background:#FFFBEF;
  --surface:#FFFFFF;
  --surface-2:#FFF0C8;
  --surface-3:#FCE9B8;
  --text:#1D2A36;
  --muted:#5E6871;
  --border:#ECD9A7;
  --border-strong:#D5BD7D;
  --shadow:rgba(29,42,54,0.12);
  --shadow-soft:rgba(209,122,0,0.10);
  --radius-sm:6px;
  --radius:14px;
  --radius-lg:22px;
  --radius-pill:999px;
  --container:1180px;
  --container-wide:1320px;
  --gutter:clamp(1rem, 3vw, 2rem);
  --section-y:clamp(3.5rem, 7vw, 6rem);
  --display:'Poppins', 'Noto Sans Devanagari', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --body:'Inter', 'Noto Sans Devanagari', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--body);
  font-size:17px;
  line-height:1.7;
  color:var(--text);
  background:var(--background);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none;transition:color .18s ease}
a:hover{color:var(--accent)}
h1,h2,h3,h4,h5{font-family:var(--display);color:var(--text);margin:0 0 .55em;line-height:1.18;letter-spacing:-0.01em;font-weight:700}
h1{font-size:clamp(2.2rem, 4.4vw, 3.6rem);line-height:1.08;letter-spacing:-0.02em}
h2{font-size:clamp(1.6rem, 3vw, 2.4rem)}
h3{font-size:clamp(1.25rem, 2vw, 1.55rem)}
h4{font-size:1.1rem}
p{margin:0 0 1em}
hr{border:none;border-top:1px solid var(--border);margin:2.4rem 0}
blockquote{margin:0;padding:1.1rem 1.3rem;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:var(--radius-sm);color:var(--text);font-style:italic}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section-y) 0}
.section-tight{padding:clamp(2rem, 4vw, 3.5rem) 0}

/* --- Band surfaces --- */
.band-paper{background:var(--background)}
.band-surface{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.band-warm{background:var(--surface-2)}
.band-ink{background:var(--text);color:#F2EEE0}
.band-ink h1,.band-ink h2,.band-ink h3,.band-ink p{color:#F2EEE0}

/* --- Eyebrow restraint: max 1 per 3 sections --- */
.eyebrow{display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:.9rem;font-family:var(--display)}

/* --- Topbar --- */
.topbar{background:var(--primary);color:#F5EFE0;font-size:13px;padding:.45rem 0}
.topbar a{color:#FFE3B3}
.topbar .row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.topbar .tag{display:inline-flex;gap:.45rem;align-items:center}
.topbar .tag::before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%;display:inline-block}

/* --- Header --- */
.site-header{background:var(--background);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:120}
.site-header .row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0}
.brand{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--display);font-weight:700;color:var(--text);font-size:1.1rem;letter-spacing:-0.01em}
.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--primary);color:#F5EFE0;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}
.brand-mark::after{content:"L";font-family:var(--display)}
.brand small{display:block;font-size:11px;font-weight:500;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-top:1px}
.main-nav{display:none;align-items:center;gap:.25rem}
.main-nav a{padding:.55rem .8rem;border-radius:var(--radius-pill);color:var(--text);font-weight:500;font-size:15px;white-space:nowrap}
.main-nav a:hover,.main-nav a.is-active{background:var(--surface-2);color:var(--accent)}
.header-cta{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:#FFF8E5;font-weight:600;padding:.6rem 1.05rem;border-radius:var(--radius-pill);font-size:15px;white-space:nowrap;letter-spacing:.01em}
.header-cta:hover{background:var(--primary);color:#FFF}
.header-cta-ghost{display:inline-flex;align-items:center;background:transparent;color:var(--primary);border:1px solid var(--primary);padding:.55rem 1rem;border-radius:var(--radius-pill);font-weight:600;font-size:15px;white-space:nowrap}
.hamburger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;align-items:center;position:relative;z-index:140}
.hamburger span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(min-width:980px){
  .main-nav{display:flex}
  .hamburger{display:none}
}

/* --- Mobile drawer --- */
.mobile-drawer{position:fixed;inset:0 0 0 auto;width:min(360px,86vw);background:var(--background);border-left:1px solid var(--border);box-shadow:-12px 0 30px var(--shadow);transform:translateX(100%);transition:transform .28s ease;z-index:130;overflow-y:auto;padding:1.4rem 1.3rem 2rem}
.mobile-drawer[data-open="true"]{transform:translateX(0)}
.mobile-drawer nav{display:flex;flex-direction:column;gap:.25rem;margin-top:1rem}
.mobile-drawer nav a{padding:.85rem 1rem;border-radius:var(--radius-sm);color:var(--text);font-weight:500;font-size:16px;border:1px solid transparent}
.mobile-drawer nav a:hover{background:var(--surface-2);border-color:var(--border)}
.mobile-drawer .mcta{margin-top:1.2rem;display:flex;flex-direction:column;gap:.6rem}
.mobile-drawer .mcta a{display:block;text-align:center;padding:.85rem 1rem;border-radius:var(--radius-pill);font-weight:600}
.scrim{position:fixed;inset:0;background:rgba(29,42,54,0.45);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:125}
.scrim[data-open="true"]{opacity:1;pointer-events:auto}

/* --- Hero --- */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg, var(--background) 0%, var(--surface-2) 100%);padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(3rem,6vw,5rem)}
.hero .grid{display:grid;grid-template-columns:1fr;gap:1.8rem;align-items:center}
@media(min-width:980px){.hero .grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:3rem}}
.hero h1{margin-bottom:.6em}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-lede{font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.55;color:var(--text);max-width:55ch;margin-bottom:1.6rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1.4rem}
.hero-trust{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;font-size:13px;color:var(--muted);align-items:center}
.hero-trust li{display:inline-flex;align-items:center;gap:.45rem}
.hero-trust li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
.hero-art{position:relative;aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:var(--surface);box-shadow:0 24px 50px -22px var(--shadow)}
.hero-art img{width:100%;height:100%;object-fit:cover}
.hero-art .badge{position:absolute;left:1.1rem;bottom:1.1rem;background:var(--surface);border:1px solid var(--border);padding:.55rem .85rem;border-radius:var(--radius-pill);font-size:13px;font-weight:600;display:inline-flex;gap:.5rem;align-items:center;color:var(--text);box-shadow:0 8px 20px -10px var(--shadow)}
.hero-art .badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}

/* --- Buttons --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.4rem;border-radius:var(--radius-pill);font-weight:600;font-family:var(--display);font-size:15px;letter-spacing:.005em;border:1px solid transparent;cursor:pointer;white-space:nowrap;line-height:1;text-align:center;transition:background .18s ease,transform .18s ease,color .18s ease,border-color .18s ease}
.btn-primary{background:var(--accent);color:#FFF8E5;border-color:var(--accent)}
.btn-primary:hover{background:var(--primary);border-color:var(--primary);color:#FFF;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--primary);border-color:var(--primary)}
.btn-ghost:hover{background:var(--primary);color:#FFF}
.btn-dark{background:var(--text);color:#F5EFE0;border-color:var(--text)}
.btn-dark:hover{background:var(--primary);border-color:var(--primary);color:#FFF}
.btn-block{width:100%}

/* --- Editorial cards --- */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;box-shadow:0 8px 24px -18px var(--shadow);position:relative}
.card-tactile{background:linear-gradient(180deg, var(--surface) 0%, #FFFCF1 100%);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem;position:relative}
.card-tactile::before{content:"";position:absolute;left:1.3rem;top:0;bottom:0;width:3px;background:var(--accent);border-radius:3px;opacity:.85}
.card-grid{display:grid;gap:1.1rem}
@media(min-width:680px){.card-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:980px){.card-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1180px){.card-grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card h3{margin-top:0}
.card p:last-child{margin-bottom:0}
.card .meta{font-size:12px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem;display:flex;gap:.4rem;align-items:center}
.card .meta::before{content:"";width:14px;height:1px;background:var(--accent);display:inline-block}

/* --- Stat tiles --- */
.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem}
.stat-tile .num{font-family:var(--display);font-size:clamp(2rem,3vw,2.6rem);color:var(--primary);font-weight:700;line-height:1;letter-spacing:-0.02em}
.stat-tile .label{font-size:13px;color:var(--muted);margin-top:.4rem;letter-spacing:.04em}

/* --- Story rail (key takeaways band) --- */
.rail{padding:var(--section-y) 0;background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.rail-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:680px){.rail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:980px){.rail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.rail-card{background:var(--surface-2);border-radius:var(--radius);padding:1.25rem;border:1px solid var(--border);position:relative}
.rail-card .num{font-family:var(--display);font-size:1.4rem;color:var(--primary);font-weight:700;letter-spacing:-.02em;margin-bottom:.3rem}
.rail-card h3{font-size:1.05rem;margin-bottom:.4rem}

/* --- Data poster (signature device) --- */
.data-poster{background:var(--text);color:#F2EEE0;border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.4rem);position:relative;overflow:hidden}
.data-poster h2,.data-poster h3,.data-poster p{color:#F2EEE0}
.data-poster .num-row{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.5rem}
@media(min-width:680px){.data-poster .num-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
.data-poster .num-row .n{font-family:var(--display);font-size:clamp(1.6rem,3vw,2.4rem);color:var(--accent);font-weight:700;line-height:1}
.data-poster .num-row .l{font-size:12px;color:#C8BFA8;letter-spacing:.12em;text-transform:uppercase;margin-top:.4rem}
.data-poster .caption{position:absolute;top:1rem;right:1.2rem;font-size:11px;color:#C8BFA8;letter-spacing:.18em;text-transform:uppercase;font-family:var(--display)}
.data-poster .stripe{position:absolute;left:0;right:0;bottom:0;height:6px;background:repeating-linear-gradient(90deg,var(--accent) 0 12px,transparent 12px 24px)}

/* --- Alternating analysis (zig-zag) --- */
.split{display:grid;grid-template-columns:1fr;gap:1.6rem;align-items:center;padding:2.6rem 0;border-top:1px dashed var(--border)}
.split:first-of-type{border-top:none}
@media(min-width:900px){.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.4rem;padding:3.6rem 0}}
.split.reverse .img-col{order:-1}
@media(min-width:900px){.split.reverse .img-col{order:0}}
.split .img-col{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--surface)}
.split .img-col img{width:100%;height:100%;object-fit:cover}

/* --- Comparison ledger (table) --- */
.ledger{width:100%;border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;font-size:15px}
.ledger th,.ledger td{padding:.95rem 1rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
.ledger th{background:var(--surface-2);font-family:var(--display);font-weight:600;color:var(--text);font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.ledger tr:last-child td{border-bottom:none}
.ledger tr:hover td{background:var(--surface-2)}
.ledger .check{color:var(--accent);font-weight:700}
.ledger-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 1rem}
@media(min-width:780px){.ledger-wrap{margin:0;padding:0}}

/* --- Expert voices / Quote --- */
.quote-band{background:var(--surface-2);padding:var(--section-y) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.quote{padding:1.6rem;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border)}
.quote p{font-family:var(--display);font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.45;color:var(--text);margin:0 0 1rem;letter-spacing:-0.005em}
.quote .who{font-size:13px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:.5rem}
.quote .who::before{content:"";width:18px;height:1px;background:var(--accent)}

/* --- Toolkit shelf --- */
.toolkit-grid{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media(min-width:680px){.toolkit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1080px){.toolkit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem;display:flex;flex-direction:column;gap:.7rem}
.tool-card .icon{width:44px;height:44px;border-radius:12px;background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center;color:var(--primary);font-family:var(--display);font-weight:700;font-size:1.2rem;border:1px solid var(--border)}
.tool-card h3{margin:0;font-size:1.1rem}
.tool-card p{margin:0;color:var(--muted);font-size:15px}
.tool-card a.arrow{margin-top:auto;color:var(--primary);font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:.35rem}
.tool-card a.arrow::after{content:"\2192";transition:transform .18s ease}
.tool-card:hover a.arrow::after{transform:translateX(3px)}

/* --- Fresh reporting / news cards --- */
.news-grid{display:grid;gap:1.2rem;grid-template-columns:1fr}
@media(min-width:720px){.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1080px){.news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.news-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.news-card .pic{aspect-ratio:16/10;background:var(--surface-2);overflow:hidden}
.news-card .pic img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.news-card:hover .pic img{transform:scale(1.04)}
.news-card .body{padding:1.2rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.news-card h3{font-size:1.1rem;margin:0}
.news-card .date{font-size:12px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}
.news-card p{font-size:14px;color:var(--muted);margin:0}
.news-card .read{margin-top:auto;color:var(--primary);font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:.35rem;padding-top:.6rem}
.news-card .read::after{content:"\2192"}

/* --- Standards / proof strip --- */
.standards{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media(min-width:680px){.standards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1080px){.standards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.standard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;display:flex;flex-direction:column;gap:.4rem}
.standard .label{font-size:11px;color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-weight:600;font-family:var(--display)}
.standard h4{margin:0;font-size:1rem;font-family:var(--display)}
.standard p{margin:0;font-size:14px;color:var(--muted)}

/* --- FAQ accordion --- */
.faq-list{display:flex;flex-direction:column;gap:.6rem}
.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.faq-item summary{padding:1.1rem 1.3rem;cursor:pointer;font-weight:600;font-family:var(--display);font-size:1.05rem;color:var(--text);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:1.5rem;color:var(--accent);font-weight:400;line-height:1;transition:transform .2s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .faq-body{padding:0 1.3rem 1.2rem;color:var(--muted);line-height:1.7;font-size:15.5px}

/* --- Final CTA band --- */
.final-cta{background:var(--primary);color:#F2EEE0;padding:var(--section-y) 0;position:relative;overflow:hidden}
.final-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 300px at 80% 20%, rgba(209,122,0,0.35), transparent);pointer-events:none}
.final-cta h2,.final-cta p{color:#F2EEE0;position:relative}
.final-cta .ctas{display:flex;flex-wrap:wrap;gap:.7rem;position:relative;margin-top:1.4rem}
.final-cta .btn-primary{background:var(--accent);color:#FFF8E5}
.final-cta .btn-primary:hover{background:#FFF;color:var(--primary)}

/* --- Footer --- */
.site-footer{background:var(--text);color:#D9D2BD;padding:3.5rem 0 2rem;font-size:14.5px}
.site-footer a{color:#F2EEE0}
.site-footer a:hover{color:var(--accent)}
.footer-grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:680px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:980px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.footer-grid h4{color:#FFF;font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem;font-family:var(--display)}
.footer-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
.footer-bottom{margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,0.12);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;font-size:13px;color:#A99F87}
.footer-brand{display:flex;gap:.6rem;align-items:center;color:#FFF;font-family:var(--display);font-weight:700;font-size:1.1rem;margin-bottom:.6rem}
.footer-brand .brand-mark{width:32px;height:32px;font-size:.95rem}
.footer-meta{font-size:12.5px;color:#A99F87;line-height:1.6;max-width:34ch}

/* --- Sticky mobile CTA --- */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:115;background:rgba(255,251,239,0.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:.7rem var(--gutter);display:flex;gap:.7rem;align-items:center;justify-content:space-between;transform:translateY(110%);transition:transform .25s ease}
.sticky-cta[data-visible="true"]{transform:translateY(0)}
.sticky-cta .text{font-size:12.5px;color:var(--muted);line-height:1.3;max-width:55%}
.sticky-cta .text strong{display:block;color:var(--text);font-family:var(--display);font-size:14px;margin-bottom:1px}
.sticky-cta .btn{padding:.8rem 1.4rem;font-size:14px;flex:1 1 auto;max-width:none;justify-content:center}
@media(min-width:980px){.sticky-cta{display:none}}

/* --- Generic helpers --- */
.kicker{font-family:var(--display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:600}
.muted{color:var(--muted)}
.text-center{text-align:center}
.flex{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.divider-rule{height:1px;background:var(--border);margin:2rem 0}
.skip-link{position:absolute;left:-9999px;top:.5rem;background:var(--text);color:#FFF;padding:.5rem 1rem;border-radius:6px;z-index:200}
.skip-link:focus{left:.5rem}

/* --- Section index (sticky section index) --- */
.section-index{display:flex;flex-wrap:wrap;gap:.5rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:2rem;overflow:hidden}
.section-index a{padding:.45rem .85rem;border-radius:var(--radius-pill);font-size:14px;color:var(--text);background:var(--background);border:1px solid var(--border);white-space:normal;line-height:1.3;word-break:normal;overflow-wrap:break-word}
.section-index a:hover{background:var(--surface-2);color:var(--accent);border-color:var(--accent)}

/* --- Hub hero (compact) --- */
.hub-hero{padding:clamp(2rem,5vw,3.5rem) 0 clamp(1.5rem,3vw,2.5rem);background:linear-gradient(180deg,var(--background) 0%,var(--surface-2) 100%);border-bottom:1px solid var(--border)}
.hub-hero .container{display:grid;gap:1.5rem;grid-template-columns:1fr;align-items:end;min-width:0}
.hub-hero .container > *{min-width:0}
@media(min-width:900px){.hub-hero .container{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
.hub-hero .breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:.6rem}
.hub-hero .breadcrumbs a{color:var(--muted)}
.hub-hero .breadcrumbs a:hover{color:var(--accent)}
.hub-hero p.lede{font-size:1.1rem;color:var(--text);max-width:60ch;margin-bottom:1.4rem}
.hub-hero .meta-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.hub-hero .meta-row .chip{background:var(--surface);border:1px solid var(--border);padding:.4rem .85rem;border-radius:var(--radius-pill);font-size:13px;color:var(--muted)}

/* --- Article / long-form --- */
.article-body{max-width:760px;margin:0 auto;font-size:17.5px;line-height:1.75;min-width:0;width:100%}
.with-side > article{min-width:0}
.article-body h2{margin-top:2.2em;font-size:1.7rem}
.article-body h3{margin-top:1.6em;font-size:1.25rem;color:var(--primary-ink)}
.article-body p{margin-bottom:1.05em}
.article-body ul,.article-body ol{margin:0 0 1.05em 1.3rem;padding:0}
.article-body li{margin-bottom:.45em}
.article-body figure{margin:2rem 0}
.article-body figure img{border-radius:var(--radius);border:1px solid var(--border)}
.article-body figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:.6rem;font-style:italic}
.article-body .pull{font-family:var(--display);font-size:1.4rem;line-height:1.4;border-left:3px solid var(--accent);padding:.4rem 1rem;color:var(--text);margin:1.4em 0;font-style:italic}
.article-body .info-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem;margin:1.6rem 0}

/* --- TOC --- */
.toc{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem;margin-bottom:2rem}
.toc h4{margin:0 0 .7rem;font-family:var(--display);font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.toc ol{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.45rem}
.toc ol li{font-size:15px}
.toc a{color:var(--text)}

/* --- Compliance strip --- */
.compliance-strip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.3rem;display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:2rem 0}
.compliance-strip .label{font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-right:.4rem}
.compliance-strip p{margin:0;font-size:14px;color:var(--muted)}

/* --- Inline image row --- */
.inline-image-row{display:grid;grid-template-columns:1fr;gap:1.1rem;margin:1.8rem 0;align-items:center}
@media(min-width:780px){.inline-image-row{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}}
.inline-image-row.reverse img{order:1}
@media(min-width:780px){.inline-image-row.reverse .img-col{order:2}}
.inline-image-row img{border-radius:var(--radius);border:1px solid var(--border)}

/* --- Side-by-side panels --- */
.panels{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media(min-width:780px){.panels{grid-template-columns:repeat(2,minmax(0,1fr))}}
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;position:relative}
.panel h3{margin-top:0;font-size:1.2rem}
.panel p{font-size:15.5px;color:var(--muted);margin-bottom:0}
.panel.warm{background:var(--surface-2)}

/* --- List with arrow rows --- */
.arrow-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.arrow-list li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.arrow-list a{font-weight:600;color:var(--text);display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}
.arrow-list a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0}
.arrow-list .meta{font-size:13px;color:var(--muted);white-space:nowrap}

/* --- Sidebar / meta --- */
.byline-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.3rem;display:flex;flex-direction:column;gap:.6rem}
.byline-card h4{margin:0;font-family:var(--display);font-size:1rem}
.byline-card p{margin:0;font-size:14px;color:var(--muted)}

/* --- Two-col with sidebar --- */
.with-side{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:980px){.with-side{grid-template-columns:minmax(0,1fr) 320px;gap:2.6rem}}
.with-side aside{display:flex;flex-direction:column;gap:1.4rem}
@media(max-width:979px){.with-side aside{order:2}}

/* --- Search / inline --- */
.inline-cta{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin:2rem 0}
.inline-cta h3{margin:0;font-size:1.15rem}
.inline-cta p{margin:0;color:var(--muted);font-size:14px}

/* --- Trust grid (icons as text) --- */
.trust-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
@media(min-width:680px){.trust-row{grid-template-columns:repeat(4,minmax(0,1fr))}}
.trust-row .t{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center}
.trust-row .t strong{display:block;font-family:var(--display);font-size:1.5rem;color:var(--primary);line-height:1}
.trust-row .t span{display:block;font-size:12.5px;color:var(--muted);margin-top:.4rem;letter-spacing:.06em}

/* --- Vertical / pillar card (lead with subject) --- */
.pillar-grid{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media(min-width:680px){.pillar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1080px){.pillar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pillar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease}
.pillar:hover{transform:translateY(-2px);border-color:var(--accent)}
.pillar .pic{aspect-ratio:16/10;background:var(--surface-2);overflow:hidden}
.pillar .pic img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.pillar:hover .pic img{transform:scale(1.04)}
.pillar .body{padding:1.3rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.pillar .body h3{margin:0;font-size:1.15rem}
.pillar .body p{margin:0;color:var(--muted);font-size:14.5px}
.pillar .body .arrow{margin-top:auto;color:var(--primary);font-weight:600;font-size:14px;padding-top:.5rem;display:inline-flex;align-items:center;gap:.35rem}
.pillar .body .arrow::after{content:"\2192"}

/* --- Action chips row (related links) --- */
.chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.4rem}
.chip-row a{background:var(--surface);border:1px solid var(--border);padding:.45rem .85rem;border-radius:var(--radius-pill);font-size:13.5px;color:var(--text);white-space:nowrap}
.chip-row a:hover{background:var(--surface-2);color:var(--accent);border-color:var(--accent)}

/* --- Pre-flight quality: prevent text wrap problems --- */
.hero h1,.hero h2,.hero h3,.hero p,.hero .btn,.hero-trust li,.brand,.brand small,.main-nav a,.header-cta,.header-cta-ghost,.hamburger,.btn,.nav-link,.eyebrow,.kicker,.stat-tile .num,.stat-tile .label,.card .meta,.rail-card .num,.rail-card h3,.data-poster .num-row .n,.data-poster .num-row .l,.tool-card h3,.tool-card a.arrow,.news-card .date,.news-card h3,.news-card .read,.standard .label,.standard h4,.standard p,.faq-item summary,.faq-item .faq-body,.quote p,.quote .who,.final-cta h2,.final-cta p,.final-cta .btn,.footer-grid h4,.footer-grid ul li a,.site-footer,.footer-bottom,.sticky-cta .text,.sticky-cta .btn,.hub-hero h1,.hub-hero p,.hub-hero .breadcrumbs,.hub-hero .meta-row .chip,.article-body,.article-body h2,.article-body h3,.article-body p,.article-body .pull,.article-body .info-card,.toc,.toc h4,.toc ol li,.compliance-strip,.compliance-strip .label,.compliance-strip p,.byline-card h4,.byline-card p,.arrow-list li,.arrow-list a,.arrow-list .meta,.panel h3,.panel p,.pillar .body h3,.pillar .body p,.pillar .body .arrow,.chip-row a,.section-index a,.ledger th,.ledger td,.topbar,.topbar .tag{overflow-wrap:normal;word-break:normal;hyphens:none}

/* --- Focus visible --- */
a:focus-visible,button:focus-visible,summary:focus-visible,.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}

/* --- Print sanity --- */
@media print{
  .sticky-cta,.hamburger,.mobile-drawer,.scrim,.topbar{display:none!important}
  .site-header{position:static}
}

/* --- Reduce motion --- */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .news-card .pic img,.pillar .pic img,.tool-card a.arrow::after{transition:none!important}
}