:root {
  --font-display: 'Playfair Display', Georgia, serif;
  --font-heading: 'Manrope', 'Helvetica Neue', sans-serif;
  --font-body:    'Manrope', 'Helvetica Neue', sans-serif;
  --color-bg: #0C2D3A;
  --color-bg-deep: #09242F;
  --color-surface: rgba(230,226,214,.08);
  --color-surface-strong: rgba(230,226,214,.14);
  --color-text: #F7F9FB;
  --color-text-muted: rgba(247,249,251,.72);
  --color-text-faint: rgba(230,226,214,.56);
  --color-accent: #BFFF00;
  --color-accent-dim: rgba(191,255,0,.68);
  --color-border: rgba(230,226,214,.14);
  --color-dark-text: #0C2D3A;
  --color-ui-soft: #E6E2D6;
  --color-ui-bg: #F7F9FB;
  --color-text-rgb: 247,249,251;
  --color-accent-rgb: 191,255,0;
  --color-ui-soft-rgb: 230,226,214;
  --text-xs: clamp(.6875rem,.65rem + .2vw,.8125rem); --text-sm: clamp(.75rem,.7rem + .25vw,.875rem);
  --text-base: clamp(.9375rem,.88rem + .25vw,1.0625rem); --text-lg: clamp(1.0625rem,.95rem + .5vw,1.3125rem);
  --text-xl: clamp(1.25rem,1rem + .9vw,1.875rem); --text-2xl: clamp(1.625rem,.9rem + 2.4vw,3rem);
  --text-3xl: clamp(2rem,.6rem + 3.8vw,4.25rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;
  --space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --radius-sm:12px;--radius-md:18px;--radius-lg:28px;--radius-pill:999px;
  --section-space: clamp(3rem,6vw,5rem);
  --ease-out: cubic-bezier(.16,1,.3,1); --transition-fast: 180ms cubic-bezier(.16,1,.3,1);
}

body {
  background:
    radial-gradient(circle at 20% 18%, rgba(191,255,0,.08), transparent 28%),
    radial-gradient(circle at 82% 84%, rgba(230,226,214,.08), transparent 24%),
    linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-deep) 100%);
  color:var(--color-text);
  overflow-x:clip;
}

/* ===== PARTICLES CANVAS ===== */
.particles-canvas {
  position:fixed;inset:0;z-index:0;pointer-events:none;
  width:100%;height:100%;
}

/* ===== GLASS MORPHISM ===== */
.glass {
  background:rgba(230,226,214,.08) !important;
  border:1px solid rgba(230,226,214,.14) !important;
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  box-shadow:0 18px 48px rgba(4,18,24,.18);
}
.glass:hover {
  background:rgba(230,226,214,.12) !important;
  border-color:rgba(191,255,0,.22) !important;
}

/* ===== ANIMATED GRADIENT GLOW ===== */
.gradient-glow {
  position:absolute;left:0;right:0;height:300px;pointer-events:none;z-index:0;
}
.gradient-glow--bottom {
  bottom:0;
  background:radial-gradient(ellipse 80% 50% at 28% 100%, rgba(191,255,0,.16), transparent 60%),
             radial-gradient(ellipse 60% 40% at 72% 100%, rgba(230,226,214,.14), transparent 52%),
             radial-gradient(ellipse 50% 30% at 52% 100%, rgba(247,249,251,.12), transparent 40%);
  animation:gradientShift 8s ease-in-out infinite alternate;
}
.gradient-glow--cases {
  height:340px;
  background:radial-gradient(ellipse 88% 58% at 24% 100%, rgba(191,255,0,.24), transparent 60%),
             radial-gradient(ellipse 68% 44% at 76% 100%, rgba(230,226,214,.18), transparent 52%),
             radial-gradient(ellipse 52% 34% at 50% 100%, rgba(247,249,251,.14), transparent 42%);
}
@keyframes gradientShift {
  0%   { opacity:.76; }
  50%  { opacity:1; }
  100% { opacity:.8; }
}

/* ===== INTRO ===== */
.intro {
  position:fixed;inset:0;z-index:9000;background:var(--color-bg);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .6s cubic-bezier(.4,0,.2,1),visibility .6s;
}
.intro.done { opacity:0;visibility:hidden;pointer-events:none; }
.intro__center { width:min(100%,calc(100% - 2rem));display:flex;align-items:center;justify-content:center;margin-inline:auto; }
.brand-mark {
  display:block;flex-shrink:0;background-color:currentColor;
  -webkit-mask:url('./assets/tetraxon-logo.png') center / contain no-repeat;
  mask:url('./assets/tetraxon-logo.png') center / contain no-repeat;
}
.brand-mark--intro {
  width:min(19rem,58vw);aspect-ratio:43 / 15;color:var(--color-text);  opacity:0;transform:translateY(10px) scale(.98);
  animation:introMark .65s cubic-bezier(.16,1,.3,1) .16s forwards;
}
@keyframes introMark { to { opacity:1;transform:translateY(0) scale(1); } }
body.intro-active { overflow:hidden; }
.container { width:min(1280px,calc(100% - 3rem));margin-inline:auto;position:relative;z-index:1; }

/* ===== NAV ===== */
.nav {
  position:fixed;inset:0 0 auto 0;z-index:120;display:flex;align-items:center;justify-content:space-between;
  padding:var(--space-3) var(--space-8);transition:background .4s var(--ease-out),padding .4s var(--ease-out);
}
.nav--scrolled { padding-block:var(--space-2);background:rgba(12,45,58,.72);border-bottom:1px solid rgba(230,226,214,.12);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px); }
.nav--light { --nav-fg:var(--color-dark-text); }
.nav--light.nav--scrolled { background:rgba(247,249,251,.9);border-bottom-color:rgba(12,45,58,.08); }
.nav__logo { display:inline-flex;align-items:center;line-height:0;color:var(--nav-fg,var(--color-text)); }
.brand-mark--nav {
  width:10.25rem;aspect-ratio:43 / 15;
  transition:width .35s var(--ease-out),opacity .35s var(--ease-out),color .35s var(--ease-out);
}
.nav--scrolled .brand-mark--nav { width:9rem;opacity:.96; }

.nav__links { display:flex;align-items:center;gap:var(--space-6); }
.nav__link { font-size:var(--text-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--nav-fg,var(--color-text-muted));transition:color var(--transition-fast); }
.nav__link:hover { color:var(--nav-fg,var(--color-text)); }
.nav__cta {
  min-height:36px;padding:0 var(--space-5);display:inline-flex;align-items:center;
  border-radius:var(--radius-pill);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;letter-spacing:.04em;text-transform:none;
  background:rgba(230,226,214,.08);border:1px solid rgba(230,226,214,.14);
  color:var(--nav-fg,var(--color-text));transition:background var(--transition-fast),border-color var(--transition-fast);
}
.nav__cta:hover { background:rgba(191,255,0,.16);border-color:rgba(191,255,0,.28); }
.nav--light .nav__cta { background:rgba(12,45,58,.05);border-color:rgba(12,45,58,.1); }

.nav__menu-btn {
  display:none;min-height:40px;padding-inline:var(--space-6);border-radius:var(--radius-pill);
  font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;letter-spacing:.05em;text-transform:none;
  color:var(--nav-fg,var(--color-text));background:rgba(230,226,214,.08);border:1px solid rgba(230,226,214,.12);
  transition:background var(--transition-fast);
}
.nav__menu-btn:hover { background:rgba(191,255,0,.16); }
@media(max-width:768px) { .nav__links{display:none} .nav__menu-btn{display:inline-flex;align-items:center} }

/* Menu overlay */
.menu-overlay { position:fixed;inset:0;z-index:220;display:block;padding:1.5rem;background:rgba(9,36,47,.96);opacity:0;pointer-events:none;transition:opacity .45s var(--ease-out); }
.menu-overlay.active { opacity:1;pointer-events:auto; }
.menu-overlay__inner { width:min(720px,100%);display:grid;gap:var(--space-6);justify-items:start;align-content:start;margin:0 auto;padding-top:var(--space-6); }
.menu-overlay__close { justify-self:end;min-height:40px;padding-inline:var(--space-6);border-radius:var(--radius-pill);border:1px solid rgba(230,226,214,.14);background:rgba(230,226,214,.08);font-size:var(--text-xs);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text); }
.menu-overlay__link { font-family:var(--font-display);font-size:clamp(2rem,1rem+3vw,4rem);font-style:italic;color:var(--color-text);opacity:0;transform:translateY(30px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out); }
.menu-overlay.active .menu-overlay__link,.menu-overlay.active .menu-overlay__cta { opacity:1;transform:translateY(0); }
.menu-overlay.active .menu-overlay__link:nth-of-type(1){transition-delay:.04s}.menu-overlay.active .menu-overlay__link:nth-of-type(2){transition-delay:.08s}.menu-overlay.active .menu-overlay__link:nth-of-type(3){transition-delay:.12s}
.menu-overlay__link:hover { color:var(--color-accent); }
.menu-overlay__cta { margin-top:var(--space-4);min-height:48px;padding:0 var(--space-8);display:inline-flex;align-items:center;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-dark-text);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;letter-spacing:.04em;opacity:0;transform:translateY(18px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out),background var(--transition-fast),box-shadow var(--transition-fast); }
.menu-overlay__cta:hover { background:#d4ff5a;box-shadow:0 12px 28px rgba(191,255,0,.18); }

/* ===== HERO ===== */
.hero { position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;padding:clamp(5rem,8vw,7rem) 0 var(--space-12);overflow:clip; }

.hero__center {
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  max-width:52rem;}
.hero__headline {
  font-family:var(--font-heading);font-size:clamp(2.25rem,1.2rem + 2.8vw,3.5rem);font-weight:800;
  letter-spacing:-.035em;line-height:1.08;color:var(--color-text);margin-bottom:var(--space-5);
  text-wrap:balance;
}
.hero__sub { font-size:var(--text-base);line-height:1.7;color:var(--color-text-muted);max-width:38rem;margin-bottom:var(--space-10); }
.hero__actions { display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center; }

.hero__prompt { width:100%;max-width:560px;margin-bottom:var(--space-8); }
.hero__prompt-label { font-family:var(--font-display);font-size:clamp(.92rem,.88rem + .15vw,1rem);font-style:italic;font-weight:400;color:rgba(247,249,251,.68);margin-bottom:var(--space-3);white-space:nowrap; }
.ai-prompt {
  display:flex;align-items:center;
  border-radius:var(--radius-pill);
  padding:var(--space-3) var(--space-3) var(--space-3) var(--space-6);
  background:rgba(230,226,214,.08);
  border:1px solid rgba(230,226,214,.14);
  box-shadow:0 18px 48px rgba(4,18,24,.18);
  transition:border-color .3s var(--ease-out),background .3s var(--ease-out),box-shadow .3s var(--ease-out);
}
.ai-prompt:hover { border-color:rgba(191,255,0,.24);background:rgba(230,226,214,.11);box-shadow:0 18px 56px rgba(4,18,24,.24); }
.ai-prompt__bar { flex:1;min-width:0;min-height:28px;display:flex;align-items:center; }
.ai-prompt__text {
  font-family:var(--font-body);font-size:var(--text-base);font-weight:400;color:var(--color-text);line-height:1.4;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ai-prompt__cursor { display:inline-block;width:2px;height:1.2em;background:var(--color-accent);margin-left:1px;animation:promptBlink 1s step-end infinite;vertical-align:text-bottom; }
@keyframes promptBlink { 0%,100%{opacity:1} 50%{opacity:0} }
.ai-prompt__send {
  width:40px;height:40px;border-radius:50%;flex-shrink:0;
  background:var(--color-accent);color:var(--color-dark-text);
  display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);
}
.ai-prompt__send:hover { transform:scale(1.05);background:#d4ff5a;box-shadow:0 10px 22px rgba(191,255,0,.2); }
.ai-prompt__send svg { width:16px;height:16px; }

.btn-pill { min-height:48px;padding:0 var(--space-8);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast); }
.btn-pill:active { transform:scale(.98); }
.btn-pill--solid { background:var(--color-accent);color:var(--color-dark-text);box-shadow:0 14px 34px rgba(191,255,0,.16); }
.btn-pill--solid:hover { background:#d4ff5a;box-shadow:0 16px 38px rgba(191,255,0,.22); }
.btn-pill--ghost { color:var(--color-text);border:1px solid rgba(230,226,214,.18);background:rgba(230,226,214,.04); }
.btn-pill--ghost:hover { border-color:rgba(191,255,0,.28);background:rgba(191,255,0,.08); }

@media(max-width:768px) {
  .nav { padding:var(--space-2) 1rem; }
  .nav__menu-btn { display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-left:auto; }
  .nav__menu-btn { min-height:36px;padding-inline:var(--space-4);font-size:var(--text-xs); }
  .hero { min-height:100vh;min-height:100dvh;padding:4.35rem 0 var(--space-8);align-items:center; }
  .hero__center { width:min(100%,calc(100% - 1.5rem));max-width:38rem;align-items:center;text-align:center; }
  .hero__headline { max-width:17ch;font-size:clamp(2.1rem,.8rem + 5.5vw,3rem);line-height:1.06;text-wrap:balance;word-break:normal;overflow-wrap:normal;margin-inline:auto; }
  .hero__sub { max-width:36ch;font-size:.94rem;line-height:1.6;margin-bottom:var(--space-6);margin-inline:auto; }
  .hero__prompt-label { max-width:none;margin-inline:auto;font-size:clamp(.82rem,3.7vw,.94rem);line-height:1.3;text-align:center;white-space:nowrap; }
  .hero__prompt { width:min(100%,30rem);max-width:30rem;margin-inline:auto;margin-bottom:var(--space-5); }
  .hero__actions { width:100%;gap:.625rem;justify-content:center; }
  .hero__actions .btn-pill { width:auto;min-height:42px;padding:0 var(--space-4);font-size:.8rem; }
  .ai-prompt { min-height:52px;padding:var(--space-3) var(--space-3) var(--space-3) .95rem; }
  .ai-prompt__text { font-size:var(--text-sm); }
}

/* ===== STATEMENT ===== */
.statement { position:relative;height:184vh; }
.statement__pin {
  position:sticky;top:clamp(4.5rem,6vw,5.5rem);height:min(76vh,38rem);display:flex;align-items:center;justify-content:center;
  padding:0 1.5rem;
  background:var(--color-bg);
}
.statement__text {
  font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;
  line-height:1.2;letter-spacing:-.02em;color:var(--color-text);max-width:54rem;
}
.statement__text em { font-family:var(--font-display);font-style:italic;font-weight:400;color:var(--color-text-muted); }
.statement__text .statement__brand { color:var(--color-accent);opacity:.46; }
.statement__text .statement__brand.lit { opacity:1; }
.statement__text .mword { display:inline;opacity:.18;transition:opacity .25s var(--ease-out); }
.statement__text .mword.lit { opacity:1; }
@media(max-width:768px) {
  .statement { height:200vh; }
  .statement__pin {
    position:sticky;top:4.35rem;height:min(56vh,24rem);
    padding:0 1.25rem;
  }
  .statement__text {
    max-width:calc(100vw - 2.5rem);
    font-size:clamp(1.35rem,5.4vw,1.75rem);
    line-height:1.26;
  }
  .statement__text .mword { opacity:.16; }
}

/* ===== SHARED ===== */
.section-heading { display:grid;gap:var(--space-3);max-width:48rem;margin-bottom:var(--space-8); }
.section-heading__label,.audit__label,.cta-section__label { font-size:var(--text-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint); }
.section-heading__title,.cta-section__heading { font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--color-text); }

/* ===== DISCOVER ===== */
.discover { padding:var(--section-space) 0;overflow:hidden;position:relative; }
.discover__header { display:grid;gap:var(--space-3);max-width:48rem;margin-bottom:var(--space-10); }
.discover__tabs { display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-8); }
.discover__tab {
  display:inline-flex;align-items:center;gap:var(--space-2);
  padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);
  border:1px solid rgba(230,226,214,.14);background:rgba(230,226,214,.05);
  color:var(--color-text-muted);font-size:var(--text-sm);font-weight:500;
  transition:all .35s var(--ease-out);cursor:pointer;
}
.discover__tab svg { width:18px;height:18px;flex-shrink:0;opacity:.45;transition:opacity .35s var(--ease-out),color .35s var(--ease-out); color:var(--color-text-faint); }
.discover__tab:hover { border-color:rgba(191,255,0,.24);color:var(--color-text);background:rgba(230,226,214,.08); }
.discover__tab:hover svg { opacity:.7; }
.discover__tab.active { border-color:rgba(191,255,0,.4);color:var(--color-text);background:rgba(191,255,0,.12);box-shadow:0 10px 22px rgba(4,18,24,.16); }
.discover__tab.active svg { opacity:1;color:var(--color-accent); }

.discover__panel { position:relative;min-height:300px;z-index:1; }
.discover__industry { animation:discoverFadeIn .5s var(--ease-out); }
@keyframes discoverFadeIn { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.discover__industry-head { margin-bottom:var(--space-6); }
.discover__industry-top { display:flex;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-3); }
.discover__industry-name { font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700;letter-spacing:-.02em;color:var(--color-text); }
.discover__industry-sub { font-size:var(--text-sm);color:var(--color-text-faint); }
.discover__industry-pain {
  font-family:var(--font-display);font-size:var(--text-lg);font-style:italic;
  font-weight:400;line-height:1.4;color:var(--color-text-muted);
  padding-left:var(--space-5);border-left:1px solid rgba(191,255,0,.28);
}
.discover__cards { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-5); }
.discover__card {
  padding:var(--space-6);border-radius:var(--radius-lg);
  border:1px solid rgba(230,226,214,.12);
  background:rgba(230,226,214,.06);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  cursor:pointer;transition:all .4s var(--ease-out);overflow:hidden;
}
.discover__card:hover { border-color:rgba(191,255,0,.22);transform:translateY(-2px);background:rgba(230,226,214,.1); }
.discover__card-num { display:block;font-family:var(--font-display);font-size:var(--text-xs);font-style:italic;color:var(--color-text-faint);margin-bottom:var(--space-3); }
.discover__card-title { font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;letter-spacing:-.015em;line-height:1.2;color:var(--color-text);margin-bottom:var(--space-3); }
.discover__card-desc { font-size:var(--text-sm);line-height:1.65;color:var(--color-text-muted);margin-bottom:0; }
.discover__card-detail { max-height:0;overflow:hidden;transition:max-height .45s var(--ease-out),margin-top .45s var(--ease-out),opacity .35s var(--ease-out);opacity:0;margin-top:0; }
.discover__card.expanded .discover__card-detail { max-height:200px;opacity:1;margin-top:var(--space-4); }
.discover__card-detail-inner { padding-top:var(--space-4);border-top:1px solid rgba(230,226,214,.12); }
.discover__card-metric { font-size:var(--text-base);font-weight:700;letter-spacing:-.015em;color:var(--color-accent); }
.discover__card-how { font-size:var(--text-xs);color:var(--color-text-faint);margin-top:var(--space-2);line-height:1.55; }
.discover__card-expand { display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--text-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-faint);transition:color .3s var(--ease-out); }
.discover__card:hover .discover__card-expand { color:var(--color-accent); }
.discover__card-expand svg { width:14px;height:14px;transition:transform .35s var(--ease-out); }
.discover__card.expanded .discover__card-expand svg { transform:rotate(180deg); }
@media(max-width:768px) {
  .discover__header { margin-bottom:var(--space-6); }
  .discover__tabs {
    gap:var(--space-2);
    flex-wrap:nowrap;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    margin-inline:-.25rem;
    padding-inline:.25rem;
    padding-bottom:2px;
  }
  .discover__tabs::-webkit-scrollbar { display:none; }
  .discover__tab { flex:0 0 auto;padding:var(--space-2) var(--space-4);font-size:var(--text-xs);white-space:nowrap; }
  .discover__tab svg { width:14px;height:14px; }
  .discover__industry-top { flex-direction:column;gap:var(--space-2); }
  .discover__industry-pain {
    padding-left:0;
    border-left:none;
    padding-top:var(--space-3);
    border-top:1px solid rgba(191,255,0,.16);
    font-size:1rem;
    line-height:1.58;
  }
  .discover__cards { grid-template-columns:1fr;gap:var(--space-4); }
  .discover__card { padding:var(--space-5); }
  .discover__card-title { font-size:1rem; }
  .discover__card-desc { line-height:1.58; }
}

/* ===== AUDIT ===== */
.audit { min-height:300vh;position:relative; }
.audit__sticky { position:sticky;top:0;height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 max(1.5rem,calc((100vw - 1280px)/2 + 1.5rem)); }
.audit__label { color:var(--color-text-faint);margin-bottom:var(--space-3); }
.audit__steps { display:flex;flex-direction:column;gap:var(--space-6); }
.audit__step {
  padding:var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;opacity:.25;
  transition:opacity .5s var(--ease-out),border-color .5s var(--ease-out),background .5s var(--ease-out);
}
.audit__step.active { opacity:1;border-color:rgba(191,255,0,.22);background:rgba(230,226,214,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px); }
.audit__step-num { font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-faint);display:block;margin-bottom:var(--space-2); }
.audit__step h3 { font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;margin-bottom:var(--space-1); }
.audit__step p { font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.55; }
.audit__right { display:flex;align-items:center;justify-content:center; }
.audit__visual { position:relative;width:280px;height:280px; }
.audit__ring { position:absolute;border-radius:50%;border:2px solid rgba(230,226,214,.22);will-change:transform; }
.audit__ring--outer { inset:0;animation:ringRotate 20s linear infinite; }
.audit__ring--middle { inset:35px;animation:ringRotate 15s linear infinite reverse; }
.audit__ring--inner { inset:70px;border:2px solid rgba(191,255,0,.5);animation:ringRotate 10s linear infinite; }
.audit__ring--outer::after,.audit__ring--middle::after { content:'';position:absolute;top:-4px;left:50%;width:8px;height:8px;border-radius:50%;background:var(--color-accent);box-shadow:0 0 12px rgba(191,255,0,.5); }
@keyframes ringRotate { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.audit__center-text { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:1.3rem;font-style:italic;color:var(--color-accent-dim);white-space:nowrap;transition:opacity .4s var(--ease-out); }
@media(max-width:1024px) { .audit{min-height:auto} .audit__sticky{position:relative;height:auto;grid-template-columns:1fr;padding:var(--section-space) 1.5rem;gap:var(--space-10)} .audit__step{opacity:1;border-color:rgba(230,226,214,.12);background:rgba(230,226,214,.06)} .audit__visual{width:220px;height:220px;margin:0 auto} }
@media(max-width:768px) {
  .audit__sticky { padding:var(--space-16) 1.5rem;gap:var(--space-8); }
  .audit__right { order:-1;position:sticky;top:5.25rem;z-index:1; }
  .audit__steps { gap:var(--space-4); }
  .audit__step { padding:var(--space-4); }
  .audit__step h3 { font-size:1rem; }
  .audit__step p { font-size:.9rem;line-height:1.58; }
  .audit__visual { width:180px;height:180px; }
  .audit__center-text { font-size:1.1rem; }
}

/* ===== CASES ===== */
.cases { padding-block:var(--section-space);overflow:hidden;position:relative; }
.cases__header {
  width:min(1280px,calc(100% - 3rem));margin-inline:auto;
  display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);
  margin-bottom:var(--space-5);position:relative;z-index:1;
}
.cases__heading { display:grid;gap:var(--space-2);max-width:35rem; }
.cases__title {
  font-family:var(--font-heading);font-size:clamp(1.14rem,1.02rem + .68vw,1.58rem);
  font-weight:700;line-height:1.18;letter-spacing:-.025em;color:var(--color-text);
}
.cases__lede {
  font-size:clamp(.84rem,.8rem + .14vw,.92rem);line-height:1.62;color:var(--color-text-muted);
}
.cases__arrows { display:flex;gap:var(--space-2);flex-shrink:0; }
.cases__arrow {
  width:3rem;height:3rem;border-radius:50%;
  border:1px solid rgba(230,226,214,.14);color:var(--color-text);
  display:inline-flex;align-items:center;justify-content:center;
  transition:border-color var(--transition-fast),background var(--transition-fast);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.cases__arrow:hover { border-color:rgba(191,255,0,.24);background:rgba(230,226,214,.08); }
.cases__arrow svg { width:1rem;height:1rem; }
.cases__track {
  width:min(1280px,calc(100% - 3rem));margin-inline:auto;display:flex;gap:var(--space-4);
  overflow-x:auto;overflow-y:visible;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  padding-bottom:var(--space-2);position:relative;z-index:1;cursor:grab;touch-action:auto;overscroll-behavior:auto;scroll-behavior:smooth;
}
.cases__track::-webkit-scrollbar { display:none; }
.case-card {
  position:relative;overflow:hidden;
  flex:0 0 clamp(15.75rem,20vw,17.5rem);min-height:18.5rem;display:grid;grid-template-rows:6.9rem 1fr;gap:var(--space-3);
  padding:var(--space-4);border-radius:28px;scroll-snap-align:start;
  border:1px solid rgba(230,226,214,.14);
  background:rgba(230,226,214,.06);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:0 18px 46px rgba(4,18,24,.18);
  transition:transform .32s var(--ease-out),border-color .32s var(--ease-out),background .32s var(--ease-out),box-shadow .32s var(--ease-out);
}
.case-card::before {
  content:'';position:absolute;inset:1px;border-radius:27px;pointer-events:none;
  background:linear-gradient(160deg, rgba(247,249,251,.08), transparent 38%, transparent 74%, rgba(247,249,251,.04));
  opacity:.78;
}
.case-card::after {
  content:'';position:absolute;left:-14%;top:-22%;width:56%;height:46%;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle, rgba(247,249,251,.08), transparent 70%);
  filter:blur(18px);
}
.case-card:hover {
  transform:translateY(-3px);border-color:rgba(191,255,0,.22);
  background:rgba(230,226,214,.08);
  box-shadow:0 22px 52px rgba(4,18,24,.22);
}
.case-card__visual {
  position:relative;padding:var(--space-4);border-radius:20px;overflow:hidden;isolation:isolate;
  border:1px solid rgba(230,226,214,.12);
  background:
    linear-gradient(180deg, rgba(247,249,251,.08), rgba(247,249,251,.02)),
    linear-gradient(135deg, rgba(12,45,58,.08), transparent 72%);
  box-shadow:inset 0 1px 0 rgba(247,249,251,.06);
}
.case-card__visual::after {
  content:'';position:absolute;inset:14px;border-radius:14px;
  border:1px solid rgba(230,226,214,.11);
  background:
    linear-gradient(135deg, rgba(12,45,58,.18), transparent 72%),
    radial-gradient(circle at 24% 24%, rgba(247,249,251,.05), transparent 36%);
}
.case-card__visual::before {
  content:'';position:absolute;right:-10%;bottom:-28%;width:54%;height:72%;border-radius:50%;
  background:radial-gradient(circle, rgba(191,255,0,.14), transparent 68%);
  filter:blur(18px);opacity:.72;
}
/* dead modifiers removed: --commerce, --service, --agency (not in HTML) */
.case-card__visual-label,
.case-card__tag {
  font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.case-card__visual-label {
  position:relative;z-index:1;display:inline-flex;align-items:center;min-height:1.9rem;padding:0 .72rem;
  border-radius:999px;border:1px solid rgba(230,226,214,.12);background:rgba(247,249,251,.04);
  color:rgba(247,249,251,.82);
}
.case-card__brand {
  position:absolute;right:1rem;bottom:.9rem;z-index:1;
  width:7.5rem;height:auto;opacity:.22;pointer-events:none;user-select:none;
  filter:drop-shadow(0 8px 20px rgba(12,45,58,.18));
}
.case-card__body { display:grid;gap:.72rem;align-content:start;min-width:0; }
.case-card__tag { color:var(--color-accent-dim); }
.case-card__title {
  font-family:var(--font-heading);font-size:clamp(.98rem,.92rem + .22vw,1.12rem);
  font-weight:700;line-height:1.22;letter-spacing:-.022em;color:var(--color-text);
}
.case-card__desc {
  font-size:.85rem;line-height:1.58;color:var(--color-text-muted);
}
@media(max-width:768px) {
  .cases__header{flex-direction:column;align-items:start;width:min(100%,calc(100% - 1.5rem));margin-bottom:var(--space-4)}
  .cases__heading { max-width:34ch; }
  .cases__title { font-size:clamp(1.3rem,6.6vw,1.7rem); }
  .cases__lede { max-width:34ch; }
  .cases__arrows { align-self:flex-start; }
  .cases__track { width:min(100%,calc(100% - 1.5rem));gap:var(--space-3);scroll-snap-type:x proximity;touch-action:auto;padding-inline:1px; }
  .case-card { flex-basis:min(17.25rem,calc(100vw - 2.25rem));min-height:17.75rem;padding:var(--space-4); }
  .case-card__visual { min-height:6rem; }
  .case-card__brand { width:6rem; }
  .case-card__title { font-size:1rem; }
  .case-card__desc { font-size:.82rem;line-height:1.54; }
  .brand-mark--nav{width:8.75rem}
  .nav--scrolled .brand-mark--nav{width:7.75rem}
}
@media(max-width:1024px) and (min-width:769px) {
  .case-card { flex-basis:min(17rem,calc(50vw - 2.5rem)); }
}

/* ===== CTA — dark with matte gradient ===== */
.cta-section { position:relative;padding-block:var(--section-space);background:var(--color-ui-bg);color:var(--color-dark-text);overflow:hidden; }
.cta-section__gradient-top {
  position:absolute;top:0;left:0;right:0;height:200px;
  background:linear-gradient(180deg,rgba(230,226,214,.58),transparent);
  pointer-events:none;
}
.cta-section__gradient-bottom {
  position:absolute;bottom:0;left:0;right:0;height:250px;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 50% at 25% 100%, rgba(191,255,0,.12), transparent 60%),
    radial-gradient(ellipse 50% 40% at 75% 100%, rgba(230,226,214,.14), transparent 50%),
    radial-gradient(ellipse 60% 30% at 50% 100%, rgba(12,45,58,.08), transparent 40%);
  animation:gradientShift 10s ease-in-out infinite alternate;
}
.cta-section__inner { max-width:54rem;position:relative;z-index:1; }
.cta-section__label { font-size:var(--text-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(12,45,58,.48);margin-bottom:var(--space-3); }
.cta-section__heading { font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--color-dark-text);margin-bottom:var(--space-4); }
.cta-section__sub { font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(1.2rem,.9rem + .9vw,1.75rem);line-height:1.35;color:rgba(12,45,58,.6);margin-bottom:var(--space-8); }
.cta-section__btn {
  min-height:52px;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-8);
  border-radius:var(--radius-pill);border:1px solid rgba(191,255,0,.4);background:var(--color-accent);color:var(--color-dark-text);
  font-size:var(--text-sm);font-weight:600;
  box-shadow:0 14px 30px rgba(191,255,0,.16);
    transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);
}
.cta-section__btn:hover { background:#d4ff5a;color:var(--color-dark-text);border-color:#d4ff5a;box-shadow:0 18px 38px rgba(191,255,0,.22);transform:translateY(-1px); }
.cta-section__btn svg { width:.9rem;height:.9rem;transition:transform .3s var(--ease-out); }
.cta-section__btn:hover svg { transform:translateX(4px); }
.cta-section__note { max-width:38rem;margin-top:var(--space-4);font-size:var(--text-base);line-height:1.75;color:rgba(12,45,58,.56); }
@media(max-width:768px) {
  .cta-section { padding-block:var(--space-16); }
  .cta-section__inner { width:min(100%,calc(100% - 1.5rem)); }
  .cta-section__heading { max-width:18ch; }
  .cta-section__sub {
    font-size:clamp(1rem,5.5vw,1.35rem);
    line-height:1.4;
    margin-bottom:var(--space-6);
  }
  .cta-section__btn { width:auto;justify-content:center;padding:0 var(--space-4);min-height:44px;font-size:.82rem; }
  .cta-section__note { font-size:.95rem;line-height:1.6; }
}

/* ===== FOOTER ===== */
.footer { background:var(--color-ui-bg);color:rgba(12,45,58,.56);padding:var(--space-6) max(1.5rem,calc((100vw - 1280px)/2 + 1.5rem));display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-top:1px solid rgba(12,45,58,.08); }
.footer__copy,.footer__links a { font-size:var(--text-xs); }
.footer__links { display:flex;gap:var(--space-5); }
.footer__links a { transition:color var(--transition-fast); }
.footer__links a:hover { color:var(--color-dark-text); }
@media(max-width:768px) {
  .footer { flex-direction:column;text-align:center;padding:var(--space-5) 1.5rem; }
  .footer__links { flex-wrap:wrap;justify-content:center;gap:var(--space-3); }
}
@media(max-width:480px) {
  .brand-mark--intro { width:min(11rem,46vw); }
  .brand-mark--nav { width:7.9rem; }
  .nav--scrolled .brand-mark--nav { width:7rem; }
  .nav { padding-inline:.9rem; }
  .nav__menu-btn { padding-inline:.9rem; }
  .hero__headline { max-width:16ch;font-size:clamp(2.25rem,.4rem + 7vw,3rem); }
  .hero__sub { max-width:34ch;font-size:.9rem; }
  .ai-prompt { border-radius:24px; }
  .statement__text { font-size:clamp(1.2rem,5vw,1.55rem); }
  .discover__industry-pain { font-size:.94rem; }
  .discover__card { padding:1.125rem; }
  .case-card { flex-basis:calc(100vw - 2rem); }
  .cta-section__heading { max-width:16ch; }
  .cta-section__sub { font-size:clamp(.94rem,4.8vw,1.2rem); }
}

/* ===== ANIMATIONS ===== */
@keyframes revealUp { to { opacity:1;transform:translateY(0); } }
@keyframes charFallback { to { opacity:1;transform:translateY(0); } }

/* Char-by-char reveal (JS splits text into .char spans) */
.js-char-reveal .char {
  display:inline-block;opacity:0;transform:translateY(1.1rem);
  transition:opacity .65s var(--ease-out),transform .65s var(--ease-out);
  animation:charFallback .6s var(--ease-out) 4s forwards; /* safety net if JS never adds .revealed */
}
.js-char-reveal.revealed .char { opacity:1;transform:translateY(0);animation:none; }

/* General section reveals — JS adds .revealed via IntersectionObserver */
.js-reveal {
  opacity:0;transform:translateY(24px);
  transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);
}
.js-reveal.revealed { opacity:1;transform:translateY(0); }
/* Safety-net fallback only for hero (above-fold) — offscreen sections rely on observer */
.hero .js-reveal { animation:revealUp .8s var(--ease-out) 4s forwards; }
.hero .js-reveal.revealed { animation:none; }

@media(max-width:768px) {
  .js-char-reveal .char { transform:translateY(.7rem);transition-duration:.5s;animation-delay:3s; }
}

/* ===== CASE CARD — NDA GLASS SHOWCASE ===== */

/* Base state: interactive but content hidden */
.case-card--soon {
  position:relative;
  cursor:default;
  overflow:hidden;
}
.case-card--soon:hover {
  transform:translateY(-4px);
  border-color:rgba(191,255,0,.12);
  background:rgba(230,226,214,.08);
  box-shadow:
    0 24px 56px rgba(4,18,24,.24),
    0 0 0 1px rgba(191,255,0,.06);
}

/* Blurred content layer — strong enough to be unreadable */
.case-card__blur-content {
  display:grid;
  grid-template-rows:6.9rem 1fr;
  gap:var(--space-3);
  filter:blur(6px) saturate(.3) brightness(.7);
  -webkit-filter:blur(6px) saturate(.3) brightness(.7);
  opacity:.4;
  transition:filter .5s var(--ease-out), opacity .5s var(--ease-out);
}
.case-card--soon:hover .case-card__blur-content {
  filter:blur(4px) saturate(.4) brightness(.75);
  -webkit-filter:blur(4px) saturate(.4) brightness(.75);
  opacity:.48;
}

/* Matte glass overlay — the "film" on top of content */
.case-card__glass {
  position:absolute;
  inset:0;
  z-index:4;
  border-radius:28px;
  pointer-events:none;
  background:
    linear-gradient(
      168deg,
      rgba(12,45,58,.35) 0%,
      rgba(12,45,58,.18) 40%,
      rgba(12,45,58,.28) 70%,
      rgba(12,45,58,.42) 100%
    );
  /* backdrop-filter removed: 2px blur invisible, saves GPU layer */
}
/* Top-left highlight blik — subtle glass refraction */
.case-card__glass::before {
  content:"";
  position:absolute;
  top:-1px;left:-1px;right:50%;bottom:60%;
  border-radius:28px 0 0 0;
  background:linear-gradient(
    145deg,
    rgba(247,249,251,.06) 0%,
    rgba(247,249,251,.02) 40%,
    transparent 70%
  );
  pointer-events:none;
}
/* Bottom-right edge glow */
.case-card__glass::after {
  content:"";
  position:absolute;
  bottom:0;right:0;
  width:60%;height:40%;
  border-radius:0 0 28px 0;
  background:radial-gradient(
    ellipse at 80% 90%,
    rgba(191,255,0,.03) 0%,
    transparent 60%
  );
  pointer-events:none;
  transition:opacity .5s var(--ease-out);
  opacity:.5;
}
.case-card--soon:hover .case-card__glass::after {
  opacity:1;
}

/* NDA badge — centered, clean, premium */
.case-card__soon-label {
  position:absolute;
  inset:0;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.case-card__soon-badge {
  font-family:var(--font-heading);
  font-size:var(--text-xs);
  font-weight:700;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(230,226,214,.48);
  padding:.5rem 1.5rem;
  border-radius:999px;
  border:1px solid rgba(230,226,214,.1);
  background:rgba(12,45,58,.5);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:
    0 0 0 1px rgba(230,226,214,.04),
    inset 0 1px 0 rgba(247,249,251,.06),
    0 4px 20px rgba(4,18,24,.3);
  transition:
    color .4s var(--ease-out),
    border-color .4s var(--ease-out),
    box-shadow .4s var(--ease-out),
    transform .4s var(--ease-out);
}
.case-card--soon:hover .case-card__soon-badge {
  color:rgba(191,255,0,.56);
  border-color:rgba(191,255,0,.14);
  box-shadow:
    0 0 0 1px rgba(191,255,0,.06),
    inset 0 1px 0 rgba(247,249,251,.06),
    0 4px 24px rgba(4,18,24,.35),
    0 0 32px rgba(191,255,0,.04);
  transform:scale(1.04);
}
