/* ---------- Tokens ---------- */
:root{
  --purple: 102,0,153;
  --magenta: 204,51,128;
  --orange: 255,128,0;
  --gold: 255,191,77;

  --bg: #07050c;
  --bg-elevated: #0e0a17;
  --surface: rgba(255,255,255,0.045);
  --surface-strong: rgba(255,255,255,0.07);
  --border: rgba(255,255,255,0.10);
  --text: #f6f3fb;
  --text-dim: rgba(246,243,251,0.68);
  --text-faint: rgba(246,243,251,0.45);

  --font-body: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: 'Sora', 'DM Sans', -apple-system, sans-serif;

  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;

  --ease: cubic-bezier(.16,.8,.28,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  position:relative;
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3{
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.12;
  margin:0 0 .5em;
  letter-spacing:-0.02em;
}
p{ margin:0 0 1em; color:var(--text-dim); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }

.wrap{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 28px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

/* ---------- Animated background ---------- */
.bg-orbs{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.orb{
  position:absolute;
  border-radius:50%;
  filter:blur(90px);
  opacity:.55;
  mix-blend-mode:screen;
  will-change:transform;
}
.orb-purple{
  width:52vw; height:52vw;
  left:-15vw; top:-10vw;
  background:radial-gradient(circle at 30% 30%, rgba(var(--purple),.9), rgba(var(--purple),0) 70%);
  animation: drift1 26s var(--ease) infinite alternate;
}
.orb-magenta{
  width:46vw; height:46vw;
  right:-14vw; top:6vw;
  background:radial-gradient(circle at 40% 40%, rgba(var(--magenta),.85), rgba(var(--magenta),0) 70%);
  animation: drift2 32s var(--ease) infinite alternate;
}
.orb-orange{
  width:40vw; height:40vw;
  left:6vw; bottom:-16vw;
  background:radial-gradient(circle at 50% 50%, rgba(var(--orange),.75), rgba(var(--orange),0) 70%);
  animation: drift3 30s var(--ease) infinite alternate;
}
.orb-gold{
  width:34vw; height:34vw;
  right:8vw; bottom:-10vw;
  background:radial-gradient(circle at 50% 50%, rgba(var(--gold),.7), rgba(var(--gold),0) 70%);
  animation: drift4 24s var(--ease) infinite alternate;
}

@keyframes drift1{ 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(6vw,8vw) scale(1.12);} }
@keyframes drift2{ 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(-7vw,5vw) scale(1.08);} }
@keyframes drift3{ 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(5vw,-6vw) scale(1.15);} }
@keyframes drift4{ 0%{transform:translate(0,0) scale(1);} 100%{transform:translate(-4vw,-5vw) scale(1.1);} }

.bg-grain{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%, transparent 0%, var(--bg) 78%);
}

.bg-lines{
  position:absolute; inset:0; z-index:1;
  overflow:hidden; pointer-events:none;
}
.bgline{
  position:absolute;
  left:-20%; width:140%; height:1px;
  opacity:.5;
}
.bgline-1{ top:5%;  background:linear-gradient(90deg, transparent, rgba(var(--purple),.4), transparent);  transform:rotate(-7deg); animation:shimmer 9s ease-in-out infinite; }
.bgline-2{ top:17%; background:linear-gradient(90deg, transparent, rgba(var(--magenta),.35), transparent); transform:rotate(5deg);  animation:shimmer 11s ease-in-out infinite 1.4s; }
.bgline-3{ top:31%; background:linear-gradient(90deg, transparent, rgba(var(--gold),.35), transparent);    transform:rotate(-4deg); animation:shimmer 10s ease-in-out infinite .8s; }
.bgline-4{ top:47%; background:linear-gradient(90deg, transparent, rgba(var(--orange),.4), transparent);   transform:rotate(6deg);  animation:shimmer 12s ease-in-out infinite 2s; }
.bgline-5{ top:63%; background:linear-gradient(90deg, transparent, rgba(var(--magenta),.32), transparent); transform:rotate(-6deg); animation:shimmer 9.5s ease-in-out infinite .5s; }
.bgline-6{ top:78%; background:linear-gradient(90deg, transparent, rgba(var(--purple),.35), transparent);  transform:rotate(4deg);  animation:shimmer 11.5s ease-in-out infinite 1.8s; }
.bgline-7{ top:91%; background:linear-gradient(90deg, transparent, rgba(var(--gold),.32), transparent);    transform:rotate(-5deg); animation:shimmer 10.5s ease-in-out infinite 1.1s; }
@keyframes shimmer{ 0%,100%{ opacity:.22; } 50%{ opacity:.6; } }

/* Provenance watermark — faint, tiled, present in every render/screenshot of this page. */
.bg-watermark-tile{
  position:absolute; inset:0; z-index:1;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='320'%20height='170'%3E%3Ctext%20x='-20'%20y='70'%20transform='rotate(-18%20160%2085)'%20font-family='DM%20Sans,Arial,sans-serif'%20font-size='15'%20font-weight='700'%20letter-spacing='1'%20fill='white'%3ENUVIRA%3C/text%3E%3Ctext%20x='-20'%20y='96'%20transform='rotate(-18%20160%2085)'%20font-family='DM%20Sans,Arial,sans-serif'%20font-size='10'%20letter-spacing='2'%20fill='white'%3ESKYSMIND%20%C2%B7%20PROPRIETARY%3C/text%3E%3C/svg%3E");
  background-repeat:repeat;
  background-size:320px 170px;
  opacity:.03;
  mix-blend-mode:screen;
}

/* ---------- Header ---------- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:18px 0;
  transition:padding .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease);
  border-bottom:1px solid transparent;
}
.site-header.scrolled{
  padding:12px 0;
  background:rgba(7,5,12,0.72);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom-color:var(--border);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{ display:flex; align-items:center; gap:10px; }
.brand-mark{
  width:26px; height:auto;
  color:var(--text);
  filter: drop-shadow(0 0 10px rgba(var(--magenta),.55));
}
.brand-mark svg{ width:100%; height:auto; display:block; fill:currentColor; }
.brand-word{
  font-family:var(--font-display);
  font-weight:700;
  font-size:19px;
  letter-spacing:-0.01em;
}

.site-nav{ display:flex; align-items:center; gap:34px; }
.site-nav a{
  font-size:14.5px; font-weight:500; color:var(--text-dim);
  transition:color .2s;
  position:relative;
}
.site-nav a:hover{ color:var(--text); }

.header-actions{ display:flex; align-items:center; gap:14px; }

.nav-toggle{
  display:none;
  flex-direction:column; justify-content:center; gap:5px;
  width:36px; height:36px;
  background:transparent; border:none; cursor:pointer;
}
.nav-toggle span{
  display:block; width:100%; height:2px; background:var(--text); border-radius:2px;
  transition:transform .3s var(--ease), opacity .3s var(--ease);
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:13px 24px;
  border-radius:100px;
  font-weight:600; font-size:15px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
  white-space:nowrap;
}
.btn .ico{ width:18px; height:18px; }
.btn-primary{
  background:linear-gradient(135deg, rgb(var(--magenta)), rgb(var(--orange)));
  color:#fff;
  box-shadow:0 8px 30px -8px rgba(var(--magenta),.6);
}
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 36px -8px rgba(var(--magenta),.75); }
.btn-small{ padding:9px 18px; font-size:13.5px; }
.btn-lg{ padding:17px 32px; font-size:16.5px; }
.btn-ghost{
  background:var(--surface);
  border-color:var(--border);
  color:var(--text);
  backdrop-filter:blur(10px);
}
.btn-ghost:hover{ background:var(--surface-strong); transform:translateY(-2px); }

.eyebrow{
  display:inline-block;
  font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:transparent;
  background:linear-gradient(90deg, rgb(var(--gold)), rgb(var(--magenta)));
  -webkit-background-clip:text; background-clip:text;
  margin-bottom:16px;
}

/* ---------- Hero ---------- */
.hero{
  position:relative; z-index:2;
  padding:168px 0 90px;
}
.hero-inner{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:40px;
}
.hero h1{
  font-size:clamp(38px, 5.4vw, 64px);
  background:linear-gradient(135deg,#fff 40%, rgba(255,255,255,.75));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-sub{
  font-size:17.5px;
  max-width:480px;
  color:var(--text-dim);
}
.hero-sub strong{ color:var(--text); }
.hero-ctas{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin:30px 0 18px; }
.hero-fine{ font-size:13px; color:var(--text-faint); margin:0; }

.hero-visual{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  min-height:420px;
}
.icon-glow{
  position:absolute;
  width:300px; height:300px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(var(--magenta),.55), rgba(var(--purple),.25) 55%, transparent 72%);
  filter:blur(50px);
  animation:pulse 6s ease-in-out infinite;
}
@keyframes pulse{ 0%,100%{ transform:scale(1); opacity:.85; } 50%{ transform:scale(1.08); opacity:1; } }

.hero-mark-watermark{
  position:absolute;
  top:50%; left:50%;
  width:560px; height:auto;
  color:#fff;
  opacity:.05;
  transform:translate(-50%,-50%) rotate(-5deg);
  pointer-events:none;
  z-index:-1;
}
.hero-mark-watermark path{ fill:currentColor; }

.app-icon{
  position:relative;
  width:230px; height:230px;
  border-radius:52px;
  box-shadow:0 30px 70px -20px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.06);
  animation:float 7s ease-in-out infinite;
}
@keyframes float{ 0%,100%{ transform:translateY(0px) rotate(0deg);} 50%{ transform:translateY(-16px) rotate(1.2deg);} }

.chip{
  position:absolute;
  padding:10px 16px;
  font-size:13px; font-weight:600;
  color:var(--text);
  background:rgba(255,255,255,.07);
  border:1px solid var(--border);
  border-radius:100px;
  backdrop-filter:blur(14px) saturate(160%);
  -webkit-backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 12px 30px -12px rgba(0,0,0,.5);
  white-space:nowrap;
}
.chip-1{ top:6%; left:-4%; animation:floatchip 8s ease-in-out infinite; }
.chip-2{ bottom:16%; left:-10%; animation:floatchip 9s ease-in-out infinite 1.2s; }
.chip-3{ top:14%; right:-14%; animation:floatchip 7.5s ease-in-out infinite .6s; }
.chip-4{ bottom:6%; right:-6%; animation:floatchip 8.5s ease-in-out infinite 1.8s; }
@keyframes floatchip{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-10px);} }

/* ---------- Philosophy strip ---------- */
.strip{ position:relative; z-index:2; padding:10px 0 90px; }
.strip-mark{
  display:block;
  width:34px;
  margin:0 auto 22px;
  filter:drop-shadow(0 0 14px rgba(var(--magenta),.5));
}
.strip-mark svg{ width:100%; height:auto; display:block; }
.strip-mark path{ fill:rgb(var(--gold)); }
.strip-inner p{
  text-align:center;
  font-family:var(--font-display);
  font-size:clamp(19px,2.6vw,27px);
  font-weight:600;
  color:var(--text);
  max-width:820px;
  margin:0 auto;
  line-height:1.45;
}

/* ---------- Section shared ---------- */
section{ position:relative; z-index:2; }
.section-head{ max-width:640px; margin:0 0 56px; }
.section-head h2{ font-size:clamp(28px,3.6vw,40px); }
.section-lede{ font-size:16.5px; margin:0; }

/* ---------- Page header (subpages) ---------- */
.page-header{
  position:relative; z-index:2;
  padding:168px 0 40px;
}
.page-header .section-head{ max-width:680px; margin:0; }
.page-header h1{ font-size:clamp(32px,4.4vw,48px); }
.page-header .section-lede a{ color:var(--text); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,255,255,.35); }
.page-header .section-lede a:hover{ text-decoration-color:rgba(255,255,255,.9); }

/* ---------- FAQ ---------- */
.faq-page{ padding:20px 0 100px; }
.faq-section{ margin-bottom:56px; }
.faq-section:last-child{ margin-bottom:0; }
.faq-category-title{
  font-size:20px;
  color:var(--text);
  margin-bottom:20px;
  padding-bottom:12px;
  border-bottom:1px solid var(--border);
}
.faq-list{ display:flex; flex-direction:column; gap:12px; }
.faq-item{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  overflow:hidden;
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
.faq-item[open]{ background:var(--surface-strong); border-color:rgba(255,255,255,.18); }
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:18px 52px 18px 20px;
  font-size:15.5px;
  font-weight:600;
  color:var(--text);
  position:relative;
  -webkit-tap-highlight-color:transparent;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+";
  position:absolute;
  right:20px; top:50%;
  transform:translateY(-50%);
  font-size:20px;
  font-weight:400;
  color:var(--text-faint);
  transition:transform .25s var(--ease), color .25s var(--ease);
}
.faq-item[open] summary::after{
  transform:translateY(-50%) rotate(45deg);
  color:rgb(var(--gold));
}
.faq-item summary:hover{ color:rgb(var(--gold)); }
.faq-answer{ padding:0 20px 20px; }
.faq-answer p{ font-size:14.5px; margin:0; }
.faq-answer p + p{ margin-top:10px; }
.faq-answer a{ color:var(--text); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,255,255,.35); }
.faq-answer a:hover{ text-decoration-color:rgba(255,255,255,.9); }

/* ---------- Features ---------- */
.features{ padding:40px 0 110px; overflow:hidden; }
.features-watermark{
  position:absolute;
  top:-60px; left:-140px;
  width:520px; height:auto;
  color:#fff;
  opacity:.04;
  transform:rotate(-11deg);
  z-index:-1;
  pointer-events:none;
}
.features-watermark path{ fill:currentColor; }
.feature-grid,
.pillars-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
}
.pillars-grid{ margin-top:56px; }
.feature-card{
  padding:28px 24px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  backdrop-filter:blur(14px);
  transition:transform .35s var(--ease), border-color .35s var(--ease), background .35s var(--ease);
}
.feature-card:hover{
  transform:translateY(-6px);
  background:var(--surface-strong);
  border-color:rgba(255,255,255,.18);
}
.feature-icon{
  width:44px; height:44px;
  border-radius:13px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}
.feature-icon svg{ width:22px; height:22px; }
.fi-purple{ background:rgba(var(--purple),.22); color:rgb(200,150,230); }
.fi-magenta{ background:rgba(var(--magenta),.22); color:rgb(255,150,190); }
.fi-orange{ background:rgba(var(--orange),.22); color:rgb(255,175,110); }
.fi-gold{ background:rgba(var(--gold),.22); color:rgb(255,214,140); }
.feature-card h3{ font-size:17.5px; margin-bottom:8px; }
.feature-card p{ font-size:14.5px; margin:0; }
.feature-card p a{ color:var(--text); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,255,255,.35); transition:text-decoration-color .2s; }
.feature-card p a:hover{ text-decoration-color:rgba(255,255,255,.9); }

/* ---------- Security ---------- */
.security{ padding:40px 0 120px; }
.security-inner{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  align-items:center;
  gap:60px;
}
.security-visual{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  min-height:320px;
}
.security-glow{
  position:absolute;
  width:280px; height:280px;
  background:radial-gradient(circle, rgba(var(--gold),.35), rgba(var(--orange),.18) 55%, transparent 72%);
  filter:blur(60px);
}
.security-mark{
  position:relative;
  width:220px; height:auto;
  color:rgba(255,255,255,.9);
  fill:currentColor;
  filter:drop-shadow(0 0 30px rgba(var(--magenta),.35));
  animation:float 8s ease-in-out infinite;
}
.security-copy p{ font-size:16px; max-width:560px; }
.security-copy em{ color:var(--text); font-style:normal; font-weight:600; }
.principle-list{ margin-top:26px; display:flex; flex-direction:column; gap:14px; }
.principle-list li{
  font-size:14.5px; color:var(--text-dim);
  padding-left:20px; position:relative;
}
.principle-list li::before{
  content:"";
  position:absolute; left:0; top:8px;
  width:8px; height:8px; border-radius:50%;
  background:linear-gradient(135deg, rgb(var(--gold)), rgb(var(--magenta)));
}
.principle-list span{ color:var(--text); font-weight:700; }

/* ---------- Safety ---------- */
.safety{ position:relative; padding:60px 0 130px; overflow:hidden; }
.safety-watermark{
  position:absolute;
  top:-60px; right:-140px;
  width:600px; height:auto;
  color:#fff;
  opacity:.045;
  transform:rotate(12deg);
  pointer-events:none;
  z-index:0;
}
.safety-watermark path{ fill:currentColor; }
.safety-content{ position:relative; z-index:1; }
.safety-content .section-lede{ margin-top:18px; }

.safety-intro{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:center;
  gap:60px;
  margin-top:56px;
}
.safety-copy p{ font-size:16px; max-width:560px; }
.safety-visual{
  position:relative;
  display:flex; align-items:center; justify-content:center;
  min-height:280px;
}
.safety-glow{
  position:absolute;
  width:260px; height:260px;
  background:radial-gradient(circle, rgba(var(--orange),.35), rgba(var(--gold),.2) 55%, transparent 72%);
  filter:blur(60px);
}
.safety-mark{
  position:relative;
  width:190px; height:auto;
  color:rgba(255,255,255,.9);
  fill:currentColor;
  filter:drop-shadow(0 0 28px rgba(var(--orange),.4));
  animation:float 8s ease-in-out infinite 1s;
}

.safety-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:20px;
  margin-top:64px;
}
.safety-card h3{ font-size:16.5px; margin-bottom:10px; }
.safety-card p{ font-size:14px; }
.safety-closer{
  margin-top:44px;
  font-size:17px;
  font-weight:600;
  color:var(--text);
  max-width:600px;
}

/* ---------- About ---------- */
.about{ position:relative; padding:20px 0 120px; overflow:hidden; }
.about-watermark{
  position:absolute;
  top:50%; left:78%;
  width:820px; height:auto;
  transform:translate(-50%,-50%) rotate(-6deg);
  color:#fff;
  opacity:.045;
  pointer-events:none;
  z-index:0;
}
.about-watermark path{ fill:currentColor; }
.about-inner{ position:relative; z-index:1; max-width:640px; }
.about-inner h2{ font-size:clamp(28px,3.6vw,40px); }
.about-inner p{ font-size:16px; margin-bottom:26px; }

/* ---------- CTA ---------- */
.cta{ padding:40px 0 140px; }
.cta-mark{
  display:block;
  width:30px;
  margin:0 auto 20px;
  filter:drop-shadow(0 0 14px rgba(var(--gold),.5));
}
.cta-mark svg{ width:100%; height:auto; display:block; }
.cta-mark path{ fill:rgb(var(--magenta)); }
.cta-inner{
  position:relative;
  overflow:hidden;
  text-align:center;
  max-width:560px;
  margin:0 auto;
  padding:64px 40px;
  background:linear-gradient(160deg, rgba(var(--purple),.28), rgba(var(--magenta),.12) 50%, rgba(var(--orange),.10));
  border:1px solid var(--border);
  border-radius:32px;
  backdrop-filter:blur(20px);
}
.cta-watermark{
  position:absolute;
  bottom:-70px; right:-90px;
  width:320px; height:auto;
  color:#fff;
  opacity:.07;
  transform:rotate(9deg);
  z-index:-1;
  pointer-events:none;
}
.cta-watermark path{ fill:currentColor; }
.cta-inner h2{ font-size:clamp(26px,3.4vw,34px); }
.cta-inner p{ margin-bottom:28px; }
.cta-inner .hero-fine{ margin-top:16px; }

/* ---------- Footer ---------- */
.site-footer{
  position:relative; z-index:2;
  border-top:1px solid var(--border);
  padding:64px 0 0;
  background:linear-gradient(180deg, transparent, rgba(255,255,255,.02));
}
.footer-inner{
  display:flex; justify-content:space-between; gap:60px;
  padding-bottom:48px;
  flex-wrap:wrap;
}
.footer-marks{ display:flex; align-items:center; gap:16px; margin-bottom:18px; }
.footer-mark{ width:58px; color:rgb(var(--magenta)); filter:drop-shadow(0 0 16px rgba(var(--magenta),.35)); }
.footer-mark svg{ width:100%; height:auto; display:block; }
.footer-mark path{ fill:currentColor; }
.footer-mark-divider{ font-size:16px; color:var(--text-faint); }
.footer-wordmark{ color:var(--text); }
.footer-brand{ max-width:320px; }
.footer-brand p{ font-size:13.5px; color:var(--text-faint); margin:0; }
.footer-links{ display:flex; gap:64px; }
.footer-col h4{
  font-size:12.5px; text-transform:uppercase; letter-spacing:.08em;
  color:var(--text-faint); margin:0 0 16px; font-weight:700;
}
.footer-col{ display:flex; flex-direction:column; gap:11px; }
.footer-col a{ font-size:14.5px; color:var(--text-dim); transition:color .2s; }
.footer-col a:hover{ color:var(--text); }
.footer-bottom{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
  padding:22px 28px;
  border-top:1px solid var(--border);
}
.footer-bottom p{ font-size:12.5px; color:var(--text-faint); margin:0; }

/* ---------- Reveal on scroll ---------- */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s var(--ease), transform .8s var(--ease);
}
.reveal.in{ opacity:1; transform:translateY(0); }

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .hero-inner{ grid-template-columns:1fr; text-align:center; }
  .hero-copy{ order:1; }
  .hero-visual{ order:0; min-height:340px; }
  .hero-sub{ margin-left:auto; margin-right:auto; }
  .hero-ctas{ justify-content:center; }
  .chip{ display:none; }
  .security-inner{ grid-template-columns:1fr; text-align:center; }
  .principle-list{ text-align:left; max-width:460px; margin-left:auto; margin-right:auto; }
  .feature-grid, .pillars-grid, .safety-grid{ grid-template-columns:repeat(2, 1fr); }
  .safety-intro{ grid-template-columns:1fr; text-align:center; }
  .safety-intro .safety-copy p{ margin-left:auto; margin-right:auto; }
  .safety-visual{ order:-1; min-height:220px; }
  .safety-closer{ margin-left:auto; margin-right:auto; }
  .safety-watermark{ right:50%; transform:translateX(50%) rotate(8deg); }
  .about-inner{ margin:0 auto; text-align:center; }
  .about-watermark{ left:50%; width:600px; }
}

@media (max-width: 720px){
  .site-nav{
    position:fixed; top:64px; left:16px; right:16px;
    flex-direction:column; align-items:flex-start; gap:4px;
    background:rgba(14,10,23,.92);
    border:1px solid var(--border);
    border-radius:20px;
    padding:14px;
    backdrop-filter:blur(20px);
    transform:translateY(-12px);
    opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
  }
  .site-nav.open{ opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
  .site-nav a{ padding:12px 10px; width:100%; }
  .nav-toggle{ display:flex; }
  .header-actions .btn-small{ display:none; }
  .feature-grid, .pillars-grid, .safety-grid{ grid-template-columns:1fr; }
  .hero-mark-watermark{ width:360px; }
  .features-watermark{ width:340px; opacity:.035; }
  .safety-watermark{ width:380px; opacity:.05; }
  .about-watermark{ width:420px; opacity:.05; }
  .cta-inner{ padding:48px 24px; }
  .cta-watermark{ width:220px; bottom:-40px; right:-60px; }
  .footer-inner{ flex-direction:column; gap:36px; }
  .footer-links{ gap:40px; }
  .footer-marks{ flex-wrap:wrap; }
}

.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
