/* ==========================================================================
   ALB Copper Alloys — design system
   Fixed type scale + component classes. No utility soup, no framework.
   ========================================================================== */

/* --- tokens ------------------------------------------------------------- */
:root{
  --ink:#14100e; --ink-2:#211a16; --ink-3:#332920; --ink-4:#4a3c31;
  --copper:#b0591a; --copper-2:#cf7420; --copper-3:#e6942f; --brand:#fea402;
  --paper:#ffffff; --paper-2:#faf7f3; --paper-3:#f2ebe3; --paper-4:#e8dfd4;
  --line:#e2d8cc; --line-2:#cfc2b3;
  --text:#292220; --text-2:#5c4e45; --text-3:#7d6d61;
  --steel:#22303a; --ok:#2f6b46;

  --fs-3xs:11px; --fs-2xs:12px; --fs-xs:13px; --fs-sm:14px; --fs-md:15px;
  --fs-base:16px; --fs-lg:18px; --fs-xl:21px; --fs-2xl:25px; --fs-3xl:31px;
  --fs-4xl:38px; --fs-5xl:47px; --fs-6xl:58px;

  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --s7:48px; --s8:64px; --s9:88px; --s10:120px;

  --r1:3px; --r2:6px; --r3:10px; --r4:16px;
  --wrap:1220px; --wrap-narrow:820px;
  --shadow-1:0 1px 2px rgba(20,16,14,.06), 0 2px 8px rgba(20,16,14,.05);
  --shadow-2:0 4px 12px rgba(20,16,14,.08), 0 18px 40px rgba(20,16,14,.10);
  --sans:"Barlow", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --cond:"Barlow Condensed", "Barlow", system-ui, sans-serif;
}

/* --- reset -------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:96px}
body{
  margin:0; background:var(--paper); color:var(--text);
  font-family:var(--sans); font-size:var(--fs-base); line-height:1.62;
  font-weight:400; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block}
a{color:var(--copper); text-decoration:none}
a:hover{color:var(--copper-2)}
h1,h2,h3,h4,h5{margin:0; line-height:1.2; font-weight:600; color:var(--ink)}
p{margin:0 0 var(--s4)}
ul,ol{margin:0 0 var(--s4); padding-left:1.15em}
li{margin:0 0 var(--s2)}
table{border-collapse:collapse; width:100%}
hr{border:0; border-top:1px solid var(--line); margin:var(--s6) 0}
:focus-visible{outline:2px solid var(--copper-2); outline-offset:2px}

/* --- layout ------------------------------------------------------------- */
.wrap{width:100%; max-width:var(--wrap); margin:0 auto; padding:0 var(--s5)}
.wrap-narrow{max-width:var(--wrap-narrow)}
.section{padding:var(--s9) 0}
.section-sm{padding:var(--s7) 0}
.section-tint{background:var(--paper-2)}
.section-tint-2{background:var(--paper-3)}
.section-dark{background:var(--ink); color:#e9e0d6}
.section-dark h2,.section-dark h3,.section-dark h4{color:#fff}
.section-dark p{color:#c9bcb0}

.grid{display:grid; gap:var(--s5)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g-side{grid-template-columns:minmax(0,1fr) 330px; gap:var(--s7)}
.g-media{grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--s7); align-items:center}

/* --- headings ----------------------------------------------------------- */
.eyebrow{
  font-family:var(--cond); font-size:var(--fs-sm); font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--copper);
  margin:0 0 var(--s3); display:block;
}
.section-dark .eyebrow{color:var(--brand)}
.h-xl{font-size:var(--fs-4xl); letter-spacing:-.015em}
.h-lg{font-size:var(--fs-3xl); letter-spacing:-.012em}
.h-md{font-size:var(--fs-2xl); letter-spacing:-.008em}
.h-sm{font-size:var(--fs-xl)}
.h-xs{font-size:var(--fs-lg)}
.lede{font-size:var(--fs-lg); color:var(--text-2); line-height:1.6}
.section-dark .lede{color:#c9bcb0}
.head{max-width:800px; margin:0 0 var(--s7)}
.head-center{margin-left:auto; margin-right:auto; text-align:center}

/* --- buttons ------------------------------------------------------------ */
.btn{
  display:inline-flex; align-items:center; gap:var(--s2);
  font-family:var(--cond); font-weight:600; font-size:var(--fs-lg);
  letter-spacing:.05em; text-transform:uppercase;
  padding:12px 26px; border-radius:var(--r2); border:1.5px solid transparent;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
  cursor:pointer; white-space:nowrap;
}
.btn-primary{background:var(--copper); color:#fff; border-color:var(--copper)}
.btn-primary:hover{background:var(--copper-2); border-color:var(--copper-2); color:#fff}
.btn-dark{background:var(--ink); color:#fff; border-color:var(--ink)}
.btn-dark:hover{background:var(--ink-3); border-color:var(--ink-3); color:#fff}
.btn-ghost{background:transparent; color:var(--ink); border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--copper); color:var(--copper)}
.btn-light{background:transparent; color:#fff; border-color:rgba(255,255,255,.45)}
.btn-light:hover{background:#fff; color:var(--ink); border-color:#fff}
.btn-row{display:flex; flex-wrap:wrap; gap:var(--s3); margin-top:var(--s5)}

/* --- header ------------------------------------------------------------- */
.topbar{background:var(--ink); color:#b7a99c; font-size:var(--fs-xs)}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center;
  gap:var(--s4); min-height:38px; flex-wrap:wrap}
.topbar a{color:#d8ccc0}
.topbar a:hover{color:var(--brand)}
.topbar-meta{display:flex; gap:var(--s5); flex-wrap:wrap}

.site-header{position:sticky; top:0; z-index:60; background:var(--ink-2);
  border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex; align-items:center; justify-content:space-between; gap:var(--s5);
  min-height:74px}
.brand{display:flex; align-items:center; gap:var(--s3); flex:0 0 auto}
.brand img{height:46px; width:auto}
.brand-txt{display:flex; flex-direction:column; line-height:1.1}
.brand-txt b{font-family:var(--cond); font-size:var(--fs-md); color:#fff;
  letter-spacing:.08em; text-transform:uppercase; font-weight:600}
.brand-txt span{font-size:var(--fs-3xs); color:#9c8d80; letter-spacing:.1em;
  text-transform:uppercase}

.menu{display:flex; align-items:center; gap:var(--s1); list-style:none; margin:0; padding:0}
.menu > li{position:static}
.menu > li > a{
  display:block; padding:26px var(--s4); font-family:var(--cond);
  font-size:var(--fs-lg); font-weight:600; letter-spacing:.06em;
  text-transform:uppercase; color:#ddd2c7; border-bottom:3px solid transparent;
}
.menu > li > a:hover,.menu > li.is-active > a{color:#fff; border-bottom-color:var(--copper-2)}
.menu > li > a::after{content:""}
.has-mega > a{position:relative}

/* mega menu: opens on hover of the whole <li>; no gap so the pointer never
   crosses dead space (prevents flicker), and it never covers page content
   because it closes the moment the pointer leaves the header strip. */
.mega{
  position:absolute; left:0; right:0; top:100%;
  background:var(--paper); border-top:1px solid var(--line);
  box-shadow:var(--shadow-2);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
  max-height:calc(100vh - 112px); overflow-y:auto;
}
.has-mega:hover .mega,.has-mega:focus-within .mega{opacity:1; visibility:visible; transform:none}
.mega-inner{display:grid; gap:var(--s6); padding:var(--s6) 0 var(--s7)}
.mega-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.mega-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mega h4{
  font-family:var(--cond); font-size:var(--fs-sm); letter-spacing:.16em;
  text-transform:uppercase; color:var(--copper); margin:0 0 var(--s3);
  padding-bottom:var(--s2); border-bottom:1px solid var(--line);
}
.mega ul{list-style:none; margin:0; padding:0}
.mega li{margin:0}
.mega li a{display:block; padding:5px 0; color:var(--text-2); font-size:var(--fs-md)}
.mega li a:hover{color:var(--copper)}
.mega-thumbs{display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s3)}
.mega-thumb{display:block; border:1px solid var(--line); border-radius:var(--r2);
  overflow:hidden; background:var(--paper-2)}
.mega-thumb img{aspect-ratio:4/3; object-fit:cover; width:100%}
.mega-thumb span{display:block; padding:7px var(--s2); font-size:var(--fs-2xs);
  font-weight:600; color:var(--ink); line-height:1.3}
.mega-thumb:hover{border-color:var(--copper-3)}
.mega-cta{grid-column:1/-1; display:flex; justify-content:space-between;
  align-items:center; gap:var(--s4); flex-wrap:wrap;
  border-top:1px solid var(--line); padding-top:var(--s4); margin-top:calc(var(--s2)*-1)}
.mega-cta p{margin:0; font-size:var(--fs-md); color:var(--text-2)}

.nav-toggle{display:none; background:none; border:1px solid rgba(255,255,255,.25);
  border-radius:var(--r2); color:#fff; padding:9px 12px; font-family:var(--cond);
  font-size:var(--fs-md); letter-spacing:.1em; text-transform:uppercase}

/* --- hero --------------------------------------------------------------- */
.hero{position:relative; background:var(--ink); color:#fff; overflow:hidden}
.hero-bg{position:absolute; inset:0; background-size:cover; background-position:center}
.hero-bg::after{content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(15,11,9,.94) 0%, rgba(15,11,9,.86) 38%,
    rgba(15,11,9,.55) 68%, rgba(15,11,9,.42) 100%)}
.hero-inner{position:relative; padding:var(--s10) 0 var(--s9); max-width:760px}
.hero h1{font-size:var(--fs-6xl); color:#fff; letter-spacing:-.02em; margin:0 0 var(--s4)}
.hero p{font-size:var(--fs-xl); color:#d3c6ba; margin:0 0 var(--s5); max-width:620px}
.hero .eyebrow{color:var(--brand)}
.hero-points{display:flex; flex-wrap:wrap; gap:var(--s2) var(--s5); list-style:none;
  margin:var(--s6) 0 0; padding:0}
.hero-points li{display:flex; align-items:flex-start; gap:var(--s2); color:#cfc2b6;
  font-size:var(--fs-md); max-width:280px}
.hero-points b{display:block; color:#fff; font-family:var(--cond);
  font-size:var(--fs-lg); letter-spacing:.04em; text-transform:uppercase}

.pagehero{position:relative; background:var(--ink); color:#fff; overflow:hidden}
.pagehero .hero-bg::after{background:linear-gradient(95deg, rgba(15,11,9,.95) 0%,
  rgba(15,11,9,.84) 45%, rgba(15,11,9,.55) 100%)}
.pagehero-inner{position:relative; padding:var(--s8) 0 var(--s7); max-width:840px}
.pagehero h1{font-size:var(--fs-4xl); color:#fff; margin:0 0 var(--s3)}
.pagehero p{color:#cdc0b4; font-size:var(--fs-lg); margin:0; max-width:680px}

/* --- breadcrumb --------------------------------------------------------- */
.crumb{position:relative; z-index:1; padding:var(--s4) 0 0}
.crumb ol{list-style:none; display:flex; flex-wrap:wrap; gap:var(--s2);
  margin:0; padding:0; font-size:var(--fs-xs); letter-spacing:.03em}
.crumb li{margin:0; color:rgba(255,255,255,.55)}
.crumb li+li::before{content:"/"; margin-right:var(--s2); color:rgba(255,255,255,.3)}
.crumb a{color:rgba(255,255,255,.78)}
.crumb a:hover{color:var(--brand)}
.crumb-light li{color:var(--text-3)}
.crumb-light a{color:var(--text-2)}
.crumb-light li+li::before{color:var(--line-2)}

/* --- cards -------------------------------------------------------------- */
.card{background:var(--paper); border:1px solid var(--line); border-radius:var(--r3);
  overflow:hidden; display:flex; flex-direction:column;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease}
.card:hover{border-color:var(--copper-3); box-shadow:var(--shadow-2); transform:translateY(-2px)}
.card-media{aspect-ratio:4/3; overflow:hidden; background:var(--paper-3)}
.card-media img{width:100%; height:100%; object-fit:cover}
.card-body{padding:var(--s5); display:flex; flex-direction:column; gap:var(--s2); flex:1}
.card-body h3{font-size:var(--fs-lg)}
.card-body p{margin:0; font-size:var(--fs-md); color:var(--text-2)}
.card-more{margin-top:auto; padding-top:var(--s3); font-family:var(--cond);
  font-size:var(--fs-md); letter-spacing:.1em; text-transform:uppercase;
  color:var(--copper); font-weight:600}
.card-tags{display:flex; flex-wrap:wrap; gap:var(--s1); margin-top:var(--s1)}

.tile{display:block; background:var(--paper); border:1px solid var(--line);
  border-radius:var(--r2); padding:var(--s4) var(--s5);
  transition:border-color .18s ease, background .18s ease}
.tile:hover{border-color:var(--copper-3); background:var(--paper-2)}
.tile b{display:block; color:var(--ink); font-size:var(--fs-base); font-weight:600}
.tile span{display:block; color:var(--text-3); font-size:var(--fs-sm); margin-top:2px}

.pill{display:inline-block; font-family:var(--cond); font-size:var(--fs-xs);
  letter-spacing:.1em; text-transform:uppercase; font-weight:600;
  padding:3px 9px; border-radius:99px; background:var(--paper-3);
  color:var(--text-2); border:1px solid var(--line)}
.pill-copper{background:rgba(176,89,26,.1); color:var(--copper); border-color:rgba(176,89,26,.25)}

/* --- stats -------------------------------------------------------------- */
.stats{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s5)}
.stat{border-left:3px solid var(--copper); padding-left:var(--s4)}
.stat b{display:block; font-family:var(--cond); font-size:var(--fs-5xl);
  font-weight:600; line-height:1; color:var(--ink)}
.section-dark .stat b{color:#fff}
.stat span{display:block; font-size:var(--fs-sm); color:var(--text-2);
  letter-spacing:.04em; margin-top:var(--s2)}
.section-dark .stat span{color:#b7a99c}

/* --- prose -------------------------------------------------------------- */
.prose{font-size:var(--fs-md); color:var(--text-2); line-height:1.68}
.prose h2{font-size:var(--fs-2xl); color:var(--ink); margin:var(--s7) 0 var(--s4)}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:var(--fs-xl); color:var(--ink); margin:var(--s6) 0 var(--s3)}
.prose h4{font-size:var(--fs-lg); color:var(--ink); margin:var(--s5) 0 var(--s2)}
.prose strong{color:var(--ink); font-weight:600}
.prose ul{padding-left:1.1em}
.prose li::marker{color:var(--copper-3)}
.prose img{border-radius:var(--r3); border:1px solid var(--line)}
.prose-lg{font-size:var(--fs-base)}

.dl-grid{display:grid; grid-template-columns:200px minmax(0,1fr); gap:var(--s2) var(--s4);
  margin:0 0 var(--s5); font-size:var(--fs-md)}
.dl-grid dt{font-weight:600; color:var(--ink)}
.dl-grid dd{margin:0; color:var(--text-2)}

/* --- spec tables -------------------------------------------------------- */
.tablewrap{overflow-x:auto; border:1px solid var(--line); border-radius:var(--r3);
  background:var(--paper); margin:0 0 var(--s5)}
table.spec{font-size:var(--fs-md); min-width:420px}
table.spec caption{caption-side:top; text-align:left; padding:var(--s4) var(--s5) 0;
  font-family:var(--cond); font-size:var(--fs-md); letter-spacing:.12em;
  text-transform:uppercase; color:var(--copper); font-weight:600}
table.spec th,table.spec td{padding:11px var(--s5); text-align:left;
  border-bottom:1px solid var(--line); vertical-align:top}
table.spec thead th{background:var(--ink); color:#fff; font-family:var(--cond);
  font-size:var(--fs-md); letter-spacing:.1em; text-transform:uppercase; font-weight:600;
  border-bottom:none}
table.spec tbody th{width:44%; font-weight:600; color:var(--ink); background:var(--paper-2)}
table.spec tbody tr:last-child th,table.spec tbody tr:last-child td{border-bottom:none}
table.spec tbody tr:hover td,table.spec tbody tr:hover th{background:var(--paper-3)}
.table-note{font-size:var(--fs-sm); color:var(--text-3); margin:calc(var(--s3)*-1) 0 var(--s5)}

/* --- callouts ----------------------------------------------------------- */
.callout{border-left:3px solid var(--copper); background:var(--paper-2);
  padding:var(--s4) var(--s5); border-radius:0 var(--r2) var(--r2) 0; margin:0 0 var(--s5)}
.callout p:last-child{margin-bottom:0}
.callout-dark{background:var(--ink); color:#d5c9bd; border-color:var(--brand)}
.callout-dark strong{color:#fff}

/* --- FAQ ---------------------------------------------------------------- */
.faq{max-width:820px; margin:0 auto}
.faq details{border-bottom:1px solid var(--line); background:transparent}
.faq details[open]{background:var(--paper-2)}
.faq summary{
  cursor:pointer; list-style:none; padding:var(--s4) var(--s6) var(--s4) var(--s4);
  font-size:var(--fs-lg); font-weight:600; color:var(--ink); position:relative;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:""; position:absolute; right:var(--s4); top:50%;
  width:11px; height:11px; margin-top:-7px; border-right:2px solid var(--copper);
  border-bottom:2px solid var(--copper); transform:rotate(45deg);
  transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(-135deg); margin-top:-3px}
.faq .faq-a{padding:0 var(--s6) var(--s5) var(--s4); color:var(--text-2);
  font-size:var(--fs-md)}
.faq .faq-a p:last-child{margin-bottom:0}

/* --- process flow (lightweight CSS/SVG animation) ----------------------- */
.flow{width:100%; height:auto; display:block}
.flow .track{stroke:var(--line-2); stroke-width:2; fill:none}
.flow .pulse{stroke:var(--copper-2); stroke-width:2.5; fill:none;
  stroke-dasharray:14 210; stroke-linecap:round;
  animation:flowmove 6s linear infinite}
@keyframes flowmove{to{stroke-dashoffset:-224}}
.flow .node{fill:var(--paper); stroke:var(--line-2); stroke-width:1.5}
.flow .node-on{fill:var(--copper); stroke:var(--copper)}
.flow .lbl{font-family:var(--cond); font-size:15px; letter-spacing:.08em;
  text-transform:uppercase; fill:var(--ink); font-weight:600}
.flow .num{font-family:var(--cond); font-size:15px; fill:#fff; font-weight:600}
.flow .sub{font-size:12.5px; fill:var(--text-3); font-family:var(--sans)}
@media (prefers-reduced-motion:reduce){.flow .pulse{animation:none; stroke-dasharray:none; opacity:.5}}

/* --- CTA band ----------------------------------------------------------- */
.ctaband{background:var(--ink); color:#fff; position:relative; overflow:hidden}
.ctaband::before{content:""; position:absolute; inset:0;
  background:linear-gradient(120deg, rgba(176,89,26,.35), transparent 55%)}
.ctaband .wrap{position:relative; display:flex; align-items:center;
  justify-content:space-between; gap:var(--s6); padding-top:var(--s8);
  padding-bottom:var(--s8); flex-wrap:wrap}
.ctaband h2{color:#fff; font-size:var(--fs-3xl); margin:0 0 var(--s2); max-width:640px}
.ctaband p{color:#c9bcb0; margin:0; max-width:600px; font-size:var(--fs-lg)}

/* --- footer ------------------------------------------------------------- */
.site-footer{background:var(--ink); color:#a99b8e; font-size:var(--fs-md)}
.footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.3fr; gap:var(--s6);
  padding:var(--s9) 0 var(--s7)}
.site-footer h4{font-family:var(--cond); font-size:var(--fs-md); letter-spacing:.16em;
  text-transform:uppercase; color:#fff; margin:0 0 var(--s4)}
.site-footer ul{list-style:none; margin:0; padding:0}
.site-footer li{margin:0 0 7px}
.site-footer a{color:#bfb1a4}
.site-footer a:hover{color:var(--brand)}
.footer-logo{height:52px; width:auto; margin-bottom:var(--s4)}
.footer-addr{font-style:normal; line-height:1.75}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1); padding:var(--s4) 0;
  display:flex; justify-content:space-between; gap:var(--s4); flex-wrap:wrap;
  font-size:var(--fs-sm); color:#8b7d71}
.footer-bottom a{color:#8b7d71}

/* --- misc --------------------------------------------------------------- */
.skip{position:absolute; left:-9999px; top:0; background:#fff; color:var(--ink);
  padding:var(--s3) var(--s4); z-index:200}
.skip:focus{left:var(--s4); top:var(--s4)}
.anchor-nav{display:flex; flex-wrap:wrap; gap:var(--s2); margin:0 0 var(--s6);
  padding:0 0 var(--s4); border-bottom:1px solid var(--line); list-style:none}
.anchor-nav li{margin:0}
.anchor-nav a{display:inline-block; padding:5px 13px; border:1px solid var(--line);
  border-radius:99px; font-size:var(--fs-sm); color:var(--text-2); background:var(--paper)}
.anchor-nav a:hover{border-color:var(--copper); color:var(--copper)}
.sticky-aside{position:sticky; top:100px}
.aside-card{border:1px solid var(--line); border-radius:var(--r3); padding:var(--s5);
  background:var(--paper-2); margin-bottom:var(--s5)}
.aside-card h4{font-family:var(--cond); font-size:var(--fs-md); letter-spacing:.14em;
  text-transform:uppercase; color:var(--copper); margin:0 0 var(--s3)}
.aside-card ul{list-style:none; margin:0; padding:0; font-size:var(--fs-md)}
.aside-card li{margin:0 0 6px}
.aside-card .btn{width:100%; justify-content:center}
.linklist{list-style:none; margin:0; padding:0; columns:2; column-gap:var(--s6)}
.linklist li{margin:0 0 7px; break-inside:avoid}
.media-figure figcaption{font-size:var(--fs-sm); color:var(--text-3); margin-top:var(--s2)}
.imgrow{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--s4)}
.imgrow figure{margin:0}
.imgrow img{border-radius:var(--r3); border:1px solid var(--line); width:100%;
  aspect-ratio:4/3; object-fit:cover}
.contact-line{display:flex; align-items:baseline; gap:var(--s3); flex-wrap:wrap;
  padding:var(--s3) 0; border-bottom:1px solid var(--line)}
.contact-line b{font-family:var(--cond); letter-spacing:.12em; text-transform:uppercase;
  font-size:var(--fs-sm); color:var(--text-3); min-width:110px}

/* --- responsive --------------------------------------------------------- */
@media (max-width:1080px){
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g-side{grid-template-columns:minmax(0,1fr)}
  .sticky-aside{position:static}
}
@media (max-width:900px){
  :root{--fs-6xl:40px; --fs-5xl:35px; --fs-4xl:30px; --fs-3xl:26px; --fs-2xl:22px}
  .nav-toggle{display:block}
  .menu{
    display:none; position:absolute; left:0; right:0; top:100%;
    flex-direction:column; align-items:stretch; background:var(--ink-2);
    border-top:1px solid rgba(255,255,255,.1); max-height:78vh; overflow-y:auto;
    padding-bottom:var(--s4);
  }
  .menu.is-open{display:flex}
  .site-header .nav{position:relative}
  .menu > li > a{padding:14px var(--s5); border-bottom:1px solid rgba(255,255,255,.07)}
  .mega{position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; background:var(--ink-3); max-height:none; display:none}
  .has-mega.is-open .mega{display:block}
  .has-mega:hover .mega{display:none}
  .has-mega.is-open:hover .mega{display:block}
  .mega-inner{grid-template-columns:minmax(0,1fr); padding:var(--s4) 0; gap:var(--s5)}
  .mega h4{color:var(--brand); border-color:rgba(255,255,255,.14)}
  .mega li a{color:#cbbeb2}
  .mega-thumbs{grid-template-columns:repeat(3,1fr)}
  .mega-thumb{background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.14)}
  .mega-thumb span{color:#fff}
  .mega-cta{border-color:rgba(255,255,255,.14)}
  .mega-cta p{color:#bfb1a4}
  .g2,.g3,.g-media{grid-template-columns:minmax(0,1fr)}
  .hero-inner{padding:var(--s8) 0 var(--s7)}
  .linklist{columns:1}
  .dl-grid{grid-template-columns:minmax(0,1fr); gap:0 0}
  .dl-grid dd{margin-bottom:var(--s3)}
  .section{padding:var(--s7) 0}
}
@media (max-width:560px){
  .g4,.stats,.footer-top{grid-template-columns:minmax(0,1fr)}
  .wrap{padding:0 var(--s4)}
  .btn{font-size:var(--fs-md); padding:11px 20px}
  .mega-thumbs{grid-template-columns:repeat(2,1fr)}
}
@media print{
  .site-header,.topbar,.ctaband,.site-footer,.anchor-nav{display:none}
  body{font-size:12px}
}
