/* =========================================================
   Eklaysia — landing styles
   Aesthetic: warm modern-sanctuary / editorial
   Display: Fraunces · Body: Hanken Grotesk
   ========================================================= */

:root{
  /* palette */
  --ink:        #221b16;   /* deep warm charcoal */
  --ink-soft:   #4a3f37;
  --cream:      #f7f1e7;   /* warm off-white */
  --cream-2:    #efe5d4;
  --paper:      #fdfaf4;
  --clay:       #b4502e;   /* deep terracotta */
  --clay-deep:  #8f3d22;
  --clay-soft:  #d9764f;
  --gold:       #c79a3e;   /* muted gold accent */
  --gold-soft:  #e3c47e;
  --line:       rgba(34,27,22,.12);

  --maxw: 1180px;
  --r: 18px;
  --shadow-sm: 0 1px 2px rgba(34,27,22,.06), 0 4px 14px rgba(34,27,22,.06);
  --shadow-md: 0 10px 40px -12px rgba(110,55,30,.28), 0 2px 8px rgba(34,27,22,.06);
  --shadow-lg: 0 30px 80px -24px rgba(110,55,30,.40);

  --ease: cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Hanken Grotesk",system-ui,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;font-weight:500;line-height:1.05;letter-spacing:-.01em}
.ital{font-style:italic;font-weight:400;color:var(--clay)}

/* grain */
.grain{
  position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.045;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%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)'/%3E%3C/svg%3E");
}

/* ============ buttons ============ */
.btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:"Hanken Grotesk";font-weight:600;font-size:.95rem;
  padding:.72em 1.35em;border-radius:999px;cursor:pointer;border:1.5px solid transparent;
  transition:transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
  white-space:nowrap;
}
.btn--solid{background:var(--clay);color:var(--paper);box-shadow:0 8px 20px -8px rgba(143,61,34,.6)}
.btn--solid:hover{background:var(--clay-deep);transform:translateY(-2px);box-shadow:0 12px 26px -8px rgba(143,61,34,.7)}
.btn--outline{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--outline:hover{background:var(--ink);color:var(--cream);transform:translateY(-2px)}
.btn--ghost{color:var(--ink);background:transparent;padding:.5em .9em}
.btn--ghost:hover{color:var(--clay)}
.btn--lg{font-size:1.05rem;padding:.85em 1.7em}
.btn--block{width:100%;justify-content:center}

/* ============ NAV ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
  border-bottom:1px solid transparent;
}
/* top-of-page scrim so light nav stays legible over the dark hero */
.nav::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg, rgba(20,14,10,.55), rgba(20,14,10,0));
  opacity:1;transition:opacity .3s var(--ease);
}
.nav.is-stuck::before{opacity:0}
.nav.is-stuck{
  background:rgba(247,241,231,.82);
  backdrop-filter:saturate(150%) blur(14px);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  border-bottom:1px solid var(--line);
  box-shadow:0 2px 20px rgba(34,27,22,.05);
}
.nav__inner{
  max-width:var(--maxw);margin:0 auto;padding:1.05rem 1.4rem;
  display:flex;align-items:center;gap:1.4rem;
}
.wordmark{
  font-family:"Fraunces";font-weight:600;font-size:1.45rem;letter-spacing:-.02em;
  display:flex;align-items:center;gap:.5rem;color:var(--paper);
  transition:color .3s var(--ease);
}
.wordmark__img{width:34px;height:34px;object-fit:contain;flex:none;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));transition:filter .3s var(--ease)}
.nav.is-stuck .wordmark{color:var(--ink)}
.nav.is-stuck .wordmark__img{filter:none}
.nav__links{display:flex;gap:1.7rem;margin-left:1.5rem;font-size:.96rem;font-weight:500}
.nav__links a{position:relative;color:rgba(247,241,231,.9);transition:color .2s}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--gold-soft);transition:width .25s var(--ease)}
.nav__links a:hover{color:var(--paper)}
.nav__links a:hover::after{width:100%}
.nav.is-stuck .nav__links a{color:var(--ink-soft)}
.nav.is-stuck .nav__links a::after{background:var(--clay)}
.nav.is-stuck .nav__links a:hover{color:var(--ink)}
.nav__actions{margin-left:auto;display:flex;align-items:center;gap:.6rem}
/* nav buttons over hero (light), revert when stuck */
.nav .nav__actions .btn--ghost{color:rgba(247,241,231,.92)}
.nav .nav__actions .btn--ghost:hover{color:#fff}
.nav.is-stuck .nav__actions .btn--ghost{color:var(--ink)}
.nav.is-stuck .nav__actions .btn--ghost:hover{color:var(--clay)}
.nav__burger{display:none;margin-left:auto;background:none;border:none;cursor:pointer;width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px;padding:0}
.nav__burger span{display:block;height:2px;width:24px;background:var(--paper);margin:0 auto;border-radius:2px;transition:transform .3s var(--ease),opacity .2s,background .3s}
.nav.is-stuck .nav__burger span{background:var(--ink)}
.nav__burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger.is-open span:nth-child(2){opacity:0}
.nav__burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* drawer */
.drawer{
  position:fixed;top:0;right:0;z-index:99;height:100dvh;width:min(82vw,340px);
  background:var(--paper);box-shadow:var(--shadow-lg);
  transform:translateX(100%);transition:transform .4s var(--ease);
  padding:5.5rem 1.8rem 2rem;
}
.drawer.is-open{transform:translateX(0)}
.drawer__links{display:flex;flex-direction:column;gap:.4rem}
.drawer__links a{font-family:"Fraunces";font-size:1.5rem;padding:.55rem 0;border-bottom:1px solid var(--line);color:var(--ink)}
.drawer__signin{font-family:"Hanken Grotesk"!important;font-size:1rem!important;font-weight:600;color:var(--clay)!important;border:none!important;margin-top:.5rem}
.drawer .btn{margin-top:1rem}
.drawer__scrim{position:fixed;inset:0;z-index:98;background:rgba(34,27,22,.45);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.drawer__scrim.is-open{opacity:1;visibility:visible}

/* ============ HERO ============ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:var(--ink)}
.hero__slides{position:absolute;inset:0;z-index:-2}
.hero__slide{
  position:absolute;inset:0;
  background-position:center;background-size:cover;background-repeat:no-repeat;
  opacity:0;transform:scale(1.08);
  transition:opacity 1.6s var(--ease);
  will-change:opacity,transform;
}
.hero__slide.is-active{
  opacity:1;
  animation:kenburns 9s ease-out forwards;
}
@keyframes kenburns{
  from{transform:scale(1.08) translate(0,0)}
  to{transform:scale(1.16) translate(-1.8%,-1.4%)}
}
.hero__veil{
  position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(120% 95% at 16% 28%, rgba(20,13,9,.45), transparent 62%),
    linear-gradient(102deg, rgba(24,15,10,.88) 0%, rgba(40,26,18,.70) 44%, rgba(143,61,34,.34) 100%),
    linear-gradient(0deg, rgba(20,13,9,.55), transparent 38%);
}
.hero__inner{max-width:var(--maxw);margin:0 auto;padding:8rem 1.4rem 6rem;width:100%;max-width:920px;position:relative;z-index:1}
.eyebrow{
  font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  color:var(--gold-soft);margin-bottom:1.3rem;
}
.eyebrow em{font-family:"Fraunces";font-style:italic;text-transform:none;letter-spacing:0;font-size:1.1em;color:var(--gold-soft)}
.hero__title{
  position:relative;display:grid;
  font-size:clamp(2.6rem,7.2vw,5.4rem);color:var(--paper);font-weight:400;
  letter-spacing:-.025em;margin-bottom:1.5rem;text-wrap:balance;
}
.hero__title .ital{color:var(--gold-soft)}
/* each rotating line stacks in the same grid cell */
.hero__rot{
  grid-area:1/1;opacity:0;visibility:hidden;
  transition:opacity .6s var(--ease);
  pointer-events:none;
}
.hero__rot.is-active{opacity:1;visibility:visible;pointer-events:auto}
/* staggered word reveal — driven by .is-active */
.js .hero__rot .w{
  display:inline-block;opacity:0;transform:translateY(.5em);
  transition:opacity .55s var(--ease),transform .55s var(--ease);
}
.js .hero__rot.is-active .w{opacity:1;transform:none}
.js .hero__rot.is-active .w:nth-child(1){transition-delay:.05s}
.js .hero__rot.is-active .w:nth-child(2){transition-delay:.13s}
.js .hero__rot.is-active .w:nth-child(3){transition-delay:.21s}
.js .hero__rot.is-active .w:nth-child(4){transition-delay:.29s}
.js .hero__rot.is-active .w:nth-child(5){transition-delay:.37s}
.js .hero__rot.is-active .w:nth-child(6){transition-delay:.45s}
.hero__sub{
  font-size:clamp(1.05rem,1.9vw,1.32rem);color:rgba(247,241,231,.9);
  max-width:42ch;margin-bottom:2.2rem;line-height:1.55;
}
.hero__cta{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:1.5rem}
.hero .btn--outline{border-color:rgba(247,241,231,.6);color:var(--paper)}
.hero .btn--outline:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.hero__note{font-size:.9rem;color:rgba(247,241,231,.72)}
/* slide dots */
.hero__dots{display:flex;gap:.6rem;margin-top:2.2rem}
.hero__dot{
  width:34px;height:5px;border-radius:999px;border:none;cursor:pointer;padding:0;
  background:rgba(247,241,231,.30);position:relative;overflow:hidden;
  transition:background .3s var(--ease);
}
.hero__dot:hover{background:rgba(247,241,231,.5)}
.hero__dot.is-active{background:rgba(247,241,231,.35)}
.hero__dot.is-active::after{
  content:"";position:absolute;inset:0;left:0;width:100%;transform-origin:left;
  background:var(--gold-soft);transform:scaleX(0);
}
.hero__dot.is-active.run::after{animation:dotFill 6s linear forwards}
@keyframes dotFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* one-shot entrance for the hero copy (JS adds .ready) */
.js .hero__inner .eyebrow,
.js .hero__inner .hero__sub,
.js .hero__inner .hero__cta,
.js .hero__inner .hero__note,
.js .hero__inner .hero__dots{
  opacity:0;transform:translateY(16px);
  transition:opacity .7s var(--ease),transform .7s var(--ease);
}
.js .hero.ready .eyebrow{transition-delay:.05s}
.js .hero.ready .hero__sub{transition-delay:.5s}
.js .hero.ready .hero__cta{transition-delay:.62s}
.js .hero.ready .hero__note{transition-delay:.72s}
.js .hero.ready .hero__dots{transition-delay:.8s}
.js .hero.ready .eyebrow,
.js .hero.ready .hero__sub,
.js .hero.ready .hero__cta,
.js .hero.ready .hero__note,
.js .hero.ready .hero__dots{opacity:1;transform:none}
.hero__scroll{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);width:24px;height:38px;border:2px solid rgba(247,241,231,.45);border-radius:14px;display:flex;justify-content:center;padding-top:6px}
.hero__scroll span{width:3px;height:8px;background:var(--gold-soft);border-radius:2px;animation:scrollDot 1.8s var(--ease) infinite}
@keyframes scrollDot{0%{opacity:0;transform:translateY(-2px)}40%{opacity:1}80%{opacity:0;transform:translateY(10px)}100%{opacity:0}}

/* ============ TRUST ============ */
.trust{background:var(--ink);color:var(--cream);padding:2.4rem 1.4rem;text-align:center}
.trust__lead{font-family:"Fraunces";font-style:italic;font-size:clamp(1.1rem,2.4vw,1.5rem);color:var(--cream);margin-bottom:1rem}
.trust__row{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem 1.1rem;font-size:.86rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600;color:rgba(247,241,231,.65);max-width:var(--maxw);margin:0 auto}
.trust__row .dot{color:var(--gold);font-size:1.1rem}

/* ============ sections shared ============ */
.section-head{max-width:var(--maxw);margin:0 auto;padding:0 1.4rem;text-align:center;margin-bottom:3.4rem}
.kicker{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--clay);margin-bottom:1rem}
.kicker--gold{color:var(--gold)}
.section-head h2{font-size:clamp(2.1rem,4.6vw,3.5rem);text-wrap:balance}
.section-head__sub{max-width:54ch;margin:1.3rem auto 0;color:var(--ink-soft);font-size:1.08rem}

/* ============ FEATURES ============ */
.features{padding:6.5rem 0}
.grid{max-width:var(--maxw);margin:0 auto;padding:0 1.4rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:2rem 1.6rem;box-shadow:var(--shadow-sm);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
  position:relative;overflow:hidden;
}
.card::before{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(199,154,62,.07),transparent 50%);opacity:0;transition:opacity .35s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:rgba(180,80,46,.35)}
.card:hover::before{opacity:1}
.card__icon{width:54px;height:54px;margin-bottom:1.15rem;color:var(--clay);display:block}
.card h3{font-size:1.28rem;margin-bottom:.55rem}
.card p{font-size:.95rem;color:var(--ink-soft);line-height:1.55}

/* ============ COMPLIANCE ============ */
.compliance{
  padding:6rem 1.4rem;
  background:
    radial-gradient(80% 120% at 100% 0%, rgba(199,154,62,.10), transparent 55%),
    linear-gradient(180deg,var(--cream-2),var(--cream));
}
.compliance__grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}
.compliance__copy h2{margin-bottom:1.2rem}
.compliance__copy>p{color:var(--ink-soft);font-size:1.06rem;margin-bottom:1.6rem;max-width:46ch}
.compliance__list{list-style:none;margin-bottom:2rem;display:flex;flex-direction:column;gap:1rem}
.compliance__list li{padding-left:1.4rem;position:relative;color:var(--ink-soft);font-size:1rem;line-height:1.5}
.compliance__list li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;background:var(--clay);border-radius:50%;box-shadow:0 0 0 4px rgba(180,80,46,.15)}
.compliance__list strong{color:var(--ink);font-weight:700}
.compliance__art{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line);background:var(--paper)}
.compliance__art img{width:100%;height:auto}

/* ============ HOW ============ */
.how{padding:6.5rem 0;background:var(--ink);color:var(--cream)}
.how .kicker{color:var(--gold-soft)}
.how .section-head h2{color:var(--cream)}
.how .ital{color:var(--gold-soft)}
.steps{max-width:var(--maxw);margin:0 auto;padding:0 1.4rem;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;counter-reset:none}
.step{position:relative;padding:2.4rem 1.8rem;border:1px solid rgba(247,241,231,.14);border-radius:var(--r);background:linear-gradient(160deg,rgba(247,241,231,.05),rgba(247,241,231,.01))}
.step__num{font-family:"Fraunces";font-style:italic;font-size:2.6rem;color:var(--clay-soft);display:block;margin-bottom:.8rem}
.step h3{font-size:1.4rem;color:var(--cream);margin-bottom:.5rem}
.step p{color:rgba(247,241,231,.72);font-size:.97rem}

/* ============ PRICING ============ */
.pricing{padding:6.5rem 0}
.tiers{max-width:var(--maxw);margin:0 auto;padding:0 1.4rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch}
.tier{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:2.3rem 1.9rem;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);position:relative;
}
.tier:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.tier--featured{
  background:var(--ink);color:var(--cream);border-color:var(--ink);
  box-shadow:var(--shadow-lg);transform:scale(1.03);
}
.tier--featured:hover{transform:scale(1.03) translateY(-5px)}
.tier__badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:var(--ink);font-size:.72rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:.4em 1em;border-radius:999px;box-shadow:var(--shadow-sm);
}
.tier__head{border-bottom:1px solid var(--line);padding-bottom:1.3rem;margin-bottom:1.3rem}
.tier--featured .tier__head{border-color:rgba(247,241,231,.18)}
.tier__head h3{font-size:1.6rem;margin-bottom:.5rem}
.tier__price{font-family:"Fraunces";font-size:3rem;font-weight:500;line-height:1;letter-spacing:-.02em}
.tier__price .cur{font-size:1.5rem;vertical-align:.5rem;margin-right:.05em;color:var(--clay)}
.tier--featured .tier__price .cur{color:var(--gold-soft)}
.tier__price .per{font-family:"Hanken Grotesk";font-size:1rem;font-weight:500;color:var(--ink-soft);margin-left:.2em}
.tier--featured .tier__price .per{color:rgba(247,241,231,.6)}
.tier__aud{font-size:.9rem;color:var(--ink-soft);margin-top:.5rem}
.tier--featured .tier__aud{color:var(--gold-soft)}
.tier__feats{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.8rem;flex:1}
.tier__feats li{position:relative;padding-left:1.6rem;font-size:.95rem;color:var(--ink-soft)}
.tier--featured .tier__feats li{color:rgba(247,241,231,.82)}
.tier__feats li::before{content:"✓";position:absolute;left:0;color:var(--clay);font-weight:700}
.tier--featured .tier__feats li::before{color:var(--gold-soft)}
.tier__feats li em{font-style:italic;color:var(--ink);font-weight:600}
.tier--featured .tier__feats li em{color:var(--cream)}
.tier__feats li.lim{margin-top:.3rem;padding-top:.7rem;border-top:1px dashed var(--line);font-weight:600;color:var(--ink)}
.tier__feats li.lim::before{content:""}
.tier--featured .tier__feats li.lim{border-color:rgba(247,241,231,.2);color:var(--cream)}
.tier--featured .btn--solid{background:var(--gold);color:var(--ink)}
.tier--featured .btn--solid:hover{background:var(--gold-soft)}
.pricing__note{text-align:center;margin-top:2.4rem;font-size:1rem;color:var(--ink-soft)}
.pricing__note strong{color:var(--clay)}

/* ============ FAQ ============ */
.faq{padding:6rem 0 7rem;background:linear-gradient(180deg,var(--cream),var(--cream-2))}
.accordion{max-width:780px;margin:0 auto;padding:0 1.4rem}
.accordion details{border-bottom:1px solid var(--line);padding:.4rem 0}
.accordion summary{
  list-style:none;cursor:pointer;font-family:"Fraunces";font-size:1.2rem;font-weight:500;
  padding:1.15rem .2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;
  transition:color .2s;
}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:"+";font-family:"Hanken Grotesk";font-size:1.6rem;color:var(--clay);transition:transform .3s var(--ease);line-height:1}
.accordion details[open] summary{color:var(--clay)}
.accordion details[open] summary::after{transform:rotate(45deg)}
.accordion summary:hover{color:var(--clay)}
.acc__body{overflow:hidden;max-height:0;transition:max-height .4s var(--ease)}
.accordion details[open] .acc__body{max-height:340px}
.acc__body p{padding:0 .2rem 1.3rem;color:var(--ink-soft);font-size:1rem;max-width:62ch}

/* ============ CTA BAND ============ */
.cta-band{padding:6.5rem 1.4rem;position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--clay) 0%, var(--clay-deep) 55%, #6e2e18 100%);color:var(--paper)}
.cta-band::before{content:"✦";position:absolute;right:-2rem;top:-2rem;font-size:18rem;color:rgba(255,255,255,.06);font-family:"Fraunces"}
.cta-band__inner{max-width:760px;margin:0 auto;text-align:center;position:relative}
.cta-band .kicker{color:var(--gold-soft)}
.cta-band h2{font-size:clamp(2.2rem,5vw,3.7rem);color:var(--paper);margin-bottom:1.1rem}
.cta-band h2 .ital{color:var(--gold-soft)}
.cta-band>.cta-band__inner>p{font-size:1.15rem;color:rgba(247,241,231,.88);margin-bottom:2rem}
.cta-band__btns{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center}
.cta-band .btn--solid{background:var(--paper);color:var(--clay-deep)}
.cta-band .btn--solid:hover{background:var(--cream)}
.cta-band .btn--outline{border-color:rgba(247,241,231,.7);color:var(--paper)}
.cta-band .btn--outline:hover{background:var(--paper);color:var(--clay-deep);border-color:var(--paper)}

/* ============ FOOTER ============ */
.footer{background:var(--ink);color:var(--cream);padding:4.5rem 1.4rem 2rem}
.footer__top{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 2.6fr;gap:3rem}
.wordmark--footer{font-size:1.6rem;color:var(--cream);margin-bottom:1rem}
.wordmark--footer .wordmark__img{width:38px;height:38px;filter:none}
.footer__brand p{color:rgba(247,241,231,.6);font-size:.96rem;max-width:30ch}
.footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.footer__cols h4{font-family:"Hanken Grotesk";font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:1rem;font-weight:700}
.footer__cols ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.footer__cols a,.footer__cols li{color:rgba(247,241,231,.7);font-size:.94rem;transition:color .2s}
.footer__cols a:hover{color:var(--cream)}
.footer__bottom{max-width:var(--maxw);margin:3rem auto 0;padding-top:1.6rem;border-top:1px solid rgba(247,241,231,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;color:rgba(247,241,231,.5);font-size:.86rem}
.footer__greek em{font-family:"Fraunces";font-style:italic;color:var(--gold-soft)}

/* ============ scroll reveal ============ */
/* only hide reveals when JS is active (.js on <html>); otherwise always visible */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.grid .card{transition-delay:calc(var(--i,0) * 70ms)}

/* ============ RESPONSIVE ============ */
@media (max-width:1000px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .compliance__grid{grid-template-columns:1fr;gap:2.5rem}
  .footer__top{grid-template-columns:1fr;gap:2rem}
  .footer__cols{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .nav__links,.nav__actions{display:none}
  .nav__burger{display:flex}
  .steps{grid-template-columns:1fr}
  .tiers{grid-template-columns:1fr;max-width:460px}
  .tier--featured{transform:none;order:-1}
  .tier--featured:hover{transform:translateY(-5px)}
}
@media (max-width:560px){
  .grid{grid-template-columns:1fr;max-width:420px}
  .hero__inner{padding-top:7rem}
  .footer__cols{grid-template-columns:1fr 1fr}
  .footer__bottom{flex-direction:column}
  .section-head{margin-bottom:2.4rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important}
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
  /* hero: show first slide + first headline statically, no motion */
  .hero__slide{transition:none}
  .hero__slide:first-child{opacity:1!important}
  .hero__slide:not(:first-child){opacity:0!important}
  .hero__rot{transition:none}
  .js .hero__rot .w{opacity:1!important;transform:none!important;transition:none!important}
  .js .hero__inner .eyebrow,
  .js .hero__inner .hero__sub,
  .js .hero__inner .hero__cta,
  .js .hero__inner .hero__note,
  .js .hero__inner .hero__dots{opacity:1!important;transform:none!important;transition:none!important}
  .hero__dot.is-active::after{transform:scaleX(1)}
}
