/* Vegas Pro — unified production shell
   Combines: stub CSS (shell, site-menu, hero) + v9.css full design system
   All classes used across 28+ pages are defined here. */

/* Self-hosted latin faces (replaces render-blocking fonts.googleapis.com chain) */
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-sans-400-latin.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/dm-sans-500-latin.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/dm-sans-700-latin.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/playfair-display-600-latin.woff2) format("woff2")}
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/playfair-display-700-latin.woff2) format("woff2")}

/* === Reset + base === */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--field);color:var(--ink);font:16px/1.7 "DM Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;word-wrap:break-word;overflow-x:clip}
body.menu-open{overflow:hidden;position:fixed;width:100%}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-underline-offset:3px}
/* Inline prose links must not rely on colour alone (a11y link-in-text-block) */
main p a,main li a,main figcaption a,.compliance-strip a,.editor-note a,.copyright a{
  color:var(--accent-deep);
  text-decoration:underline;
  text-decoration-thickness:1.5px;
  text-underline-offset:3px;
}
main p a:hover,main li a:hover,main figcaption a:hover,.compliance-strip a:hover,.editor-note a:hover,.copyright a:hover{
  color:var(--ink);
}
hr{border:0;border-top:1px solid var(--line);margin:30px 0}

/* === Light grass-field tokens (LIGHT_COLOR_006) — contrast-safe ≥4.5:1 === */
:root{
  --ink:#17352b;
  --ink-2:#1c4034;
  --muted:#455750;
  --field:#edf5df;
  --paper:#fffdf7;
  --paper-2:#fefcf2;
  --accent:#a14e02;
  --accent-deep:#7c2d12;
  --line:#d8e4c9;
  --line-strong:#aac39b;
  --shadow:0 14px 40px rgba(23,53,43,.10);
  --shadow-sm:0 5px 20px rgba(23,53,43,.04);
  --radius:14px;
  --max:1180px;
}

/* === Layout containers === */
.shell{width:min(var(--max),calc(100% - 40px));margin:auto}
.container{width:min(var(--max),calc(100% - 44px));margin:auto}
.container-narrow{width:min(820px,calc(100% - 40px));margin:auto}

/* === Skip link === */
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--accent);color:#fff;padding:.5rem 1rem}
.skip-link:focus{left:1rem;top:1rem}

/* === Site header (sticky, glass) === */
.site-header{position:sticky;top:0;z-index:250;background:rgba(255,253,247,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:0 22px}
.site-header .shell{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:76px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);white-space:nowrap}
.brand:hover{color:var(--ink);text-decoration:none}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--ink);color:#fef3c7;border-radius:9px;font-weight:700;font-family:"Playfair Display",Georgia,serif}
.brand-mark::after{content:"V"}
.brand-text,.brand>span{display:flex;flex-direction:column;line-height:1.1}
.brand-name{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:1.18rem;letter-spacing:-.01em;color:var(--ink)}
.brand-tag,.brand small{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:500;display:block}
.brand strong{font-family:"Playfair Display",Georgia,serif}

/* === Primary nav (desktop) === */
.site-menu{display:flex;gap:24px;align-items:center}
.site-menu a{text-decoration:none;font-weight:500;color:var(--ink)}
.site-menu a:hover{color:var(--accent-deep)}
.primary-nav{display:flex;align-items:center;gap:5px;margin-left:auto}
.primary-nav a{padding:10px 11px;border-radius:9px;text-decoration:none;font-weight:600;font-size:.82rem;color:var(--ink);letter-spacing:.01em}
.primary-nav a:hover,.primary-nav a:focus-visible,.primary-nav a[aria-current=page]{background:var(--paper-2);color:var(--ink-2)}
.primary-nav a.is-cta,.primary-nav a.cta-link{background:var(--ink);color:var(--paper);margin-left:6px}
.primary-nav a.is-cta:hover,.primary-nav a.cta-link:hover{background:var(--ink-2);color:var(--paper)}

/* === Category rail (compact horizontal nav) === */
.category-rail{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 0}
.category-rail a{padding:8px 12px;border-radius:8px;text-decoration:none;font-weight:600;font-size:.82rem;color:var(--ink);border:1px solid transparent}
.category-rail a:hover,.category-rail a:focus-visible{background:var(--paper-2);border-color:var(--line)}
.category-rail a.is-cta,.category-rail a.cta-link{background:var(--ink);color:#fef3c7;border-color:var(--ink)}
.category-rail a.is-cta:hover{background:var(--ink-2)}

/* === Hamburger / menu toggle === */
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:9px;width:44px;height:40px;color:var(--ink);cursor:pointer;padding:0;position:relative;z-index:300}
.menu-toggle .bar,.menu-toggle span{display:block;height:2px;width:22px;background:currentColor;margin:4px auto;border-radius:1px;transition:transform .2s ease,opacity .2s ease}
.hamburger{display:none;background:none;border:1px solid var(--line);border-radius:9px;width:44px;height:40px;cursor:pointer;padding:0;position:relative;z-index:300}
.hamburger[aria-expanded="true"] .bar:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hamburger[aria-expanded="true"] .bar:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* === Mobile drawer (display:none when closed, slide-in when opened) === */
/* The closed drawer is removed from layout entirely so its bounding rect
   cannot extend document scrollWidth at any mobile viewport. The open
   state brings it back with a short opacity + translate fade for the
   progressive-disclosure interaction. */
.mobile-drawer{position:fixed;top:72px;right:0;width:min(88vw,360px);max-height:calc(100dvh - 72px);padding:0;background:var(--paper);color:var(--ink);overflow-y:auto;overflow-x:hidden;contain:layout paint;z-index:240;box-shadow:none;display:none;border-left:0 solid var(--line);opacity:0;transform:translateX(20px);transition:opacity .2s ease, transform .2s ease}
.mobile-drawer.is-open{display:block;padding:26px;border-left-width:1px;opacity:1;transform:translateX(0);box-shadow:-20px 0 45px rgba(23,53,43,.18)}
.mobile-drawer nav{display:flex;flex-direction:column;gap:2px}
.mobile-drawer nav a{display:block;padding:14px 8px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600;color:var(--ink);font-size:.95rem}
.mobile-drawer nav a:last-child{border-bottom:0}
.mobile-drawer nav a.is-cta,.mobile-drawer nav a.cta-link{background:var(--ink);color:#fef3c7;border-radius:9px;border:0;text-align:center;margin-top:10px}

/* === Hero (homepage split layout) === */
.hero{display:grid;grid-template-columns:1.02fr .98fr;gap:55px;align-items:center;min-height:560px;padding:70px 0}
.hero-copy,.hero>div:first-child{padding:0}
.hero h1{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:clamp(42px,6vw,78px);line-height:1.03;margin:15px 0 22px;max-width:680px;letter-spacing:-.02em}
.hero-lede,.lede{font-size:20px;color:var(--muted);max-width:580px;margin:0 0 22px}
.hero-art img{width:100%;height:auto;max-height:580px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}

/* === Eyebrow + kicker (above headings) === */
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--accent);font-weight:700;margin:0 0 12px;display:inline-block}
.kicker{color:var(--accent);font:700 .75rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;display:inline-block}

/* === Sub-hero (text-only / image-pair for child routes) === */
.sub-hero{padding:74px 0 56px;background:var(--paper);border-bottom:1px solid var(--line)}
.sub-hero .eyebrow{color:var(--accent-deep)}
.sub-hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(2.2rem,5vw,3.6rem);max-width:780px;margin:14px 0 18px;letter-spacing:-.03em;font-weight:700;line-height:1.05}
.sub-hero .lede{font-size:1.1rem;max-width:720px;color:var(--ink-2);margin:0}
.sub-hero.with-image{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px;min-height:520px;padding:0}
.sub-hero.with-image .container{padding:80px 22px 60px}
.sub-hero.with-image .hero-image{height:100%;min-height:380px;overflow:hidden;border-radius:0}
.sub-hero.with-image .hero-image img{width:100%;height:100%;object-fit:cover;display:block}

/* === Section blocks === */
.section{padding:28px 0;border-top:1px solid var(--line)}
.section:first-of-type{border-top:0}
.section h2{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:clamp(28px,3.5vw,40px);line-height:1.15;margin:8px 0 15px}
.section h3{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:1.35rem;margin:0 0 10px}
.section p{max-width:760px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px;flex-wrap:wrap}
.section-head p{max-width:560px;color:var(--muted);margin:0}

/* === Two-column content + sidebar === */
.content{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:35px;padding-bottom:90px}
.rail{position:sticky;top:100px;height:max-content;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:22px;align-self:start}
.rail strong{display:block;margin-bottom:10px;font-family:"Playfair Display",Georgia,serif}
.rail a{display:block;padding:7px 0;color:var(--ink);text-decoration:none;font-size:.92rem}
.rail a:hover{color:var(--accent-deep)}

/* === Cards + grids === */
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow-sm)}
.card h2,.card h3{font-family:"Playfair Display",Georgia,serif;font-size:1.35rem;margin:0 0 10px}
.card p{color:var(--ink-2);margin:0}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:22px 0}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.grid--3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.grid--4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:20px 0 90px}
.feature-grid article,.feature-grid .card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:var(--shadow-sm)}
.feature-grid h2{font:600 27px/1.15 "Playfair Display",Georgia,serif}
.intro{padding:65px 0;max-width:900px}

/* === Inline image row (2-col text + image) === */
.inline-image-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center;margin:28px 0}
.inline-image-row img{width:100%;border-radius:12px;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow-sm)}
.inline-image-row.reverse{grid-template-areas:'img body'}

/* === Topic ribbon (vertical chip scroller) === */
.topic-ribbon{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin:30px 0}
.topic-ribbon .label{font:700 .72rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:10px;display:block}
.topic-ribbon ol,.topic-ribbon ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.topic-ribbon li{display:inline-block}
.topic-ribbon a{display:inline-block;padding:8px 14px;background:var(--paper);border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:600;font-size:.85rem;color:var(--ink)}
.topic-ribbon a:hover{background:var(--field);border-color:var(--line-strong)}

/* === Hub rail + quick rail (5-tile nav) === */
.hub-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:24px 0}
.quick-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:24px 0}
.hub-tile,.quick-tile{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px;text-decoration:none;color:var(--ink);display:block;transition:transform .15s ease,box-shadow .15s ease}
.quick-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.hub-tile h3,.quick-tile h3{font:600 1.05rem "Playfair Display",Georgia,serif;margin:0 0 6px}
.hub-tile p,.quick-tile p{margin:0;color:var(--muted);font-size:.85rem}

/* === Tables === */
.table,.data-table{margin:30px 0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 18px;box-shadow:var(--shadow-sm);overflow-x:auto;max-width:100%}
.data-table-wrap{margin:30px 0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 18px;box-shadow:var(--shadow-sm);overflow-x:auto;max-width:100%;position:relative}
.data-table{margin:0;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;overflow:visible;max-width:100%;width:100%;table-layout:auto}
.table table,.data-table table{width:100%;border-collapse:collapse;font-size:.92rem}
.table th,.table td,.data-table th,.data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}
.table th,.data-table th{background:#f0e7d3;color:var(--ink);font-weight:700}
.table tr:last-child td,.data-table tr:last-child td{border-bottom:none}

/* === FAQ accordion === */
.faq{margin:24px 0}
.faq details{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:700;list-style:none;position:relative;padding-right:28px;color:var(--ink)}
.faq summary::after{content:"+";position:absolute;right:4px;top:0;font-weight:400;font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq p{margin:10px 0 0;color:var(--ink-2)}

/* === Buttons / CTAs === */
.button{display:inline-block;background:var(--ink);color:var(--paper);padding:13px 20px;border-radius:999px;text-decoration:none;margin-top:18px;font-weight:700;font-size:.82rem;letter-spacing:.04em;border:1px solid var(--ink);cursor:pointer}
.button:hover{background:var(--ink-2);text-decoration:none}
.button-primary{background:var(--accent);color:#fffdf7;border-color:var(--accent)}
.button-primary:hover{background:var(--accent-deep);color:#fffdf7}
.button-secondary{background:transparent;color:var(--ink);text-decoration:none}
.button-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}
.hero-actions,.hero-cta,.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.hero-cta .button{margin-top:0}
.hero-meta{font-size:.85rem;color:var(--muted);margin:14px 0 0}
.hero-figure{margin:0}
.hero-figure img{width:100%;height:auto;border-radius:18px;box-shadow:var(--shadow)}
.hero-figure figcaption{font-size:.85rem;color:var(--muted);margin-top:10px}

/* === Footer === */
footer,.site-footer{background:var(--ink);color:#e9f2df;padding:54px 0 30px}
.footer-inner{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:25px}
.site-footer h2,.site-footer h3{color:#fef3c7;font-size:1rem;margin:0 0 14px;font-family:"Playfair Display",Georgia,serif}
.site-footer p{color:#cbdcc7}
.site-footer ul,.site-footer ol{list-style:none;padding:0;margin:0}
.site-footer li{margin:7px 0}
.site-footer a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;color:#e9f2df}
.site-footer a:hover{text-decoration:underline;color:#fef3c7}
.footer-inner a{display:block;margin:5px 0;color:#e9f2df;text-decoration:underline;text-underline-offset:3px}
.footer-inner a:hover{color:#fef3c7}
.copyright{border-top:1px solid rgba(255,253,247,.18);margin-top:32px;padding-top:18px;color:#c5d4c4;font-size:.78rem}
.copyright a{color:#e9f2df}

/* === Mobile sticky contextual CTA (affiliate) === */
.mobile-sticky{display:none;position:fixed;bottom:0;left:0;right:0;z-index:95;background:var(--ink);padding:10px 14px calc(10px + env(safe-area-inset-bottom));text-align:center;border-top:1px solid rgba(161,78,2,.55)}
.mobile-sticky a{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#fffdf7;background:var(--accent);border-radius:999px;padding:10px 18px;text-decoration:none;font-weight:700;font-size:.82rem;min-height:48px;line-height:1.2;border:0;max-width:min(100%,420px);width:auto;box-sizing:border-box}
.mobile-sticky a:hover{background:var(--accent-deep);color:#fffdf7}
.mobile-sticky .cta-label{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#fffdf7;display:block;margin-bottom:0;font-weight:600}
.mobile-sticky .cta-text{display:block;color:#fffdf7}

/* === SR-only === */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px}

/* === Page hero (light variant for child pages) === */
.page-hero{padding:70px 0 35px;background:var(--paper);border-bottom:1px solid var(--line)}
.page-hero h1{font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:clamp(40px,6vw,68px);line-height:1.05;max-width:800px;margin:14px 0 18px;letter-spacing:-.03em}
.page-hero img.hero-art{width:100%;max-width:780px;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:18px;margin-top:25px;box-shadow:var(--shadow)}

/* === Compliance strip === */
.compliance-strip{background:var(--field);border-block:1px solid var(--line);padding:14px 0;font-size:.85rem;color:var(--ink-2)}
.compliance-strip p{margin:0;text-align:center}

/* === Trust / proof strip === */
.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:30px 0}
.trust-strip .card{padding:18px}
.trust-strip .card h2{font-family:"Playfair Display",Georgia,serif;font-size:1.2rem;line-height:1.25;margin:0 0 10px;font-weight:700}
.trust-strip strong{font-family:"Playfair Display",Georgia,serif;display:block;margin-bottom:4px}

/* === Annotated visual === */
.annotated{margin:30px 0;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow-sm)}
.annotated img{width:100%;border-radius:12px;aspect-ratio:4/3;object-fit:cover}
.annotated figcaption{font-size:.85rem;color:var(--muted);margin-top:10px}

/* === Data poster (variant comparison) === */
.data-poster{margin:30px 0;background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow-sm)}
.data-poster h3{margin:0 0 12px;font-family:"Playfair Display",Georgia,serif}

/* === Risk matrix (strategy) === */
.risk-matrix{width:100%;max-width:100%;border-collapse:collapse;margin:24px 0;background:var(--paper);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm);font-size:.92rem;table-layout:fixed}
.risk-matrix th,.risk-matrix td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);word-wrap:break-word;overflow-wrap:break-word;max-width:0}
.risk-matrix th{background:var(--field);color:var(--ink);font-weight:700}
.risk-matrix tr:last-child td{border-bottom:none}
.risk-matrix-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.risk-matrix-wrap > .risk-matrix{display:table;min-width:560px;width:100%}

/* === Editor's note / accountability === */
.editor-note{background:var(--paper-2);border-left:4px solid var(--accent);border-radius:0 12px 12px 0;padding:16px 22px;margin:30px 0;font-size:.92rem;color:var(--ink-2)}
.editor-note strong{color:var(--ink);display:block;margin-bottom:4px}

/* === Quote (testimonial-style, no fake people) === */
.quote{border-left:4px solid var(--accent);padding:4px 0 4px 22px;font-size:1.15rem;max-width:760px;color:var(--ink-2);margin:24px 0;font-family:"Playfair Display",Georgia,serif;font-style:italic}

/* === Responsive === */
@media(max-width:1099px){
  .menu-toggle,.hamburger{display:block}
  .site-menu,.primary-nav{display:none}
}
@media(max-width:899px){
  .shell{width:calc(100% - 28px);max-width:680px}
  .container{width:calc(100% - 30px);max-width:var(--max)}
  .menu-toggle,.hamburger{display:block}
  .site-menu,.primary-nav{display:none}
  .category-rail{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding:8px 0}
  .hero{grid-template-columns:1fr;gap:24px;padding:40px 0 30px;min-height:0;max-height:none}
  .hero-art{order:-1}
  .hero h1{font-size:34px;line-height:1.08}
  .hero-lede,.lede{font-size:17px}
  .hero-art img{max-height:none;height:auto}
  .content{grid-template-columns:1fr}
  .rail{position:static}
  .feature-grid,.cards,.card-grid,.grid--3,.grid--4{grid-template-columns:1fr}
  .inline-image-row{grid-template-columns:1fr}
  .footer-inner{display:block}
  .footer-grid{grid-template-columns:1fr 1fr;gap:22px}
  .sub-hero.with-image{grid-template-columns:1fr;min-height:0}
  .sub-hero.with-image .container{padding:48px 22px 20px}
  .sub-hero.with-image .hero-image{min-height:200px;max-height:none}
  .sub-hero{padding:54px 0 38px}
  .sub-hero h1{font-size:34px}
  .page-hero{padding:50px 0 28px}
  .page-hero h1{font-size:36px}
  .hub-rail,.quick-rail{grid-template-columns:repeat(2,1fr)}
  .trust-strip{grid-template-columns:1fr 1fr}
  .section-head{display:block}
  .section-head p{margin-top:12px}
  .mobile-sticky{display:block}
  body{padding-bottom:74px}
  .hero-actions .button{flex:1 1 auto;text-align:center;min-width:0;padding:11px 14px}
  .table,.data-table{padding:10px 12px;max-width:100%}
  .data-table-wrap{padding:10px 12px;max-width:100%}
  .data-table{padding:0;max-width:100%;width:100%;table-layout:fixed}
  .table table,.data-table table{font-size:.78rem;width:100%}
  .table th,.table td,.data-table th,.data-table td{padding:6px 6px;word-wrap:break-word;overflow-wrap:break-word;word-break:normal;max-width:0}
  .risk-matrix{padding:0;max-width:100%;width:100%;table-layout:fixed;font-size:.78rem}
  .risk-matrix th,.risk-matrix td{padding:6px 6px;word-wrap:break-word;overflow-wrap:break-word;word-break:normal;max-width:0}
  .risk-matrix-wrap{padding:0;max-width:100%}
  .skip-link{left:-9999px}
  .mobile-drawer{width:min(94vw,360px);padding:20px;top:72px;height:calc(100dvh - 72px)}
  .hero p, .hero .lede, .hero .eyebrow{word-wrap:break-word;overflow-wrap:break-word}
  .category-rail{max-width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding:8px 0;scrollbar-width:thin}
  .category-rail > a{flex:0 0 auto;max-width:160px}
  section,.section,.container,.shell,main{overflow-x:clip}
}
@media(max-width:500px){
  .risk-matrix th,.risk-matrix td{padding:5px 4px;font-size:.72rem}
  .risk-matrix{font-size:.72rem}
  .container{width:calc(100% - 24px);max-width:var(--max)}
  .footer-grid{grid-template-columns:1fr}
  .brand-tag{display:none}
  .brand-name{font-size:1rem}
  .hub-rail,.quick-rail{grid-template-columns:1fr}
  .trust-strip{grid-template-columns:1fr}
  .hero h1{font-size:30px}
  .page-hero h1{font-size:30px}
  .sub-hero h1{font-size:28px}
  .section h2{font-size:24px}
  .section{padding:22px 0}
  .hero{padding:30px 0 24px}
  .lede,.hero-lede{font-size:16px}
  .button{padding:11px 16px;font-size:.78rem}
}