/* ==========================================================================
   Agility NDE Ltd — "The Case"
   --------------------------------------------------------------------------
   base.css owns the reset, shell, header/nav mechanics, buttons, footer
   skeleton, reveals, preloader shell and the hero headline contract.
   This file supplies the palette, the open case, the wells, the etched label
   and each section's own rhythm.

   GROUND: solid #ffffff. No bone, no cream, no warm off-white anywhere.
   Rhythm: white → ink rail → white → ink → white → white (ink shelf)
           → brand blue → white → white (ink label) → ink footer.
   ========================================================================== */

:root{
  /* ---------- palette, from the brief ---------- */
  --ink:        #0d141c;
  --ink-2:      #111922;
  --ink-3:      #1a222b;
  --white:      #ffffff;
  --blue:       #0b3e7a;
  --blue-deep:  #082f5d;
  --signal:     #f2c230;
  --steel:      #69747f;
  --foam:       #171d23;

  /* ---------- base.css contract ---------- */
  --surface:    #ffffff;
  --surface-2:  #ffffff;
  --text:       #f4f6f7;
  --muted:      rgba(244,246,247,.58);
  --ink-text:   #0d141c;
  --ink-mute:   #69747f;
  --accent:     #0b3e7a;
  --accent-lit: #8fb8e2;
  --accent-2:   #f2c230;
  --line:       rgba(255,255,255,.13);
  --line-d:     rgba(13,20,28,.13);

  /* ---------- type ---------- */
  --font-display: "Rajdhani", "Arial Narrow", sans-serif;
  --font-body:    "Noto Sans", system-ui, -apple-system, sans-serif;
  --font-mono:    "Nova Mono", ui-monospace, "SFMono-Regular", monospace;

  --wrap-max: 1240px;
  --pad:      clamp(1.15rem, 4vw, 2.5rem);
  --radius:   10px;
  --ease:     cubic-bezier(.22,.61,.36,1);
}

html{ scroll-padding-top:92px; }
body{ background:var(--white); color:var(--ink); font-size:16.5px; }
::selection{ background:var(--blue); color:#fff; }

.skip{
  position:absolute; left:.5rem; top:.5rem; z-index:10000;
  width:1px; height:1px; overflow:hidden; clip-path:inset(50%);
  background:var(--signal); color:var(--ink);
  padding:.6rem 1rem; font-family:var(--font-mono); font-size:.72rem;
}
.skip:focus{ width:auto; height:auto; clip-path:none; overflow:visible; }

main :focus-visible{ outline-color:var(--blue); }
.sect--ink :focus-visible,
.sect--blue :focus-visible,
.drawer :focus-visible,
.cert :focus-visible,
.label :focus-visible,
.case :focus-visible,
.foot :focus-visible{ outline-color:var(--signal); }

/* ---------- brand / header ---------------------------------------------- */
/* the page body is ink-on-white; every dark surface must restate its colour */
.hdr,.nav,.foot{ color:var(--text); }
.brand{ display:flex; align-items:center; gap:.62rem; min-width:0; }
.brand__mark{ width:30px; height:30px; flex:0 0 auto; color:var(--text); }
.brand__txt{ display:flex; flex-direction:column; min-width:0; line-height:1; }
.brand__name{
  font-family:var(--font-display); font-weight:700;
  font-size:1.2rem; letter-spacing:.075em; text-transform:uppercase;
  color:var(--text); white-space:nowrap;
}
.brand__sub{
  font-family:var(--font-mono); font-size:.48rem; letter-spacing:.15em;
  text-transform:uppercase; color:rgba(255,255,255,.46);
  margin-top:.36rem; white-space:nowrap;
}
.nav__link{ font-family:var(--font-body); letter-spacing:.005em; }
.mega{ border-top:2px solid var(--signal); }
@media (min-width:1024px){
  .mega--wide .mega__cols{ grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (min-width:1024px){ .nav__foot{ display:none; } }
@media (min-width:1024px) and (max-width:1180px){
  .nav__link{ padding-inline:.5rem; font-size:.8rem; }
  .brand__name{ font-size:1.08rem; }
  .brand__mark{ width:26px; height:26px; }
}
@media (max-width:1119px){ .brand__sub{ display:none; } }

/* ---------- preloader motif --------------------------------------------- */
.pre__mark svg{ width:min(170px,44vw); height:auto; display:block; }
.pre__case,.pre__handle{ stroke:rgba(255,255,255,.34); stroke-width:1.2; }
.pre__latch{ fill:var(--signal); }
.pre__well{
  fill:var(--signal); opacity:.9;
  transform-box:fill-box; transform-origin:50% 100%;
  animation:wellIn 1.7s var(--ease) infinite alternate;
}
.pre__well:nth-child(3){ animation-delay:.12s; }
.pre__well:nth-child(4){ animation-delay:.26s; }
.pre__well:nth-child(5){ animation-delay:.4s; }
@keyframes wellIn{
  0%,12%{ transform:scaleY(.07); opacity:.3; }
  58%,100%{ transform:scaleY(1); opacity:1; }
}

/* ---------- shared section grounds -------------------------------------- */
.sect--white{ background:var(--white); color:var(--ink); --etch:var(--steel); }
.sect--ink{ background:var(--ink); color:var(--text); --etch:rgba(255,255,255,.52); }
.sect--blue{ background:var(--blue); color:#fff; --etch:rgba(255,255,255,.62); }
.sect--ink .sect__lead,.sect--blue .sect__lead{ color:rgba(255,255,255,.68); }
.sect__num{ display:flex; align-items:center; gap:.55rem; }
.sect__num::before{ content:""; width:2px; height:12px; background:var(--signal); flex:0 0 auto; }
.sect--ink .sect__num,.sect--blue .sect__num{ color:rgba(255,255,255,.62); }
.sect__h2{ letter-spacing:-.005em; line-height:1.02; text-wrap:balance; }

/* the etched label — the motif, reused under every image and technique */
.etch{
  display:flex; align-items:flex-start; gap:.45rem;
  margin-top:.6rem; min-width:0; overflow-wrap:anywhere;
  font-family:var(--font-mono); font-size:clamp(.5rem,.62vw,.58rem);
  line-height:1.45; letter-spacing:.12em; text-transform:uppercase;
  color:var(--etch,var(--steel));
}
.etch i{ flex:0 0 auto; width:2px; height:9px; margin-top:.26em; background:var(--signal); }

/* small arrow link */
.link{
  display:inline-flex; align-items:center; gap:.45rem;
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.11em;
  text-transform:uppercase; color:var(--blue);
  border-bottom:1px solid rgba(11,62,122,.28); padding-bottom:.28rem;
  transition:color .2s, border-color .2s;
}
.link svg{ width:12px; height:12px; flex:0 0 auto; }
.link:hover{ color:var(--ink); border-color:var(--signal); }
.sect--ink .link,.sect--blue .link{ color:var(--signal); border-color:rgba(242,194,48,.4); }
.sect--ink .link:hover,.sect--blue .link:hover{ color:#fff; }

/* buttons on white need a visible ghost border */
.hero .btn--ghost,.sect--white .btn--ghost{ border-color:rgba(13,20,28,.24); color:var(--ink); }
.hero .btn--ghost:hover,.sect--white .btn--ghost:hover{
  border-color:var(--blue); color:var(--blue); background:transparent;
}

/* ---------- hero -------------------------------------------------------- */
.hero{
  position:relative; overflow:clip;
  background:var(--white); color:var(--ink);
  padding-block:clamp(2.4rem,5vw,4.2rem) clamp(2.6rem,5vw,4.4rem);
}
.hero__grid{
  display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:clamp(2rem,4.5vw,4rem); align-items:center;
}
.hero__copy{ min-width:0; }
.hero__kick{
  display:flex; align-items:center; gap:.6rem; margin-bottom:clamp(1rem,2.4vw,1.6rem);
  font-family:var(--font-mono); font-size:.64rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--steel);
}
.hero__kick i{ width:2px; height:14px; background:var(--signal); flex:0 0 auto; }
.hero__h1{
  font-size:var(--h1-size, clamp(2rem,9.2vw,5.4rem));
  letter-spacing:-.012em; line-height:.94; color:var(--ink);
}
.hero__lead{
  margin-top:clamp(1.2rem,2.6vw,1.7rem); max-width:46ch;
  font-size:1.02rem; line-height:1.7; color:var(--steel);
}
.hero__cta{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:clamp(1.4rem,3vw,1.9rem); }
.hero__trust{
  display:flex; flex-wrap:wrap; gap:.55rem 1.15rem;
  margin-top:clamp(1.6rem,3.6vw,2.2rem); padding-top:1.15rem;
  border-top:1px solid var(--line-d);
  font-family:var(--font-mono); font-size:.57rem; letter-spacing:.13em;
  text-transform:uppercase; color:var(--steel);
}
.hero__trust span{ display:inline-flex; align-items:center; gap:.5rem; }
.hero__trust span::before{ content:""; width:4px; height:4px; background:var(--signal); flex:0 0 auto; }
.hero__case{ min-width:0; position:relative; }

/* the case: dark foam panel, handle, two latches, three wells */
.case{
  --etch:rgba(255,255,255,.52);
  position:relative; padding:clamp(.7rem,1.6vw,1.05rem); border-radius:18px;
  background:
    radial-gradient(120% 90% at 20% 0%, rgba(255,255,255,.055), transparent 60%),
    linear-gradient(155deg,#1e262e 0%,#151b21 55%,#10161c 100%);
  box-shadow:
    0 44px 70px -46px rgba(13,20,28,.62),
    inset 0 1px 0 rgba(255,255,255,.1),
    0 0 0 1px rgba(13,20,28,.5);
}
.case::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.05) .5px, transparent .5px);
  background-size:3px 3px; opacity:.5;
}
.case__handle{
  position:absolute; top:-16px; left:50%; transform:translateX(-50%);
  width:32%; height:19px; z-index:0;
  border:2px solid #39434d; border-bottom:0; border-radius:11px 11px 0 0;
  background:linear-gradient(180deg,#1b222a,#12181e);
}
.case__latch{
  position:absolute; bottom:-7px; z-index:3;
  width:44px; height:13px; border-radius:3px;
  background:linear-gradient(180deg,#98a2ab,#5c666f 55%,#3a434b);
  box-shadow:0 2px 5px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.45);
}
.case__latch i{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:7px; height:7px; border-radius:50%;
  background:#20272e; box-shadow:inset 0 1px 2px rgba(0,0,0,.8);
}
.case__latch--l{ left:16%; }
.case__latch--r{ right:16%; }
.case__in{
  position:relative; z-index:1;
  padding:clamp(.65rem,1.5vw,1rem);
  border-radius:11px;
  background:linear-gradient(160deg,#1a2128,#12181e);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    inset 0 8px 22px -12px rgba(0,0,0,.9);
}
.case__plate{
  display:flex; justify-content:space-between; gap:1rem; margin-bottom:.8rem;
  font-family:var(--font-mono); font-size:.51rem; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(255,255,255,.34);
}
.case__plate span:last-child{ color:var(--signal); }
.case__wells{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(.55rem,1.2vw,.85rem);
}
.well--wide{ grid-column:1/-1; }
.case__cap{ justify-content:flex-end; margin-top:.9rem; }

/* a well: recessed tray, product cut-out, etched label */
.well{ margin:0; min-width:0; }
.well__tray{
  display:block;
  position:relative; overflow:hidden; isolation:isolate;
  aspect-ratio:1.55; border-radius:6px;
  background:radial-gradient(130% 110% at 50% 0%,#e9ecef 0%,#d4dade 52%,#bdc5cb 100%);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.55),
    inset 0 -14px 22px -14px rgba(13,20,28,.55),
    inset 0 0 0 1px rgba(13,20,28,.22),
    0 1px 0 rgba(255,255,255,.06);
}
.well__tray img{
  width:100%; height:100%; object-fit:contain;
  padding:3.5% 4.5%; mix-blend-mode:multiply;
}
.well--wide .well__tray{ aspect-ratio:2.55; }
.well--link{ display:block; color:inherit; transition:transform .25s var(--ease); }
.well--link:hover{ transform:translateY(-3px); }
.well--link:hover .well__tray{
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,.7),
    inset 0 -14px 22px -14px rgba(13,20,28,.45),
    inset 0 0 0 1px rgba(242,194,48,.5);
}

/* ---------- hinge rail -------------------------------------------------- */
.rail{
  background:var(--ink); color:rgba(255,255,255,.52);
  border-top:1px solid rgba(255,255,255,.07);
}
.rail__in{
  display:flex; flex-wrap:wrap; gap:.5rem 1.6rem;
  padding-block:.9rem;
  font-family:var(--font-mono); font-size:.55rem; letter-spacing:.2em;
  text-transform:uppercase;
}
.rail__in span{ display:inline-flex; align-items:center; gap:.5rem; }
.rail__in span::before{ content:""; width:4px; height:4px; background:var(--signal); flex:0 0 auto; }
.rail__iso{ margin-left:auto; color:var(--signal); }

/* ---------- 01 sales ---------------------------------------------------- */
.drawer{
  --etch:rgba(255,255,255,.52);
  background:linear-gradient(160deg,#1b232b,#12181e);
  border-radius:14px; padding:clamp(.85rem,2vw,1.35rem);
  box-shadow:0 30px 60px -46px rgba(13,20,28,.6), inset 0 1px 0 rgba(255,255,255,.08);
}
.drawer__bar{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:0 .2rem .9rem; margin-bottom:clamp(.8rem,1.6vw,1.1rem);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.drawer__bar .etch{ margin-top:0; }
.drawer__count{
  font-family:var(--font-mono); font-size:.55rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--signal); flex:0 0 auto;
}
.drawer__grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(.8rem,1.8vw,1.2rem);
}
.drawer__grid .well__tray{ aspect-ratio:1.34; }
.drawer__grid .etch{ font-size:.52rem; }

.brands{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center; gap:1rem 1.6rem;
  margin-top:clamp(1.4rem,3vw,2rem); padding-top:1.3rem;
  border-top:1px solid var(--line-d);
}
.brands .etch{ margin-top:0; white-space:nowrap; }
.brands__list{
  display:flex; flex-wrap:wrap; gap:.35rem 1rem;
  font-family:var(--font-display); font-weight:600; font-size:1rem;
  letter-spacing:.02em; text-transform:uppercase;
}
.brands__list li{ position:relative; padding-left:.95rem; }
.brands__list li::before{ content:""; position:absolute; left:0; top:.62em; width:4px; height:4px; background:var(--signal); }

/* ---------- 02 rental --------------------------------------------------- */
.rent__grid{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(2rem,5vw,4.5rem); align-items:start;
}
.rent__list{ min-width:0; }
.rent__list > .etch{ margin-top:0; margin-bottom:1rem; }
.inv{ border-top:1px solid var(--line); }
.inv li{
  display:flex; gap:1.1rem; align-items:baseline;
  padding:.72rem 0; border-bottom:1px solid var(--line);
  font-size:.94rem; line-height:1.45;
}
.inv li span{
  flex:0 0 2rem; font-family:var(--font-mono); font-size:.56rem;
  letter-spacing:.14em; color:var(--signal);
}
.rent__side{ min-width:0; }
.rent__side .btn{ margin-top:1.4rem; }
.well--on-ink .well__tray{ aspect-ratio:1.73; }

/* ---------- 03 calibration ---------------------------------------------- */
.cal__grid{
  display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(2rem,5vw,4rem); align-items:start;
}
.cal__body{ min-width:0; }
.cal__p{ max-width:52ch; color:var(--steel); font-size:.96rem; }
.cal__items{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 1.6rem; margin-top:1.6rem; border-top:1px solid var(--line-d);
}
.cal__items li{
  display:flex; gap:.6rem; align-items:baseline;
  padding:.52rem 0; border-bottom:1px solid var(--line-d);
  font-size:.85rem; line-height:1.4; min-width:0; overflow-wrap:anywhere;
}
.cal__items li::before{ content:""; flex:0 0 auto; width:4px; height:4px; background:var(--signal); transform:translateY(-.18em); }
.cal__links{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.6rem; margin-top:1.8rem; }

.cert{
  --etch:rgba(255,255,255,.52);
  position:relative; overflow:hidden; min-width:0;
  padding:clamp(1.2rem,2.4vw,1.8rem); border-radius:12px;
  background:linear-gradient(165deg,#161e26,#0d141c);
  color:var(--text);
  box-shadow:0 30px 60px -44px rgba(13,20,28,.55), inset 0 1px 0 rgba(255,255,255,.08);
}
.cert::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(135deg,rgba(255,255,255,.022) 0 2px,transparent 2px 8px);
}
.cert > *{ position:relative; z-index:1; }
.cert .etch{ margin-top:0; }
.cert__std{
  font-family:var(--font-display); font-weight:600; line-height:1;
  font-size:clamp(1.7rem,3vw,2.15rem); letter-spacing:.02em; margin-top:.9rem;
}
.cert__no{
  font-family:var(--font-mono); font-size:clamp(1.35rem,3.2vw,2rem);
  letter-spacing:.06em; color:var(--signal); margin-top:.35rem; overflow-wrap:anywhere;
}
.cert__meta{ font-size:.78rem; color:rgba(255,255,255,.52); margin-top:.4rem; }
.cert__link{
  display:inline-flex; align-items:center; gap:.45rem; margin-top:1.1rem;
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--signal);
  border-bottom:1px solid rgba(242,194,48,.35); padding-bottom:.25rem;
}
.cert__link svg{ width:12px; height:12px; }
.cert__link:hover{ color:#fff; }
.cert__rule{ height:1px; background:rgba(255,255,255,.12); margin:1.4rem 0; }
.cert__scope{ display:grid; gap:.75rem; margin-top:.9rem; }
.cert__scope li{ display:grid; gap:.15rem; font-size:.86rem; line-height:1.4; min-width:0; }
.cert__scope em{
  font-family:var(--font-mono); font-style:normal; font-size:.56rem;
  letter-spacing:.09em; color:rgba(255,255,255,.42); overflow-wrap:anywhere;
}
.cert__note{ font-size:.7rem; line-height:1.5; color:rgba(255,255,255,.4); margin-top:1rem; }

/* ---------- 04 consumables ---------------------------------------------- */
.cons__shelf{
  --etch:rgba(255,255,255,.52);
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(.8rem,2vw,1.3rem);
  padding:clamp(.8rem,1.8vw,1.2rem); border-radius:14px;
  background:linear-gradient(160deg,#1b232b,#12181e);
  box-shadow:0 30px 60px -46px rgba(13,20,28,.55), inset 0 1px 0 rgba(255,255,255,.08);
}
.cons__shelf .well__tray{ aspect-ratio:1.73; }
.cons__grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.4rem,3vw,2.4rem); margin-top:clamp(2rem,4vw,3rem);
}
.cons__item{ min-width:0; border-top:1px solid var(--line-d); padding-top:1rem; }
.cons__n{ font-family:var(--font-mono); font-size:.55rem; letter-spacing:.18em; color:var(--blue); margin-bottom:.45rem; }
.cons__h{
  font-family:var(--font-display); font-weight:600; font-size:1.18rem;
  line-height:1.15; letter-spacing:.005em; margin-bottom:.3rem;
}
.cons__item p:last-child{ font-size:.85rem; line-height:1.6; color:var(--steel); }

/* ---------- 05 techniques (blue) ---------------------------------------- */
.s-tech{ position:relative; overflow:clip; }
.s-tech::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(90% 60% at 88% 0%,rgba(255,255,255,.1),transparent 62%);
}
.s-tech .wrap{ position:relative; }
.tech__grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.55rem,1.2vw,.8rem); }
@media (min-width:900px){
  .tech__grid{ align-items:start; }
  .tech:nth-child(3n+2){ margin-top:22px; }
}
.tech{
  position:relative; display:grid; grid-template-columns:1fr auto; grid-template-rows:auto 1fr;
  gap:1.4rem; min-height:clamp(112px,12vw,142px);
  padding:clamp(.9rem,1.6vw,1.15rem); border-radius:8px;
  background:rgba(4,20,38,.34);
  border:1px solid rgba(255,255,255,.15);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16), inset 0 -18px 30px -22px rgba(0,0,0,.7);
  transition:opacity .7s var(--ease), transform .28s var(--ease), background .22s, border-color .22s;
}
.tech:hover{ background:rgba(4,20,38,.54); border-color:rgba(242,194,48,.55); transform:translateY(-3px); }
.tech__n{ display:inline-flex; align-items:center; gap:.45rem; font-family:var(--font-mono); font-size:.57rem; letter-spacing:.16em; color:var(--signal); }
.tech__n::before{ content:""; width:2px; height:9px; background:var(--signal); flex:0 0 auto; }
.tech svg{ width:13px; height:13px; color:rgba(255,255,255,.45); justify-self:end; transition:color .2s, transform .2s; }
.tech:hover svg{ color:var(--signal); transform:translate(2px,-2px); }
.tech__name{
  grid-column:1/-1; align-self:end;
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(1.02rem,1.5vw,1.18rem); line-height:1.2; max-width:19ch;
}
.tech__foot{ margin-top:clamp(1.4rem,3vw,2rem); font-size:.9rem; color:rgba(255,255,255,.66); }.tech__foot a{ color:var(--signal); border-bottom:1px solid rgba(242,194,48,.4); padding-bottom:.1em; }
.tech__foot a:hover{ color:#fff; border-color:#fff; }

/* ---------- 06 about ---------------------------------------------------- */
.about__grid{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(2rem,5vw,4.5rem); align-items:start;
}
.about__copy{ min-width:0; }
.about__copy .about__quote{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(1.45rem,3vw,2.05rem); line-height:1.1;
  letter-spacing:-.005em; color:var(--blue); margin-bottom:1.2rem; text-wrap:balance;
}
.about__copy p{ max-width:54ch; margin-bottom:1rem; font-size:.95rem; line-height:1.68; color:var(--steel); }
.about__copy p.about__quote{ color:var(--blue); }
.about__cta{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.6rem; margin-top:1.6rem; }
.manifest{ border-top:1px solid var(--line-d); }
.manifest > div{
  display:grid; grid-template-columns:minmax(0,.4fr) minmax(0,1fr);
  gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--line-d);
}
.manifest dt{
  font-family:var(--font-mono); font-size:.55rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--blue); padding-top:.3rem;
}
.manifest dd{ font-size:.85rem; line-height:1.55; min-width:0; overflow-wrap:anywhere; }

/* ---------- contact ----------------------------------------------------- */
.contact__grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
  gap:clamp(2rem,5vw,4rem); align-items:start;
}
.contact__copy{ min-width:0; }
.contact__lead{ max-width:40ch; margin-top:1rem; color:var(--steel); }

/* the phone sits in the bar as a utility link, set apart by a hairline */
.nav__util{ margin-left:.4rem; padding-left:.9rem; border-left:1px solid var(--line); }
.nav__util .nav__link{ font-family:var(--font-mono); font-size:.78rem; letter-spacing:.04em; }
.contact__tel{
  margin-top:1.5rem;
  font-family:var(--font-mono); font-weight:400;
  font-size:clamp(1rem,2.2vw,1.35rem); letter-spacing:.04em;
}
.contact__tel a{ border-bottom:1px solid var(--line-strong); padding-bottom:.1em; transition:color .2s; }
.contact__tel a:hover{ color:var(--blue); }
.contact__tel + .contact__mail{ margin-top:.5rem; }

.contact__mail{
  margin-top:1.6rem;
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(1.25rem,3.4vw,2rem); line-height:1.2; letter-spacing:.01em;
}
.contact__mail a{ overflow-wrap:anywhere; border-bottom:2px solid var(--signal); padding-bottom:.08em; transition:color .2s; }
.contact__mail a:hover{ color:var(--blue); }
.contact__copy .btn{ margin-top:1.4rem; }

.label{
  --etch:rgba(255,255,255,.52);
  min-width:0; padding:clamp(1.2rem,2.4vw,1.7rem); border-radius:10px;
  background:linear-gradient(160deg,#161e26,#0d141c); color:var(--text);
  box-shadow:0 30px 60px -46px rgba(13,20,28,.55), inset 0 1px 0 rgba(255,255,255,.08);
}
.label__top{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding-bottom:1rem; border-bottom:1px dashed rgba(255,255,255,.18);
}
.label__top .etch{ margin-top:0; }
.label__mark{ font-family:var(--font-mono); font-size:.6rem; letter-spacing:.16em; color:var(--signal); flex:0 0 auto; }
.label__addr{ margin-top:1.1rem; font-size:.92rem; line-height:1.7; color:rgba(255,255,255,.78); overflow-wrap:anywhere; }
.label__addr strong{
  display:block; margin-bottom:.35rem;
  font-family:var(--font-display); font-size:1.12rem; font-weight:600;
  letter-spacing:.05em; text-transform:uppercase; color:#fff;
}
.label__rule{ height:1px; background:rgba(255,255,255,.12); margin:1.1rem 0; }
.label__meta{
  display:flex; flex-wrap:wrap; gap:.4rem 1.2rem;
  font-family:var(--font-mono); font-size:.55rem; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.44);
}
.label__bars{ display:flex; align-items:flex-end; gap:3px; height:26px; margin-top:1.2rem; opacity:.45; }
.label__bars i{ display:block; width:2px; height:60%; background:rgba(255,255,255,.8); }
.label__bars i:nth-child(3n){ height:100%; }
.label__bars i:nth-child(4n){ height:38%; }
.label__bars i:nth-child(5n){ height:82%; }

/* ---------- footer ------------------------------------------------------ */
.foot{ background:var(--ink); }
@media (min-width:1024px){
  .foot__top{ grid-template-columns:minmax(0,.8fr) minmax(0,1.8fr); }
}
.foot__brand{ min-width:0; }
.brand--foot .brand__mark{ width:34px; height:34px; }
.brand--foot .brand__name{ font-size:1.4rem; }
.foot__blurb{ margin-top:1.2rem; max-width:34ch; font-size:.84rem; line-height:1.65; color:rgba(255,255,255,.54); }
.foot__mail{
  display:inline-block; margin-top:1rem;
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.05em;
  color:var(--signal); overflow-wrap:anywhere;
}
.foot__addr li{ font-size:.83rem; line-height:1.6; color:rgba(255,255,255,.7); }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1023px){
  .hero__grid{ grid-template-columns:minmax(0,1fr); gap:2.6rem; }
  .hero__case{ width:100%; max-width:600px; margin-inline:auto; }
  .hero__copy{ max-width:640px; }
}
@media (max-width:900px){
  .rent__grid,.cal__grid,.about__grid,.contact__grid{ grid-template-columns:minmax(0,1fr); }
  .rent__side{ max-width:520px; }
  .drawer__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cons__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tech__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brands{ grid-template-columns:minmax(0,1fr); gap:.85rem; }
  .brands .etch{ white-space:normal; }
  .rail__iso{ margin-left:0; }
  .about__copy p,.contact__lead{ max-width:none; }
}
@media (max-width:620px){
  .sect__h2{ font-size:clamp(1.55rem,6.4vw,2.2rem); }
  .tech__grid{ grid-template-columns:minmax(0,1fr); }
  .cons__grid{ grid-template-columns:minmax(0,1fr); }
  .cons__shelf{ grid-template-columns:minmax(0,1fr); }
  .cal__items{ grid-template-columns:minmax(0,1fr); }
  .manifest > div{ grid-template-columns:minmax(0,1fr); gap:.15rem; }
  .manifest dt{ padding-top:0; }
  .drawer__bar{ flex-wrap:wrap; gap:.4rem; }
  .foot__nav{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
@media (max-width:460px){
  .case__wells{ grid-template-columns:minmax(0,1fr); }
  .well__tray,.well--wide .well__tray{ aspect-ratio:1.75; }
  .drawer__grid{ grid-template-columns:minmax(0,1fr); }
  .case__latch{ width:38px; }
  .case__latch--l{ left:12%; }
  .case__latch--r{ right:12%; }
  .hero__trust{ gap:.45rem .9rem; }
}
@media (max-width:360px){
  .brand__name{ font-size:1.02rem; }
  .brand__mark{ width:26px; height:26px; }
  .hero__cta .btn{ width:100%; justify-content:center; }
}
