*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,blockquote,dl,dd,fieldset{margin:0}
ul,ol{padding:0;list-style:none}
img,svg{max-width:100%;display:block}
button{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}

:root{
  --ink:#0B1210;
  --ink-2:#0E1A15;
  --green:#123B2E;
  --green-2:#17493A;
  --rock:#2C3430;
  --line:#4A554E;
  --line-soft:rgba(74,85,78,.55);
  --cold:#F2F7F3;
  --cream:#E8E2D4;
  --red:#E5483F;
  --yellow:#F2C230;
  --mint:#7DFFC4;
  --clay:#B76E4E;

  --cold-70:rgba(242,247,243,.72);
  --cold-50:rgba(242,247,243,.52);
  --cold-30:rgba(242,247,243,.30);

  --font-display:"Arial Narrow","Helvetica Neue Condensed","Haettenschweiler","Impact","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Roboto Mono","Courier New",monospace;

  --fs-xs:.75rem;
  --fs-s:.875rem;
  --fs-m:1rem;
  --fs-l:1.25rem;
  --fs-xl:clamp(1.5rem,2.6vw,1.75rem);
  --fs-2xl:clamp(2rem,4vw,2.75rem);
  --fs-3xl:clamp(2.5rem,6vw,4.5rem);

  --wrap:1280px;
  --gutter:clamp(16px,4vw,40px);
  --radius:2px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

body{
  background:var(--ink);
  color:var(--cold);
  font-family:var(--font-body);
  font-size:var(--fs-m);
  line-height:1.55;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
}

:where(a,button,summary,[tabindex],input,textarea,select):focus-visible{
  outline:2px solid var(--mint);
  outline-offset:3px;
  border-radius:var(--radius);
}

.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

.skip-link{
  position:fixed;
  top:-100px;
  left:clamp(12px,3vw,28px);
  z-index:300;
  display:inline-block;
  padding:.65rem 1rem;
  background:var(--yellow);
  color:#0B1210;
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.1em;
  border-radius:var(--radius);
  transition:top .18s var(--ease);
}
.skip-link:focus{top:12px}

/* ---------- header ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:120;
  background:linear-gradient(180deg,#0B1210 0%,#0B1210 64%,#0C1612 100%);
  border-bottom:1px solid var(--line-soft);
  transition:background .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.site-header[data-condensed="true"]{
  background:linear-gradient(180deg,rgba(11,18,16,.97) 0%,rgba(14,26,21,.97) 100%);
  border-bottom-color:rgba(125,255,196,.3);
  box-shadow:0 18px 40px -30px #000;
  -webkit-backdrop-filter:blur(10px) saturate(120%);
  backdrop-filter:blur(10px) saturate(120%);
}
.scroll-meter{
  position:absolute;
  inset:0 0 auto 0;
  height:2px;
  background:rgba(74,85,78,.4);
  z-index:2;
  overflow:hidden;
}
.scroll-meter__fill{
  display:block;
  width:100%;
  height:100%;
  transform:scaleX(0);
  transform-origin:left center;
  background:linear-gradient(90deg,var(--mint),var(--yellow) 70%,var(--red));
}
.header-rail{
  background:#0D1713;
  border-bottom:1px solid rgba(74,85,78,.45);
}
.header-rail__inner{
  display:flex;
  align-items:center;
  gap:clamp(12px,2vw,26px);
  height:32px;
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--cold-50);
  white-space:nowrap;
  overflow:hidden;
}
.rail-item{display:inline-flex;align-items:center;gap:.5rem;min-width:0}
.rail-item--push{margin-left:auto}
.rail-dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--mint);
  box-shadow:0 0 0 1px rgba(125,255,196,.3),0 0 10px rgba(125,255,196,.65);
  flex:0 0 auto;
}
.header-bar{
  display:flex;
  align-items:center;
  gap:clamp(10px,2vw,26px);
  padding-block:clamp(.6rem,1.3vw,1rem);
}
.brand{display:inline-flex;align-items:center;gap:.7rem;flex:0 0 auto;color:var(--cold)}
.brand-mark{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  grid-template-rows:repeat(2,1fr);
  gap:1px;
  width:26px;height:26px;
  padding:1px;
  background:var(--green);
  border:1px solid var(--line);
  border-radius:1px;
  transition:border-color .2s var(--ease);
}
.brand-cell{display:block;background:var(--rock)}
.brand-cell--mint{background:var(--mint)}
.brand-cell--yellow{background:var(--yellow)}
.brand-cell--red{background:var(--red)}
.brand-cell--line{background:rgba(74,85,78,.95)}
.brand-text{display:block;min-width:0}
.brand-name{
  display:block;
  font-family:var(--font-display);
  font-size:1.16rem;
  font-weight:700;
  line-height:1.04;
  letter-spacing:-.01em;
  font-stretch:condensed;
}
.brand-sub{
  display:block;
  margin-top:.2rem;
  font-family:var(--font-mono);
  font-size:.58rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cold-50);
}
.brand:hover .brand-mark{border-color:var(--mint)}
.brand:hover .brand-sub{color:rgba(125,255,196,.8)}

.site-nav{flex:1 1 auto;min-width:0;display:flex;justify-content:center}
.nav-list{display:flex;align-items:center;gap:2px}
.nav-item{flex:0 0 auto}
.nav-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:.42rem;
  padding:.5rem .6rem;
  border:1px solid transparent;
  border-radius:var(--radius);
  color:var(--cold-70);
  font-size:.88rem;
  line-height:1;
  white-space:nowrap;
  transition:color .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease);
}
.nav-idx{
  font-family:var(--font-mono);
  font-size:.6rem;
  letter-spacing:.04em;
  color:rgba(125,255,196,.62);
  transition:color .2s var(--ease);
}
.nav-link:hover{color:var(--cold);background:rgba(18,59,46,.75);border-color:var(--line)}
.nav-link:hover .nav-idx{color:var(--mint)}
.nav-link[aria-current="page"]{
  color:var(--cold);
  background:rgba(242,194,48,.1);
  border-color:rgba(242,194,48,.45);
}
.nav-link[aria-current="page"] .nav-idx{color:var(--yellow)}
.nav-link[aria-current="page"]::after{
  content:"";
  width:5px;height:5px;
  border-radius:50%;
  background:var(--yellow);
  box-shadow:0 0 8px rgba(242,194,48,.8);
  align-self:center;
}

.header-actions{display:flex;align-items:center;gap:.55rem;flex:0 0 auto;margin-left:auto}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:.62rem 1rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:transparent;
  color:var(--cold);
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
}
.btn--quick{background:var(--green);border-color:rgba(125,255,196,.35);color:var(--cold)}
.btn--quick:hover{background:var(--green-2);border-color:var(--mint);color:#fff}
.btn__dot{
  width:6px;height:6px;border-radius:50%;
  background:var(--mint);
  box-shadow:0 0 8px rgba(125,255,196,.8);
  flex:0 0 auto;
}
.btn--ghost{background:rgba(11,18,16,.35);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--mint);color:var(--mint)}
.btn--yellow{background:var(--yellow);border-color:var(--yellow);color:#0B1210}
.btn--yellow:hover{background:#FFD24A;border-color:#FFD24A}

.nav-toggle{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:44px;height:40px;
  padding:0;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(18,59,46,.55);
  cursor:pointer;
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
.nav-toggle:hover{border-color:var(--mint);background:rgba(23,73,58,.7)}
.nav-toggle__bar{
  display:block;
  width:18px;height:1.5px;
  background:var(--cold);
  transition:transform .25s var(--ease),opacity .2s var(--ease);
}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* ---------- footer ---------- */
.site-footer{
  position:relative;
  margin-top:clamp(3rem,7vw,5rem);
  padding-top:clamp(2.4rem,5vw,4rem);
  background:linear-gradient(180deg,#0B1210 0%,#0E1A15 42%,#123B2E 100%);
  border-top:1px solid var(--line);
  color:var(--cold);
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background-image:repeating-linear-gradient(90deg,rgba(125,255,196,.55) 0 1px,transparent 1px 14px);
  opacity:.3;
  pointer-events:none;
}
.footer-top{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(1.6rem,4vw,3.4rem);
  padding-bottom:clamp(2rem,4vw,3rem);
  border-bottom:1px solid var(--line-soft);
}
.footer-brand{min-width:0}
.brand--footer{gap:.85rem}
.brand--footer .brand-mark{width:34px;height:34px}
.brand--footer .brand-name{font-size:1.6rem}
.brand--footer .brand-sub{font-size:.62rem}
.footer-tagline{
  margin-top:1.1rem;
  max-width:24ch;
  font-family:var(--font-display);
  font-size:clamp(1.35rem,2.8vw,2rem);
  line-height:1.16;
  letter-spacing:-.015em;
  font-stretch:condensed;
  color:var(--cold);
}
.footer-contact{
  position:relative;
  padding:clamp(1rem,2.4vw,1.55rem);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:rgba(11,18,16,.55);
}
.footer-contact::after{
  content:"";
  position:absolute;
  right:-1px;bottom:-1px;
  width:14px;height:14px;
  border-right:2px solid rgba(125,255,196,.5);
  border-bottom:2px solid rgba(125,255,196,.5);
  pointer-events:none;
}
.footer-contact__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:.9rem;
}
.footer-heading{
  font-family:var(--font-mono);
  font-size:.7rem;
  font-weight:400;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mint);
}
.footer-cta{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.12em;
  color:var(--cold-70);
  border-bottom:1px solid rgba(125,255,196,.4);
  padding-bottom:.1rem;
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.footer-cta:hover{color:var(--mint);border-color:var(--mint)}
.contact-list{display:grid;gap:.1rem}
.contact-item{
  display:flex;
  align-items:center;
  gap:.6rem;
  flex-wrap:wrap;
  padding:.5rem 0;
  border-bottom:1px dashed rgba(74,85,78,.5);
}
.contact-key{
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--cold-50);
  flex:0 0 auto;
  min-width:2.8em;
}
.contact-value{font-size:.88rem;color:var(--cold);word-break:break-word;letter-spacing:.01em}
.copy-btn{
  margin-left:auto;
  padding:.22rem .55rem;
  border:1px solid rgba(125,255,196,.35);
  border-radius:1px;
  background:transparent;
  color:rgba(125,255,196,.85);
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.copy-btn:hover{background:rgba(125,255,196,.14);color:var(--mint);border-color:var(--mint)}
.contact-hours{
  margin-top:.9rem;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.12em;
  color:var(--yellow);
}
.contact-note{
  margin-top:.5rem;
  font-size:.78rem;
  line-height:1.55;
  color:var(--cold-50);
}
.copy-status{
  margin-top:.5rem;
  min-height:1.1em;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.1em;
  color:var(--mint);
  opacity:0;
  transition:opacity .2s var(--ease);
}
.copy-status[data-active="true"]{opacity:1}

.footer-nav{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:clamp(1.4rem,4vw,3rem);
  padding-block:clamp(1.8rem,3.5vw,2.6rem);
  border-bottom:1px solid var(--line-soft);
}
.footer-col{min-width:0}
.footer-col__title{
  display:flex;
  align-items:center;
  gap:.55rem;
  font-family:var(--font-mono);
  font-size:.68rem;
  font-weight:400;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cold-50);
}
.footer-col__title::before{
  content:"";
  width:6px;height:6px;
  background:var(--mint);
  flex:0 0 auto;
}
.footer-links{counter-reset:fl;display:grid;gap:0;margin-top:.8rem}
.footer-link{
  display:flex;
  align-items:baseline;
  gap:.65rem;
  padding:.52rem 0;
  border-bottom:1px solid rgba(74,85,78,.28);
  color:var(--cold-70);
  font-size:.92rem;
  transition:color .2s var(--ease),padding-left .2s var(--ease);
}
.footer-link::before{
  counter-increment:fl;
  content:counter(fl,decimal-leading-zero);
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.1em;
  color:rgba(125,255,196,.55);
  transition:color .2s var(--ease);
}
.footer-link:hover{color:var(--cold);padding-left:.4rem}
.footer-link:hover::before{color:var(--yellow)}

.footer-bottom{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.8rem 1.6rem;
  padding-block:1.4rem 2rem;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.08em;
  color:var(--cold-50);
}
.footer-icp,.footer-copy{white-space:nowrap}
.legal-links{display:flex;flex-wrap:wrap;gap:1.1rem;margin-left:auto}
.legal-link{
  color:var(--cold-70);
  border-bottom:1px solid transparent;
  padding-bottom:.1rem;
  transition:color .2s var(--ease),border-color .2s var(--ease);
}
.legal-link:hover{color:var(--mint);border-bottom-color:var(--mint)}

/* ---------- shared page components ---------- */
.section{padding-block:clamp(2.4rem,6vw,5rem)}
.section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.8fr);
  align-items:end;
  gap:1rem 2rem;
  padding-bottom:1.2rem;
  border-bottom:1px solid var(--line-soft);
  margin-bottom:clamp(1.5rem,3vw,2.4rem);
}
.section-title{
  font-family:var(--font-display);
  font-size:clamp(1.9rem,4.2vw,3rem);
  line-height:1.02;
  letter-spacing:-.025em;
  font-stretch:condensed;
}
.section-note{font-size:.9rem;line-height:1.6;color:var(--cold-50);max-width:46ch}

.kicker{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--mint);
}
.kicker::before{content:"";width:16px;height:1px;background:currentColor;flex:0 0 auto}

.display{
  font-family:var(--font-display);
  font-size:clamp(48px,8vw,112px);
  line-height:.92;
  letter-spacing:-.03em;
  font-weight:700;
  font-stretch:condensed;
}
.title{
  font-family:var(--font-display);
  font-size:var(--fs-2xl);
  line-height:1.06;
  letter-spacing:-.02em;
  font-stretch:condensed;
}
.lede{
  font-size:clamp(1rem,1.4vw,1.15rem);
  line-height:1.62;
  color:var(--cold-70);
  max-width:56ch;
}
.num{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
}
.rule{height:0;border:0;border-top:1px solid var(--line-soft);margin-block:clamp(1.6rem,3vw,2.6rem)}
.asidenote{
  display:block;
  border-left:2px solid var(--yellow);
  padding:.35rem 0 .35rem .85rem;
  font-size:.85rem;
  line-height:1.6;
  color:var(--cold-70);
}
.link-arrow{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding-bottom:.15rem;
  border-bottom:1px solid rgba(125,255,196,.35);
  color:var(--mint);
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:border-color .2s var(--ease);
}
.link-arrow::after{content:"→";transition:transform .2s var(--ease)}
.link-arrow:hover{border-bottom-color:var(--mint)}
.link-arrow:hover::after{transform:translateX(4px)}

.prose{max-width:68ch;font-size:1rem;line-height:1.7;color:var(--cold-70)}
.prose > * + *{margin-top:1.05em}
.prose h2,.prose h3{
  font-family:var(--font-display);
  color:var(--cold);
  line-height:1.18;
  letter-spacing:-.015em;
  font-stretch:condensed;
}
.prose h2{font-size:var(--fs-xl);margin-top:1.9em}
.prose h3{font-size:1.15rem;margin-top:1.5em}
.prose ul,.prose ol{padding-left:1.25em;list-style:revert}
.prose li + li{margin-top:.4em}
.prose a{color:var(--mint);text-decoration:underline;text-underline-offset:.18em}
.prose strong{color:var(--cold);font-weight:600}
.prose blockquote{
  border-left:2px solid var(--yellow);
  padding-left:1rem;
  color:var(--cold);
}

.grid{display:grid;gap:clamp(1rem,2.2vw,1.8rem)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}

.card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:.55rem;
  padding:clamp(1rem,2vw,1.4rem);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  background:rgba(18,59,46,.22);
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
.card:hover{border-color:rgba(125,255,196,.45);background:rgba(18,59,46,.34)}
.card--panel{background:rgba(44,52,48,.5);border-color:var(--line)}
.card--pin::before{
  content:"";
  position:absolute;
  top:-1px;left:-1px;
  width:12px;height:12px;
  border-top:2px solid var(--yellow);
  border-left:2px solid var(--yellow);
  pointer-events:none;
}
.card__label{
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--mint);
}
.card__title{
  font-family:var(--font-display);
  font-size:1.35rem;
  line-height:1.2;
  letter-spacing:-.015em;
  font-stretch:condensed;
  color:var(--cold);
}
.card__text{font-size:.94rem;line-height:1.62;color:var(--cold-70)}
.card__meta{
  margin-top:auto;
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--cold-50);
}

.data-cell{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:.4rem;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(160deg,rgba(18,59,46,.55),rgba(11,18,16,.4));
}
.data-cell::before{
  content:"";
  position:absolute;
  top:-1px;left:-1px;
  width:10px;height:10px;
  border-top:2px solid var(--mint);
  border-left:2px solid var(--mint);
  pointer-events:none;
}
.data-cell__label{
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cold-50);
}
.data-cell__value{
  font-family:var(--font-mono);
  font-variant-numeric:tabular-nums;
  font-size:clamp(1.5rem,3vw,2rem);
  line-height:1;
  letter-spacing:-.01em;
  color:var(--cold);
}

.score-strip{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:rgba(11,18,16,.55);
  font-family:var(--font-mono);
  overflow-x:auto;
}
.score-strip__cell{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  min-width:0;
  padding:.7rem .85rem;
  border-right:1px solid var(--line-soft);
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--cold-70);
}
.score-strip__cell:last-child{border-right:0}
.score-strip__cell strong{
  font-size:1.1rem;
  color:var(--cold);
  font-variant-numeric:tabular-nums;
}

.tag{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.22rem .5rem;
  border:1px solid currentColor;
  border-radius:1px;
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1.25;
  white-space:nowrap;
}
.tag--red{color:var(--red);background:rgba(229,72,63,.12);border-color:rgba(229,72,63,.5)}
.tag--yellow{color:var(--yellow);background:rgba(242,194,48,.12);border-color:rgba(242,194,48,.5)}
.tag--mint{color:var(--mint);background:rgba(125,255,196,.1);border-color:rgba(125,255,196,.45)}
.tag--clay{color:#D8906C;background:rgba(183,110,78,.16);border-color:rgba(183,110,78,.55)}
.tag--outline{color:var(--cold-70);border-color:var(--line)}

.breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  padding-block:.9rem;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--cold-50);
}
.crumb{color:var(--cold-70);border-bottom:1px solid transparent;padding-bottom:.08rem;transition:color .2s var(--ease),border-color .2s var(--ease)}
.crumb:hover{color:var(--mint);border-bottom-color:rgba(125,255,196,.6)}
.crumb[aria-current="page"]{color:var(--yellow);border-bottom-color:transparent}
.crumb-sep{color:var(--line)}

.media{
  position:relative;
  display:block;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(160deg,var(--rock),var(--green));
  isolation:isolate;
}
.media::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(125,255,196,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(125,255,196,.08) 1px,transparent 1px);
  background-size:26px 26px;
  pointer-events:none;
  opacity:.8;
}
.media__img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
}
.media--4x3 .media__img{aspect-ratio:4/3}
.media--1x1 .media__img{aspect-ratio:1/1}
.media__caption{
  display:block;
  margin-top:.6rem;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.08em;
  color:var(--cold-50);
}

.band{position:relative}
.band--ink{background:var(--ink);color:var(--cold)}
.band--green{background:linear-gradient(180deg,#123B2E 0%,#0E2A21 100%);color:var(--cold)}
.band--rock{background:var(--rock);color:var(--cold)}
.band--cream{background:var(--cream);color:#14201A}
.band--cream .kicker{color:#1F6B4E}
.band--cream .section-note,
.band--cream .card__meta,
.band--cream .media__caption,
.band--cream .data-cell__label,
.band--cream .crumb{color:rgba(20,32,26,.62)}
.band--cream .lede,
.band--cream .prose,
.band--cream .card__text,
.band--cream .asidenote{color:rgba(20,32,26,.8)}
.band--cream .section-head,
.band--cream .rule,
.band--cream .accordion,
.band--cream .accordion-item{border-color:rgba(20,32,26,.18)}
.band--cream .title,
.band--cream .section-title,
.band--cream .display,
.band--cream .card__title,
.band--cream .prose h2,
.band--cream .prose h3,
.band--cream .prose strong{color:#0F1A15}
.band--cream .card{background:rgba(255,255,255,.42);border-color:rgba(20,32,26,.16)}
.band--cream .card:hover{border-color:rgba(18,59,46,.4)}
.band--cream .data-cell{background:rgba(255,255,255,.4);border-color:rgba(20,32,26,.18)}
.band--cream .data-cell__value{color:#0F1A15}
.band--cream .accordion-trigger{color:#0F1A15}
.band--cream .accordion-trigger::after{color:#B7671E}
.band--cream .accordion-panel{color:rgba(20,32,26,.8)}
.band--cream .prose a{color:#1F6B4E}
.band--cream .tag--outline{color:rgba(20,32,26,.7);border-color:rgba(20,32,26,.3)}

.binder{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  padding-left:.9rem;
  border-left:1px solid var(--line);
}
.binder__label{
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cold-50);
}

.accordion{display:grid;gap:0;border-top:1px solid var(--line-soft)}
.accordion-item{border-bottom:1px solid var(--line-soft)}
.accordion-trigger{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.05rem .25rem;
  border:0;
  background:transparent;
  color:var(--cold);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.45;
  text-align:left;
  cursor:pointer;
  transition:color .2s var(--ease);
}
.accordion-trigger::after{
  content:"+";
  font-family:var(--font-mono);
  font-size:1.1rem;
  line-height:1;
  color:var(--yellow);
  flex:0 0 auto;
}
.accordion-trigger[aria-expanded="true"]::after{content:"–"}
.accordion-trigger:hover{color:var(--yellow)}
.accordion-panel{
  padding:0 .25rem 1.2rem;
  font-size:.94rem;
  line-height:1.7;
  color:var(--cold-70);
}
.accordion-panel[hidden]{display:none}

.has-js [data-reveal]{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .6s var(--ease),transform .6s var(--ease);
  transition-delay:calc(var(--i,0) * 70ms);
}
.has-js [data-reveal].is-visible{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1200px){
  .nav-link{font-size:.82rem;padding:.46rem .5rem}
  .nav-idx{font-size:.56rem}
  .btn{padding:.58rem .8rem;font-size:.72rem}
}
@media (max-width:1079px){
  .nav-toggle{display:flex}
  .site-nav{
    position:absolute;
    left:0;
    right:0;
    top:100%;
    display:none;
    flex-direction:column;
    justify-content:flex-start;
    padding:.4rem var(--gutter) 1.1rem;
    max-height:calc(100vh - 100px);
    overflow-y:auto;
    background:linear-gradient(180deg,#0D1713 0%,#0B1210 100%);
    border-top:1px solid var(--line-soft);
    border-bottom:1px solid var(--line-soft);
    box-shadow:0 28px 50px -30px #000;
  }
  .site-nav[data-open="false"]{display:none}
  .site-nav[data-open="true"]{display:block}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-item{border-bottom:1px solid rgba(74,85,78,.32)}
  .nav-item:last-child{border-bottom:0}
  .nav-link{
    width:100%;
    justify-content:flex-start;
    padding:.95rem .3rem;
    font-size:1rem;
    border:0;
    border-left:2px solid transparent;
    border-radius:0;
    background:transparent;
  }
  .nav-link:hover{background:rgba(18,59,46,.6);border-color:transparent;border-left-color:var(--line)}
  .nav-link[aria-current="page"]{
    background:rgba(242,194,48,.09);
    border-color:transparent;
    border-left-color:var(--yellow);
    padding-left:.75rem;
  }
  .nav-idx{font-size:.66rem}
  .header-actions{margin-left:auto}
  .footer-top{grid-template-columns:1fr}
}
@media (max-width:900px){
  .grid--2,.grid--3{grid-template-columns:1fr}
  .section-head{grid-template-columns:1fr}
}
@media (max-width:720px){
  .rail-item--push{display:none}
  .header-rail__inner{font-size:.6rem;letter-spacing:.12em;gap:.9rem}
  .btn--quick{display:none}
  .footer-tagline{max-width:none}
  .footer-bottom{font-size:.66rem;gap:.6rem 1rem}
  .legal-links{margin-left:0;width:100%;gap:.9rem}
  .contact-item{gap:.45rem}
  .copy-btn{margin-left:0}
  .score-strip{grid-auto-flow:row;grid-auto-columns:auto}
  .score-strip__cell{border-right:0;border-bottom:1px solid var(--line-soft)}
  .score-strip__cell:last-child{border-bottom:0}
}
@media (max-width:460px){
  .brand-sub{display:none}
  .brand-name{font-size:1.05rem}
  .footer-cta{font-size:.64rem}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .has-js [data-reveal],
  .has-js [data-reveal].is-visible{
    opacity:1;
    transform:none;
    transition:none;
  }
  .nav-toggle__bar{transition:none}
}
