/* ==========================================================================
   Pointer Logistics — one page
   Palette and type derived from the company mark: olive, gold, bone on black.
   ========================================================================== */

:root{
  --void:#050505;
  --alt-1:#080c0d;          /* altitude wash */
  --alt-2:#0d1315;
  --olive:#545640;
  --olive-lo:#282a1f;
  --olive-hi:#7d8060;
  --gold:#dbc091;
  --gold-deep:#b8975c;
  --bone:#f1f1f1;

  --ink:rgba(241,241,241,.66);
  --ink-dim:rgba(241,241,241,.40);
  --rule:rgba(219,192,145,.16);
  --rule-soft:rgba(241,241,241,.08);

  --display:'Archivo','Arial Narrow',Helvetica,sans-serif;
  --body:'Space Grotesk','Helvetica Neue',Arial,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;

  --shell:1280px;
  --gut:clamp(20px,5vw,64px);
  --band:clamp(88px,11vw,168px);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  background:var(--void);
  color:var(--bone);
  font-family:var(--body);
  font-size:clamp(15.5px,.55vw + 14px,17px);
  line-height:1.62;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block}
svg{display:block}

a{color:inherit}

::selection{background:var(--gold);color:#0b0b09}

:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:2px;
}

.skip{
  position:absolute;left:-999px;top:0;z-index:99;
  background:var(--gold);color:#0b0b09;padding:.7rem 1.1rem;
  font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
}
.skip:focus{left:8px;top:8px}

/* ── shared type ─────────────────────────────────────────────────────── */

.shell{max-width:var(--shell);margin-inline:auto;padding-inline:var(--gut)}

.mono{
  font-family:var(--mono);font-weight:400;
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-dim);margin:0;
}

.eyebrow{
  font-family:var(--mono);font-size:.68rem;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold-deep);
  margin:0 0 1.4rem;
  display:flex;align-items:center;gap:.9rem;
}
.eyebrow::before{
  content:"";width:clamp(24px,4vw,52px);height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-deep));
  flex:none;
}

.h2{
  font-family:var(--display);
  font-weight:700;font-stretch:112%;
  font-size:clamp(1.85rem,3.5vw,3.05rem);
  line-height:1.02;letter-spacing:-.005em;
  text-transform:uppercase;
  margin:0 0 1.6rem;
  color:var(--bone);
}

.lede{
  font-size:clamp(1.02rem,.5vw + .92rem,1.24rem);
  line-height:1.6;color:var(--ink);
  max-width:56ch;margin:0 0 2rem;
}

.head{margin-bottom:clamp(48px,6vw,84px);max-width:min(100%,660px)}

p{margin:0 0 1.15rem}
p:last-child{margin-bottom:0}

/* ── buttons ─────────────────────────────────────────────────────────── */

.btn{
  display:inline-flex;align-items:center;gap:.7rem;
  font-family:var(--mono);font-size:.72rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  text-decoration:none;
  padding:.95rem 1.5rem;
  border:1px solid var(--rule);
  transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);
}
.btn--solid{background:var(--gold);color:#0b0b09;border-color:var(--gold)}
.btn--solid:hover{background:var(--bone);border-color:var(--bone);transform:translateY(-2px)}
.btn--ghost{color:var(--gold);background:transparent}
.btn--ghost:hover{border-color:var(--gold);background:rgba(219,192,145,.07);transform:translateY(-2px)}

/* ── nav ─────────────────────────────────────────────────────────────── */

.nav{
  position:fixed;inset:0 0 auto;z-index:40;
  display:flex;align-items:center;gap:clamp(12px,3vw,40px);
  padding:.85rem var(--gut);
  border-bottom:1px solid transparent;
  transition:background .45s var(--ease),border-color .45s var(--ease),backdrop-filter .45s var(--ease);
}
.nav.is-stuck{
  background:rgba(5,5,5,.78);
  backdrop-filter:blur(14px) saturate(120%);
  border-bottom-color:var(--rule-soft);
}
.nav__brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;flex:none}
.nav__mark{width:34px;height:34px}
.nav__type{display:flex;flex-direction:column;line-height:1}
.nav__name{
  font-family:var(--display);font-weight:800;font-stretch:112%;
  font-size:.95rem;letter-spacing:.11em;text-transform:uppercase;color:var(--bone);
}
.nav__sub{
  font-family:var(--mono);font-size:.56rem;letter-spacing:.4em;
  text-transform:uppercase;color:var(--olive-hi);margin-top:.28rem;
}

.nav__readout{
  margin:0 auto 0 0;
  display:flex;align-items:baseline;gap:.6rem;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold-deep);
  padding-left:clamp(12px,3vw,32px);
  border-left:1px solid var(--rule-soft);
}
.nav__readout .deg{margin-left:-.5rem;opacity:.6}
.nav__where{color:var(--ink-dim)}
.nav__brg{font-variant-numeric:tabular-nums}

.nav__cta{flex:none;padding:.7rem 1.1rem}

@media (max-width:860px){
  .nav__readout{display:none}
  .nav{justify-content:space-between}
}
@media (max-width:520px){
  .nav__cta{padding:.6rem .85rem;font-size:.64rem;letter-spacing:.12em}
}

/* ── hero ────────────────────────────────────────────────────────────── */

.hero{
  position:relative;
  min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(112px,16vh,180px) 0 clamp(76px,10vh,120px);
  overflow:hidden;
  isolation:isolate;
}

.hero__sky{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero__sky::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(120% 78% at 50% 108%, rgba(84,86,64,.34), transparent 62%),
    radial-gradient(88% 60% at 50% 40%, rgba(13,19,21,.9), transparent 70%),
    linear-gradient(180deg,#040606 0%, var(--alt-1) 42%, #060809 100%);
}
.hero__sky::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(70% 55% at 50% 46%, transparent 30%, rgba(4,5,5,.72) 100%);
}

.graticule{
  position:absolute;inset:-10%;
  background-image:
    linear-gradient(to right, rgba(219,192,145,.055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(219,192,145,.055) 1px, transparent 1px),
    linear-gradient(to right, rgba(219,192,145,.13) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(219,192,145,.13) 1px, transparent 1px);
  background-size:44px 44px,44px 44px,220px 220px,220px 220px;
  -webkit-mask-image:radial-gradient(72% 62% at 50% 48%, #000 12%, transparent 82%);
          mask-image:radial-gradient(72% 62% at 50% 48%, #000 12%, transparent 82%);
  animation:drift 46s linear infinite;
}
@keyframes drift{to{background-position:220px 0,0 220px,220px 0,0 220px}}

.traffic{position:absolute;inset:0;width:100%;height:100%;opacity:.9}

.tracks{
  position:absolute;inset:0;width:100%;height:100%;
  color:rgba(219,192,145,.3);
  opacity:.7;
}
.track{stroke-dasharray:3 11;animation:flow 3.6s linear infinite}
.track--b{stroke-dasharray:3 15;animation-duration:5.4s;animation-direction:reverse;opacity:.6}
@keyframes flow{to{stroke-dashoffset:-14}}
.track--b{stroke-dashoffset:0}
.wpts{opacity:.75}

.hero__horizon{
  position:absolute;left:0;right:0;bottom:0;height:46%;
  background:linear-gradient(180deg,transparent,rgba(84,86,64,.16) 70%,rgba(219,192,145,.09));
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 60%);
          mask-image:linear-gradient(180deg,transparent,#000 60%);
}
.hero__horizon::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(219,192,145,.45),transparent);
}

.hero__body{position:relative;width:100%}

.hero__h1{
  font-family:var(--display);
  font-weight:700;font-stretch:110%;
  font-size:clamp(2.05rem,6.1vw,5rem);
  line-height:.98;letter-spacing:-.012em;
  text-transform:uppercase;
  margin:0 0 1.9rem;
  max-width:16ch;
}
.hero__h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.hero__h1 .ln > span{
  display:block;
  transform:translateY(105%);
  animation:lineUp 1.05s var(--ease) forwards;
  animation-delay:var(--d,0s);
}
.hero__h1 .ln:nth-child(3) > span{color:var(--gold)}
@keyframes lineUp{to{transform:translateY(0)}}

.hero__tag{
  font-family:var(--mono);font-size:.72rem;
  letter-spacing:.3em;text-transform:uppercase;
  color:var(--olive-hi);margin:0 0 2.4rem;
}
.hero__tag i{color:var(--gold-deep);font-style:normal;margin:0 .35em}

.hero__acts{display:flex;flex-wrap:wrap;gap:.8rem}

.hero__foot{
  position:absolute;left:0;right:0;bottom:0;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:1.1rem var(--gut);
  border-top:1px solid var(--rule-soft);
}
.scroll-cue{display:flex;align-items:center;gap:.7rem}
.scroll-cue i{
  width:1px;height:24px;display:block;
  background:linear-gradient(180deg,var(--gold-deep),transparent);
  animation:cue 2.4s var(--ease) infinite;
  transform-origin:top;
}
@keyframes cue{0%,100%{transform:scaleY(.35);opacity:.4}45%{transform:scaleY(1);opacity:1}}

@media (max-width:640px){
  .hero__foot p:first-child{font-size:.6rem;letter-spacing:.12em}
  .scroll-cue span{display:none}
}
@media (max-width:560px){
  .eyebrow{font-size:.6rem;letter-spacing:.14em;gap:.7rem}
  .hero__tag{font-size:.62rem;letter-spacing:.18em}
  .hero__h1{font-size:clamp(1.95rem,8.6vw,2.6rem)}
  .hero__acts .btn{flex:1 1 100%;justify-content:center}
}

/* ── compass rose (shared instrument) ────────────────────────────────── */

.rose{position:absolute;pointer-events:none}
.rose svg{width:100%;height:100%;overflow:visible}
.rose .rose__ring{fill:none;stroke:rgba(84,86,64,.55);stroke-width:1}
.rose .rose__ring--in{stroke:rgba(219,192,145,.16)}
.rose .rose__tick{stroke:rgba(219,192,145,.3);stroke-width:1}
.rose .rose__tick--maj{stroke:rgba(219,192,145,.62)}
.rose .rose__num{
  fill:rgba(219,192,145,.5);font-family:var(--mono);font-size:7px;letter-spacing:.12em;
}
.rose .rose__card{
  fill:rgba(241,241,241,.55);font-family:var(--display);font-size:11px;
  font-weight:700;letter-spacing:.1em;
}
.rose__spin{transform-origin:100px 100px;animation:spin 190s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

.rose--hero{
  top:48%;left:74%;
  width:min(94vh,80vw);aspect-ratio:1;
  translate:-50% -50%;
  opacity:.55;
  /* fade the instrument out where the headline sits */
  -webkit-mask-image:radial-gradient(closest-side,#000 56%,transparent 100%),linear-gradient(90deg,transparent 6%,#000 42%);
          mask-image:radial-gradient(closest-side,#000 56%,transparent 100%),linear-gradient(90deg,transparent 6%,#000 42%);
  -webkit-mask-composite:source-in;
          mask-composite:intersect;
}
@media (max-width:900px){
  .rose--hero{
    left:50%;top:42%;width:min(84vh,120vw);opacity:.22;
    -webkit-mask-image:radial-gradient(closest-side,#000 56%,transparent 100%);
            mask-image:radial-gradient(closest-side,#000 56%,transparent 100%);
    -webkit-mask-composite:source-over;
            mask-composite:add;
  }
}

/* ── band scaffolding ────────────────────────────────────────────────── */

.band{position:relative;padding-block:var(--band)}
.band + .band{border-top:1px solid var(--rule-soft)}

/* ── positioning ─────────────────────────────────────────────────────── */

.band--intent{background:linear-gradient(180deg,var(--void),#070909)}

.statement{
  font-family:var(--display);
  font-weight:500;font-stretch:104%;
  font-size:clamp(1.5rem,3.1vw,2.7rem);
  line-height:1.14;letter-spacing:-.01em;
  color:var(--bone);
  margin:0 0 clamp(40px,5vw,72px);
  max-width:23ch;
}
.statement em{font-style:normal;color:var(--gold);display:block;margin-top:.35em}

.intent__cols{
  display:grid;gap:clamp(24px,3.5vw,56px);
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  max-width:900px;margin-left:auto;
  color:var(--ink);
}
.intent__cols p{border-top:1px solid var(--rule);padding-top:1.4rem}

/* ── sectors / compass ───────────────────────────────────────────────── */

.band--sectors{background:
  radial-gradient(80% 60% at 22% 40%, rgba(84,86,64,.16), transparent 70%),
  linear-gradient(180deg,#070909,var(--void));
}

.compass{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,5vw,88px);
  align-items:center;
}

.compass__stage{
  position:relative;
  aspect-ratio:1;
  width:100%;max-width:520px;margin-inline:auto;
}
.rose--sector{inset:14%;opacity:.95}
.rose--sector .rose__spin{animation:none}

/* an <svg> is a replaced element: give it an explicit box, never rely on
   inset shorthand — right/bottom are dropped and it renders full-size, offset. */
.needle{
  position:absolute;
  left:14%;top:14%;width:72%;height:72%;
  pointer-events:none;
}
#needleGroup{
  transform-origin:100px 100px;
  transform:rotate(20deg);
  transition:transform 1.05s var(--ease);
}
.needle__n{fill:var(--gold)}
.needle__s{fill:rgba(84,86,64,.9)}
.needle__hub{fill:var(--void);stroke:var(--gold-deep);stroke-width:1.5}

.radials{list-style:none;margin:0;padding:0;position:absolute;inset:0}
.radials li{
  --r:41%;
  position:absolute;width:0;height:0;
  left:calc(50% + var(--r) * sin(var(--brg)));
  top:calc(50% - var(--r) * cos(var(--brg)));
}
.radial{
  position:absolute;left:0;top:0;
  transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;gap:.3rem;
  width:max-content;max-width:7.5rem;text-align:center;
  background:none;border:0;padding:.4rem .55rem;cursor:pointer;
  color:var(--ink-dim);
  font-family:var(--body);font-size:.82rem;line-height:1.2;
  transition:color .35s var(--ease);
}
.radial b{
  font-family:var(--mono);font-size:.63rem;font-weight:500;letter-spacing:.16em;
  color:var(--olive-hi);transition:color .35s var(--ease);
}
.radial span{border-bottom:1px solid transparent;padding-bottom:.15rem;transition:border-color .35s var(--ease)}
.radial:hover{color:var(--bone)}
.radial[aria-selected="true"]{color:var(--gold)}
.radial[aria-selected="true"] b{color:var(--gold-deep)}
.radial[aria-selected="true"] span{border-bottom-color:var(--gold-deep)}

.compass__panels{position:relative;min-height:20rem}
.panel{border-left:1px solid var(--rule);padding-left:clamp(20px,2.5vw,36px)}
.panel[hidden]{display:none}
.panel.is-on{animation:panelIn .6s var(--ease) both}
@keyframes panelIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.panel__brg{color:var(--gold-deep);margin-bottom:.9rem}
.panel h3{
  font-family:var(--display);font-weight:700;font-stretch:110%;
  font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.05;
  text-transform:uppercase;letter-spacing:-.005em;
  margin:0 0 1.1rem;color:var(--bone);
}
.panel p{color:var(--ink);max-width:44ch}

.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:1.6rem 0 0;padding:0}
.tags li{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--olive-hi);border:1px solid var(--rule);padding:.42rem .7rem;
}

@media (max-width:900px){
  .compass{grid-template-columns:1fr;gap:clamp(32px,7vw,56px)}
  .compass__stage{max-width:420px}
  .compass__panels{min-height:auto}
  .radial{max-width:6.4rem;font-size:.76rem}
}
@media (max-width:560px){
  .compass__stage{max-width:min(82vw,320px)}
  .radials li{--r:44%}
  .radial{max-width:5rem;font-size:.66rem;gap:.15rem;padding:.2rem}
  .radial b{font-size:.54rem;letter-spacing:.1em}
  .rose--sector{inset:20%}
  .needle{left:20%;top:20%;width:60%;height:60%}
}

/* ── capabilities ────────────────────────────────────────────────────── */

.caps{
  display:grid;gap:1px;
  grid-template-columns:repeat(4,1fr);
  background:var(--rule-soft);
  border-block:1px solid var(--rule-soft);
}
.cap{
  background:var(--void);
  padding:clamp(28px,2.8vw,44px) clamp(20px,2vw,32px);
  display:flex;flex-direction:column;
}
.cap__idx{
  color:var(--gold-deep);margin-bottom:2.4rem;
  display:flex;align-items:center;gap:.6rem;
}
.cap__idx::after{content:"";flex:1;height:1px;background:var(--rule)}
.cap h3{
  font-family:var(--display);font-weight:600;font-stretch:106%;
  font-size:1.12rem;line-height:1.2;text-transform:uppercase;letter-spacing:.01em;
  margin:0 0 .9rem;color:var(--bone);
}
.cap p{font-size:.94rem;color:var(--ink);margin-bottom:1.5rem}
.cap__list{list-style:none;margin:auto 0 0;padding:0}
.cap__list li{
  font-family:var(--mono);font-size:.63rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--olive-hi);padding:.55rem 0;border-top:1px solid var(--rule-soft);
}

@media (max-width:1000px){.caps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.caps{grid-template-columns:1fr}}

/* ── unmanned / manufacture ──────────────────────────────────────────── */

.band--build{
  background:
    radial-gradient(90% 70% at 78% 50%, rgba(84,86,64,.2), transparent 68%),
    linear-gradient(180deg,var(--void),#070909 60%,var(--void));
}
.build{
  display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:clamp(32px,5vw,80px);align-items:center;
}
.build__copy p{color:var(--ink)}
.build__note{
  margin-top:2rem;padding:.8rem 0 0;border-top:1px solid var(--rule);
  color:var(--gold-deep);
}

.build__draw{margin:0}
.build__draw svg{width:100%;height:auto}
.build__draw figcaption{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink-dim);text-align:right;margin-top:.8rem;
}

.uas-line{fill:none;stroke:rgba(219,192,145,.78);stroke-width:1.2;stroke-linejoin:round}
.uas-fill{fill:rgba(84,86,64,.42);stroke:none}
.uas-disc circle{fill:rgba(84,86,64,.09);stroke:rgba(219,192,145,.26);stroke-width:1;stroke-dasharray:2 6}
.uas-blade line{stroke:rgba(219,192,145,.5);stroke-width:1.4;stroke-linecap:round}
.uas-blade g,.uas-blade > g{transform-box:fill-box;transform-origin:center;animation:rotor 2.4s linear infinite;animation-delay:var(--o,0s)}
@keyframes rotor{to{transform:rotate(360deg)}}
.uas-guide line{stroke:rgba(241,241,241,.14);stroke-width:1;stroke-dasharray:6 6}
.uas-call line{stroke:rgba(219,192,145,.4);stroke-width:1;stroke-dasharray:3 4}
.uas-call text{fill:rgba(219,192,145,.75);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.uas-spec text{fill:rgba(241,241,241,.42);font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase}
.uas-spec rect{fill:rgba(84,86,64,.55)}

@media (max-width:880px){
  .build{grid-template-columns:1fr}
  .build__draw figcaption{text-align:left}
}

/* ── base ────────────────────────────────────────────────────────────── */

.base{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(32px,5vw,84px);align-items:center;
}
.base__chart{margin:0}
.base__chart svg{width:100%;max-width:420px;height:auto;margin-inline:auto}
.base__chart figcaption{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-dim);text-align:center;margin-top:1rem;
}
.ad-ring{fill:none;stroke:rgba(84,86,64,.5);stroke-width:1}
.ad-rwy rect{fill:rgba(219,192,145,.1);stroke:rgba(219,192,145,.5);stroke-width:1}
.ad-rwy line{stroke:rgba(219,192,145,.55);stroke-width:1}
.ad-txt text{fill:rgba(241,241,241,.5);font-family:var(--mono);font-size:11px;letter-spacing:.1em}
.ad-north{fill:var(--gold-deep)}
.ad-dot{fill:var(--gold)}

.base__copy p{color:var(--ink);max-width:52ch}
.facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:1px;margin:2.4rem 0 0;padding:0;background:var(--rule-soft);
  border:1px solid var(--rule-soft);
}
.facts > div{background:var(--void);padding:1.05rem 1.15rem}
.facts dt{
  font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--olive-hi);margin-bottom:.4rem;
}
.facts dd{
  margin:0;font-family:var(--display);font-weight:600;font-stretch:108%;
  font-size:1.02rem;letter-spacing:.03em;color:var(--gold);text-transform:uppercase;
}

@media (max-width:880px){
  .base{grid-template-columns:1fr}
  .base__chart{order:2}
}

/* ── contact ─────────────────────────────────────────────────────────── */

.band--contact{
  position:relative;overflow:hidden;
  background:
    radial-gradient(70% 90% at 50% 118%, rgba(84,86,64,.34), transparent 66%),
    linear-gradient(180deg,var(--void),#070a0a);
  text-align:center;
}
.rose--contact{
  bottom:-58%;left:50%;translate:-50% 0;
  width:min(130vh,150vw);aspect-ratio:1;opacity:.3;
  -webkit-mask-image:radial-gradient(closest-side,#000 28%,transparent 96%);
          mask-image:radial-gradient(closest-side,#000 28%,transparent 96%);
}
.contact{position:relative;display:flex;flex-direction:column;align-items:center}
.contact .eyebrow{justify-content:center}
.contact .eyebrow::before{display:none}
.contact__h{
  font-family:var(--display);font-weight:700;font-stretch:112%;
  font-size:clamp(2rem,5.4vw,4.3rem);line-height:1;letter-spacing:-.012em;
  text-transform:uppercase;margin:0 0 1.6rem;
}
.contact .lede{text-align:center;margin-bottom:2.8rem}

.mailto{
  font-family:var(--display);font-weight:600;font-stretch:104%;
  font-size:clamp(1.05rem,3vw,2rem);letter-spacing:-.01em;
  color:var(--gold);text-decoration:none;
  padding-bottom:.35rem;
  border-bottom:1px solid rgba(219,192,145,.35);
  transition:color .3s var(--ease),border-color .3s var(--ease);
  word-break:break-word;
}
.mailto:hover{color:var(--bone);border-bottom-color:var(--bone)}
.contact__meta{margin-top:2.6rem}

/* ── footer ──────────────────────────────────────────────────────────── */

.foot{border-top:1px solid var(--rule-soft);padding-block:clamp(40px,5vw,64px);background:var(--void)}
.foot__in{
  display:flex;flex-wrap:wrap;align-items:center;gap:clamp(20px,4vw,48px);
}
.foot__logo{width:clamp(110px,13vw,150px);height:auto;opacity:.9}
.foot__meta{margin-right:auto}
.foot__meta p{margin:0}
.foot__meta p + p{margin-top:.4rem;color:rgba(241,241,241,.28)}
.foot__legal a{color:var(--gold-deep);text-decoration:none;border-bottom:1px solid transparent}
.foot__legal a:hover{border-bottom-color:var(--gold-deep)}

@media (max-width:640px){
  .foot__in{flex-direction:column;align-items:flex-start}
  .foot__meta{margin-right:0}
}

/* ── reveal ──────────────────────────────────────────────────────────── */

.rise{opacity:0;transform:translateY(18px);animation:rise .95s var(--ease) forwards;animation-delay:var(--d,0s)}
@keyframes rise{to{opacity:1;transform:none}}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
.reveal:nth-child(2){transition-delay:.08s}
.reveal:nth-child(3){transition-delay:.16s}
.reveal:nth-child(4){transition-delay:.24s}
.reveal:nth-child(5){transition-delay:.32s}

/* ── reduced motion ──────────────────────────────────────────────────── */

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .hero__h1 .ln > span{transform:none}
  .rise,.reveal{opacity:1;transform:none}
  .traffic{display:none}
}
