:root{
  --moss:#1F2A26;
  --sage:#3E5C50;
  --mist:#A8C0B0;
  --sand:#EDE7DC;
  --cream:#F5F1EA;
  --gold:#C9A86A;
  --neon:#7FE3C4;
  --ink:#0B1410;
  --ring: 0 0 0 1px rgba(201,168,106,.35);
  --glass: rgba(245,241,234,.55);
  --glass-stroke: linear-gradient(135deg, rgba(201,168,106,.55), rgba(127,227,196,.18) 60%, rgba(255,255,255,0));
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Inter',ui-sans-serif,system-ui,sans-serif;
  color:var(--moss);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
.serif{font-family:'Fraunces',ui-serif,Georgia,serif;font-weight:300;letter-spacing:-.01em}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;letter-spacing:.02em}
.gold{color:var(--gold)}
.ital-sage{font-style:italic;color:var(--sage);font-weight:400}
.hide-md{display:initial}

/* ========== AURORA BG ========== */
.aurora{
  position:absolute; inset:-10%;
  background:
    radial-gradient(40% 35% at 18% 28%, rgba(127,227,196,.35), transparent 60%),
    radial-gradient(45% 40% at 82% 22%, rgba(168,192,176,.55), transparent 65%),
    radial-gradient(60% 55% at 65% 80%, rgba(201,168,106,.18), transparent 70%),
    radial-gradient(80% 60% at 30% 95%, rgba(62,92,80,.30), transparent 70%);
  filter:blur(40px) saturate(115%);
  animation: aurora 22s ease-in-out infinite alternate;
  pointer-events:none;
}
@keyframes aurora{
  0%   { transform: translate3d(0,0,0) scale(1); }
  50%  { transform: translate3d(-2%, 1%, 0) scale(1.05); }
  100% { transform: translate3d(2%,-2%,0)  scale(1.02); }
}
.grain::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.06;
  background-image: radial-gradient(rgba(0,0,0,.5) 1px, transparent 1px);
  background-size: 3px 3px; mix-blend-mode: multiply;
}

/* ========== GLASS ========== */
.glass{
  position:relative;
  background:var(--glass);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  backdrop-filter: blur(22px) saturate(140%);
  border-radius:22px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 1px 1px rgba(255,255,255,.5) inset,
    0 30px 60px -30px rgba(31,42,38,.35),
    0 8px 24px -12px rgba(31,42,38,.18);
}
.glass::before{
  content:""; position:absolute; inset:0; padding:1px; border-radius:inherit;
  background:var(--glass-stroke);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events:none;
}

/* ========== Buttons ========== */
.btn{
  position:relative; display:inline-flex; align-items:center; gap:10px;
  padding:14px 22px; border-radius:999px; font-weight:500;
  transition: transform .25s ease, box-shadow .25s ease, background .3s ease;
  cursor:pointer; border:0; font-size:14.5px; letter-spacing:.005em;
  isolation:isolate; text-decoration:none;
  font-family:inherit;
}
.btn-sm{ padding:10px 18px; font-size:13px; }
.btn-primary{
  background: linear-gradient(180deg, #4a6e60 0%, #3E5C50 60%, #345042 100%);
  color:#F5F1EA;
  box-shadow:
    0 1px 0 rgba(255,255,255,.18) inset,
    0 -8px 18px rgba(11,20,16,.25) inset,
    0 12px 30px -12px rgba(31,42,38,.5),
    0 0 0 0 rgba(201,168,106,0);
}
.btn-primary:hover:not(:disabled){
  transform: translateY(-1px);
  box-shadow:
    0 1px 0 rgba(255,255,255,.22) inset,
    0 -8px 18px rgba(11,20,16,.25) inset,
    0 18px 40px -14px rgba(31,42,38,.6),
    0 0 0 4px rgba(201,168,106,.18);
}
.btn-primary:disabled{ cursor:not-allowed; }
.btn-primary::after{
  content:""; position:absolute; inset:0; border-radius:inherit;
  background: radial-gradient(60% 100% at 50% 0%, rgba(127,227,196,.25), transparent 60%);
  opacity:0; transition: opacity .3s ease; z-index:-1;
}
.btn-primary:hover::after{ opacity:1; }
.btn-ghost{
  background:rgba(255,255,255,.55);
  color:var(--moss);
  box-shadow: 0 0 0 1px rgba(31,42,38,.08), 0 6px 18px -10px rgba(31,42,38,.25);
}
.btn-ghost:hover{ background:rgba(255,255,255,.85); }

/* Pulse for "online agora" */
@keyframes pulseDot {
  0%,100% { box-shadow: 0 0 0 0 rgba(127,227,196,.55); }
  50%     { box-shadow: 0 0 0 8px rgba(127,227,196,0); }
}
.pulse-dot{
  display:inline-block;
  width:8px; height:8px; border-radius:999px; background:#7FE3C4;
  box-shadow:0 0 0 0 rgba(127,227,196,.55);
  animation: pulseDot 1.8s ease-out infinite;
}
.online-dot{ background:#7FE3C4; }

/* Cursor halo */
.halo{
  position:fixed; pointer-events:none; z-index:9998;
  width:28px; height:28px; border-radius:999px;
  background: radial-gradient(circle, rgba(127,227,196,.45) 0%, rgba(127,227,196,0) 70%);
  transform: translate(-50%,-50%);
  transition: width .2s ease, height .2s ease, opacity .2s ease;
  mix-blend-mode: multiply;
  left:-200px; top:-200px;
}
.halo.hover{ width:54px; height:54px; }
@media (hover: none) { .halo{ display:none; } }

/* Reveal */
.reveal{ transition: opacity .8s ease, filter .8s ease, transform .8s ease; }
.reveal.pre{ opacity:0 !important; filter: blur(8px) !important; transform: translateY(14px) !important; }
.reveal.pre.show{ opacity:1 !important; filter: blur(0) !important; transform: translateY(0) !important; }

/* Divider gold */
.gold-rule{
  height:1px; background: linear-gradient(90deg, transparent, rgba(201,168,106,.7), transparent);
  margin:48px 0 22px; opacity:.6;
}

/* Section labels */
.eyebrow{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color: var(--sage);
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:""; width:18px; height:1px; background:var(--gold); display:inline-block;}

/* Selo */
.selo{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 16px; border-radius:999px;
  background: rgba(245,241,234,.5);
  border:.5px solid rgba(31,42,38,.08);
  backdrop-filter: blur(10px);
  font: 500 12.5px/1 'Inter',sans-serif;
  color:rgba(31,42,38,.75);
}
.selo .dot{ width:6px;height:6px;border-radius:999px;background:var(--gold);display:inline-block; }
.selo .dot-mint{ background:#7FE3C4; }

/* ============================ HERO ============================ */
.hero{
  position:relative; min-height:100vh; overflow:hidden; isolation:isolate;
}
.particles{ position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.particle{
  position:absolute; border-radius:999px;
  background: radial-gradient(circle, rgba(127,227,196,.9), rgba(127,227,196,0) 70%);
  pointer-events:none;
  animation: float 14s linear infinite;
}
@keyframes float{
  0%   { transform: translate3d(0,0,0); }
  50%  { transform: translate3d(20px,-30px,0); }
  100% { transform: translate3d(0,0,0); }
}

/* Top nav */
.topnav{
  position:absolute; top:0; left:0; right:0; z-index:5;
  padding:22px clamp(20px, 5vw, 56px);
  display:flex; justify-content:space-between; align-items:center;
}
.brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:inherit; }
.brand-mark{
  width:34px; height:34px; border-radius:10px; display:grid; place-items:center;
  background:linear-gradient(135deg,#3E5C50,#1F2A26); color:#F5F1EA;
  box-shadow:0 0 0 1px rgba(201,168,106,.4), 0 8px 18px -10px rgba(31,42,38,.5);
  font-family:'Fraunces',serif; font-size:18px;
}
.brand-text{ display:flex; flex-direction:column; line-height:1; }
.brand-name{ font-size:18px; }
.brand-tag{ font-size:10px; color:rgba(31,42,38,.6); margin-top:3px; }
.nav-right{ display:flex; align-items:center; gap:28px; }
.nav-link{ font-size:13.5px; color:rgba(31,42,38,.75); text-decoration:none; transition:color .2s; }
.nav-link:hover{ color:var(--moss); }

/* Hero grid */
.hero-grid{
  position:relative; z-index:2;
  padding:160px clamp(20px, 5vw, 56px) 80px;
  display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, .9fr);
  gap:clamp(24px, 4vw, 64px); align-items:center; max-width:1440px; margin:0 auto;
}
.hero-title{
  margin:18px 0 22px; font-size:clamp(40px, 5.6vw, 76px);
  line-height:1.02; letter-spacing:-.015em;
  color:var(--moss);
}
.grad-text{
  font-style:italic; font-weight:400;
  background-image:linear-gradient(120deg, var(--sage), #6f9582 60%, var(--gold));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-lede{
  max-width:560px; font-size:17px; line-height:1.55; color:rgba(31,42,38,.78); margin:0 0 28px;
}
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:34px; }
.hero-selos{ display:flex; gap:10px; flex-wrap:wrap; }

/* Monogram */
.hero-monogram{ position:relative; width:100%; max-width:520px; margin:0 auto; aspect-ratio:1; transition: transform .15s ease-out; }
.monogram-svg{ position:absolute; inset:0; width:100%; height:100%; }
.hud{
  position:absolute; font-size:10.5px; color:rgba(31,42,38,.55); letter-spacing:.18em; z-index:1;
}
.hud-tl{ top:14px; left:14px; }
.hud-br{ bottom:14px; right:14px; }
@keyframes spinSlow { to { transform: rotate(360deg); } }
.orbit{ transform-origin:200px 200px; animation: spinSlow 60s linear infinite; }
.orbit-fast{ animation-duration: 90s; animation-direction: reverse; }

/* Ticker */
.ticker-bar{
  position:absolute; bottom:0; left:0; right:0; padding:14px 0;
  border-top:1px solid rgba(31,42,38,.08);
  background:rgba(245,241,234,.6); backdrop-filter:blur(12px);
  overflow:hidden; z-index:3;
}
.ticker{
  display:flex; gap:48px; align-items:center;
  animation: marquee 38s linear infinite;
  width:max-content; font-size:11.5px; color:rgba(31,42,38,.6); letter-spacing:.18em;
}
@keyframes marquee{
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* ============================ CREDIBILITY ============================ */
.credibility-section{ padding:40px clamp(20px,5vw,56px) 0; max-width:1440px; margin:0 auto; }
.credibility{ padding:22px 28px; display:grid; grid-template-columns:repeat(5, 1fr); gap:24px; align-items:center; }
.credit-item{ display:flex; flex-direction:column; gap:4px; align-items:flex-start; padding-left:24px; border-left:1px solid rgba(31,42,38,.08); }
.credit-item:first-child{ padding-left:0; border-left:none; }
.credit-label{ font-size:22px; color:var(--moss); letter-spacing:.02em; }
.credit-sub{ font-size:10.5px; letter-spacing:.12em; color:rgba(31,42,38,.6); }

/* ============================ CHANNELS ============================ */
.channels-section{ padding:120px clamp(20px,5vw,56px) 60px; max-width:1440px; margin:0 auto; }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:40px; flex-wrap:wrap; }
.section-title{ margin:14px 0 0; font-size:clamp(30px, 3.4vw, 46px); line-height:1.05; max-width:680px; }
.section-intro{ max-width:380px; font-size:14.5px; color:rgba(31,42,38,.7); line-height:1.55; }
.channels-grid{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:18px; }
.channel-card{
  padding:28px 26px; display:flex; flex-direction:column; gap:14px; min-height:240px;
}
.card-head{ display:flex; align-items:center; justify-content:space-between; }
.card-icon{
  width:46px; height:46px; border-radius:14px; display:grid; place-items:center;
  color:var(--gold);
  background: linear-gradient(180deg, rgba(201,168,106,.18), rgba(201,168,106,.06));
  border:1px solid rgba(201,168,106,.25);
}
.card-icon-wa{
  color:#0e8a4c;
  background: linear-gradient(180deg, rgba(30,184,107,.16), rgba(14,138,76,.08));
}
.online-pill{ display:flex; align-items:center; gap:8px; font-size:11.5px; color:#0e8a4c; }
.card-kicker{ font-size:10.5px; letter-spacing:.18em; color:rgba(31,42,38,.55); }
.card-title{ font-size:26px; line-height:1.1; color:var(--moss); }
.card-lines{ display:flex; flex-direction:column; gap:6px; font-size:14px; color:rgba(31,42,38,.78); }
.card-foot{ margin-top:auto; padding-top:14px; display:flex; justify-content:space-between; align-items:center; }
.card-cta{ font-size:13.5px; font-weight:500; color:var(--sage); }
.cta-wa{ color:#0e8a4c; }
.cta-arrow{ color:var(--gold); }
.cta-arrow-wa{ color:#0e8a4c; }

/* ============================ FORM ============================ */
.form-section{ padding:80px clamp(20px,5vw,56px); max-width:1280px; margin:0 auto; }
.form-card{
  padding:clamp(28px, 4vw, 56px);
  display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:clamp(24px, 4vw, 56px); align-items:start;
}
.form-title{ font-size:clamp(28px, 3vw, 42px); line-height:1.08; margin:14px 0 18px; max-width:430px; }
.form-lede{ font-size:14.5px; line-height:1.6; color:rgba(31,42,38,.72); max-width:380px; }
.sigil-box{
  margin-top:30px; padding:18px; border-radius:14px;
  background:rgba(31,42,38,.04); border:1px solid rgba(31,42,38,.06);
}
.sigil-kicker{ font-size:10.5px; letter-spacing:.16em; color:var(--sage); margin-bottom:8px; }
.sigil-body{ display:flex; gap:12px; }
.sigil-icon{ color:var(--gold); flex-shrink:0; }
.sigil-body p{ font-size:13px; line-height:1.55; margin:0; color:rgba(31,42,38,.75); }
.form-selos{ margin-top:24px; display:flex; gap:8px; flex-wrap:wrap; }

/* Form fields */
.form-side form{ display:grid; gap:14px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.field{ position:relative; }
.field input, .field textarea, .field select{
  width:100%; padding:22px 16px 10px 16px;
  background: rgba(255,255,255,.55);
  border-radius:14px;
  border:1px solid rgba(31,42,38,.10);
  font: 400 15px/1.3 'Inter',sans-serif; color:var(--moss);
  outline:none; transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
  appearance:none; -webkit-appearance:none;
  font-family:inherit;
}
.field textarea{ min-height:120px; resize:vertical; padding-top:24px;}
.field select{ cursor:pointer; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%231F2A26' stroke-width='1.5' stroke-linecap='round' d='M1 1l5 5 5-5'/></svg>"); background-repeat:no-repeat; background-position:right 16px center; padding-right:38px; }
.field label{
  position:absolute; left:16px; top:14px;
  font-size:13.5px; color:rgba(31,42,38,.55);
  pointer-events:none;
  transition: transform .2s ease, color .2s ease, font-size .2s ease;
  transform-origin: 0 0;
}
.field input:focus, .field textarea:focus, .field select:focus{
  border-color: transparent;
  background: rgba(255,255,255,.85);
  box-shadow:
    0 0 0 1.5px rgba(127,227,196,.85),
    0 0 0 6px rgba(127,227,196,.18),
    0 8px 18px -10px rgba(31,42,38,.2);
}
.field.filled label,
.field input:focus + label,
.field textarea:focus + label,
.field select:focus + label{
  transform: translate(0,-8px) scale(.78);
  color: var(--sage);
}
.field.invalid input, .field.invalid textarea{
  box-shadow: 0 0 0 1.5px rgba(192,84,62,.6);
}
.field .hint{
  margin-top:6px; font-size:11.5px; color:rgba(31,42,38,.55);
  font-family:'JetBrains Mono',monospace;
  display:flex; align-items:center; gap:6px;
  min-height:14px;
}
.field .hint.ok{ color:#2f6f55; }
.field .hint.err{ color:#a14533; }
.field .hint:empty{ display:none; }

.mode-group{ padding:10px 0 0; }
.mode-label{ font-size:10.5px; letter-spacing:.16em; color:rgba(31,42,38,.55); margin-bottom:8px; }
.mode-options{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.mode-btn{
  appearance:none; cursor:pointer;
  padding:14px 10px; border-radius:12px;
  background: rgba(255,255,255,.6);
  color: var(--moss);
  border:1px solid rgba(31,42,38,.1);
  display:flex; align-items:center; justify-content:center; gap:8px; font-size:13.5px; font-weight:500;
  transition: all .25s ease;
  font-family:inherit;
}
.mode-btn.active{
  background: rgba(62,92,80,.92);
  color: #F5F1EA;
  border-color: transparent;
  box-shadow: 0 8px 18px -10px rgba(31,42,38,.35), inset 0 1px 0 rgba(255,255,255,.18);
}
.form-foot{
  display:flex; align-items:center; justify-content:space-between;
  margin-top:6px; gap:14px; flex-wrap:wrap;
}
.form-foot-meta{
  font-size:10.5px; color:rgba(31,42,38,.55); letter-spacing:.16em;
  display:flex; align-items:center; gap:8px;
}

.form-success{
  padding:40px 32px; border-radius:18px; text-align:center;
  background:linear-gradient(180deg, rgba(127,227,196,.18), rgba(168,192,176,.18));
  border:1px solid rgba(127,227,196,.4);
}
.form-success h3{ font-size:28px; margin:0 0 10px; }
.form-success p{ margin:0; color:rgba(31,42,38,.75); }
.success-icon{
  width:64px; height:64px; margin:0 auto 18px; border-radius:999px;
  background:linear-gradient(180deg,#7FE3C4,#3E5C50); display:grid; place-items:center; color:#fff;
}
.form-success .btn{ margin-top:22px; }

/* ============================ TIMELINE ============================ */
.timeline-section{ padding:120px clamp(20px,5vw,56px); max-width:1440px; margin:0 auto; }
.timeline-head{ margin-bottom:54px; max-width:680px; display:block; }
.timeline-head .section-title{ margin:14px 0 14px; }
.timeline-wrap{ position:relative; }
.timeline-line{
  position:absolute; top:38px; left:8%; right:8%; height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,168,106,.7) 20%, rgba(201,168,106,.7) 80%, transparent);
}
.timeline-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }
.timeline-step{ position:relative; text-align:center; padding:0 8px; }
.step-icon{
  width:76px; height:76px; margin:0 auto 18px; border-radius:999px;
  background:radial-gradient(circle at 30% 25%, #ffffff, #EDE7DC 70%);
  border:1px solid rgba(201,168,106,.5);
  display:grid; place-items:center; color:var(--gold);
  box-shadow:0 14px 28px -14px rgba(31,42,38,.35), inset 0 0 0 4px rgba(255,255,255,.6);
}
.step-meta{ font-size:11px; letter-spacing:.18em; color:var(--sage); margin-bottom:8px; }
.step-title{ font-size:24px; margin:0 0 8px; }
.step-body{ font-size:14px; color:rgba(31,42,38,.72); max-width:300px; margin:0 auto; line-height:1.55; }

/* ============================ MAP ============================ */
.map-section{ padding:40px clamp(20px,5vw,56px); max-width:1440px; margin:0 auto; }
.map-card{ padding:clamp(20px,3vw,36px); display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(24px, 4vw, 48px); align-items:center; }
.map{
  position:relative; border-radius:16px; overflow:hidden;
  background: radial-gradient(120% 100% at 30% 20%, #16221d 0%, #0B1410 60%, #050907 100%);
  aspect-ratio: 4 / 3;
}
.map svg{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.map-pill{
  position:absolute; top:14px; left:14px; padding:7px 12px; border-radius:999px;
  background:rgba(11,20,16,.55); backdrop-filter:blur(8px); color:#EDE7DC;
  font-size:10.5px; letter-spacing:.18em;
  border:1px solid rgba(201,168,106,.35);
}
.map-title{ font-size:clamp(28px, 3vw, 40px); line-height:1.08; margin:14px 0 18px; }
.map-lede{ color:rgba(31,42,38,.72); line-height:1.6; margin-bottom:22px; font-size:15px; }
.details-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:24px; }
.detail-kicker{ font-size:10.5px; letter-spacing:.18em; color:var(--sage); margin-bottom:8px; }
.detail-line{ font-size:13.5px; color:rgba(31,42,38,.78); line-height:1.55; }
.map-ctas{ display:flex; gap:12px; flex-wrap:wrap; }

/* ============================ FAQ ============================ */
.faq-section{ padding:120px clamp(20px,5vw,56px) 80px; max-width:1100px; margin:0 auto; }
.faq-grid{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.7fr); gap:clamp(24px, 4vw, 64px); }
details.faq{
  border-top:1px solid rgba(31,42,38,.08);
  padding:18px 4px;
}
details.faq:last-of-type{ border-bottom:1px solid rgba(31,42,38,.08); }
details.faq summary{
  list-style:none; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:24px;
  font-family:'Fraunces',serif; font-weight:400; font-size:20px; color:var(--moss);
}
details.faq summary::-webkit-details-marker{display:none}
details.faq .answer{
  overflow:hidden; max-height:0; opacity:0;
  transition: max-height .55s cubic-bezier(.22,1,.36,1), opacity .35s ease, margin-top .35s ease;
  color:rgba(31,42,38,.78); font-size:15px; line-height:1.55;
  padding-right:40px;
}
details.faq[open] .answer{ max-height:400px; opacity:1; margin-top:14px; }
details.faq .plus{
  width:34px;height:34px;border-radius:999px;
  border:1px solid rgba(201,168,106,.5);
  display:grid;place-items:center; flex-shrink:0;
  transition: transform .35s ease, background .25s ease;
  color:var(--gold);
}
details.faq[open] .plus{ transform: rotate(135deg); background: rgba(201,168,106,.18); }

/* ============================ FOOTER ============================ */
.site-footer{
  position:relative; margin-top:60px;
  background: radial-gradient(120% 80% at 20% 0%, #16221d 0%, #0B1410 70%);
  color:#EDE7DC; overflow:hidden;
}
.site-footer::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(40% 60% at 80% 20%, rgba(127,227,196,.18), transparent 60%),
    radial-gradient(50% 60% at 10% 100%, rgba(201,168,106,.18), transparent 60%);
}
.footer-inner{ position:relative; z-index:1; padding:80px clamp(20px,5vw,56px) 30px; max-width:1440px; margin:0 auto; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px; }
.footer-brand .footer-logo{ display:flex; align-items:center; gap:14px; margin-bottom:18px; }
.footer-mark{
  width:42px; height:42px; border-radius:12px; display:grid; place-items:center;
  background:linear-gradient(135deg,#EDE7DC,#A8C0B0); color:#1F2A26;
  font-family:'Fraunces',serif; font-size:22px;
}
.footer-name{ font-size:22px; }
.footer-tag{ font-size:10.5px; color:rgba(237,231,220,.55); letter-spacing:.18em; }
.footer-blurb{ font-size:14px; line-height:1.6; color:rgba(237,231,220,.72); max-width:360px; }
.social-links{ display:flex; gap:10px; margin-top:24px; }
.social-links a{
  width:40px; height:40px; border-radius:999px; display:grid; place-items:center;
  border:1px solid rgba(201,168,106,.35); color:#C9A86A; text-decoration:none;
  transition: background .2s ease;
}
.social-links a:hover{ background: rgba(201,168,106,.08); }
.footer-col-title{ font-size:10.5px; letter-spacing:.18em; color:#C9A86A; margin-bottom:14px; }
.footer-items{ display:flex; flex-direction:column; gap:9px; }
.footer-items > div{ font-size:13.5px; color:rgba(237,231,220,.78); line-height:1.5; }
.footer-tri{ color:#7FE3C4 !important; }
.footer-meta{
  display:flex; flex-wrap:wrap; gap:16px; justify-content:space-between;
  font-size:11.5px; color:rgba(237,231,220,.55); letter-spacing:.06em;
}
.footer-meta-links{ display:flex; gap:24px; }
.footer-meta-links a{ color:inherit; text-decoration:none; }
.footer-meta-links a:hover{ color:#EDE7DC; }

/* Sticky mobile WA */
.sticky-wa{
  position:fixed; right:18px; bottom:18px; z-index:50;
  width:60px; height:60px; border-radius:999px;
  display:none; place-items:center;
  background: linear-gradient(180deg,#1eb86b 0%, #0e8a4c 100%);
  color:#fff; text-decoration:none;
  box-shadow: 0 14px 32px -10px rgba(14,138,76,.55), 0 0 0 0 rgba(30,184,107,.5);
  animation: pulseDot 1.8s ease-out infinite;
}
@media (max-width: 720px){ .sticky-wa{ display:grid; } }

/* ============================ RESPONSIVE ============================ */
@media (max-width: 1100px){
  .hero-grid{ grid-template-columns: 1fr !important; }
  .channels-grid{ grid-template-columns: repeat(2, 1fr) !important; }
  .form-card{ grid-template-columns: 1fr !important; }
  .map-card{ grid-template-columns: 1fr !important; }
  .credibility{ grid-template-columns: repeat(3, 1fr) !important; }
  .credit-item:nth-child(4){ padding-left:0; border-left:none; }
  .footer-grid{ grid-template-columns: 1fr 1fr !important; }
  .faq-grid{ grid-template-columns: 1fr !important; }
}
@media (max-width: 720px){
  .hero-grid{ padding-top:120px !important; }
  .channels-grid{ grid-template-columns: 1fr !important; }
  .timeline-grid{ grid-template-columns: 1fr !important; gap:32px !important; }
  .credibility{ grid-template-columns: repeat(2, 1fr) !important; }
  .credit-item:nth-child(3){ padding-left:0; border-left:none; }
  .field-row{ grid-template-columns:1fr; }
  .details-grid{ grid-template-columns:1fr; }
  .footer-meta{ flex-direction:column; }
  .hide-md{ display:none !important; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .aurora, .orbit, .particle, .ticker, .pulse-dot, .sticky-wa{ animation: none !important; }
}
