/* ============================================================
   NEXOMATESTORES — The Living Grid
   Palette: near-black ink, bone type, citron signal, violet drift
   Type registers: grotesk display · serif italic accent · mono labels
   ============================================================ */

:root{
  --ink:#08090d;
  --ink-2:#0d0f16;
  --panel:#11131c;
  --panel-2:#161a25;
  --line:rgba(210,220,240,.12);
  --line-soft:rgba(210,220,240,.07);
  --bone:#f4f1ea;
  --bone-dim:#a7a9b6;
  --bone-mute:#8a8d99;
  --signal:#c9ff3d;      /* citron */
  --signal-deep:#9fd400;
  --violet:#b18cff;
  --cyan:#6fe6d6;
  --radius:18px;
  --maxw:1320px;
  --gutter:clamp(20px,5vw,72px);
  --ff-display:"Helvetica Neue",Helvetica,Arial,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ff-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --ff-mono:ui-monospace,"SF Mono","JetBrains Mono","Roboto Mono",Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --spot-x:50%; --spot-y:35%;
}

*,*::before,*::after{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  font-family:var(--ff-display);
  background:var(--ink);
  color:var(--bone);
  line-height:1.55;
  letter-spacing:.006em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ---- focus / skip ---- */
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:4px}
.skip{
  position:fixed;top:10px;left:10px;z-index:200;
  background:var(--signal);color:#0a0c00;font-family:var(--ff-mono);
  font-size:.8rem;padding:10px 16px;border-radius:10px;font-weight:700;
  transform:translateY(-160%);transition:transform .25s var(--ease);
}
.skip:focus{transform:translateY(0)}

/* ---- film grain overlay ---- */
.grain{
  position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

/* ============ HEADER ============ */
.site-head{
  position:sticky;top:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:16px var(--gutter);
  background:linear-gradient(to bottom,rgba(8,9,13,.86),rgba(8,9,13,.5) 70%,rgba(8,9,13,0));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-soft);
}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.14em;font-size:.94rem}
.brand__mark{color:var(--signal);font-size:1.15em;filter:drop-shadow(0 0 10px rgba(201,255,61,.5))}
.brand__word{white-space:nowrap}
.brand__dim{color:var(--bone-dim);font-weight:600}
.site-nav{display:flex;align-items:center;gap:clamp(14px,2.5vw,34px);font-size:.9rem}
.site-nav a{color:var(--bone-dim);transition:color .2s var(--ease)}
.site-nav a:hover{color:var(--bone)}
.site-nav__cta{
  color:var(--ink)!important;background:var(--signal);
  padding:9px 18px;border-radius:999px;font-weight:700;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.site-nav__cta:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(201,255,61,.28)}

/* ---- hamburger (mobile only) ---- */
.nav-toggle{
  display:none;               /* shown < 720px */
  position:relative;
  width:44px;height:44px;flex:0 0 auto;
  align-items:center;justify-content:center;
  background:rgba(255,255,255,.03);border:1px solid var(--line);
  border-radius:12px;cursor:pointer;color:var(--bone);
  transition:border-color .2s var(--ease),background .2s var(--ease);
}
.nav-toggle:hover{border-color:rgba(210,220,240,.3)}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{
  content:"";display:block;width:19px;height:2px;border-radius:2px;background:var(--bone);
  transition:transform .25s var(--ease),opacity .2s var(--ease);
}
.nav-toggle__bars{position:relative}
.nav-toggle__bars::before{position:absolute;left:0;top:-6px}
.nav-toggle__bars::after{position:absolute;left:0;top:6px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg)}

/* ---- mobile slide-down panel (overlay → no layout shift) ---- */
.mobile-nav{
  position:fixed;top:0;left:0;right:0;z-index:90;
  padding:78px var(--gutter) 26px;
  background:linear-gradient(to bottom,rgba(8,9,13,.98),rgba(8,9,13,.94));
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  box-shadow:0 24px 60px -30px rgba(0,0,0,.9);
}
.mobile-nav__inner{display:flex;flex-direction:column;gap:6px;max-width:var(--maxw);margin:0 auto}
.mobile-nav__inner a{
  color:var(--bone-dim);font-size:1.05rem;padding:13px 4px;
  border-bottom:1px solid var(--line-soft);transition:color .2s var(--ease);
}
.mobile-nav__inner a:hover{color:var(--bone)}
.mobile-nav__inner a.site-nav__cta{
  color:var(--ink)!important;background:var(--signal);border:none;
  margin-top:14px;padding:14px 18px;border-radius:999px;text-align:center;font-weight:700;
}
@media (max-width:720px){
  .site-nav{display:none}
  .nav-toggle{display:inline-flex}
}
@media (min-width:721px){
  .mobile-nav{display:none!important}   /* never reachable on desktop */
}

/* ============ BUTTONS ============ */
.btn{
  --pad:14px 26px;
  display:inline-flex;align-items:center;gap:.55em;
  font-weight:700;font-size:.98rem;letter-spacing:.01em;
  padding:var(--pad);border-radius:999px;cursor:pointer;
  border:1px solid transparent;
  transition:transform .2s var(--ease),box-shadow .25s var(--ease),background .2s var(--ease),color .2s var(--ease);
}
.btn span{transition:transform .25s var(--ease)}
.btn:hover{will-change:transform}         /* promote only while interacting */
.btn:hover span{transform:translateX(4px)}
.btn--primary{background:var(--signal);color:#0a0c00;box-shadow:0 10px 30px -8px rgba(201,255,61,.5)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -8px rgba(201,255,61,.6)}
.btn--ghost{border-color:var(--line);color:var(--bone);background:rgba(255,255,255,.02)}
.btn--ghost:hover{border-color:var(--signal);color:var(--signal);transform:translateY(-2px)}
.btn--big{--pad:20px 34px;font-size:1.12rem}

/* ============ HERO ============ */
.hero{
  position:relative;min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  padding:120px var(--gutter) 90px;overflow:hidden;
  isolation:isolate;
}
.hero__grid{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block}
.hero__still{
  position:absolute;inset:0;z-index:-2;display:none;
  background:
    radial-gradient(120% 90% at 78% 12%,rgba(177,140,255,.16),transparent 60%),
    radial-gradient(90% 80% at 20% 90%,rgba(111,230,214,.12),transparent 55%);
}
.hero::after{  /* vignette + floor grid fade */
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(140% 120% at 50% 0%,transparent 40%,rgba(8,9,13,.55) 100%),
    linear-gradient(to bottom,transparent 55%,var(--ink) 98%);
}
.hero__inner{max-width:var(--maxw);width:100%;margin:0 auto;position:relative}
.eyebrow{
  font-family:var(--ff-mono);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--bone-dim);display:inline-flex;align-items:center;gap:10px;margin-bottom:26px;
}
.eyebrow__dot{width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 12px var(--signal);animation:pulse 2.6s var(--ease) infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}

.hero__title{
  font-size:clamp(2.6rem,7.6vw,6.4rem);
  line-height:.98;font-weight:800;letter-spacing:-.03em;
  max-width:15ch;margin-bottom:.55em;
  text-wrap:balance;
}
.hero__title .ital{font-family:var(--ff-serif);font-style:italic;font-weight:500;letter-spacing:-.01em}
.hero__title .hi{
  font-family:var(--ff-serif);font-style:italic;font-weight:500;
  color:var(--signal);text-shadow:0 0 34px rgba(201,255,61,.35);
}
.hero__lede{
  max-width:52ch;font-size:clamp(1.05rem,1.7vw,1.32rem);
  color:var(--bone-dim);line-height:1.6;margin-bottom:2.2em;
}
.hero__lede strong{color:var(--bone);font-weight:700}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:3.4em}

.hero__stats{
  display:flex;flex-wrap:wrap;gap:clamp(28px,6vw,72px);
  border-top:1px solid var(--line-soft);padding-top:26px;max-width:640px;
}
.hero__stats dt{font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-mute);margin-bottom:6px}
.hero__stats dd{font-size:clamp(1.9rem,4vw,2.9rem);font-weight:800;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}
.hero__stats div:first-child dd{color:var(--signal)}

.hero__scroll{
  position:absolute;bottom:26px;left:50%;transform:translateX(-50%);
  font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--bone-mute);z-index:2;white-space:nowrap;
}
@media (max-width:640px){.hero__scroll{display:none}}

/* ============ SECTION SCAFFOLD ============ */
section{position:relative;z-index:2}
.section-head{max-width:var(--maxw);margin:0 auto;padding:clamp(72px,10vw,130px) var(--gutter) 0}
.work .section-head,.method .section-head,.pricing .section-head{padding-bottom:clamp(34px,5vw,54px)}
.section-kicker{
  font-family:var(--ff-mono);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--signal);margin-bottom:20px;
}
.section-title{
  font-size:clamp(2rem,5vw,3.7rem);font-weight:800;letter-spacing:-.028em;line-height:1.02;
  max-width:20ch;text-wrap:balance;
}
.section-sub{margin-top:20px;max-width:56ch;color:var(--bone-dim);font-size:clamp(1rem,1.4vw,1.16rem)}

/* ============ FILTERS ============ */
.filters{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.filters__row{
  display:flex;flex-wrap:wrap;gap:9px;
  padding-bottom:16px;
}
.filters__loading{font-family:var(--ff-mono);font-size:.85rem;color:var(--bone-mute)}
.chip{
  font-family:var(--ff-mono);font-size:.8rem;letter-spacing:.02em;
  padding:9px 15px;border-radius:999px;cursor:pointer;
  background:rgba(255,255,255,.03);border:1px solid var(--line);color:var(--bone-dim);
  transition:color .2s var(--ease),border-color .2s var(--ease),background .2s var(--ease),transform .15s var(--ease);
  white-space:nowrap;
}
.chip:hover{color:var(--bone);border-color:rgba(210,220,240,.3);transform:translateY(-1px)}
.chip .chip__n{color:var(--bone-mute);margin-left:7px;font-size:.9em}
.chip[aria-pressed="true"]{background:var(--signal);border-color:var(--signal);color:#0a0c00;font-weight:700}
.chip[aria-pressed="true"] .chip__n{color:rgba(10,12,0,.6)}
.filters__count{font-family:var(--ff-mono);font-size:.8rem;color:var(--bone-mute);padding:6px 0 4px}

/* ============ GALLERY ============ */
.gallery{
  max-width:var(--maxw);margin:22px auto 0;padding:0 var(--gutter);
  display:grid;gap:clamp(14px,1.6vw,22px);
  grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));
  position:relative;
  min-height:clamp(340px,46vh,560px);   /* reserve space → no 0→N layout shift on load */
}
/* the "living grid" spotlight follows the cursor across the whole gallery */
.gallery::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:24px;
  background:radial-gradient(360px circle at var(--spot-x) var(--spot-y),rgba(201,255,61,.09),transparent 70%);
  opacity:0;transition:opacity .4s var(--ease);
}
.gallery.is-live::before{opacity:1}

.card{
  position:relative;z-index:1;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:var(--panel);
  transition:transform .4s var(--ease),border-color .35s var(--ease),box-shadow .4s var(--ease),opacity .4s var(--ease);
  animation:cardIn .5s var(--ease) both;
}
@keyframes cardIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.card__link{display:flex;flex-direction:column;height:100%}
.card__fig{
  position:relative;margin:0;aspect-ratio:1200/630;overflow:hidden;
  background:linear-gradient(135deg,var(--panel-2),var(--ink-2));
}
.card__img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .6s var(--ease),filter .5s var(--ease);
  filter:saturate(.86) contrast(1.02);
  background:linear-gradient(135deg,var(--panel-2),var(--ink-2));
}
.card__scan{  /* signal sweep on hover */
  position:absolute;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(115deg,transparent 30%,rgba(201,255,61,.16) 50%,transparent 70%);
  transform:translateX(-100%);
}
.card__coll{
  position:absolute;top:10px;left:10px;
  font-family:var(--ff-mono);font-size:.64rem;letter-spacing:.1em;
  padding:4px 8px;border-radius:6px;background:rgba(8,9,13,.7);
  border:1px solid var(--line);color:var(--bone-dim);backdrop-filter:blur(4px);
}
.card__body{padding:16px 17px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card__group{font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--signal-deep)}
.card__title{font-size:1.28rem;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.card__cat{font-size:.86rem;color:var(--bone-mute);margin-top:-3px}
.card__sig{
  font-family:var(--ff-serif);font-style:italic;font-size:.98rem;color:var(--bone-dim);
  line-height:1.4;margin-top:2px;
}
.card__tech{
  margin-top:auto;padding-top:10px;
  font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.02em;color:var(--bone-mute);
  border-top:1px solid var(--line-soft);
  display:flex;align-items:center;gap:8px;justify-content:space-between;
}
.card__open{color:var(--bone-dim);transition:color .2s var(--ease),transform .2s var(--ease)}

@media (hover:hover){
  .card:hover{transform:translateY(-6px);border-color:rgba(201,255,61,.4);box-shadow:0 22px 50px -22px rgba(0,0,0,.8),0 0 0 1px rgba(201,255,61,.12);will-change:transform}
  .card:hover .card__img{transform:scale(1.06);filter:saturate(1.05) contrast(1.05)}
  .card:hover .card__scan{animation:sweep .85s var(--ease)}
  .card:hover .card__open{color:var(--signal);transform:translateX(3px)}
}
.card:focus-within{border-color:rgba(201,255,61,.5)}
@keyframes sweep{0%{opacity:0;transform:translateX(-100%)}25%{opacity:1}100%{opacity:0;transform:translateX(100%)}}

.card--hidden{display:none}

/* ---- workshop cards (refining concepts — lighter treatment) ---- */
.workshop .section-head{padding-bottom:clamp(28px,4vw,44px)}
.gallery--workshop{margin-top:0;min-height:auto}
.card--workshop{background:var(--ink-2);border-color:var(--line-soft)}
.card--workshop .card__img{filter:saturate(.6) contrast(1) brightness(.82)}
.card--workshop .card__title{font-size:1.14rem}
.card__refine{
  position:absolute;top:10px;right:10px;
  font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 9px;border-radius:999px;background:rgba(177,140,255,.16);
  border:1px solid rgba(177,140,255,.4);color:var(--violet);backdrop-filter:blur(4px);
}
@media (hover:hover){
  .card--workshop:hover{border-color:rgba(177,140,255,.4);box-shadow:0 18px 44px -24px rgba(0,0,0,.8),0 0 0 1px rgba(177,140,255,.12)}
  .card--workshop:hover .card__img{filter:saturate(.85) contrast(1.02) brightness(.92)}
  .card--workshop:hover .card__open{color:var(--violet)}
}

/* ---- loading skeleton (reserves height → no CLS) ---- */
.card--skeleton{pointer-events:none;animation:none;border-color:var(--line-soft);background:var(--panel)}
.card--skeleton .card__fig{aspect-ratio:1200/630;background:linear-gradient(135deg,var(--panel-2),var(--ink-2))}
.card--skeleton .card__body{padding:16px 17px 20px;display:flex;flex-direction:column;gap:12px}
.skel-line{height:12px;border-radius:6px;background:var(--panel-2);width:80%}
.skel-line--title{height:18px;width:62%}
.card--skeleton .card__fig,.skel-line{position:relative;overflow:hidden}
.card--skeleton .card__fig::after,.skel-line::after{
  content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(210,220,240,.06),transparent);
  animation:shimmer 1.4s var(--ease) infinite;
}
@keyframes shimmer{100%{transform:translateX(100%)}}

.gallery__empty,.fallback{
  grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--bone-dim);
  font-family:var(--ff-mono);font-size:.9rem;border:1px dashed var(--line);border-radius:var(--radius);
}
.fallback{margin:24px var(--gutter)}

/* ============ METHOD ============ */
.steps{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);list-style:none;
  display:grid;gap:clamp(14px,1.6vw,20px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));
  counter-reset:step;
}
.step{
  position:relative;padding:28px 26px 30px;border-radius:var(--radius);
  border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),var(--ink-2));
  overflow:hidden;transition:border-color .3s var(--ease),transform .3s var(--ease);
}
.step::before{  /* grid texture */
  content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:26px 26px;mask-image:radial-gradient(120% 80% at 90% 0%,#000,transparent 70%);
}
@media (hover:hover){.step:hover{border-color:rgba(201,255,61,.32);transform:translateY(-4px)}}
.step__no{
  display:block;font-family:var(--ff-mono);font-size:.9rem;letter-spacing:.1em;
  color:var(--signal);margin-bottom:34px;position:relative;
}
.step h3{font-size:1.42rem;font-weight:800;letter-spacing:-.02em;margin-bottom:10px;position:relative}
.step p{color:var(--bone-dim);font-size:.98rem;position:relative}

/* ============ PRICING ============ */
.tiers{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);
  display:grid;gap:clamp(14px,1.6vw,20px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  align-items:stretch;
}
.tier{
  position:relative;display:flex;flex-direction:column;
  padding:32px 30px 30px;border-radius:var(--radius);
  border:1px solid var(--line);background:var(--panel);
  transition:border-color .3s var(--ease),transform .3s var(--ease);
}
@media (hover:hover){.tier:hover{transform:translateY(-4px);border-color:rgba(210,220,240,.3)}}
.tier--feature{
  border-color:rgba(201,255,61,.4);
  background:linear-gradient(180deg,rgba(201,255,61,.06),var(--panel) 40%);
  box-shadow:0 24px 60px -30px rgba(201,255,61,.4);
}
.tier__flag{
  position:absolute;top:-1px;right:22px;transform:translateY(-50%);
  font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  background:var(--signal);color:#0a0c00;padding:5px 12px;border-radius:999px;font-weight:700;
}
.tier__head{border-bottom:1px solid var(--line-soft);padding-bottom:22px;margin-bottom:22px}
.tier__head h3{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
.tier__price{font-size:1.7rem;font-weight:800;margin-top:12px;letter-spacing:-.01em}
.tier__price .tbd{color:var(--signal);border-bottom:2px dashed rgba(201,255,61,.45);padding-bottom:1px}
.tier--feature .tier__price{font-size:2rem}
.tier__note{color:var(--bone-mute);font-size:.92rem;margin-top:6px}
.tier__list{list-style:none;display:flex;flex-direction:column;gap:12px;flex:1;margin-bottom:26px}
.tier__list li{position:relative;padding-left:26px;color:var(--bone-dim);font-size:.96rem;line-height:1.4}
.tier__list li::before{content:"◈";position:absolute;left:0;top:0;color:var(--signal);font-size:.8em}
.tier__cta{width:100%;justify-content:center}
.pricing__foot{
  max-width:var(--maxw);margin:26px auto 0;padding:0 var(--gutter);
  font-family:var(--ff-mono);font-size:.78rem;color:var(--bone-mute);text-align:center;
}

/* ============ START / CONTACT ============ */
.start{margin-top:clamp(90px,12vw,150px);position:relative;overflow:hidden;isolation:isolate}
.start__grid{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.start::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 120% at 50% 120%,rgba(201,255,61,.1),transparent 55%)}
.start__inner{
  max-width:900px;margin:0 auto;text-align:center;
  padding:clamp(80px,12vw,150px) var(--gutter);
}
.start__inner .section-kicker{color:var(--signal)}
.start__title{max-width:20ch;margin:0 auto}
.start__lede{color:var(--bone-dim);font-size:clamp(1.05rem,1.6vw,1.28rem);max-width:48ch;margin:22px auto 40px}
.start__ethos{
  margin-top:38px;font-family:var(--ff-serif);font-style:italic;
  font-size:clamp(1.05rem,1.8vw,1.35rem);color:var(--bone);
}

/* ============ FOOTER ============ */
.site-foot{
  border-top:1px solid var(--line-soft);
  max-width:var(--maxw);margin:0 auto;padding:52px var(--gutter);
  display:grid;gap:18px;
}
.foot__brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.12em;font-size:1rem}
.foot__line{color:var(--bone-dim);max-width:60ch;font-family:var(--ff-serif);font-style:italic;font-size:1.02rem}
.foot__nav{display:flex;flex-wrap:wrap;gap:22px;font-family:var(--ff-mono);font-size:.84rem}
.foot__nav a{color:var(--bone-dim);transition:color .2s var(--ease)}
.foot__nav a:hover{color:var(--signal)}
.foot__meta{font-family:var(--ff-mono);font-size:.76rem;color:var(--bone-mute);letter-spacing:.03em}

/* ============ REDUCED MOTION — degrade to a still, composed grid ============ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .hero__grid,.start__grid{display:none!important}
  .hero__still{display:block}
  .eyebrow__dot{animation:none}
  .card__scan{display:none}
  .card{animation:none}
}

/* ---- tier badge (Premium / Free) ---- */
.card__tier{
  position:absolute;top:10px;right:10px;
  font-family:var(--ff-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 9px;border-radius:999px;background:rgba(8,9,13,.72);
  border:1px solid var(--line);color:var(--bone-dim);backdrop-filter:blur(4px);
}
.card__tier--premium{
  background:rgba(201,255,61,.14);border-color:rgba(201,255,61,.42);color:var(--signal);
}

/* ---- industry landing pages ---- */
.pages{margin-top:clamp(90px,12vw,150px);padding:0 clamp(20px,4vw,56px)}
.pages__grid{
  margin-top:clamp(28px,4vw,44px);
  display:grid;gap:12px;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
}
.pcard{
  display:flex;flex-direction:column;gap:6px;
  padding:16px 17px;border:1px solid var(--line-soft);border-radius:12px;
  background:var(--ink-2);text-decoration:none;
  transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.pcard__vert{
  font-family:var(--ff-mono);font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--signal-deep);
}
.pcard__name{font-weight:800;font-size:1.05rem;letter-spacing:-.015em;color:var(--bone)}
.pcard__open{
  margin-top:6px;font-family:var(--ff-mono);font-size:.7rem;color:var(--bone-mute);
  transition:color .2s var(--ease),transform .2s var(--ease);
}
@media (hover:hover){
  .pcard:hover{transform:translateY(-4px);border-color:rgba(201,255,61,.4);box-shadow:0 16px 40px -22px rgba(0,0,0,.8)}
  .pcard:hover .pcard__open{color:var(--signal);transform:translateX(3px)}
}
.pcard:focus-visible{outline:2px solid var(--signal);outline-offset:2px}

/* ---- start form ---- */
.start__form{
  margin:28px auto 0;max-width:640px;text-align:left;
  display:flex;flex-direction:column;gap:14px;
}
.start__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.start__row{grid-template-columns:1fr}}
.start__field{display:flex;flex-direction:column;gap:6px}
.start__field span{
  font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;
  color:var(--bone-mute);
}
.start__field input,.start__field textarea{
  font:inherit;color:var(--bone);
  background:rgba(8,9,13,.6);border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;resize:vertical;
}
.start__field input::placeholder,.start__field textarea::placeholder{color:var(--bone-mute);opacity:.6}
.start__field input:focus-visible,.start__field textarea:focus-visible{
  outline:none;border-color:rgba(201,255,61,.55);box-shadow:0 0 0 3px rgba(201,255,61,.12);
}
.start__form .btn{align-self:center;margin-top:6px}
.start__alt{margin-top:16px;font-size:.9rem;color:var(--bone-mute)}
.start__alt a{color:var(--bone-dim);text-decoration-color:rgba(201,255,61,.4)}
.hp{position:absolute;left:-9999px;opacity:0}

/* ---- multi-page: page headers, niche sections, CTA band ---- */
.gallery--static{min-height:auto}
.page-head{
  max-width:var(--maxw);margin:0 auto;
  padding:clamp(64px,9vw,120px) var(--gutter) clamp(20px,3vw,36px);
}
.page-head .section-title{font-size:clamp(2rem,5.2vw,3.6rem)}
.more-link{max-width:var(--maxw);margin:0 auto;padding:clamp(24px,3vw,40px) var(--gutter) 0;text-align:center}
.niche{margin-top:clamp(48px,6vw,84px)}
.niche__head{
  max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);
  display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;
  border-top:1px solid var(--line-soft);padding-top:clamp(22px,3vw,34px);
}
.niche__title{
  font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:800;letter-spacing:-.015em;
}
.niche__line{font-family:var(--ff-serif);font-style:italic;color:var(--bone-mute);font-size:.95rem}
.niche .gallery,.niche .pages__grid{margin-top:clamp(18px,2.4vw,26px)}
.niche .pages__grid{padding:0}
.niche{padding-left:0;padding-right:0}
.niche .pages__grid,.niche .gallery--static{max-width:var(--maxw);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.cta-band{
  margin-top:clamp(90px,12vw,150px);
  border-top:1px solid var(--line-soft);
}
.cta-band__inner{
  max-width:var(--maxw);margin:0 auto;text-align:center;
  padding:clamp(56px,8vw,100px) var(--gutter);
  display:flex;flex-direction:column;align-items:center;gap:16px;
}
.pages{padding:0}
.pages .pages__grid{max-width:var(--maxw);margin-left:auto;margin-right:auto;padding:0 var(--gutter)}
.start--page{margin-top:0}
