/* BGL subpages: shared styles. Tokens and components mirror index.html. Pair with pages.js. */
:root{
  --bg:#02050D;--bg-2:#050B1C;--panel:rgba(9,20,46,.7);
  --line:rgba(111,184,255,.2);--line-strong:#5A78A6;
  --blue:#3B8BFF;--blue-soft:#6FB8FF;--sky:#9FD2FF;
  --lime:#B6F03C;--lime-hover:#C9F76A;
  --text:#F2F6FF;--text-2:#C3D1EA;--text-3:#8C9DBB;
  --glow-lime:0 0 28px rgba(182,240,60,.55);
  --grad:linear-gradient(90deg,var(--blue),var(--lime));
  --ease:cubic-bezier(.16,1,.3,1);
  --nav-h:84px;
  --display:'Archivo',system-ui,sans-serif;
  --body:'IBM Plex Sans',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px);-webkit-text-size-adjust:100%}
body{position:relative;margin:0;overflow-x:hidden;overflow-x:clip;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font:400 17px/1.6 var(--body);-webkit-font-smoothing:antialiased}
main{flex:1 0 auto}
main:focus{outline:none}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-90px;z-index:200;background:var(--lime);color:#02050D;padding:12px 18px;border-radius:12px;font-weight:700;text-decoration:none}
.skip:focus{top:16px}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.wrap{width:min(1240px,100% - clamp(40px,6vw,120px));margin-inline:auto}
.mono{font-family:var(--mono);font-weight:500}
.lime{color:var(--lime);text-shadow:var(--glow-lime)}

/* ambience: soft glow at the top, faint fixed star field */
body::before{content:"";position:absolute;z-index:-2;left:0;right:0;top:0;height:min(1100px,140vh);pointer-events:none;background:radial-gradient(ellipse 55% 60% at 88% 0%,rgba(40,110,255,.24),rgba(40,110,255,0) 70%),radial-gradient(ellipse 40% 45% at 0% 60%,rgba(182,240,60,.05),rgba(182,240,60,0) 70%)}
body::after{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;opacity:.5;background-image:radial-gradient(circle at 23px 41px,rgba(255,255,255,.9) 0 .8px,transparent 1.4px),radial-gradient(circle at 131px 97px,rgba(159,210,255,.9) 0 .7px,transparent 1.3px),radial-gradient(circle at 71px 173px,rgba(255,255,255,.8) 0 1px,transparent 1.6px),radial-gradient(circle at 211px 29px,rgba(255,255,255,.7) 0 .7px,transparent 1.3px),radial-gradient(circle at 157px 233px,rgba(182,240,60,.7) 0 .7px,transparent 1.3px);background-size:190px 210px,240px 170px,290px 260px,330px 290px,410px 370px;-webkit-mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.25) 70%);mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.25) 70%)}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:999px;border:0;font:700 16.5px/1 var(--body);text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .45s var(--ease),box-shadow .45s var(--ease),background-color .3s,color .3s}
.btn-lime{background:var(--lime);color:#02050D;box-shadow:0 0 28px rgba(182,240,60,.45)}
.btn-lime:hover{background:var(--lime-hover);transform:translateY(-2px);box-shadow:0 0 44px rgba(182,240,60,.7)}
.btn-line{color:var(--text);background:rgba(4,10,26,.45);box-shadow:inset 0 0 0 1.5px var(--blue-soft)}
.btn-line:hover{box-shadow:inset 0 0 0 1.5px var(--sky),0 0 26px rgba(111,184,255,.4);transform:translateY(-2px)}
.btn:focus-visible{outline-offset:4px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;height:var(--nav-h);display:flex;align-items:center;border-bottom:1px solid transparent;transition:background-color .4s var(--ease),border-color .4s var(--ease)}
.nav::before{content:"";position:absolute;inset:0 0 -30px;z-index:-1;pointer-events:none;background:linear-gradient(rgba(2,5,13,.85),rgba(2,5,13,0));transition:opacity .4s}
.nav.solid::before{opacity:0}
.nav.solid{background:rgba(2,5,13,.84);border-bottom-color:var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.nav-in{width:min(1520px,100% - clamp(32px,4vw,80px));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;min-height:44px;flex:none}
.brand img{height:54px;width:auto}
.links{display:flex;align-items:center;gap:clamp(22px,2.1vw,36px)}
.links a{color:#D5E3FA;text-decoration:none;font-weight:500;font-size:15.5px;transition:color .25s}
.links a:hover,.links a[aria-current]{color:#fff}
.links a[aria-current]:not(.btn){box-shadow:inset 0 -2px 0 var(--lime)}
.links .call{font-family:var(--mono);color:#fff}
.links .btn,.links .btn:hover{min-height:48px;padding:0 24px;font-size:15.5px;color:#02050D}
.menu-btn{display:none;width:48px;height:48px;border-radius:14px;border:1px solid var(--line-strong);background:rgba(2,5,13,.5);color:#fff;cursor:pointer;align-items:center;justify-content:center}
.menu-btn i,.menu-btn i::before,.menu-btn i::after{display:block;width:18px;height:1.6px;background:currentColor;border-radius:2px;position:relative;transition:transform .35s var(--ease),background-color .2s}
.menu-btn i::before,.menu-btn i::after{content:"";position:absolute;left:0}
.menu-btn i::before{top:-6px}.menu-btn i::after{top:6px}
.menu-btn[aria-expanded="true"] i{background:transparent}
.menu-btn[aria-expanded="true"] i::before{transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded="true"] i::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:960px){
  .menu-btn{display:inline-flex}
  .links{position:fixed;left:12px;right:12px;top:calc(var(--nav-h) - 6px);flex-direction:column;align-items:stretch;gap:2px;padding:14px;border-radius:22px;background:rgba(6,13,32,.98);border:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translate3d(0,-8px,0);transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s linear .3s}
  .links.open{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility 0s}
  .links a{display:flex;align-items:center;min-height:48px;padding:0 12px;border-radius:12px;font-size:17px}
  .links a[aria-current]:not(.btn){box-shadow:inset 3px 0 0 var(--lime);background:rgba(111,184,255,.06)}
  .links .btn{justify-content:center;margin-top:8px}
  .brand img{height:44px}
}

/* breadcrumb */
.crumbs{padding-top:calc(var(--nav-h) + 24px)}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;padding:0;list-style:none;font:500 13px/1.4 var(--mono);color:var(--text-3)}
.crumbs li{display:inline-flex;align-items:center;gap:10px;min-width:0}
.crumbs li+li::before{content:"/";color:var(--line-strong)}
.crumbs a{display:inline-flex;align-items:center;min-height:32px;color:var(--text-2);text-decoration:none}
.crumbs a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:4px}
.crumbs [aria-current]{color:var(--sky)}

/* section heads (same as home) */
.sec{position:relative;padding:clamp(56px,6.5vw,96px) 0}
.sec-alt{background:linear-gradient(180deg,rgba(5,11,28,0),rgba(5,11,28,.9) 12%,rgba(5,11,28,.9) 88%,rgba(5,11,28,0))}
.kick{display:inline-flex;align-items:center;gap:12px;font:500 13px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--sky);margin-bottom:22px}
.kick::before{content:"";flex:none;width:28px;height:2px;border-radius:2px;background:var(--grad)}
.h2{font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:clamp(34px,4.6vw,64px);line-height:.98;letter-spacing:-.03em;max-width:16ch;text-wrap:balance}
.lede{margin-top:22px;font-size:clamp(17px,1.4vw,20px);color:var(--text-2);max-width:56ch}
.head-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:end;margin-bottom:48px}
.head-row .lede{margin-top:0}

/* hero */
.page-hero{position:relative;padding:clamp(28px,4vw,56px) 0 clamp(52px,6vw,88px)}
.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--blue),rgba(111,184,255,.3) 45%,rgba(182,240,60,0))}
.h1{font-family:var(--display);font-stretch:112.5%;font-weight:900;font-size:clamp(40px,6.4vw,96px);line-height:.95;letter-spacing:-.032em;max-width:15ch;text-wrap:balance}
.page-hero .lede{margin-top:26px;max-width:58ch}
.page-hero>*{animation:fadeUp .9s var(--ease) backwards}
.page-hero>:nth-child(2){animation-delay:.08s}.page-hero>:nth-child(3){animation-delay:.16s}.page-hero>:nth-child(n+4){animation-delay:.24s}
@keyframes fadeUp{from{opacity:0;transform:translate3d(0,18px,0)}}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:28px;font:500 13px/1.4 var(--mono);color:var(--text-3)}
.meta>*{display:inline-flex;align-items:center;gap:18px}
.meta>*+*::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime)}

/* article layout: body left, table of contents right (above the body on small screens) */
.article{display:grid;grid-template-columns:minmax(0,720px) minmax(220px,290px);grid-template-areas:"body toc";justify-content:space-between;gap:48px;padding:clamp(44px,5vw,72px) 0 clamp(56px,6vw,88px)}
.article>.prose{grid-area:body}
.toc{grid-area:toc;align-self:start;position:sticky;top:calc(var(--nav-h) + 24px);padding:22px 22px 14px;border-radius:20px;border:1px solid var(--line);background:var(--panel)}
.toc h2{font:500 12.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}
.toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.toc li{counter-increment:t}
.toc li+li{border-top:1px solid rgba(111,184,255,.1)}
.toc a{display:flex;gap:12px;padding:10px 0;color:var(--text-2);text-decoration:none;font-size:15px;line-height:1.35;transition:color .25s}
.toc a::before{content:counter(t,decimal-leading-zero);flex:none;font:500 12px/1.65 var(--mono);color:var(--blue-soft);transition:color .25s}
.toc a:hover,.toc a.on{color:#fff}
.toc a.on::before{color:var(--lime)}
@media (max-width:1080px){
  .article{grid-template-columns:minmax(0,1fr);grid-template-areas:"toc" "body";gap:36px}
  .toc{position:static;max-width:68ch}
}

/* article typography */
.prose{max-width:68ch;font-size:clamp(17px,1.25vw,18.5px);line-height:1.7;color:var(--text-2)}
.prose>*+*{margin-top:1.15em}
.prose>:first-child{margin-top:0}
.prose h2{margin-top:2.3em;font-family:var(--display);font-stretch:112.5%;font-weight:800;font-size:clamp(27px,2.8vw,38px);line-height:1.08;letter-spacing:-.02em;color:var(--text);text-wrap:balance;scroll-margin-top:calc(var(--nav-h) + 20px)}
.prose h2::before{content:"";display:block;width:36px;height:3px;margin-bottom:18px;border-radius:3px;background:var(--grad);box-shadow:0 0 12px rgba(182,240,60,.45)}
.prose h3{margin-top:1.8em;font-family:var(--display);font-stretch:112.5%;font-weight:800;font-size:clamp(20px,1.8vw,24px);line-height:1.2;color:var(--text);scroll-margin-top:calc(var(--nav-h) + 20px)}
.prose h2+*,.prose h3+*{margin-top:.75em}
.prose strong{color:var(--text);font-weight:600}
.prose a{color:#fff;text-decoration:underline;text-decoration-color:rgba(182,240,60,.6);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .25s,text-decoration-color .25s}
.prose a:hover{color:var(--lime);text-decoration-color:var(--lime)}
.prose ul,.prose ol{margin-bottom:0;padding:0;list-style:none}
.prose li{position:relative;padding-left:30px}
.prose li+li{margin-top:.55em}
.prose li>ul,.prose li>ol{margin-top:.55em}
.prose ul>li::before{content:"";position:absolute;left:7px;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px rgba(182,240,60,.6)}
.prose ol{counter-reset:li}
.prose ol>li{counter-increment:li}
.prose ol>li::before{content:counter(li);position:absolute;left:0;top:.3em;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font:500 11.5px/1 var(--mono);color:var(--lime);border:1px solid rgba(182,240,60,.5)}
.prose code{font:500 .88em var(--mono);color:var(--sky);padding:1px 6px;border-radius:6px;background:rgba(59,139,255,.12)}
.prose hr{height:1px;border:0;margin:2.2em 0;background:var(--line)}
.prose small,.fine{font-size:14.5px;color:var(--text-3)}

/* callout note */
.callout{position:relative;padding:20px 22px 20px 60px;border-radius:18px;border:1px solid rgba(111,184,255,.38);background:linear-gradient(90deg,rgba(59,139,255,.12),rgba(59,139,255,.03));font-size:.95em;line-height:1.6}
.callout::before{content:"i";position:absolute;left:20px;top:21px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:600 13px/1 var(--mono);color:#02050D;background:var(--blue-soft)}
.callout.warn{border-color:rgba(182,240,60,.45);background:linear-gradient(90deg,rgba(182,240,60,.1),rgba(182,240,60,.02))}
.callout.warn::before{content:"!";background:var(--lime);box-shadow:0 0 12px rgba(182,240,60,.6)}
.callout-t{display:block;margin-bottom:4px;color:var(--text);font-weight:600}
.callout p+p{margin-top:.6em}

/* key facts */
.facts{padding:24px 26px 12px;border-radius:22px;border:1px solid rgba(182,240,60,.35);background:linear-gradient(180deg,rgba(11,24,54,.92),rgba(6,14,34,.92));box-shadow:0 0 44px rgba(182,240,60,.06)}
.facts-t{display:flex;align-items:center;gap:10px;margin-bottom:8px;font:500 12.5px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.facts-t::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 12px var(--lime)}
.facts dl{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);margin:0;font-size:16px;line-height:1.5}
.facts dt,.facts dd{padding:12px 0;border-top:1px solid var(--line)}
.facts dt{padding-right:18px;color:var(--text-3);font-size:14.5px}
.facts dd{margin:0;color:var(--text);font-weight:500}
.facts dt:first-of-type,.facts dt:first-of-type+dd{border-top:0}

/* tables: the wrapper scrolls sideways so the page never does */
.table-wrap{overflow-x:auto;border-radius:18px;border:1px solid var(--line);background:rgba(6,14,34,.7);-webkit-overflow-scrolling:touch}
.prose .table-wrap+p.fine{margin-top:.6em}
.prose table{width:100%;min-width:520px;border-collapse:collapse;font-size:15.5px;line-height:1.5}
.prose caption{padding:16px 18px 12px;text-align:left;font:500 12.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}
.prose th,.prose td{padding:13px 18px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.prose thead th{font:500 12.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--sky);background:rgba(59,139,255,.08)}
.prose tbody th{color:var(--text);font-weight:600}
.prose tbody tr:hover{background:rgba(111,184,255,.04)}

/* sources */
.sources{padding-top:1.4em;border-top:1px solid var(--line);font-size:15px;color:var(--text-3)}
.prose .sources h2{margin:0 0 10px;font:500 12.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}
.prose .sources h2::before{display:none}
.prose .sources li{padding-left:20px}
.prose .sources li::before{left:4px;top:.7em;width:5px;height:5px;box-shadow:none;background:var(--blue-soft)}

/* cards */
.card{position:relative;border-radius:24px;background:linear-gradient(180deg,rgba(11,24,54,.85),rgba(6,14,34,.85));border:1px solid var(--line);transition:transform .5s var(--ease),border-color .4s,box-shadow .5s var(--ease)}
.card:hover{transform:translate3d(0,-6px,0);border-color:rgba(111,184,255,.6);box-shadow:0 0 0 1px rgba(111,184,255,.15),0 24px 60px rgba(40,110,255,.25)}
.card:focus-within{border-color:rgba(182,240,60,.55)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}
.grid.two{grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}
.link-card{display:flex;flex-direction:column;padding:28px 26px 22px;min-height:100%}
.tag{align-self:flex-start;padding:7px 10px;border-radius:8px;border:1px solid rgba(111,184,255,.4);background:rgba(59,139,255,.1);font:500 11.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue-soft)}
.tag.lime-tag{color:var(--lime);border-color:rgba(182,240,60,.5);background:rgba(182,240,60,.08)}
.link-card h3{margin-top:20px;font-family:var(--display);font-stretch:112.5%;font-weight:800;font-size:clamp(21px,1.9vw,25px);line-height:1.15;text-wrap:balance}
.link-card h3 a{text-decoration:none}
.link-card h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.link-card h3 a:focus-visible{outline:none}
.link-card:has(h3 a:focus-visible){outline:2px solid var(--lime);outline-offset:3px}
.link-card p{margin-top:12px;color:var(--text-2);font-size:16px}
.card-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:22px}
.card-foot>span:first-child{font:500 12.5px/1.3 var(--mono);color:var(--text-3)}
.go{display:inline-flex;align-items:center;gap:8px;color:var(--lime);font-weight:700;font-size:15px;white-space:nowrap}
.go::after{content:"\2192";transition:transform .35s var(--ease)}
.card:hover .go::after{transform:translate3d(4px,0,0)}

/* faq */
.faq-list{display:grid;gap:12px;max-width:880px}
.faq-list details{border-radius:18px;background:var(--panel);border:1px solid var(--line);transition:border-color .3s,box-shadow .4s}
.faq-list details[open]{border-color:rgba(182,240,60,.45);box-shadow:0 0 30px rgba(182,240,60,.08)}
.faq-list summary{list-style:none;cursor:pointer;position:relative;padding:20px 58px 20px 22px;font-weight:600;font-size:17px;line-height:1.4;border-radius:18px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::before,.faq-list summary::after{content:"";position:absolute;right:24px;top:31px;width:14px;height:2px;border-radius:2px;background:var(--lime);transition:transform .45s var(--ease)}
.faq-list summary::after{transform:rotate(90deg)}
.faq-list details[open] summary::after{transform:rotate(0)}
.faq-list .ans{padding:0 22px 22px;color:var(--text-2)}
.faq-list .ans p+p{margin-top:.7em}
.faq-list .ans a{color:#fff;text-decoration-color:rgba(182,240,60,.6);text-underline-offset:3px}
.faq-list details[open] .ans{animation:ans .5s var(--ease)}
@keyframes ans{from{opacity:0;transform:translate3d(0,-6px,0)}}

/* cta band */
.cta-sec{padding:clamp(24px,4vw,56px) 0 clamp(64px,7vw,104px)}
.cta-band{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,auto);gap:30px 56px;align-items:center;padding:clamp(28px,4.5vw,60px);border-radius:28px;border:1px solid rgba(182,240,60,.35);background:radial-gradient(ellipse 55% 120% at 100% 0%,rgba(59,139,255,.28),rgba(59,139,255,0) 70%),linear-gradient(90deg,rgba(182,240,60,.08),rgba(59,139,255,.05)),#06102A}
.cta-band::before{content:"";position:absolute;left:0;top:0;width:min(320px,60%);height:2px;background:var(--grad);box-shadow:0 0 18px rgba(182,240,60,.6)}
.cta-band .h2{font-size:clamp(30px,3.8vw,54px);max-width:17ch}
.cta-band p{margin-top:16px;color:var(--text-2);max-width:50ch}
.cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;text-align:center}
.cta-phone{display:inline-flex;align-items:center;justify-content:center;min-height:48px;font:500 clamp(22px,2.2vw,28px)/1.1 var(--mono);color:#fff;text-decoration:none;text-shadow:0 0 24px rgba(111,184,255,.55);transition:color .3s,text-shadow .3s}
.cta-phone:hover{color:var(--lime);text-shadow:var(--glow-lime)}
.cta-actions small{font-size:14px;color:var(--text-3)}

/* footer */
.foot{position:relative;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(5,11,28,.4),#02050D)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.25fr) repeat(4,minmax(0,1fr));gap:36px;padding:56px 0 44px}
.foot-logo{height:48px;width:auto}
.foot h2{font:500 12.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:14px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li a{display:inline-flex;align-items:center;min-height:44px;color:var(--text-2);text-decoration:none;line-height:1.3;transition:color .25s}
.foot li a:hover{color:#fff}
.foot p{color:var(--text-2);font-size:15.5px}
.foot p a{color:#fff}
.social{display:flex;gap:10px;margin-top:20px}
.social a{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;border:1px solid var(--line-strong);color:var(--text-2);transition:color .25s,border-color .25s,box-shadow .3s}
.social a:hover{color:#fff;border-color:var(--lime);box-shadow:0 0 18px rgba(182,240,60,.3)}
.social svg{width:18px;height:18px}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 24px;padding:18px 0 30px;border-top:1px solid var(--line);font-size:14px;color:var(--text-3)}
.foot-bottom ul{display:flex;flex-wrap:wrap;gap:0 20px}
.foot-bottom a{color:var(--text-2)}

/* reveal on scroll (pages.js adds .rv-hide only to elements below the fold) */
.rv{transition:opacity .9s var(--ease),transform .9s var(--ease)}
.card.rv{transition:opacity .9s var(--ease),transform .6s var(--ease),border-color .4s,box-shadow .5s var(--ease)}
.rv-hide{opacity:0;transform:translate3d(0,26px,0)}

/* responsive */
@media (max-width:1080px){
  .head-row{grid-template-columns:minmax(0,1fr);gap:0}
  .head-row .lede{margin-top:22px}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-grid>:first-child{grid-column:1/-1}
}
@media (max-width:860px){
  .cta-band{grid-template-columns:minmax(0,1fr)}
  .cta-actions{align-items:flex-start;text-align:left}
}
@media (max-width:760px){
  body{font-size:16.5px}
  .wrap{width:calc(100% - 36px)}
  .cta-row .btn{flex:1 1 auto}
  .cta-actions{align-items:stretch;text-align:center}
  .facts{padding:20px 20px 8px}
  .callout{padding:18px 18px 18px 54px}
  .callout::before{left:16px;top:19px}
  .faq-list summary{padding:18px 54px 18px 18px}
  .faq-list summary::before,.faq-list summary::after{right:20px;top:29px}
  .faq-list .ans{padding:0 18px 20px}
}
@media (max-width:560px){
  .foot-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .facts dl{grid-template-columns:minmax(0,1fr)}
  .facts dt{padding-bottom:0}
  .facts dd{border-top:0;padding-top:2px}
  .link-card{padding:24px 20px 20px}
}
@media (pointer:coarse){.btn{min-height:50px}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv-hide{opacity:1;transform:none}
  .card:hover,.btn:hover{transform:none}
}

@media print{
  @page{margin:16mm}
  *,*::before,*::after{color:#111!important;background:transparent!important;box-shadow:none!important;text-shadow:none!important;animation:none!important}
  body{display:block;font-size:11pt;line-height:1.5}
  body::before,body::after,.nav,.skip,.toc,.cta-sec,.social,.foot-grid>:nth-child(2),.foot-grid>:nth-child(3),.go,.page-hero .cta-row{display:none!important}
  .crumbs{padding-top:0}
  .wrap{width:100%}
  .page-hero{padding:8pt 0 14pt}
  .h1{font-size:28pt;max-width:none}
  .article{display:block;padding:12pt 0}
  .prose{max-width:none;font-size:11pt}
  .prose h2{font-size:17pt;break-after:avoid}
  .prose h2::before{display:none}
  .prose h3{break-after:avoid}
  .prose a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em}
  .card,.facts,.callout,.table-wrap,.faq-list details{border:1px solid #bbb!important;break-inside:avoid}
  .table-wrap{overflow:visible}
  .prose table{min-width:0}
  .prose th,.prose td{border-top:1px solid #ccc}
  .rv-hide{opacity:1!important;transform:none!important}
  .foot{border:0}
  .foot-grid{display:block;padding:12pt 0}
  .foot-logo{display:none}
}
