/* ==========================================================================
   SEAT BELT VENDOR — seatbeltvendor.in
   Design system: "ANCHOR POINT"
   Precision engineering meets editorial design.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. TOKENS
   -------------------------------------------------------------------------- */
:root{
  /* Ground — cool graphite / slate ink */
  --ink-900:#0E1316;
  --ink-850:#12191D;
  --ink-800:#151C21;
  --ink-700:#1D262C;
  --ink-600:#27343B;
  --ink-500:#33434C;

  /* Warm paper */
  --bone-050:#FAF8F3;
  --bone-100:#F4F0E8;
  --bone-200:#E9E3D7;
  --bone-300:#D9D1C1;
  --bone-400:#C3B9A5;

  /* Muted metallics */
  --steel-600:#4E5C66;
  --steel-500:#6E7D87;
  --steel-400:#8A97A0;
  --steel-300:#A9B4BB;

  /* Signal — hazard amber */
  --amber:#F0700F;
  --amber-hi:#FF8B33;
  --amber-lo:#C25507;
  --amber-ink:#96460A;          /* accessible amber for text on light grounds */

  /* Technical indicator — restrained electric blue */
  --volt:#3E6DF0;

  /* Semantic */
  --bg:var(--bone-100);
  --fg:var(--ink-700);
  --rule:rgba(14,19,22,.14);
  --rule-strong:rgba(14,19,22,.28);
  --rule-dark:rgba(233,227,215,.14);
  --rule-dark-strong:rgba(233,227,215,.26);

  /* Type */
  --f-display:"Barlow Condensed","Arial Narrow",Haettenschweiler,Impact,sans-serif;
  --f-body:"IBM Plex Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* Metrics */
  --shell:1320px;
  --shell-narrow:960px;
  --gutter:clamp(20px,4.2vw,64px);
  --rail:clamp(0px,3.2vw,54px);
  --hdr-h:78px;

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* --------------------------------------------------------------------------
   2. RESET
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:var(--f-body);
  font-size:clamp(16.5px,.42vw + 15.4px,18px);
  line-height:1.72;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg,video{max-width:100%;display:block;}
img{height:auto;}
a{color:inherit;}
button,input,select,textarea{font:inherit;color:inherit;}
h1,h2,h3,h4,h5,p,ul,ol,figure,blockquote{margin:0;}
ul,ol{padding:0;list-style:none;}
table{border-collapse:collapse;width:100%;}
hr{border:0;border-top:1px solid var(--rule);margin:0;}
::selection{background:var(--amber);color:#fff;}

:focus-visible{
  outline:3px solid var(--volt);
  outline-offset:3px;
  border-radius:2px;
}
.on-dark :focus-visible,.site-header :focus-visible,.site-footer :focus-visible,
.hero :focus-visible,.masthead :focus-visible,.cta :focus-visible{
  outline-color:var(--amber-hi);
}

.skip-link{
  position:absolute;left:12px;top:-120px;z-index:1200;
  background:var(--ink-900);color:var(--bone-100);
  padding:14px 22px;font-family:var(--f-mono);font-size:13px;
  letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  border:1px solid var(--amber);
  transition:top .2s var(--ease);
}
.skip-link:focus{top:12px;}

.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* --------------------------------------------------------------------------
   3. TYPOGRAPHY
   -------------------------------------------------------------------------- */
.d1,.d2,.d3,.d4,h1,h2,h3,h4{
  font-family:var(--f-display);
  font-weight:600;
  line-height:.98;
  letter-spacing:-.005em;
  text-transform:uppercase;
  color:var(--ink-900);
}
.d1{font-size:clamp(3.1rem,8.4vw,7.4rem);line-height:.9;letter-spacing:-.018em;font-weight:700;}
.d2{font-size:clamp(2.35rem,5.1vw,4.35rem);line-height:.95;letter-spacing:-.012em;font-weight:700;}
.d3{font-size:clamp(1.85rem,3.3vw,3rem);line-height:1;letter-spacing:-.008em;}
.d4{font-size:clamp(1.35rem,1.85vw,1.85rem);line-height:1.08;letter-spacing:.002em;}
.d5{font-family:var(--f-display);font-weight:600;text-transform:uppercase;
    font-size:clamp(1.12rem,1.25vw,1.35rem);line-height:1.15;letter-spacing:.02em;color:var(--ink-900);}

.on-dark .d1,.on-dark .d2,.on-dark .d3,.on-dark .d4,.on-dark .d5,
.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4,
.band-ink .d2,.band-ink .d3,.band-ink .d4,.band-ink .d5,
.band-ink h2,.band-ink h3,.band-ink h4{color:var(--bone-100);}

.lede{
  font-size:clamp(1.06rem,.62vw + .94rem,1.28rem);
  line-height:1.62;
  color:var(--ink-600);
  max-width:64ch;
}
.on-dark .lede,.band-ink .lede{color:var(--bone-300);}

p{max-width:72ch;}
p + p{margin-top:1.05em;}
.on-dark p,.band-ink p{color:var(--bone-300);}

.mono{
  font-family:var(--f-mono);
  font-size:.735rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:500;
}
.amber{color:var(--amber-ink);}
.on-dark .amber,.band-ink .amber{color:var(--amber-hi);}
.text-steel{color:var(--steel-600);}
.on-dark .text-steel,.band-ink .text-steel{color:var(--steel-300);}
.mt-s{margin-top:16px;}
.mt-m{margin-top:26px;}
.mt-l{margin-top:clamp(30px,3.4vw,48px);}
.mb-m{margin-bottom:26px;}

.prose-link{
  color:var(--amber-ink);
  text-decoration:none;
  font-weight:600;
  background-image:linear-gradient(var(--amber),var(--amber));
  background-size:100% 1px;
  background-repeat:no-repeat;
  background-position:0 100%;
  padding-bottom:1px;
  transition:background-size .35s var(--ease-out),color .2s var(--ease);
}
.prose-link:hover{background-size:100% 2px;color:var(--amber-lo);}
.on-dark .prose-link,.band-ink .prose-link{color:var(--amber-hi);}
.on-dark .prose-link:hover,.band-ink .prose-link:hover{color:#FFA95E;}

/* --------------------------------------------------------------------------
   4. LAYOUT SHELL
   -------------------------------------------------------------------------- */
.shell{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.shell-narrow{max-width:var(--shell-narrow);}
.shell-wide{max-width:1560px;}

section{position:relative;}
.band{padding-block:clamp(64px,8.5vw,132px);}
.band-tight{padding-block:clamp(48px,5.6vw,84px);}
.band-ink{background:var(--ink-900);color:var(--bone-300);}
.band-ink-2{background:var(--ink-850);color:var(--bone-300);}
.band-bone{background:var(--bone-100);}
.band-bone-2{background:var(--bone-200);}
.band-paper{background:var(--bone-050);}

.gridlines{position:relative;}
.gridlines::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:repeating-linear-gradient(90deg,var(--rule) 0 1px,transparent 1px 25%);
  opacity:.55;
}
.band-ink.gridlines::before,.band-ink-2.gridlines::before{
  background-image:repeating-linear-gradient(90deg,var(--rule-dark) 0 1px,transparent 1px 25%);
}
.gridlines > *{position:relative;z-index:1;}

/* Left vertical technical rail (decorative, desktop only) */
.edge-rail{
  position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:60;
  display:none;pointer-events:none;
  background:var(--bone-100);
  border-right:1px solid var(--rule);
}
.edge-rail__text{
  position:absolute;left:50%;bottom:26px;transform:translateX(-50%) rotate(180deg);
  writing-mode:vertical-rl;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.36em;text-transform:uppercase;
  color:var(--steel-600);white-space:nowrap;
}
.edge-rail__tick{
  position:absolute;left:50%;top:calc(var(--hdr-h) + 30px);transform:translateX(-50%);
  width:1px;height:64px;background:linear-gradient(var(--amber),transparent);
}
@media (min-width:1180px){
  .edge-rail{display:block;}
  body{padding-left:var(--rail);}
}

/* --------------------------------------------------------------------------
   5. SECTION HEADERS
   -------------------------------------------------------------------------- */
.sec-head{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:clamp(14px,2.4vw,38px);
  align-items:start;
  margin-bottom:clamp(30px,3.6vw,56px);
}
.sec-idx{
  font-family:var(--f-mono);font-size:.78rem;font-weight:600;letter-spacing:.1em;
  color:var(--amber-ink);
  padding-top:.55em;
  white-space:nowrap;
}
.band-ink .sec-idx,.band-ink-2 .sec-idx,.on-dark .sec-idx{color:var(--amber-hi);}
.sec-idx::before{content:"[ ";}
.sec-idx::after{content:" ]";}

.sec-kicker{
  display:flex;align-items:center;gap:14px;
  font-family:var(--f-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--steel-600);margin-bottom:14px;font-weight:500;
}
.band-ink .sec-kicker,.band-ink-2 .sec-kicker,.on-dark .sec-kicker{color:var(--steel-300);}
.sec-kicker::after{content:"";flex:1;height:1px;background:var(--rule);max-width:180px;}
.band-ink .sec-kicker::after,.band-ink-2 .sec-kicker::after,.on-dark .sec-kicker::after{background:var(--rule-dark-strong);}

.sec-head .lede{margin-top:18px;}
.sec-rule{height:1px;background:var(--rule);margin-block:clamp(34px,4vw,58px);}
.band-ink .sec-rule,.band-ink-2 .sec-rule,.on-dark .sec-rule{background:var(--rule-dark);}

/* --------------------------------------------------------------------------
   6. BUTTONS
   -------------------------------------------------------------------------- */
.btn{
  --btn-bg:var(--amber);
  --btn-fg:#12100C;
  --btn-bd:var(--amber);
  position:relative;
  display:inline-flex;align-items:center;gap:12px;
  padding:16px 26px;
  background:var(--btn-bg);color:var(--btn-fg);
  border:1px solid var(--btn-bd);
  font-family:var(--f-mono);font-size:.78rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%);
  transition:background .28s var(--ease),color .28s var(--ease),transform .28s var(--ease-out),border-color .28s var(--ease);
}
.btn:hover{background:var(--amber-hi);border-color:var(--amber-hi);transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
.btn__arrow{
  width:18px;height:1px;background:currentColor;position:relative;flex:none;
  transition:width .3s var(--ease-out);
}
.btn__arrow::after{
  content:"";position:absolute;right:0;top:50%;width:6px;height:6px;
  border-top:1px solid currentColor;border-right:1px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
}
.btn:hover .btn__arrow{width:26px;}

.btn-ghost{--btn-bg:transparent;--btn-fg:var(--ink-900);--btn-bd:var(--rule-strong);}
.btn-ghost:hover{background:var(--ink-900);color:var(--bone-100);border-color:var(--ink-900);}
.on-dark .btn-ghost,.band-ink .btn-ghost,.band-ink-2 .btn-ghost,.hero .btn-ghost,.cta .btn-ghost,.masthead .btn-ghost,.site-footer .btn-ghost{
  --btn-fg:var(--bone-100);--btn-bd:var(--rule-dark-strong);
}
.on-dark .btn-ghost:hover,.band-ink .btn-ghost:hover,.band-ink-2 .btn-ghost:hover,.hero .btn-ghost:hover,
.cta .btn-ghost:hover,.masthead .btn-ghost:hover{
  background:var(--bone-100);color:var(--ink-900);border-color:var(--bone-100);
}

.btn-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}

.link-sweep{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--f-mono);font-size:.76rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;text-decoration:none;color:var(--amber-ink);
  padding-bottom:6px;position:relative;
}
.on-dark .link-sweep,.band-ink .link-sweep,.band-ink-2 .link-sweep{color:var(--amber-hi);}
.link-sweep::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:currentColor;transform-origin:right;transform:scaleX(1);
  transition:transform .38s var(--ease-out);
}
.link-sweep:hover::after{transform:scaleX(.35);transform-origin:left;}
.link-sweep .arw{transition:transform .38s var(--ease-out);}
.link-sweep:hover .arw{transform:translateX(5px);}

/* --------------------------------------------------------------------------
   7. HEADER + NAVIGATION
   -------------------------------------------------------------------------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(14,19,22,.94);
  backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--rule-dark);
  color:var(--bone-100);
}
.header-inner{
  min-height:var(--hdr-h);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{
  display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:var(--bone-100);
  flex:none;
}
.brand__mark{
  width:38px;height:38px;flex:none;
  border:1px solid var(--amber);
  display:grid;place-items:center;
  background:rgba(240,112,15,.10);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);
}
.brand__mark svg{width:20px;height:20px;}
.brand__name{
  font-family:var(--f-display);font-weight:700;text-transform:uppercase;
  font-size:1.16rem;line-height:1;letter-spacing:.01em;display:block;
}
.brand__sub{
  display:block;font-family:var(--f-mono);font-size:.56rem;font-weight:400;
  letter-spacing:.22em;color:var(--steel-300);margin-top:5px;text-transform:uppercase;
}

.nav{display:none;}
.nav__list{display:flex;align-items:center;gap:clamp(9px,1.15vw,21px);}
.nav__link{
  position:relative;display:block;padding:10px 2px;
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  font-size:.99rem;letter-spacing:.03em;line-height:1;
  color:var(--bone-200);text-decoration:none;white-space:nowrap;
  transition:color .25s var(--ease);
}
.nav__link::after{
  content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;
  background:var(--amber);transform:scaleX(0);transform-origin:left;
  transition:transform .34s var(--ease-out);
}
.nav__link:hover{color:#fff;}
.nav__link:hover::after{transform:scaleX(1);}
.nav__link[aria-current="page"]{color:var(--amber-hi);}
.nav__link[aria-current="page"]::after{transform:scaleX(1);}
.nav__link[aria-current="page"]::before{
  content:"";position:absolute;left:50%;top:-2px;width:4px;height:4px;
  background:var(--amber);transform:translateX(-50%) rotate(45deg);
}
.header-cta{display:none;}

@media (min-width:1150px){.nav{display:block;}}
@media (min-width:1420px){.header-cta{display:inline-flex;}}

.burger{
  display:inline-flex;flex-direction:column;justify-content:center;gap:6px;
  width:50px;height:44px;padding:0 11px;
  background:transparent;border:1px solid var(--rule-dark-strong);cursor:pointer;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);
  transition:border-color .25s var(--ease),background .25s var(--ease);
}
.burger:hover{border-color:var(--amber);background:rgba(240,112,15,.10);}
.burger span{display:block;height:2px;width:100%;background:var(--bone-100);transition:transform .34s var(--ease-out),opacity .2s var(--ease);}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
@media (min-width:1150px){.burger{display:none;}}

.drawer{
  position:fixed;inset:0;z-index:99;
  background:var(--ink-900);
  display:flex;flex-direction:column;
  padding:calc(var(--hdr-h) + 26px) var(--gutter) 34px;
  overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(-14px);
  transition:opacity .32s var(--ease),transform .38s var(--ease-out),visibility .32s;
}
.drawer.is-open{opacity:1;visibility:visible;transform:none;}
.drawer__list{display:flex;flex-direction:column;border-top:1px solid var(--rule-dark);}
.drawer__link{
  display:flex;align-items:baseline;gap:16px;
  padding:18px 2px;border-bottom:1px solid var(--rule-dark);
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  font-size:clamp(1.35rem,5.4vw,1.72rem);line-height:1;letter-spacing:.02em;
  color:var(--bone-100);text-decoration:none;
  transition:color .22s var(--ease),padding-left .28s var(--ease-out);
}
.drawer__link:hover{color:var(--amber-hi);padding-left:10px;}
.drawer__link[aria-current="page"]{color:var(--amber-hi);}
.drawer__num{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.14em;color:var(--steel-400);flex:none;}
.drawer__foot{margin-top:auto;padding-top:30px;display:grid;gap:12px;}
.drawer__foot a{
  font-family:var(--f-mono);font-size:.82rem;letter-spacing:.05em;color:var(--bone-200);text-decoration:none;
  display:flex;gap:10px;align-items:center;word-break:break-word;
}
.drawer__foot a svg{width:16px;height:16px;flex:none;color:var(--amber-hi);}
.drawer__foot a:hover{color:var(--amber-hi);}
body.nav-open{overflow:hidden;}

/* --------------------------------------------------------------------------
   8. HOME HERO
   -------------------------------------------------------------------------- */
.hero{
  position:relative;background:var(--ink-900);color:var(--bone-200);
  overflow:hidden;
  padding-block:clamp(46px,6.4vw,88px) clamp(48px,6vw,80px);
  border-bottom:1px solid var(--rule-dark);
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(90deg,var(--rule-dark) 0 1px,transparent 1px 12.5%);
  opacity:.7;
}
.hero::after{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--amber) 0 22%,transparent 22%);
}
.hero__inner{position:relative;z-index:2;}
.hero__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(40px,4.4vw,64px);
  align-items:end;
}
@media (min-width:1000px){
  .hero__grid{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(40px,4vw,72px);}
}

.hero__tag{
  display:inline-flex;align-items:center;gap:12px;
  border:1px solid var(--rule-dark-strong);
  padding:8px 14px;margin-bottom:clamp(22px,2.6vw,34px);
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--bone-200);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%);
}
.hero__dot{width:7px;height:7px;background:var(--amber);flex:none;transform:rotate(45deg);}

.hero__title{
  font-family:var(--f-display);font-weight:700;text-transform:uppercase;
  color:var(--bone-050);
  font-size:clamp(3rem,9.4vw,7.4rem);
  line-height:.855;letter-spacing:-.022em;
  margin-bottom:clamp(22px,2.4vw,30px);
}
.hero__title .l2{display:block;color:var(--amber);}
.hero__title .l3{
  display:block;
  -webkit-text-stroke:1.4px var(--steel-400);
  color:transparent;
}
@supports not (-webkit-text-stroke:1px red){.hero__title .l3{color:var(--steel-300);}}

.hero__strap{
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  font-size:clamp(1.02rem,1.5vw,1.42rem);letter-spacing:.045em;line-height:1.28;
  color:var(--bone-200);
  border-left:2px solid var(--amber);padding-left:16px;
  margin-bottom:clamp(20px,2.2vw,28px);
  max-width:34ch;
}
.hero__copy{color:var(--bone-300);max-width:52ch;margin-bottom:clamp(26px,3vw,36px);}

.hero__figure{position:relative;}
.hero__frame{
  position:relative;
  border:1px solid var(--rule-dark-strong);
  background:var(--ink-850);
  padding:10px;
}
.hero__frame::before,.hero__frame::after{
  content:"";position:absolute;width:13px;height:13px;border:1px solid var(--amber);
}
.hero__frame::before{left:-1px;top:-1px;border-right:0;border-bottom:0;}
.hero__frame::after{right:-1px;bottom:-1px;border-left:0;border-top:0;}
.hero__media{
  position:relative;aspect-ratio:4/3.4;overflow:hidden;background:var(--ink-800);
}
.hero__media img{
  width:100%;height:100%;object-fit:cover;object-position:52% 46%;
  filter:contrast(1.04) saturate(.92);
}
.hero__scan{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(14,19,22,.45) 0%,rgba(14,19,22,0) 32%,rgba(14,19,22,0) 60%,rgba(14,19,22,.58) 100%);
}
.hero__crosshair{position:absolute;inset:0;pointer-events:none;}
.hero__crosshair span{position:absolute;background:rgba(240,112,15,.5);}
.hero__crosshair span:nth-child(1){left:0;right:0;top:38%;height:1px;}
.hero__crosshair span:nth-child(2){top:0;bottom:0;left:64%;width:1px;}

.hero__pin{
  position:absolute;z-index:3;
  background:rgba(14,19,22,.93);
  border:1px solid var(--rule-dark-strong);
  border-left:2px solid var(--amber);
  padding:9px 13px;
  font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--bone-100);line-height:1.55;
  max-width:min(60vw,208px);
}
.hero__pin b{display:block;color:var(--amber-hi);font-weight:600;letter-spacing:.09em;}
.hero__pin--a{left:-10px;top:12%;}
.hero__pin--b{right:-10px;top:50%;}
.hero__pin--c{left:8%;bottom:-18px;}
@media (max-width:700px){
  .hero__pin--a{left:0;top:10px;}
  .hero__pin--b{right:0;top:auto;bottom:78px;}
  .hero__pin--c{display:none;}
}

.hero__readout{
  margin-top:clamp(44px,5.2vw,74px);
  border-top:1px solid var(--rule-dark);
  display:grid;grid-template-columns:1fr;
}
@media (min-width:640px){.hero__readout{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1000px){.hero__readout{grid-template-columns:repeat(4,1fr);}}
.readout__cell{
  padding:22px 0 24px;border-bottom:1px solid var(--rule-dark);
}
@media (min-width:640px){
  .readout__cell{border-bottom:0;padding-right:26px;}
  .readout__cell:nth-child(2n){padding-left:26px;border-left:1px solid var(--rule-dark);}
}
@media (min-width:1000px){
  .readout__cell{padding-right:24px;padding-left:0;border-left:0;}
  .readout__cell + .readout__cell{padding-left:24px;border-left:1px solid var(--rule-dark);}
}
.readout__k{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.19em;text-transform:uppercase;color:var(--amber-hi);display:block;margin-bottom:9px;}
.readout__v{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:1.2rem;line-height:1.1;color:var(--bone-050);margin-bottom:7px;}
.readout__d{font-size:.89rem;line-height:1.58;color:var(--steel-300);}

/* --------------------------------------------------------------------------
   9. MASTHEAD (inner pages)
   -------------------------------------------------------------------------- */
.masthead{
  position:relative;background:var(--ink-900);color:var(--bone-200);
  padding-block:clamp(44px,5.6vw,82px);
  border-bottom:1px solid var(--rule-dark);overflow:hidden;
}
.masthead::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:repeating-linear-gradient(90deg,var(--rule-dark) 0 1px,transparent 1px 16.66%);
  opacity:.6;
}
.masthead::after{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,var(--amber) 0 14%,transparent 14%);
}
.masthead__inner{position:relative;z-index:2;}
.crumbs{
  display:flex;flex-wrap:wrap;align-items:center;gap:9px;
  font-family:var(--f-mono);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--steel-300);margin-bottom:clamp(22px,2.6vw,32px);
}
.crumbs a{color:var(--steel-300);text-decoration:none;transition:color .22s var(--ease);}
.crumbs a:hover{color:var(--amber-hi);}
.crumbs [aria-current]{color:var(--bone-100);}
.crumbs__sep{color:var(--steel-400);}

.masthead__grid{display:grid;gap:clamp(24px,3.2vw,52px);align-items:end;}
@media (min-width:940px){.masthead__grid{grid-template-columns:minmax(0,1.22fr) minmax(0,1fr);}}
.masthead__title{
  font-family:var(--f-display);font-weight:700;text-transform:uppercase;
  font-size:clamp(2.5rem,6.4vw,5.2rem);line-height:.9;letter-spacing:-.018em;
  color:var(--bone-050);
}
.masthead__title em{font-style:normal;color:var(--amber);}
.masthead__meta{
  margin-top:clamp(20px,2.4vw,28px);padding-top:20px;border-top:1px solid var(--rule-dark);
  display:flex;flex-wrap:wrap;gap:10px 26px;
  font-family:var(--f-mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-300);
}
.masthead__meta b{color:var(--amber-hi);font-weight:500;}

/* --------------------------------------------------------------------------
   10. SPEC PLATE
   -------------------------------------------------------------------------- */
.plate{
  position:relative;
  background:var(--bone-050);
  border:1px solid var(--rule);
  border-top:2px solid var(--ink-900);
  padding:clamp(24px,2.4vw,34px);
  display:flex;flex-direction:column;gap:14px;
  transition:transform .4s var(--ease-out),border-top-color .3s var(--ease),box-shadow .4s var(--ease-out);
}
.plate::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--amber);transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease-out);
}
.plate:hover{transform:translateY(-4px);border-top-color:var(--amber);box-shadow:0 18px 40px -28px rgba(14,19,22,.55);}
.plate:hover::after{transform:scaleX(1);}
.plate__idx{font-family:var(--f-mono);font-size:.67rem;letter-spacing:.17em;color:var(--amber-ink);font-weight:600;}
.plate__title{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:1.4rem;line-height:1.05;color:var(--ink-900);letter-spacing:.008em;}
.plate p{font-size:.955rem;line-height:1.68;color:var(--ink-600);}
.plate__list{display:grid;gap:8px;margin-top:2px;}
.plate__list li{position:relative;padding-left:20px;font-size:.9rem;line-height:1.6;color:var(--ink-600);}
.plate__list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:var(--amber);}
.band-ink .plate,.band-ink-2 .plate,.on-dark .plate{
  background:var(--ink-800);border-color:var(--rule-dark);border-top-color:var(--bone-300);
}
.band-ink .plate__title,.band-ink-2 .plate__title,.on-dark .plate__title{color:var(--bone-050);}
.band-ink .plate p,.band-ink-2 .plate p,.on-dark .plate p,
.band-ink .plate__list li,.band-ink-2 .plate__list li,.on-dark .plate__list li{color:var(--bone-300);}
.band-ink .plate__idx,.band-ink-2 .plate__idx,.on-dark .plate__idx{color:var(--amber-hi);}
.band-ink .plate:hover,.band-ink-2 .plate:hover,.on-dark .plate:hover{border-top-color:var(--amber);box-shadow:none;}

.plate-grid{display:grid;gap:clamp(16px,1.8vw,26px);}
@media (min-width:660px){.plate-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1040px){.plate-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* --------------------------------------------------------------------------
   11. BAY GRID
   -------------------------------------------------------------------------- */
.bays{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);}
.band-ink .bays,.band-ink-2 .bays,.on-dark .bays{background:var(--rule-dark);border-color:var(--rule-dark);}
@media (min-width:760px){.bays{grid-template-columns:repeat(6,1fr);}}
.bay{
  background:var(--bone-050);padding:clamp(24px,2.5vw,38px);
  display:flex;flex-direction:column;gap:13px;position:relative;
  transition:background .35s var(--ease);
}
.bay:hover{background:#fff;}
.bay--wide{grid-column:span 6;}
.bay--half{grid-column:span 6;}
.bay--third{grid-column:span 6;}
@media (min-width:760px){
  .bay--half{grid-column:span 3;}
  .bay--third{grid-column:span 2;}
  .bay--twothirds{grid-column:span 4;}
}
.bay__no{
  font-family:var(--f-mono);font-size:.65rem;letter-spacing:.17em;color:var(--steel-600);
  display:flex;align-items:center;gap:10px;
}
.bay__no::after{content:"";flex:1;height:1px;background:var(--rule);}
.bay__title{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:clamp(1.26rem,1.8vw,1.7rem);line-height:1.04;color:var(--ink-900);}
.bay p{font-size:.95rem;line-height:1.68;color:var(--ink-600);}
.bay--accent{background:var(--ink-900);}
.bay--accent .bay__title{color:var(--bone-050);}
.bay--accent p{color:var(--bone-300);}
.bay--accent .bay__no{color:var(--amber-hi);}
.bay--accent .bay__no::after{background:var(--rule-dark-strong);}
.bay--accent:hover{background:var(--ink-850);}
.bay--amber{background:var(--amber);}
.bay--amber .bay__title,.bay--amber p{color:#191105;}
.bay--amber .bay__no{color:#2A1705;}
.bay--amber .bay__no::after{background:rgba(25,17,5,.32);}
.bay--amber:hover{background:var(--amber-hi);}
.bay__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:8px;}
.tag{
  font-family:var(--f-mono);font-size:.61rem;letter-spacing:.12em;text-transform:uppercase;
  border:1px solid var(--rule-strong);padding:5px 9px;color:var(--ink-600);
}
.bay--accent .tag{border-color:var(--rule-dark-strong);color:var(--bone-300);}
.bay--amber .tag{border-color:rgba(25,17,5,.42);color:#2A1D08;}

/* --------------------------------------------------------------------------
   12. REGISTER
   -------------------------------------------------------------------------- */
.register{border-top:1px solid var(--rule);}
.band-ink .register,.band-ink-2 .register,.on-dark .register{border-top-color:var(--rule-dark);}
.reg-row{
  border-bottom:1px solid var(--rule);
  display:grid;grid-template-columns:auto 1fr;gap:14px 22px;
  padding:clamp(22px,2.4vw,32px) 0;align-items:start;
  transition:padding-left .35s var(--ease-out);
}
.band-ink .reg-row,.band-ink-2 .reg-row,.on-dark .reg-row{border-bottom-color:var(--rule-dark);}
.reg-row:hover{padding-left:clamp(0px,1vw,16px);}
.reg-row__no{
  font-family:var(--f-mono);font-size:.71rem;letter-spacing:.13em;color:var(--amber-ink);
  font-weight:600;padding-top:.5em;
}
.band-ink .reg-row__no,.band-ink-2 .reg-row__no,.on-dark .reg-row__no{color:var(--amber-hi);}
.reg-row__body{display:grid;gap:12px;}
.reg-row__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;}
.reg-row__title{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:clamp(1.32rem,2.2vw,2rem);line-height:1;color:var(--ink-900);letter-spacing:.004em;}
.band-ink .reg-row__title,.band-ink-2 .reg-row__title,.on-dark .reg-row__title{color:var(--bone-050);}
.reg-row__code{font-family:var(--f-mono);font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;color:var(--steel-600);}
.band-ink .reg-row__code,.band-ink-2 .reg-row__code,.on-dark .reg-row__code{color:var(--steel-300);}
.reg-row p{font-size:.97rem;line-height:1.7;}
.reg-row__specs{display:grid;gap:10px 26px;margin-top:4px;grid-template-columns:1fr;}
@media (min-width:640px){.reg-row__specs{grid-template-columns:repeat(2,minmax(0,1fr));}}
.reg-row__specs li{font-size:.9rem;line-height:1.58;color:var(--ink-600);padding-left:18px;position:relative;}
.band-ink .reg-row__specs li,.band-ink-2 .reg-row__specs li,.on-dark .reg-row__specs li{color:var(--bone-300);}
.reg-row__specs li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:1px;background:var(--amber);}

/* --------------------------------------------------------------------------
   13. STEP RAIL
   -------------------------------------------------------------------------- */
.steprail{position:relative;display:grid;gap:0;}
/* Start and finish the rail level with the first/last node's top edge, so the
   opaque nodes cover the ends and no stub pokes out. */
.steprail::before{
  content:"";position:absolute;left:23px;
  top:clamp(20px,2.2vw,30px);bottom:clamp(20px,2.2vw,30px);width:1px;
  background:linear-gradient(180deg,var(--amber) 0%,var(--rule) 55%,transparent 100%);
}
.band-ink .steprail::before,.band-ink-2 .steprail::before,.on-dark .steprail::before{
  background:linear-gradient(180deg,var(--amber) 0%,var(--rule-dark-strong) 55%,transparent 100%);
}
@media (min-width:900px){.steprail::before{left:31px;}}
.step{
  position:relative;display:grid;grid-template-columns:auto 1fr;gap:18px clamp(18px,2.2vw,32px);
  padding:clamp(20px,2.2vw,30px) 0;
  border-bottom:1px solid var(--rule);
}
.band-ink .step,.band-ink-2 .step,.on-dark .step{border-bottom-color:var(--rule-dark);}
.step:last-child{border-bottom:0;}
.step__node{
  width:46px;height:46px;flex:none;position:relative;z-index:2;
  display:grid;place-items:center;
  background:var(--bone-100);border:1px solid var(--ink-900);
  font-family:var(--f-mono);font-size:.8rem;font-weight:600;color:var(--ink-900);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
@media (min-width:900px){.step__node{width:62px;height:62px;font-size:.92rem;}}
.band-ink .step__node,.band-ink-2 .step__node,.on-dark .step__node{background:var(--ink-900);border-color:var(--bone-300);color:var(--bone-100);}
.step:hover .step__node{background:var(--amber);border-color:var(--amber);color:#14100A;}
.step__title{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:clamp(1.2rem,1.8vw,1.58rem);line-height:1.06;color:var(--ink-900);margin-bottom:10px;}
.band-ink .step__title,.band-ink-2 .step__title,.on-dark .step__title{color:var(--bone-050);}
.step p{font-size:.96rem;line-height:1.7;}
.step__check{margin-top:12px;display:grid;gap:7px;}
.step__check li{position:relative;padding-left:22px;font-size:.89rem;line-height:1.58;color:var(--ink-600);}
.band-ink .step__check li,.band-ink-2 .step__check li,.on-dark .step__check li{color:var(--bone-300);}
.step__check li::before{
  content:"";position:absolute;left:0;top:.34em;width:11px;height:6px;
  border-left:1.5px solid var(--amber);border-bottom:1.5px solid var(--amber);
  transform:rotate(-45deg);
}

/* --------------------------------------------------------------------------
   14. SPLIT FEATURE
   -------------------------------------------------------------------------- */
.split{display:grid;gap:clamp(28px,3.4vw,60px);align-items:center;}
@media (min-width:900px){
  .split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
  .split--wide-media{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);}
  .split--wide-text{grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);}
  .split--flip .split__media{order:-1;}
}
.split--top{align-items:start;}
.split__media{position:relative;}
/* For a short figure beside a long column of prose, let the figure travel
   rather than leave a tall empty gutter. */
@media (min-width:900px){
  .split__media--sticky{position:sticky;top:calc(var(--hdr-h) + 28px);}
}
.frame{position:relative;border:1px solid var(--rule);padding:9px;background:var(--bone-050);}
.band-ink .frame,.band-ink-2 .frame,.on-dark .frame{border-color:var(--rule-dark);background:var(--ink-850);}
.frame__inner{position:relative;overflow:hidden;background:var(--ink-800);}
.frame__inner img{width:100%;height:100%;object-fit:cover;display:block;}
.ar-43{aspect-ratio:4/3;}
.ar-32{aspect-ratio:3/2;}
.ar-11{aspect-ratio:1/1;}
.ar-45{aspect-ratio:4/5;}
.ar-169{aspect-ratio:16/9;}
.ar-34{aspect-ratio:3/4;}
.ar-54{aspect-ratio:5/4;}
.frame__cap{
  margin-top:10px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  font-family:var(--f-mono);font-size:.61rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-600);
  max-width:none;   /* the global measure cap must not force a caption to wrap */
}
.band-ink .frame__cap,.band-ink-2 .frame__cap,.on-dark .frame__cap{color:var(--steel-300);}
.frame__corner{position:absolute;width:14px;height:14px;border:1px solid var(--amber);z-index:2;}
.frame__corner--tl{left:-1px;top:-1px;border-right:0;border-bottom:0;}
.frame__corner--br{right:-1px;bottom:-1px;border-left:0;border-top:0;}

.media-badge{
  position:absolute;left:18px;bottom:18px;z-index:3;
  background:rgba(14,19,22,.93);border-left:2px solid var(--amber);
  padding:10px 14px;color:var(--bone-100);
  font-family:var(--f-mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;line-height:1.55;
  max-width:calc(100% - 36px);
}
.media-badge b{display:block;color:var(--amber-hi);font-weight:600;}

/* --------------------------------------------------------------------------
   15. COMPONENT DIAGRAM
   -------------------------------------------------------------------------- */
.diagram{display:grid;gap:clamp(26px,3vw,48px);}
@media (min-width:960px){.diagram{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:start;}}
.diagram__stage{position:relative;border:1px solid var(--rule-dark);background:var(--ink-850);padding:10px;}
.diagram__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ink-800);}
.diagram__media img{width:100%;height:100%;object-fit:cover;object-position:center;}
.callout{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;transform:translate(-14px,-50%);}
.callout--left{flex-direction:row-reverse;transform:translate(calc(-100% + 14px),-50%);}
.callout__dot{
  width:28px;height:28px;flex:none;display:grid;place-items:center;
  background:var(--amber);color:#14100A;border-radius:50%;
  font-family:var(--f-mono);font-size:.71rem;font-weight:600;
  box-shadow:0 0 0 4px rgba(240,112,15,.22);
}
.callout__lab{
  background:rgba(14,19,22,.93);color:var(--bone-100);
  font-family:var(--f-mono);font-size:.59rem;letter-spacing:.12em;text-transform:uppercase;
  padding:6px 10px;white-space:nowrap;border:1px solid var(--rule-dark-strong);
}
@media (max-width:680px){.callout__lab{display:none;}}
.legend{display:grid;gap:0;border-top:1px solid var(--rule-dark);}
.legend__item{
  display:grid;grid-template-columns:auto 1fr;gap:6px 16px;
  padding:16px 0;border-bottom:1px solid var(--rule-dark);
}
.legend__no{
  width:26px;height:26px;display:grid;place-items:center;flex:none;
  border:1px solid var(--amber);color:var(--amber-hi);
  font-family:var(--f-mono);font-size:.67rem;font-weight:600;border-radius:50%;
}
.legend__t{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:1.1rem;line-height:1.14;color:var(--bone-050);letter-spacing:.02em;align-self:center;}
.legend__d{grid-column:2;font-size:.91rem;line-height:1.62;color:var(--bone-300);}

/* --------------------------------------------------------------------------
   16. FACT STRIP
   -------------------------------------------------------------------------- */
.factstrip{display:grid;gap:1px;background:var(--rule-dark);border-block:1px solid var(--rule-dark);}
@media (min-width:700px){.factstrip{grid-template-columns:repeat(3,1fr);}}
.fact{background:var(--ink-900);padding:clamp(24px,2.6vw,36px);display:grid;gap:11px;align-content:start;}
.fact__k{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.19em;text-transform:uppercase;color:var(--amber-hi);}
.fact__t{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:clamp(1.28rem,1.9vw,1.66rem);line-height:1.04;color:var(--bone-050);}
.fact p{font-size:.92rem;line-height:1.65;color:var(--bone-300);}

/* --------------------------------------------------------------------------
   16a. LEDGER — outlined-numeral purpose rows (about)
   -------------------------------------------------------------------------- */
.ledger{border-top:1px solid var(--rule);}
.band-ink .ledger,.band-ink-2 .ledger,.on-dark .ledger{border-top-color:var(--rule-dark);}
.ledger__row{
  display:grid;grid-template-columns:auto 1fr;
  gap:10px clamp(18px,3.6vw,64px);
  padding:clamp(24px,2.8vw,42px) 0;border-bottom:1px solid var(--rule);
  transition:padding-left .38s var(--ease-out);
}
.band-ink .ledger__row,.band-ink-2 .ledger__row,.on-dark .ledger__row{border-bottom-color:var(--rule-dark);}
.ledger__row:hover{padding-left:clamp(0px,1.1vw,18px);}
.ledger__n{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(2.2rem,4.6vw,4.4rem);line-height:.82;
  color:transparent;-webkit-text-stroke:1.3px var(--steel-500);
  transition:-webkit-text-stroke-color .32s var(--ease),color .32s var(--ease);
  align-self:start;
}
@supports not (-webkit-text-stroke:1px red){.ledger__n{color:var(--steel-400);}}
.ledger__row:hover .ledger__n{-webkit-text-stroke-color:var(--amber);}
.ledger__t{
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  font-size:clamp(1.32rem,2.1vw,1.86rem);line-height:1.06;color:var(--ink-900);
  margin-bottom:12px;letter-spacing:.006em;
}
.band-ink .ledger__t,.band-ink-2 .ledger__t,.on-dark .ledger__t{color:var(--bone-050);}
.ledger__c p{font-size:.98rem;line-height:1.72;}

/* --------------------------------------------------------------------------
   16c. OFFSET — overlapping media and panel (about)
   -------------------------------------------------------------------------- */
.offset{display:grid;gap:0;}
.offset__panel{
  background:var(--ink-900);border:1px solid var(--rule-dark);
  padding:clamp(24px,3vw,50px);
}
.offset__panel .sec-head{margin-bottom:22px;}
.offset__panel p{font-size:.98rem;line-height:1.72;}
@media (max-width:999px){
  .offset__panel{margin-top:-18px;margin-inline:clamp(0px,2vw,26px);position:relative;z-index:2;}
}
@media (min-width:1000px){
  .offset{grid-template-columns:repeat(12,1fr);align-items:center;}
  .offset__media{grid-column:1/7;grid-row:1;}
  .offset__panel{grid-column:6/13;grid-row:1;z-index:2;}
}

/* --------------------------------------------------------------------------
   16b. RISK STACK — symptom cards (home, section 06)
   -------------------------------------------------------------------------- */
.riskstack{display:grid;gap:12px;align-content:start;}
@media (min-width:900px){.riskstack{position:sticky;top:calc(var(--hdr-h) + 26px);}}
.riskstack__h{
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.19em;text-transform:uppercase;
  color:var(--amber-ink);font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--rule-strong);
  margin-bottom:4px;
}
.riskcard{
  background:var(--bone-050);border:1px solid var(--rule);border-left:2px solid var(--steel-500);
  padding:clamp(18px,1.9vw,24px);display:grid;gap:8px;
  transition:border-left-color .3s var(--ease),transform .35s var(--ease-out);
}
.riskcard:hover{border-left-color:var(--amber);transform:translateX(3px);}
.riskcard--flag{border-left-color:var(--amber);}
.riskcard__k{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.17em;text-transform:uppercase;color:var(--steel-600);}
.riskcard__t{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:1.14rem;line-height:1.12;color:var(--ink-900);letter-spacing:.01em;}
.riskcard p:not(.riskcard__k){font-size:.9rem;line-height:1.65;color:var(--ink-600);}

/* --------------------------------------------------------------------------
   17. PULL QUOTE
   -------------------------------------------------------------------------- */
.pull{border-left:3px solid var(--amber);padding-left:clamp(20px,2.4vw,34px);max-width:46ch;}
.pull p{
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  font-size:clamp(1.32rem,2.4vw,2.05rem);line-height:1.12;letter-spacing:.004em;
  color:var(--ink-900);max-width:none;
}
.band-ink .pull p,.band-ink-2 .pull p,.on-dark .pull p{color:var(--bone-050);}
.pull cite{
  display:block;margin-top:16px;font-style:normal;
  font-family:var(--f-mono);font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel-600);
}
.band-ink .pull cite,.band-ink-2 .pull cite,.on-dark .pull cite{color:var(--steel-300);}

/* --------------------------------------------------------------------------
   18. NOTICE
   -------------------------------------------------------------------------- */
.notice{
  border:1px solid var(--rule-strong);border-left:3px solid var(--amber);
  background:var(--bone-200);
  padding:clamp(20px,2.2vw,30px);
  display:grid;gap:11px;
}
.band-ink .notice,.band-ink-2 .notice,.on-dark .notice{background:var(--ink-800);border-color:var(--rule-dark-strong);border-left-color:var(--amber);}
.notice__t{
  font-family:var(--f-mono);font-size:.67rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--amber-ink);font-weight:600;display:flex;align-items:center;gap:10px;
}
.band-ink .notice__t,.band-ink-2 .notice__t,.on-dark .notice__t{color:var(--amber-hi);}
.notice__t svg{width:16px;height:16px;flex:none;}
.notice p{font-size:.92rem;line-height:1.68;color:var(--ink-600);max-width:88ch;}
.band-ink .notice p,.band-ink-2 .notice p,.on-dark .notice p{color:var(--bone-300);}

/* --------------------------------------------------------------------------
   19. CHECK GRID
   -------------------------------------------------------------------------- */
.checkgrid{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);}
@media (min-width:700px){.checkgrid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1080px){.checkgrid--3{grid-template-columns:repeat(3,1fr);}}
.checkitem{
  background:var(--bone-050);padding:clamp(20px,2.1vw,28px);
  display:grid;gap:9px;align-content:start;transition:background .3s var(--ease);
}
.checkitem:hover{background:#fff;}
.checkitem__q{
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  font-size:1.08rem;line-height:1.16;color:var(--ink-900);
  display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;
}
.checkitem__q::before{
  content:"";width:14px;height:8px;margin-top:.32em;
  border-left:1.8px solid var(--amber);border-bottom:1.8px solid var(--amber);
  transform:rotate(-45deg);
}
.checkitem p{font-size:.89rem;line-height:1.62;color:var(--ink-600);}

/* --------------------------------------------------------------------------
   20. ACCORDION
   -------------------------------------------------------------------------- */
.acc{border-top:1px solid var(--rule);}
.band-ink .acc,.band-ink-2 .acc,.on-dark .acc{border-top-color:var(--rule-dark);}
.acc__item{border-bottom:1px solid var(--rule);}
.band-ink .acc__item,.band-ink-2 .acc__item,.on-dark .acc__item{border-bottom-color:var(--rule-dark);}
.acc__btn{
  width:100%;background:none;border:0;cursor:pointer;text-align:left;
  display:grid;grid-template-columns:auto 1fr auto;gap:14px clamp(12px,1.6vw,24px);
  align-items:start;
  padding:clamp(20px,2.1vw,27px) 0;
  transition:padding-left .32s var(--ease-out);
}
.acc__btn:hover{padding-left:clamp(0px,.8vw,12px);}
.acc__no{font-family:var(--f-mono);font-size:.67rem;letter-spacing:.13em;color:var(--amber-ink);font-weight:600;padding-top:.4em;}
.band-ink .acc__no,.band-ink-2 .acc__no,.on-dark .acc__no{color:var(--amber-hi);}
.acc__q{
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  font-size:clamp(1.12rem,1.7vw,1.44rem);line-height:1.14;color:var(--ink-900);letter-spacing:.008em;
}
.band-ink .acc__q,.band-ink-2 .acc__q,.on-dark .acc__q{color:var(--bone-050);}
.acc__ico{
  width:34px;height:34px;flex:none;position:relative;
  border:1px solid var(--rule-strong);margin-top:2px;
  transition:border-color .28s var(--ease),background .28s var(--ease);
}
.band-ink .acc__ico,.band-ink-2 .acc__ico,.on-dark .acc__ico{border-color:var(--rule-dark-strong);}
.acc__ico::before,.acc__ico::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--ink-900);
  transform:translate(-50%,-50%);transition:opacity .28s var(--ease),background .28s var(--ease);
}
.band-ink .acc__ico::before,.band-ink .acc__ico::after,
.band-ink-2 .acc__ico::before,.band-ink-2 .acc__ico::after,
.on-dark .acc__ico::before,.on-dark .acc__ico::after{background:var(--bone-100);}
.acc__ico::before{width:13px;height:1.6px;}
.acc__ico::after{width:1.6px;height:13px;}
.acc__btn:hover .acc__ico{border-color:var(--amber);}
.acc__btn[aria-expanded="true"] .acc__ico{background:var(--amber);border-color:var(--amber);}
.acc__btn[aria-expanded="true"] .acc__ico::after{opacity:0;}
.acc__btn[aria-expanded="true"] .acc__ico::before,
.band-ink .acc__btn[aria-expanded="true"] .acc__ico::before,
.band-ink-2 .acc__btn[aria-expanded="true"] .acc__ico::before{background:#14100A;}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s var(--ease-out);}
.acc__panel[data-open="true"]{grid-template-rows:1fr;}
.acc__panel > div{overflow:hidden;}
.acc__body{padding:0 0 clamp(22px,2.2vw,30px) 0;max-width:80ch;}
@media (min-width:700px){.acc__body{padding-left:calc(2.2rem + 12px);}}
.acc__body p{font-size:.97rem;line-height:1.74;}
.acc__body ul{margin-top:12px;display:grid;gap:8px;}
.acc__body ul li{position:relative;padding-left:20px;font-size:.92rem;line-height:1.62;color:var(--ink-600);}
.band-ink .acc__body ul li,.band-ink-2 .acc__body ul li,.on-dark .acc__body ul li{color:var(--bone-300);}
.acc__body ul li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:1px;background:var(--amber);}

/* --------------------------------------------------------------------------
   21. CONTACT / FORM
   -------------------------------------------------------------------------- */
.contact-grid{display:grid;gap:clamp(34px,4vw,64px);align-items:start;}
@media (min-width:1000px){.contact-grid{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);}}

.cchannel{
  display:grid;grid-template-columns:auto 1fr;gap:4px 18px;
  padding:22px 0;border-bottom:1px solid var(--rule-dark);text-decoration:none;
  transition:padding-left .34s var(--ease-out);
}
.cchannel:hover{padding-left:10px;}
.cchannel__ico{
  width:42px;height:42px;grid-row:span 2;display:grid;place-items:center;
  border:1px solid var(--rule-dark-strong);color:var(--amber-hi);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);
  transition:border-color .28s var(--ease),background .28s var(--ease);
}
.cchannel:hover .cchannel__ico{border-color:var(--amber);background:rgba(240,112,15,.12);}
.cchannel__ico svg{width:19px;height:19px;}
.cchannel__k{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel-300);}
.cchannel__v{
  font-family:var(--f-display);font-weight:600;
  font-size:clamp(1.18rem,1.8vw,1.5rem);line-height:1.18;color:var(--bone-050);
  word-break:break-word;transition:color .24s var(--ease);
}
.cchannel:hover .cchannel__v{color:var(--amber-hi);}

.form{
  background:var(--bone-050);border:1px solid var(--rule);
  border-top:2px solid var(--ink-900);
  padding:clamp(24px,3vw,44px);
}
.form__grid{display:grid;gap:clamp(16px,1.8vw,22px);}
@media (min-width:640px){
  .form__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .field--full{grid-column:1/-1;}
}
.field{display:grid;gap:8px;}
.field label{
  font-family:var(--f-mono);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-600);font-weight:600;
}
.field .req{color:var(--amber-ink);}
.field input,.field select,.field textarea{
  width:100%;padding:14px 15px;
  background:#fff;color:var(--ink-800);
  border:1px solid var(--rule-strong);
  font-family:var(--f-body);font-size:.98rem;line-height:1.5;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease);
  appearance:none;-webkit-appearance:none;border-radius:0;
}
.field textarea{min-height:150px;resize:vertical;}
.field select{
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-700) 50%),linear-gradient(135deg,var(--ink-700) 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px;
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--steel-500);}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(240,112,15,.22);
}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;}
.field__hint{font-size:.78rem;line-height:1.5;color:var(--steel-600);}
.field__err{
  font-family:var(--f-mono);font-size:.67rem;letter-spacing:.05em;color:#A32213;
  display:none;align-items:center;gap:7px;
}
.field__err::before{content:"!";display:grid;place-items:center;width:15px;height:15px;border:1px solid #A32213;border-radius:50%;font-weight:700;font-size:.6rem;}
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea{border-color:#A32213;background:#FEF6F5;}
.field.is-invalid .field__err{display:flex;}
.form__foot{margin-top:clamp(22px,2.4vw,30px);display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;}
.form__note{font-size:.82rem;line-height:1.55;color:var(--steel-600);max-width:44ch;}
.form__status{
  margin-top:18px;padding:16px 18px;border-left:3px solid var(--amber);
  background:var(--bone-200);font-size:.92rem;line-height:1.62;color:var(--ink-700);
  display:none;
}
.form__status.is-visible{display:block;}
.form__status.is-error{border-left-color:#A32213;background:#FDF1EF;color:#7A1A0F;}
.form__status a{color:var(--amber-ink);font-weight:600;}

/* --------------------------------------------------------------------------
   22. CTA BAND
   -------------------------------------------------------------------------- */
.cta{position:relative;background:var(--ink-900);color:var(--bone-200);overflow:hidden;}
.cta::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    repeating-linear-gradient(90deg,var(--rule-dark) 0 1px,transparent 1px 20%),
    radial-gradient(90% 130% at 88% 8%,rgba(240,112,15,.17),transparent 62%);
}
.cta__inner{position:relative;z-index:2;display:grid;gap:clamp(28px,3.2vw,52px);align-items:center;}
@media (min-width:920px){.cta__inner{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}}
.cta__title{
  font-family:var(--f-display);font-weight:700;text-transform:uppercase;
  font-size:clamp(2.1rem,4.8vw,3.9rem);line-height:.94;letter-spacing:-.014em;color:var(--bone-050);
}
.cta__title em{font-style:normal;color:var(--amber);}
.cta__side{display:grid;gap:0;}
.cta__line{
  display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid var(--rule-dark);
  text-decoration:none;color:var(--bone-100);
  font-family:var(--f-mono);font-size:.8rem;letter-spacing:.06em;
  transition:color .25s var(--ease),padding-left .3s var(--ease-out);
  word-break:break-word;
}
.cta__line:hover{color:var(--amber-hi);padding-left:8px;}
.cta__line svg{width:17px;height:17px;flex:none;color:var(--amber-hi);}

/* --------------------------------------------------------------------------
   23. FOOTER
   -------------------------------------------------------------------------- */
.site-footer{background:var(--ink-850);color:var(--bone-300);border-top:1px solid var(--rule-dark);}
.footer-top{padding-block:clamp(48px,5.6vw,84px);}
.footer-grid{display:grid;gap:clamp(32px,3.6vw,56px);}
@media (min-width:760px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (min-width:1060px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.25fr;}}

.footer__brand .brand{margin-bottom:20px;}
.footer__blurb{font-size:.92rem;line-height:1.7;color:var(--steel-300);max-width:40ch;}
.footer__h{
  font-family:var(--f-mono);font-size:.65rem;letter-spacing:.19em;text-transform:uppercase;
  color:var(--amber-hi);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--rule-dark);
  font-weight:600;
}
.footer__nav{display:grid;gap:11px;}
.footer__nav a{
  font-size:.92rem;text-decoration:none;color:var(--bone-300);
  display:inline-flex;align-items:center;gap:9px;width:fit-content;
  transition:color .22s var(--ease);
}
.footer__nav a::before{content:"";width:0;height:1px;background:var(--amber);transition:width .3s var(--ease-out);}
.footer__nav a:hover{color:var(--bone-050);}
.footer__nav a:hover::before{width:12px;}
.footer__nav a[aria-current="page"]{color:var(--amber-hi);}
.footer__nav a[aria-current="page"]::before{width:12px;}

.footer__contact{display:grid;gap:15px;}
.fcontact{display:grid;gap:3px;text-decoration:none;color:var(--bone-100);}
.fcontact__k{font-family:var(--f-mono);font-size:.59rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel-400);}
.fcontact__v{font-size:1.01rem;line-height:1.4;word-break:break-word;transition:color .22s var(--ease);}
.fcontact:hover .fcontact__v{color:var(--amber-hi);}

.social{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.social a,.social span{
  width:40px;height:40px;display:grid;place-items:center;
  border:1px solid var(--rule-dark-strong);color:var(--bone-200);
  transition:border-color .25s var(--ease),color .25s var(--ease),background .25s var(--ease),transform .3s var(--ease-out);
}
.social a:hover{border-color:var(--amber);color:var(--amber-hi);background:rgba(240,112,15,.10);transform:translateY(-2px);}
.social svg{width:17px;height:17px;}
.social span{opacity:.4;cursor:default;}
.social__note{margin-top:12px;font-size:.75rem;line-height:1.58;color:var(--steel-400);max-width:36ch;}

.footer-bottom{border-top:1px solid var(--rule-dark);padding-block:24px;}
.footer-bottom__inner{
  display:flex;flex-wrap:wrap;gap:12px 26px;align-items:center;justify-content:space-between;
  font-family:var(--f-mono);font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel-300);
}
.footer-bottom a{color:var(--bone-200);text-decoration:none;border-bottom:1px solid rgba(240,112,15,.55);padding-bottom:2px;transition:color .22s var(--ease),border-color .22s var(--ease);}
.footer-bottom a:hover{color:var(--amber-hi);border-color:var(--amber-hi);}

/* --------------------------------------------------------------------------
   24. MISC BLOCKS
   -------------------------------------------------------------------------- */
.prose-2col{display:grid;gap:clamp(20px,2.4vw,44px);}
@media (min-width:840px){.prose-2col{grid-template-columns:repeat(2,minmax(0,1fr));}}

.defs{display:grid;gap:0;border-top:1px solid var(--rule);}
.band-ink .defs,.band-ink-2 .defs,.on-dark .defs{border-top-color:var(--rule-dark);}
.def{display:grid;gap:8px 30px;padding:20px 0;border-bottom:1px solid var(--rule);}
.band-ink .def,.band-ink-2 .def,.on-dark .def{border-bottom-color:var(--rule-dark);}
@media (min-width:760px){.def{grid-template-columns:minmax(0,.34fr) minmax(0,.66fr);}}
.def__t{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:1.12rem;line-height:1.14;color:var(--ink-900);letter-spacing:.012em;}
.band-ink .def__t,.band-ink-2 .def__t,.on-dark .def__t{color:var(--bone-050);}
.def p{font-size:.94rem;line-height:1.68;}

.tablewrap{overflow-x:auto;border:1px solid var(--rule);background:var(--bone-050);}
.band-ink .tablewrap,.band-ink-2 .tablewrap,.on-dark .tablewrap{border-color:var(--rule-dark);background:var(--ink-850);}
.matrix{min-width:660px;font-size:.91rem;}
.matrix caption{
  text-align:left;padding:18px 20px;border-bottom:1px solid var(--rule);
  font-family:var(--f-mono);font-size:.65rem;letter-spacing:.17em;text-transform:uppercase;color:var(--steel-600);
}
.band-ink .matrix caption,.band-ink-2 .matrix caption,.on-dark .matrix caption{border-bottom-color:var(--rule-dark);color:var(--steel-300);}
.matrix th,.matrix td{padding:15px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);}
.band-ink .matrix th,.band-ink .matrix td,.band-ink-2 .matrix th,.band-ink-2 .matrix td,
.on-dark .matrix th,.on-dark .matrix td{border-bottom-color:var(--rule-dark);}
.matrix thead th{
  font-family:var(--f-mono);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--bone-100);background:var(--ink-900);font-weight:600;border-bottom-color:var(--ink-900);
}
.matrix tbody th{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:1.01rem;color:var(--ink-900);letter-spacing:.014em;width:24%;}
.band-ink .matrix tbody th,.band-ink-2 .matrix tbody th,.on-dark .matrix tbody th{color:var(--bone-050);}
.matrix tbody td{color:var(--ink-600);}
.band-ink .matrix tbody td,.band-ink-2 .matrix tbody td,.on-dark .matrix tbody td{color:var(--bone-300);}
.matrix tbody tr:last-child th,.matrix tbody tr:last-child td{border-bottom:0;}
.matrix tbody tr:hover td,.matrix tbody tr:hover th{background:rgba(240,112,15,.055);}

.crossnav{display:grid;gap:1px;background:var(--rule-dark);border:1px solid var(--rule-dark);}
@media (min-width:700px){.crossnav{grid-template-columns:repeat(2,1fr);}}
.crossnav__item{
  background:var(--ink-850);padding:clamp(22px,2.4vw,32px);text-decoration:none;
  display:grid;gap:10px;align-content:start;transition:background .32s var(--ease);
}
.crossnav__item:hover{background:var(--ink-800);}
.crossnav__k{font-family:var(--f-mono);font-size:.61rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber-hi);}
.crossnav__t{
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  font-size:clamp(1.26rem,1.9vw,1.62rem);line-height:1.05;color:var(--bone-050);
  display:flex;align-items:center;gap:12px;
}
.crossnav__t .arw{transition:transform .34s var(--ease-out);}
.crossnav__item:hover .crossnav__t .arw{transform:translateX(6px);}
.crossnav__item p{font-size:.92rem;line-height:1.62;color:var(--bone-300);}

/* Tall enough, and framed high enough, that the occupants' heads are never
   clipped by the band edge. */
.imgband{position:relative;height:clamp(300px,40vw,500px);overflow:hidden;background:var(--ink-900);}
.imgband img{width:100%;height:100%;object-fit:cover;object-position:center 18%;}
.imgband__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,19,22,.92) 0%,rgba(14,19,22,.72) 40%,rgba(14,19,22,.32) 100%);}
.imgband__copy{position:absolute;inset:0;display:flex;align-items:center;}
.imgband__copy .shell{width:100%;}
.imgband__t{
  font-family:var(--f-display);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.65rem,4vw,3rem);line-height:.98;color:var(--bone-050);max-width:20ch;letter-spacing:-.01em;
}
.imgband__d{margin-top:14px;color:var(--bone-200);max-width:48ch;font-size:.97rem;line-height:1.64;}

/* --------------------------------------------------------------------------
   25. MOTION
   -------------------------------------------------------------------------- */
[data-reveal]{opacity:0;transform:translateY(22px);}
.js [data-reveal]{transition:opacity .78s var(--ease-out),transform .78s var(--ease-out);}
[data-reveal].is-in{opacity:1;transform:none;}
[data-reveal-delay="1"]{transition-delay:.09s;}
[data-reveal-delay="2"]{transition-delay:.18s;}
[data-reveal-delay="3"]{transition-delay:.27s;}
[data-reveal-delay="4"]{transition-delay:.36s;}
[data-reveal-delay="5"]{transition-delay:.45s;}

.js [data-mask] img{
  clip-path:inset(0 0 100% 0);
  transition:clip-path 1.05s var(--ease-out),transform 1.2s var(--ease-out);
  transform:scale(1.05);
}
.js [data-mask].is-in img{clip-path:inset(0 0 0 0);transform:scale(1);}

html:not(.js) [data-reveal]{opacity:1;transform:none;}
html:not(.js) .acc__panel{grid-template-rows:1fr;}

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

/* --------------------------------------------------------------------------
   25b. SOLUTIONS PAGE — sticky index + spec sheets
   -------------------------------------------------------------------------- */
.sol-layout{display:grid;gap:clamp(32px,3.4vw,58px);}
@media (min-width:1060px){
  .sol-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;}
}
.solindex{position:relative;}
@media (min-width:1060px){.solindex{position:sticky;top:calc(var(--hdr-h) + 26px);}}
.solindex__h{
  font-family:var(--f-mono);font-size:.65rem;letter-spacing:.19em;text-transform:uppercase;
  color:var(--amber-ink);font-weight:600;padding-bottom:12px;border-bottom:1px solid var(--rule-strong);
}
.solindex__list{display:grid;}
.solindex__list a{
  display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:baseline;
  padding:12px 0;border-bottom:1px solid var(--rule);text-decoration:none;
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  font-size:1.02rem;line-height:1.12;letter-spacing:.02em;color:var(--ink-700);
  transition:color .22s var(--ease),padding-left .3s var(--ease-out);
}
.solindex__list a:hover{color:var(--amber-ink);padding-left:7px;}
.solindex__n{font-family:var(--f-mono);font-size:.61rem;letter-spacing:.13em;color:var(--steel-600);font-weight:500;}

.specsheet{
  border-top:2px solid var(--ink-900);
  padding-block:clamp(34px,3.8vw,58px);
  scroll-margin-top:calc(var(--hdr-h) + 22px);
}
.specsheet:first-child{padding-top:clamp(24px,2.4vw,34px);}
.specsheet__code{
  font-family:var(--f-mono);font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--amber-ink);font-weight:600;display:block;margin-bottom:12px;
}
.specsheet__title{
  font-family:var(--f-display);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.85rem,3.4vw,2.85rem);line-height:.98;letter-spacing:-.008em;color:var(--ink-900);
  margin-bottom:16px;
}
.specsheet__lede{font-size:clamp(1.02rem,.5vw + .92rem,1.18rem);line-height:1.62;color:var(--ink-600);max-width:70ch;}
.specsheet__media{margin-block:clamp(24px,2.6vw,34px);}

.spec-cols{
  display:grid;gap:clamp(20px,2.2vw,34px);
  margin-top:clamp(26px,2.8vw,38px);
  padding-top:clamp(22px,2.4vw,30px);border-top:1px solid var(--rule);
}
@media (min-width:820px){.spec-cols{grid-template-columns:repeat(3,minmax(0,1fr));}}
.spec-col h3{
  font-family:var(--f-mono);font-size:.64rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--amber-ink);font-weight:600;margin-bottom:12px;padding-bottom:9px;
  border-bottom:1px solid var(--rule);
}
.spec-col p{font-size:.93rem;line-height:1.68;color:var(--ink-600);}

.spec-lists{
  display:grid;gap:clamp(20px,2.2vw,34px);
  margin-top:clamp(24px,2.6vw,34px);
}
@media (min-width:820px){.spec-lists{grid-template-columns:repeat(3,minmax(0,1fr));}}
.spec-lists h3{
  font-family:var(--f-mono);font-size:.64rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--ink-900);font-weight:600;margin-bottom:12px;padding-bottom:9px;
  border-bottom:1px solid var(--rule-strong);
}
.spec-lists ul{display:grid;gap:9px;}
.spec-lists li{position:relative;padding-left:19px;font-size:.9rem;line-height:1.6;color:var(--ink-600);}
.spec-lists li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:1px;background:var(--amber);}

.ask{
  margin-top:clamp(24px,2.6vw,34px);
  background:var(--ink-900);color:var(--bone-300);
  padding:clamp(22px,2.4vw,32px);
  border-left:3px solid var(--amber);
}
.ask h3{
  font-family:var(--f-mono);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--amber-hi);font-weight:600;margin-bottom:16px;
}
.ask ol{display:grid;gap:11px;counter-reset:ask;}
.ask li{
  counter-increment:ask;position:relative;padding-left:34px;
  font-size:.93rem;line-height:1.62;color:var(--bone-200);
}
.ask li::before{
  content:counter(ask,decimal-leading-zero);
  position:absolute;left:0;top:.06em;
  font-family:var(--f-mono);font-size:.66rem;font-weight:600;color:var(--amber-hi);
  letter-spacing:.05em;
}

/* --------------------------------------------------------------------------
   25c. APPLICATIONS PAGE — offset application blocks
   -------------------------------------------------------------------------- */
.appblock{
  position:relative;padding-block:clamp(34px,4vw,64px);
  border-top:1px solid var(--rule);
  scroll-margin-top:calc(var(--hdr-h) + 22px);
}
.band-ink .appblock,.band-ink-2 .appblock{border-top-color:var(--rule-dark);}
.appblock__grid{display:grid;gap:clamp(22px,2.8vw,46px);align-items:start;}
@media (min-width:900px){
  .appblock__grid{grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);}
  .appblock--rev .appblock__grid{grid-template-columns:minmax(0,.58fr) minmax(0,.42fr);}
}
.appblock__mark{
  font-family:var(--f-display);font-weight:700;
  font-size:clamp(3rem,7vw,6rem);line-height:.78;
  color:transparent;-webkit-text-stroke:1.4px var(--steel-500);
  margin-bottom:14px;display:block;
}
@supports not (-webkit-text-stroke:1px red){.appblock__mark{color:var(--steel-400);}}
.appblock:hover .appblock__mark{-webkit-text-stroke-color:var(--amber);}
.appblock__title{
  font-family:var(--f-display);font-weight:700;text-transform:uppercase;
  font-size:clamp(1.75rem,3.1vw,2.6rem);line-height:1;letter-spacing:-.006em;color:var(--ink-900);
  margin-bottom:12px;
}
.band-ink .appblock__title,.band-ink-2 .appblock__title{color:var(--bone-050);}
.appblock__code{
  font-family:var(--f-mono);font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--steel-600);display:block;margin-bottom:16px;
}
.band-ink .appblock__code,.band-ink-2 .appblock__code{color:var(--steel-300);}
.appblock__cols{display:grid;gap:clamp(16px,1.8vw,28px);margin-top:clamp(18px,2vw,26px);}
@media (min-width:620px){.appblock__cols{grid-template-columns:repeat(2,minmax(0,1fr));}}
.appblock__cols h3{
  font-family:var(--f-mono);font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--amber-ink);font-weight:600;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--rule);
}
.band-ink .appblock__cols h3,.band-ink-2 .appblock__cols h3{color:var(--amber-hi);border-bottom-color:var(--rule-dark);}
.appblock__cols ul{display:grid;gap:8px;}
.appblock__cols li{position:relative;padding-left:19px;font-size:.89rem;line-height:1.6;color:var(--ink-600);}
.band-ink .appblock__cols li,.band-ink-2 .appblock__cols li{color:var(--bone-300);}
.appblock__cols li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:1px;background:var(--amber);}

.appfigure{margin-block:clamp(30px,3.4vw,52px);}

/* Factor grid (applications) */
.factors{display:grid;gap:1px;background:var(--rule-dark);border:1px solid var(--rule-dark);}
@media (min-width:640px){.factors{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1000px){.factors{grid-template-columns:repeat(3,1fr);}}
.factor{background:var(--ink-850);padding:clamp(22px,2.3vw,30px);display:grid;gap:10px;align-content:start;}
.factor__k{font-family:var(--f-mono);font-size:.61rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber-hi);}
.factor__t{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:1.22rem;line-height:1.08;color:var(--bone-050);}
.factor p{font-size:.9rem;line-height:1.64;color:var(--bone-300);}

/* --------------------------------------------------------------------------
   25d. BUYER'S GUIDE — decision pathway
   -------------------------------------------------------------------------- */
.pathway{display:grid;gap:0;border:1px solid var(--rule);background:var(--bone-050);}
.path-node{
  display:grid;grid-template-columns:auto 1fr;gap:12px clamp(16px,2vw,28px);
  padding:clamp(18px,2vw,26px) clamp(18px,2.2vw,30px);
  border-bottom:1px solid var(--rule);position:relative;
}
.path-node:last-child{border-bottom:0;}
.path-node__q{
  width:34px;height:34px;flex:none;display:grid;place-items:center;
  border:1px solid var(--ink-900);background:var(--ink-900);color:var(--amber-hi);
  font-family:var(--f-mono);font-size:.68rem;font-weight:600;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);
}
.path-node__t{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:1.16rem;line-height:1.12;color:var(--ink-900);margin-bottom:8px;letter-spacing:.01em;}
.path-node p{font-size:.9rem;line-height:1.64;color:var(--ink-600);}
.path-branch{display:grid;gap:10px;margin-top:12px;}
@media (min-width:700px){.path-branch{grid-template-columns:repeat(2,minmax(0,1fr));}}
.path-branch > div{
  border:1px solid var(--rule);border-left:2px solid var(--steel-500);
  padding:13px 15px;background:var(--bone-100);
}
.path-branch > div:first-child{border-left-color:var(--amber);}
.path-branch b{
  display:block;font-family:var(--f-mono);font-size:.61rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--amber-ink);margin-bottom:6px;font-weight:600;
}
.path-branch p{font-size:.87rem;line-height:1.58;}

/* --------------------------------------------------------------------------
   25e. QUALITY & SAFETY — inspection rows
   -------------------------------------------------------------------------- */
.inspect{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);}
@media (min-width:760px){.inspect{grid-template-columns:repeat(2,1fr);}}
.inspect__item{
  background:var(--bone-050);padding:clamp(20px,2.2vw,30px);
  display:grid;gap:10px;align-content:start;border-top:2px solid transparent;
  transition:border-top-color .3s var(--ease),background .3s var(--ease);
}
.inspect__item:hover{border-top-color:var(--amber);background:#fff;}
.inspect__k{
  font-family:var(--f-mono);font-size:.62rem;letter-spacing:.17em;text-transform:uppercase;
  color:var(--steel-600);display:flex;align-items:center;gap:9px;
}
.inspect__k::before{content:"";width:9px;height:9px;background:var(--amber);flex:none;transform:rotate(45deg);}
.inspect__t{font-family:var(--f-display);font-weight:600;text-transform:uppercase;font-size:1.2rem;line-height:1.1;color:var(--ink-900);}
.inspect__item p{font-size:.91rem;line-height:1.66;color:var(--ink-600);}
.inspect__flag{
  margin-top:4px;font-family:var(--f-mono);font-size:.63rem;letter-spacing:.1em;
  color:#8A2015;border:1px solid rgba(138,32,21,.4);background:rgba(138,32,21,.06);
  padding:7px 10px;display:inline-block;line-height:1.5;
}

/* --------------------------------------------------------------------------
   25f. FAQ PAGE — group jump nav
   -------------------------------------------------------------------------- */
.jumpnav{display:flex;flex-wrap:wrap;gap:9px;}
.jumpnav a{
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;
  border:1px solid var(--rule-dark-strong);padding:10px 14px;color:var(--bone-200);text-decoration:none;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);
  transition:border-color .24s var(--ease),background .24s var(--ease),color .24s var(--ease);
}
.jumpnav a:hover{border-color:var(--amber);background:rgba(240,112,15,.12);color:var(--amber-hi);}
.faqgroup{scroll-margin-top:calc(var(--hdr-h) + 22px);}
.faqgroup + .faqgroup{margin-top:clamp(40px,4.4vw,72px);}
.faqgroup__h{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  margin-bottom:clamp(18px,2vw,26px);
}
.faqgroup__n{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.17em;color:var(--amber-ink);font-weight:600;}
.band-ink .faqgroup__n,.band-ink-2 .faqgroup__n{color:var(--amber-hi);}

/* --------------------------------------------------------------------------
   26. RESPONSIVE SAFETY
   -------------------------------------------------------------------------- */
@media (max-width:520px){
  .hero__media{aspect-ratio:4/3.9;}
  .btn{width:100%;justify-content:space-between;}
  .btn-row{width:100%;}
  .form__foot{flex-direction:column;align-items:stretch;}
  .form__foot .btn{width:100%;}
  .sec-head{grid-template-columns:1fr;gap:10px;}
  .sec-idx{padding-top:0;}
}
@media (max-width:400px){
  :root{--gutter:18px;}
  .brand__name{font-size:1.02rem;}
  .brand__sub{letter-spacing:.16em;}
}

/* --------------------------------------------------------------------------
   27. DARK-CONTEXT GUARANTEE
   Every container that paints a dark ground must also repaint every text
   token that defaults to an ink colour. Listed explicitly so nothing can be
   left as dark-on-dark.
   -------------------------------------------------------------------------- */
.band-ink,.band-ink-2,.cta,.hero,.masthead,.imgband,.site-footer,.on-dark,.drawer{
  color:var(--bone-300);
}
.band-ink .d1,.band-ink .d2,.band-ink .d3,.band-ink .d4,.band-ink .d5,
.band-ink h1,.band-ink h2,.band-ink h3,.band-ink h4,
.band-ink-2 .d1,.band-ink-2 .d2,.band-ink-2 .d3,.band-ink-2 .d4,.band-ink-2 .d5,
.band-ink-2 h1,.band-ink-2 h2,.band-ink-2 h3,.band-ink-2 h4,
.cta .d1,.cta .d2,.cta .d3,.cta .d4,.cta .d5,.cta h2,.cta h3,.cta h4,
.hero .d1,.hero .d2,.hero .d3,.hero .d4,.hero .d5,.hero h1,.hero h2,.hero h3,
.masthead .d1,.masthead .d2,.masthead .d3,.masthead .d4,.masthead .d5,
.masthead h1,.masthead h2,.masthead h3,
.imgband h2,.imgband h3,
.on-dark .d1,.on-dark .d2,.on-dark .d3,.on-dark .d4,.on-dark .d5,
.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{
  color:var(--bone-050);
}
.band-ink .lede,.band-ink-2 .lede,.cta .lede,.hero .lede,.masthead .lede,
.imgband .lede,.on-dark .lede{color:var(--bone-300);}
.band-ink > * p,.band-ink-2 > * p,.cta p,.hero p,.masthead p,.imgband p,.on-dark p{color:var(--bone-300);}
.band-ink .sec-kicker,.band-ink-2 .sec-kicker,.cta .sec-kicker,.hero .sec-kicker,
.masthead .sec-kicker,.on-dark .sec-kicker{color:var(--steel-300);}
.band-ink .sec-kicker::after,.band-ink-2 .sec-kicker::after,.cta .sec-kicker::after,
.hero .sec-kicker::after,.masthead .sec-kicker::after,.on-dark .sec-kicker::after{background:var(--rule-dark-strong);}
.band-ink .sec-idx,.band-ink-2 .sec-idx,.cta .sec-idx,.hero .sec-idx,
.masthead .sec-idx,.on-dark .sec-idx{color:var(--amber-hi);}
.band-ink .sec-rule,.band-ink-2 .sec-rule,.cta .sec-rule,.on-dark .sec-rule{background:var(--rule-dark);}
.band-ink .text-steel,.band-ink-2 .text-steel,.cta .text-steel,.hero .text-steel,
.masthead .text-steel,.on-dark .text-steel{color:var(--steel-300);}
.band-ink .amber,.band-ink-2 .amber,.cta .amber,.hero .amber,.masthead .amber,.on-dark .amber{color:var(--amber-hi);}
.band-ink .prose-link,.band-ink-2 .prose-link,.cta .prose-link,.hero .prose-link,
.masthead .prose-link,.on-dark .prose-link{color:var(--amber-hi);}
.band-ink .prose-link:hover,.band-ink-2 .prose-link:hover,.cta .prose-link:hover,
.on-dark .prose-link:hover{color:#FFA95E;}
.band-ink .link-sweep,.band-ink-2 .link-sweep,.cta .link-sweep,.hero .link-sweep,
.masthead .link-sweep,.on-dark .link-sweep{color:var(--amber-hi);}
.band-ink .step__check li,.band-ink-2 .step__check li,.on-dark .step__check li{color:var(--bone-300);}

/* Light-ground bands must equally repaint anything the dark rules could
   otherwise inherit through a shared component class. */
.band-bone,.band-bone-2,.band-paper{color:var(--fg);}
.band-bone .d1,.band-bone .d2,.band-bone .d3,.band-bone .d4,.band-bone .d5,
.band-bone h2,.band-bone h3,.band-bone h4,
.band-bone-2 .d1,.band-bone-2 .d2,.band-bone-2 .d3,.band-bone-2 .d4,.band-bone-2 .d5,
.band-bone-2 h2,.band-bone-2 h3,.band-bone-2 h4,
.band-paper .d2,.band-paper .d3,.band-paper .d4,.band-paper h2,.band-paper h3{color:var(--ink-900);}
.band-bone p,.band-bone-2 p,.band-paper p{color:var(--ink-600);}
.band-bone .lede,.band-bone-2 .lede,.band-paper .lede{color:var(--ink-600);}
.band-bone .sec-kicker,.band-bone-2 .sec-kicker,.band-paper .sec-kicker{color:var(--steel-600);}
.band-bone .sec-idx,.band-bone-2 .sec-idx,.band-paper .sec-idx{color:var(--amber-ink);}
/* …but a dark island sitting inside a light band keeps its own palette. */
.band-bone .bay--accent p,.band-bone-2 .bay--accent p,
.band-bone .crossnav__item p,.band-bone-2 .crossnav__item p,
.band-ink .bay--accent p,.band-ink-2 .bay--accent p{color:var(--bone-300);}
.band-bone .bay--amber p,.band-bone-2 .bay--amber p,
.band-ink .bay--amber p,.band-ink-2 .bay--amber p{color:#191105;}
.band-ink .imgband__d,.band-ink-2 .imgband__d{color:var(--bone-200);}
.hero .readout__d{color:var(--steel-300);}
.hero .hero__pin,.hero .hero__pin b{color:inherit;}

/* Light islands that may sit inside a dark band keep ink text. */
.band-ink .form p,.band-ink-2 .form p,.cta .form p,.on-dark .form p,
.band-ink .form__note,.band-ink-2 .form__note,.on-dark .form__note{color:var(--steel-600);}
.band-ink .form label,.band-ink-2 .form label,.on-dark .form label{color:var(--ink-600);}
.band-ink .checkitem p,.band-ink-2 .checkitem p,.on-dark .checkitem p,
.band-ink .riskcard p,.band-ink-2 .riskcard p,.on-dark .riskcard p{color:var(--ink-600);}
.band-ink .checkitem__q,.band-ink-2 .checkitem__q,.on-dark .checkitem__q,
.band-ink .riskcard__t,.band-ink-2 .riskcard__t,.on-dark .riskcard__t{color:var(--ink-900);}
.band-ink .bay:not(.bay--accent):not(.bay--amber) p,
.band-ink-2 .bay:not(.bay--accent):not(.bay--amber) p{color:var(--ink-600);}
.band-ink .bay:not(.bay--accent):not(.bay--amber) .bay__title,
.band-ink-2 .bay:not(.bay--accent):not(.bay--amber) .bay__title{color:var(--ink-900);}

/* --------------------------------------------------------------------------
   28. COMPONENT COLOUR RESTORATION
   The band-level guarantees above are deliberately broad, which means they can
   outrank a component's own colour. Doubling the class raises specificity just
   enough for the component to win back its accent — without !important.
   -------------------------------------------------------------------------- */
.notice__t.notice__t{color:var(--amber-ink);}
.band-ink .notice__t.notice__t,.band-ink-2 .notice__t.notice__t,
.cta .notice__t.notice__t,.on-dark .notice__t.notice__t{color:var(--amber-hi);}

.plate__idx.plate__idx{color:var(--amber-ink);}
.band-ink .plate__idx.plate__idx,.band-ink-2 .plate__idx.plate__idx,
.on-dark .plate__idx.plate__idx{color:var(--amber-hi);}

.bay__no.bay__no{color:var(--steel-600);}
.bay--accent .bay__no.bay__no{color:var(--amber-hi);}
.bay--amber .bay__no.bay__no{color:#2A1705;}

.riskstack__h.riskstack__h{color:var(--amber-ink);}
.riskcard__k.riskcard__k{color:var(--steel-600);}
.inspect__k.inspect__k{color:var(--steel-600);}
.factor__k.factor__k{color:var(--amber-hi);}
.fact__k.fact__k{color:var(--amber-hi);}
.solindex__h.solindex__h{color:var(--amber-ink);}
.footer__h.footer__h{color:var(--amber-hi);}
.form__note.form__note{color:var(--steel-600);}
.form__status.form__status{color:var(--ink-700);}
.form__status.form__status.is-error{color:#7A1A0F;}

.frame__cap.frame__cap{color:var(--steel-600);}
.band-ink .frame__cap.frame__cap,.band-ink-2 .frame__cap.frame__cap,
.hero .frame__cap.frame__cap,.cta .frame__cap.frame__cap,
.on-dark .frame__cap.frame__cap{color:var(--steel-300);}

/* Headings inside components — these are the ones a band rule could black out. */
.ask.ask h3{color:var(--amber-hi);}
.ask.ask li{color:var(--bone-200);}
.spec-col.spec-col h3{color:var(--amber-ink);}
.spec-lists.spec-lists h3{color:var(--ink-900);}
.appblock__cols.appblock__cols h3{color:var(--amber-ink);}
.band-ink .appblock__cols.appblock__cols h3,
.band-ink-2 .appblock__cols.appblock__cols h3{color:var(--amber-hi);}
.legend .legend__t.legend__t{color:var(--bone-050);}
.factor .factor__t.factor__t{color:var(--bone-050);}
.crossnav .crossnav__t.crossnav__t{color:var(--bone-050);}
.bay--accent .bay__title.bay__title{color:var(--bone-050);}
.bay--amber .bay__title.bay__title{color:#191105;}
