/* ============================================================
   NÚCLEO UNIQ — Design System
   Forest green + gold/bronze + cream. Serif display + grotesque body.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;0,400;0,700;0,900;1,400;1,700&family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

:root{
  /* color */
  --ink:#070D0A;
  --forest-900:#08201A;
  --forest:#0E2A21;
  --forest-700:#15392E;
  --forest-600:#1D4A3B;
  --gold:#B5934F;
  --gold-300:#D8BE86;
  --gold-200:#E3D2A6;
  --cream:#F4EFE5;
  --paper:#FAF7F0;
  --stone:#D8D0C2;
  --stone-500:#A79E8D;

  --on-dark:#ECE7DB;
  --on-dark-soft:#B7B6A6;
  --on-dark-faint:#7E8A80;
  --on-light:#1B241F;
  --on-light-soft:#5A6158;

  /* type */
  --serif:'Merriweather', Georgia, 'Times New Roman', serif;
  --sans:'Open Sans', system-ui, -apple-system, sans-serif;

  /* rhythm */
  --maxw:1280px;
  --gut:clamp(20px,5vw,72px);
  --sec:clamp(80px,11vw,168px);
  --radius:3px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--on-light);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-kerning:normal;
  font-optical-sizing:auto;
  font-feature-settings:"kern" 1,"liga" 1,"clig" 1,"calt" 1;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--gold);color:var(--forest-900)}

/* ---------- editorial typography (all pages) ----------
   Luxury-magazine treatment: headings balance with refined display tracking,
   body copy "pretty"-wraps to kill widows/orphans, and genuine reading columns
   are justified WITH Portuguese hyphenation (lang=pt-BR) for a tight, even
   mancha gráfica — never justifying centered display lines or UI labels, where
   it would only open whitespace rivers. */
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.eyebrow,.kicker,
.hero-title,.lm-title,.pm-name,.pcard-head h2{
  text-wrap:balance;
}
.h1,.hero-title{letter-spacing:-.015em}
.h2{letter-spacing:-.008em}
/* hero headline: keep "encontra os seus pares." as one unit so it drops to a
   single second line ("Onde a arquitetura" / "encontra os seus pares."). */
.hero-h1{text-wrap:initial}
@media(min-width:680px){
  .hero-h1 .hero-tail{white-space:nowrap}
}
p,li,figcaption,blockquote,
.lead,.sub,.pm-seg,.pm-rule,.story-purpose .sub,
.partners .head p,.partners-cta p,.faq-a,.form-note,.dica-item span{
  text-wrap:pretty;
}
/* justified reading columns — even mancha, hyphenated for tight word gaps.
   hyphenate-limit-chars keeps breaks tasteful (only words ≥7 chars, ≥4 before
   / ≥3 after) so the column tightens without a ladder of hyphens; hanging
   punctuation crisps the edge on supporting browsers. */
.faq-a-inner,
.hero .lede,
.rewards .head p,
.exp .head p,
.more .lede,
.faq .head .lede,
.contact .head .lede,
.about .lede,.about .body-2,
.story-about .lede,.story-about .body-2,
.story-intro .head .lede{
  text-align:justify;
  text-align-last:left;
  hyphens:auto;
  -webkit-hyphens:auto;
  -ms-hyphens:auto;
  hyphenate-limit-chars:7 4 3;
  hanging-punctuation:first allow-end last;
}
/* centered-axis justified blocks share the same tasteful hyphenation limit */
.partners .head p,
.story-purpose .sub,
.contact-company,
.footer .brand p{
  hyphenate-limit-chars:7 4 3;
}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.section{padding-block:var(--sec)}

/* ---------- type primitives ---------- */
.eyebrow{
  font-family:var(--sans);
  font-weight:600;
  font-size:clamp(11px,1vw,12.5px);
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--gold);
}
.display{
  font-family:var(--serif);
  font-weight:300;
  line-height:1.1;
  letter-spacing:-.012em;
  font-size:clamp(36px,6vw,78px);
}
.h2{
  font-family:var(--serif);
  font-weight:400;
  line-height:1.16;
  letter-spacing:-.008em;
  font-size:clamp(29px,4vw,52px);
}
.h3{
  font-family:var(--serif);
  font-weight:400;
  line-height:1.2;
  font-size:clamp(22px,2.4vw,31px);
}
.lede{
  font-size:clamp(17px,1.5vw,21px);
  line-height:1.62;
  font-weight:400;
}
.gold-em{color:var(--gold)}
.serif-it{font-style:italic}
.rule{
  width:64px;height:1px;background:var(--gold);
  border:0;margin:26px 0;
}
.kicker{ /* small serif emphasis line above body blocks */
  font-family:var(--sans);
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:13px;
  color:var(--gold);
}

/* ---------- monogram ---------- */
.mono{display:inline-block;vertical-align:middle}
.mono path{stroke-linecap:round;stroke-linejoin:round;fill:none}

/* ---------- buttons ---------- */
.btn{
  font-family:var(--sans);
  font-weight:600;
  font-size:13.5px;
  letter-spacing:.06em;
  text-transform:uppercase;
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 28px;
  border:1px solid transparent;
  border-radius:2px;
  cursor:pointer;
  transition:transform .35s cubic-bezier(.2,.7,.2,1), background .35s, color .35s, border-color .35s;
  white-space:nowrap;
}
.btn .ar{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.btn:hover .ar{transform:translateX(5px)}
.btn-gold{background:var(--gold);color:var(--forest-900)}
.btn-gold:hover{background:var(--gold-300)}
.btn-ghost{background:transparent;color:var(--on-dark);border-color:rgba(216,190,134,.45)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-300)}
.btn-dark{background:var(--forest);color:var(--on-dark);border-color:var(--forest)}
.btn-dark:hover{background:var(--forest-700)}
.btn-outline-dark{background:transparent;color:var(--on-light);border-color:rgba(27,36,31,.28)}
.btn-outline-dark:hover{border-color:var(--forest);background:var(--forest);color:var(--cream)}
.btn-block{display:flex;width:100%;justify-content:center}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px var(--gut);
  transition:background .5s ease, padding .5s ease, box-shadow .5s, border-color .5s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(8,32,26,.86);
  backdrop-filter:blur(14px) saturate(1.2);
  padding-block:13px;
  border-bottom:1px solid rgba(181,147,79,.18);
}
.nav-logo{display:flex;align-items:center;gap:12px;color:var(--cream)}
.nav-logo-img{height:52px;width:auto;display:block;transition:height .5s ease}
.nav.scrolled .nav-logo-img{height:44px}
.nav-logo .wm{display:flex;flex-direction:column;line-height:1;gap:3px}
.nav-logo .wm small{
  font-size:8.5px;letter-spacing:.42em;color:var(--gold-300);font-weight:600;
}
.nav-logo .wm strong{
  font-family:var(--serif);font-weight:700;font-size:18px;letter-spacing:.14em;color:var(--cream);
}
.nav-links{display:flex;align-items:center;gap:30px;flex:1;justify-content:center;margin:0 32px}
.nav-links a{
  font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--on-dark-soft);
  position:relative;padding:6px 2px;transition:color .3s;white-space:nowrap;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:var(--gold);transition:width .35s cubic-bezier(.2,.7,.2,1);
}
.nav-links a:hover{color:var(--cream)}
.nav-links a:hover::after{width:100%}
.nav-cta{display:flex;align-items:center;gap:10px;flex-shrink:0}
/* cart icon in header */
.nu-cart-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(216,190,134,.4);color:var(--cream);transition:border-color .3s,background .3s,transform .2s}
.nu-cart-btn:hover{border-color:var(--gold);background:rgba(216,190,134,.1)}
.nu-cart-btn svg{width:20px;height:20px}
.nu-cart-btn.bump{animation:nuCartBump .5s cubic-bezier(.2,.8,.3,1.2)}
@keyframes nuCartBump{0%{transform:scale(1)}30%{transform:scale(1.22)}60%{transform:scale(.94)}100%{transform:scale(1)}}
.nu-cart-count{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--gold);color:var(--forest-900);font-family:var(--sans);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}
.nu-cart-count.empty{display:none}
/* Sair button beside cart icon (logged-in cart pages) */
.nu-logout{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 16px;border-radius:2px;border:1px solid rgba(216,190,134,.4);color:var(--cream);font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:border-color .3s,background .3s,color .3s}
.nu-logout:hover{border-color:var(--gold);background:rgba(216,190,134,.1);color:var(--gold-300)}
.nu-logout svg{width:16px;height:16px}
.nav-btn{padding:11px 22px;font-size:12.5px;letter-spacing:.07em;border-radius:2px}
.nav-login{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--on-dark);text-transform:uppercase}
.nav-login:hover{color:var(--gold-300)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:6px}
.nav-toggle span{width:24px;height:1.6px;background:var(--cream);transition:.3s}

/* ============================================================
   HERO
   ============================================================ */
.hero-screen{min-height:100svh;display:flex;flex-direction:column}
.hero{
  position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:flex-end;
  background:
    radial-gradient(120% 90% at 78% 18%, rgba(181,147,79,.16), transparent 55%),
    radial-gradient(140% 120% at 12% 100%, #0b251e 0%, #08201a 45%, #061712 100%);
  overflow:hidden;
  color:var(--on-dark);
}
.hero-figure{
  position:absolute;inset:0;
  background:
    linear-gradient(105deg, rgba(8,32,26,.96) 0%, rgba(8,32,26,.72) 38%, rgba(8,32,26,.30) 62%, rgba(8,32,26,.55) 100%),
    radial-gradient(80% 100% at 88% 30%, #20402f 0%, #112c22 45%, transparent 80%),
    repeating-linear-gradient(118deg, rgba(255,255,255,.018) 0 2px, transparent 2px 26px);
}
.hero-figure::after{ /* faint architectural sheen */
  content:"";position:absolute;right:-6%;top:-10%;width:62%;height:120%;
  background:radial-gradient(closest-side, rgba(216,190,134,.10), transparent 70%);
  filter:blur(10px);
}
.hero-mono-img{
  position:absolute;right:-4vw;top:50%;transform:translateY(-50%);
  width:46vw;max-width:560px;opacity:.07;pointer-events:none;z-index:1;
}
.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:clamp(54px,8vh,96px);padding-top:140px}
.hero h1{max-width:15ch;margin:.32em 0 0}
.hero .lede{max-width:46ch;color:var(--on-dark-soft);margin-top:30px}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px;margin-top:42px}
.hero-meta{
  position:absolute;right:var(--gut);bottom:clamp(54px,8vh,96px);z-index:2;
  display:flex;flex-direction:column;gap:6px;align-items:flex-end;text-align:right;
}
.hero-meta .num{font-family:var(--serif);font-size:46px;line-height:1;color:var(--gold-300)}
.hero-meta .cap{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--on-dark-faint)}
.scroll-hint{
  position:absolute;left:var(--gut);bottom:30px;z-index:2;
  font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--on-dark-faint);
  display:flex;align-items:center;gap:12px;
}
.scroll-hint .line{width:46px;height:1px;background:linear-gradient(90deg,var(--gold),transparent);position:relative;overflow:hidden}
.scroll-hint .line::after{content:"";position:absolute;inset:0;width:40%;background:var(--gold-300);animation:scrollLine 2.4s ease-in-out infinite}
@keyframes scrollLine{0%{transform:translateX(-100%)}60%,100%{transform:translateX(280%)}}

/* trusted strip under hero */
.trust{flex:none;background:var(--forest-900);border-top:1px solid rgba(181,147,79,.16);color:var(--on-dark-faint)}
.trust .wrap{display:flex;align-items:center;gap:clamp(24px,5vw,64px);justify-content:space-between;padding-block:22px;flex-wrap:wrap}
.trust .t-lbl{font-size:11px;letter-spacing:.26em;text-transform:uppercase;white-space:nowrap}
.trust .t-stats{display:flex;gap:clamp(24px,4vw,52px);flex-wrap:wrap}
.trust .t-stat{display:flex;flex-direction:column;gap:2px}
.trust .t-stat b{font-family:var(--serif);font-size:26px;color:var(--gold-300);font-weight:500;line-height:1}
.trust .t-stat span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-faint)}

/* ============================================================
   MANIFESTO  (O mercado mudou)
   ============================================================ */
.manifesto{background:var(--paper);color:var(--on-light)}
.manifesto .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.manifesto .head h2{margin-top:18px}
.manifesto .statements{display:flex;flex-direction:column;gap:0}
.statement{
  padding:30px 0;border-top:1px solid rgba(27,36,31,.12);
  display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:baseline;
}
.statement:last-child{border-bottom:1px solid rgba(27,36,31,.12)}
.statement .idx{font-family:var(--serif);font-size:18px;color:var(--gold);font-style:italic}
.statement p{font-size:clamp(18px,1.8vw,23px);line-height:1.42;font-family:var(--serif);color:var(--on-light)}
.statement p .soft{color:var(--on-light-soft)}

/* ============================================================
   QUEM SOMOS (dark, sculpture)
   ============================================================ */
.about{position:relative;background:var(--ink);color:var(--on-dark);overflow:hidden}
.about .grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(36px,6vw,84px);align-items:center}
.about-figure{
  position:relative;aspect-ratio:3/4;border-radius:var(--radius);overflow:hidden;
  background:
    radial-gradient(56% 60% at 50% 24%, rgba(227,210,166,.20), transparent 66%),
    linear-gradient(160deg,#1a1a18 0%,#0d0d0c 60%,#070707 100%);
  border:1px solid rgba(181,147,79,.18);
  display:flex;align-items:flex-end;justify-content:center;
}
.about-figure .plate-label{position:absolute;left:18px;bottom:16px;z-index:2}
.about-figure .davi{
  height:99%;width:auto;object-fit:contain;object-position:bottom center;
  align-self:flex-end;
  filter:drop-shadow(0 26px 50px rgba(0,0,0,.55));
  pointer-events:none;
}
.about h2 .gold-em{display:block}
.about .lede{color:var(--on-dark-soft);max-width:34rem}
.about .body-2{color:var(--on-dark-soft);margin-top:22px;line-height:1.7;max-width:34rem}
.about .micro-list{display:flex;gap:30px;margin-top:38px;flex-wrap:wrap}
.about .micro-list div{border-left:1px solid var(--forest-600);padding-left:16px}
.about .micro-list b{font-family:var(--serif);font-size:22px;color:var(--gold-300);font-weight:500;display:block}
.about .micro-list span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-faint)}

/* ============================================================
   PROPÓSITO (full-bleed statement)
   ============================================================ */
.purpose{
  position:relative;color:var(--on-dark);
  background:
    linear-gradient(180deg, rgba(7,13,10,.62), rgba(7,13,10,.86)),
    radial-gradient(60% 80% at 78% 30%, #4a3a23 0%, #221a10 40%, transparent 75%),
    radial-gradient(80% 90% at 20% 90%, #16110a 0%, #0a0805 60%, #070504 100%);
  overflow:hidden;
}
.purpose::before{
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(100deg, rgba(216,190,134,.05) 0 1px, transparent 1px 40px);
  opacity:.6;
}
.purpose .wrap{position:relative;z-index:2}
.purpose .frame{
  border:1px solid rgba(216,190,134,.30);
  padding:clamp(40px,7vw,90px);max-width:1000px;margin:0 auto;border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(8,20,15,.2), rgba(8,20,15,.05));
}
.purpose .eyebrow{margin-bottom:28px}
.purpose blockquote{
  font-family:var(--serif);font-weight:300;font-size:clamp(24px,3vw,40px);line-height:1.34;letter-spacing:-.01em;
}
.purpose blockquote .em{color:var(--gold-300)}
.purpose .sub{margin-top:34px;color:var(--on-dark-soft);font-size:clamp(16px,1.4vw,19px);line-height:1.65;max-width:62ch}

/* ============================================================
   STORY (Mercado + Quem Somos + Propósito unificados)
   ============================================================ */
.story{position:relative;background:var(--ink);color:var(--on-dark);overflow:hidden}
.story .anchor{position:absolute;top:0}
.story .wrap{display:flex;flex-direction:column}
.story-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}
.story-intro .head h2{margin-top:0}
.story-intro .head .lede{color:var(--on-dark-soft)}
/* statements on dark */
.story .statement{border-top:1px solid rgba(216,190,134,.16)}
.story .statement:last-child{border-bottom:1px solid rgba(216,190,134,.16)}
.story .statement p{color:var(--on-dark)}
.story .statement p .soft{color:var(--on-dark-soft)}
.story .statement .idx{color:var(--gold)}

/* quem somos block */
.story-about{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(36px,6vw,84px);align-items:center;
  margin-top:clamp(56px,8vw,100px);padding-top:clamp(56px,8vw,100px);border-top:1px solid rgba(216,190,134,.14)}
.story-about .lede{color:var(--on-dark-soft);max-width:34rem}
.story-about .body-2{color:var(--on-dark-soft);margin-top:22px;line-height:1.7;max-width:34rem}
.story-about .micro-list{display:flex;gap:30px;margin-top:38px;flex-wrap:wrap}
.story-about .micro-list div{border-left:1px solid var(--forest-600);padding-left:16px}
.story-about .micro-list b{font-family:var(--serif);font-size:22px;color:var(--gold-300);font-weight:500;display:block}
.story-about .micro-list span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-faint)}

/* propósito block */
.story-purpose{margin-top:clamp(56px,8vw,100px);padding-top:clamp(56px,8vw,100px);border-top:1px solid rgba(216,190,134,.14)}
.story-purpose .frame{
  border:1px solid rgba(216,190,134,.30);padding:clamp(40px,7vw,90px);max-width:1000px;margin:0 auto;border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(181,147,79,.06), rgba(8,20,15,.02));text-align:center;
}
.story-purpose .eyebrow{margin-bottom:28px;justify-content:center}
.story-purpose blockquote{font-family:var(--serif);font-weight:300;font-size:clamp(22px,2.5vw,32px);line-height:1.32;letter-spacing:-.01em;text-wrap:pretty;max-width:42rem;margin-inline:auto;text-align:justify;text-align-last:center;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:8 4 4}
.story-purpose blockquote .em{color:var(--gold-300)}
.story-purpose blockquote .nb{white-space:nowrap}
.story-purpose .sub{margin-top:34px;color:var(--on-dark-soft);font-size:clamp(16px,1.4vw,19px);line-height:1.65;max-width:42rem;margin-inline:auto;text-align:justify;text-align-last:center;hyphens:auto;-webkit-hyphens:auto}

/* ============================================================
   6 PILARES
   ============================================================ */
.pillars{background:var(--forest);color:var(--on-dark);position:relative;overflow:hidden}
.pillars::after{ /* marble vignette right */
  content:"";position:absolute;right:0;top:0;width:34%;height:100%;
  background:
    linear-gradient(90deg, var(--forest) 0%, transparent 22%),
    repeating-linear-gradient(180deg, rgba(245,241,232,.5) 0 8px, rgba(200,196,184,.42) 8px 17px),
    linear-gradient(120deg,#e9e6df,#cfcabc);
  opacity:.14;mix-blend-mode:screen;
}
.pillars .head{max-width:680px;position:relative;z-index:2}
.pillars .head h2{margin-top:16px}
.pillars-grid{
  position:relative;z-index:2;margin-top:clamp(48px,6vw,76px);
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--forest-600);
  border:1px solid var(--forest-600);
}
.pillar{
  background:var(--forest);padding:clamp(28px,3vw,40px) clamp(24px,2.4vw,34px);
  position:relative;transition:background .4s;min-height:230px;display:flex;flex-direction:column;
}
.pillar:hover{background:var(--forest-700)}
.pillar .pnum{font-family:var(--serif);font-size:15px;color:var(--gold);font-style:italic;margin-bottom:auto}
.pillar h3{font-family:var(--serif);font-size:clamp(19px,1.7vw,23px);font-weight:700;letter-spacing:.005em;margin:30px 0 12px;color:var(--cream)}
.pillar p{color:var(--on-dark-soft);font-size:15px;line-height:1.55}
.pillar .pbar{position:absolute;left:0;top:0;height:2px;width:0;background:var(--gold);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.pillar:hover .pbar{width:100%}

/* ============================================================
   PREMIAÇÕES (rewards + interactive)
   ============================================================ */
.rewards{background:var(--paper);color:var(--on-light)}
.rewards .head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.rewards .head h2{margin-top:16px}
.rewards .head p{color:var(--on-light-soft);line-height:1.7;font-size:16px;max-width:46ch}
.points-bar{
  background:var(--forest);color:var(--on-dark);border-radius:var(--radius);
  padding:clamp(26px,3vw,38px);margin-bottom:46px;
  display:grid;grid-template-columns:1fr;gap:22px;
}
.points-top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.points-top .pt-l .kicker{color:var(--gold-300)}
.points-top .pt-l h3{color:var(--cream);margin-top:8px}
.points-readout{text-align:right}
.points-readout .pv{font-family:var(--serif);font-size:clamp(34px,4vw,50px);color:var(--gold-300);line-height:1;font-weight:500}
.points-readout .pl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-faint);margin-top:6px}
.slider-row{display:flex;align-items:center;gap:18px}
.slider-row .sr-cap{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-faint);white-space:nowrap}
input[type=range].slider{
  -webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--forest-600);border-radius:2px;outline:none;
}
input[type=range].slider::-webkit-slider-thumb{
  -webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--gold-300);
  border:3px solid var(--forest);cursor:pointer;box-shadow:0 0 0 1px var(--gold);transition:transform .2s;
}
input[type=range].slider::-webkit-slider-thumb:hover{transform:scale(1.15)}
input[type=range].slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--gold-300);border:3px solid var(--forest);cursor:pointer}
.rewards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,22px)}
.reward{
  border:1px solid rgba(27,36,31,.14);border-radius:var(--radius);overflow:hidden;background:var(--cream);
  transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s, border-color .4s, opacity .4s;
  display:flex;flex-direction:column;
}
.reward:hover{transform:translateY(-6px);box-shadow:0 22px 50px -28px rgba(7,13,10,.5);border-color:rgba(181,147,79,.5)}
.reward.dim{opacity:.4;filter:saturate(.6)}
.reward .r-img{aspect-ratio:4/3;position:relative;background:linear-gradient(150deg,#1c3328,#0e2018);display:flex;align-items:center;justify-content:center}
.reward .r-img .r-ico{width:42px;height:42px;color:var(--gold-300);opacity:.85}
.reward .r-img .r-tag{position:absolute;top:10px;left:10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--forest-900);background:var(--gold-300);padding:4px 8px;border-radius:2px;font-weight:600}
.reward .r-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.reward .r-name{font-size:14.5px;font-weight:500;line-height:1.3;color:var(--on-light)}
.reward .r-foot{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid rgba(27,36,31,.1)}
.reward .r-pts{font-family:var(--serif);font-size:17px;color:var(--forest);font-weight:700}
.reward .r-pts small{font-size:11px;letter-spacing:.1em;color:var(--on-light-soft);font-family:var(--sans);font-weight:500}
.reward .r-go{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600}
.rewards-foot{margin-top:40px;display:flex;justify-content:center}

/* ============================================================
   EXPERIÊNCIAS (gallery)
   ============================================================ */
.exp{background:var(--ink);color:var(--on-dark);overflow:hidden}
.exp .head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(36px,4vw,56px)}
.exp .head h2{margin-top:14px}
.exp .head p{color:var(--on-dark-soft);line-height:1.7;max-width:48ch;font-size:16px}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(120px,15vw,200px);gap:clamp(10px,1.2vw,16px)}
.gal{
  position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(181,147,79,.16);
  background-size:cover;background-position:center;
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.gal::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(7,13,10,.72));opacity:.85;transition:opacity .4s}
.gal:hover{transform:scale(1.012)}
.gal{cursor:pointer;color:inherit;text-decoration:none;display:block}
.gal .g-cap{position:absolute;left:14px;bottom:12px;z-index:2;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream)}
.gal .g-cap small{display:block;color:var(--gold-300);font-size:10px;letter-spacing:.2em;margin-bottom:3px}
.g1{grid-column:span 7;grid-row:span 2;background:linear-gradient(150deg,#243a2c,#0e1f18)}
.g2{grid-column:span 5;grid-row:span 1;background:linear-gradient(150deg,#3a3322,#16110a)}
.g3{grid-column:span 5;grid-row:span 1;background:linear-gradient(150deg,#2a3b46,#10202a)}
.g4{grid-column:span 4;grid-row:span 1;background:linear-gradient(150deg,#402a2a,#1a1010)}
.g5{grid-column:span 4;grid-row:span 1;background:linear-gradient(150deg,#1f3a2e,#0c1d16)}
.g6{grid-column:span 4;grid-row:span 1;background:linear-gradient(150deg,#3a3550,#16142a)}

/* ============================================================
   MAIS DO QUE UM NÚCLEO
   ============================================================ */
.more{background:var(--paper);color:var(--on-light)}
.more .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,90px);align-items:center}
.more-figure{
  aspect-ratio:3/4;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(27,36,31,.12);
  background:linear-gradient(180deg,#9aa6c4 0%,#c7b9c9 42%,#e7cdbb 70%,#a9b4c9 100%);
  position:relative;
}
.more-figure::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 40% at 50% 20%, rgba(255,255,255,.4),transparent 60%)}
.more h2 .gold-em{display:block}
.more .kicker{margin-bottom:20px}
.more .lede{color:var(--on-light-soft);max-width:44ch;margin-top:24px}

/* ============================================================
   PARCEIROS
   ============================================================ */
.partners{background:var(--forest-900);color:var(--on-dark);border-top:1px solid rgba(181,147,79,.14)}
.partners .head{text-align:center;max-width:620px;margin:0 auto clamp(34px,4.5vw,52px)}
.partners .head h2{margin-top:14px}
.partners .head p{color:var(--on-dark-soft);margin-top:18px;line-height:1.7;text-align:justify;text-align-last:center;hyphens:auto;-webkit-hyphens:auto}

/* filters */
.partners-filters{
  display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;
  max-width:760px;margin:0 auto 26px;
}
.filter-field{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}
.filter-field label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600}
.select-wrap{position:relative}
.select-wrap svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--gold-300);pointer-events:none}
.select-wrap select{
  appearance:none;-webkit-appearance:none;width:100%;
  background:var(--forest);color:var(--cream);
  border:1px solid var(--forest-600);border-radius:2px;
  padding:13px 40px 13px 16px;
  font-family:var(--sans);font-size:14.5px;font-weight:500;letter-spacing:.01em;
  cursor:pointer;transition:border-color .3s, background .3s;
}
.select-wrap select:hover{border-color:rgba(216,190,134,.55)}
.select-wrap select:focus{outline:none;border-color:var(--gold)}
.select-wrap select option{background:var(--forest-900);color:var(--cream)}
.filter-count{font-size:13px;letter-spacing:.04em;color:var(--on-dark-faint);padding-bottom:13px;white-space:nowrap}
.filter-count b{font-family:var(--serif);font-size:20px;color:var(--gold-300);font-weight:500;margin-right:2px}

/* scrollable wall */
.logo-scroll{
  max-height:432px;overflow-y:auto;overflow-x:hidden;
  padding:4px 14px 4px 4px;
  border-top:1px solid var(--forest-700);border-bottom:1px solid var(--forest-700);
  scrollbar-width:thin;scrollbar-color:var(--gold) transparent;
}
.logo-scroll::-webkit-scrollbar{width:6px}
.logo-scroll::-webkit-scrollbar-track{background:rgba(216,190,134,.08);border-radius:4px}
.logo-scroll::-webkit-scrollbar-thumb{background:var(--gold);border-radius:4px}
.logo-scroll::-webkit-scrollbar-thumb:hover{background:var(--gold-300)}
.logo-wall{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:14px;background:none;border:0;
  padding:18px 0;
}
.logo-cell{
  background:var(--forest);aspect-ratio:16/10;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  border:1px solid var(--forest-600);border-radius:4px;
  transition:background .4s, border-color .4s, transform .4s cubic-bezier(.2,.7,.2,1);
  padding:18px;text-align:center;
}
.logo-cell:hover{background:var(--forest-700);border-color:rgba(216,190,134,.5);transform:translateY(-3px)}
.logo-cell .logo-img{max-width:80%;max-height:52%;width:auto;height:auto;object-fit:contain;
  opacity:.82;transition:opacity .4s,transform .4s;filter:none;
  pointer-events:none;-webkit-user-drag:none;user-select:none}
.logo-cell:hover .logo-img{opacity:1;transform:scale(1.03)}
.logo-cell:has(.logo-img) span{display:none}
.logo-cell span{font-family:var(--serif);font-size:clamp(15px,1.4vw,18px);color:var(--on-dark-soft);letter-spacing:.01em;line-height:1.2;transition:color .4s}
.logo-cell em{font-style:normal;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-faint);transition:color .4s}
.logo-cell:hover span{color:var(--gold-300)}
.logo-cell:hover em{color:var(--on-dark-soft)}
.logo-cell.hide{display:none}
.logo-empty{display:none;text-align:center;color:var(--on-dark-faint);font-size:14px;padding:48px 0;font-style:italic;font-family:var(--serif)}
.logo-empty.show{display:block}
.logo-cell{cursor:pointer}

/* ===== partner modal ===== */
.partner-modal{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  padding:24px;visibility:hidden;opacity:0;transition:opacity .35s ease, visibility .35s ease;
}
.partner-modal.open{visibility:visible;opacity:1}
.pm-backdrop{position:absolute;inset:0;background:rgba(5,9,7,.78);backdrop-filter:blur(6px)}
.pm-card{
  position:relative;z-index:2;width:min(440px,100%);
  background:linear-gradient(180deg,var(--forest) 0%,var(--forest-900) 100%);
  border:1px solid rgba(216,190,134,.4);border-radius:4px;
  padding:clamp(32px,5vw,46px) clamp(26px,4vw,40px) clamp(28px,4vw,38px);
  text-align:center;color:var(--on-dark);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7);
  transform:translateY(18px) scale(.97);transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.partner-modal.open .pm-card{transform:none}
.pm-close{
  position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;
  background:transparent;border:1px solid var(--forest-600);color:var(--on-dark-soft);
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.3s;
}
.pm-close svg{width:18px;height:18px}
.pm-close:hover{border-color:var(--gold);color:var(--gold-300);transform:rotate(90deg)}
.pm-logo{
  width:108px;height:108px;margin:0 auto 22px;border-radius:50%;
  background:var(--forest-900);display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(216,190,134,.5);box-shadow:0 0 0 6px rgba(216,190,134,.08);overflow:hidden;
}
.pm-logo span{font-family:var(--serif);font-weight:700;font-size:42px;color:var(--gold-300);letter-spacing:.02em}
.pm-logo img{width:100%;height:100%;object-fit:contain;padding:14px}
.pm-name{font-family:var(--serif);font-weight:700;font-size:clamp(26px,3vw,34px);color:var(--cream);line-height:1.12}
.pm-seg{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-300);margin-top:10px;font-weight:600}
.pm-points{
  margin:24px auto 0;width:fit-content;max-width:100%;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:18px 26px;
  background:rgba(216,190,134,.06);
  border:1px solid rgba(216,190,134,.28);border-radius:4px;
}
.pp-label{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600;white-space:nowrap}
.pp-rule{font-size:13.5px;letter-spacing:.06em;color:var(--on-dark-soft);white-space:nowrap}
.pp-rule strong{color:var(--gold-300);font-weight:600}
.pm-city{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:18px;font-size:13.5px;letter-spacing:.06em;color:var(--on-dark-soft)}
.pm-city svg{width:16px;height:16px;color:var(--gold)}
.pm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
.pm-act{
  display:flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 12px;border:1px solid var(--forest-600);border-radius:3px;
  font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--on-dark-soft);
  transition:border-color .3s,color .3s,background .3s;
}
.pm-act svg{width:17px;height:17px;color:var(--gold-300);transition:color .3s}
.pm-act:hover{border-color:var(--gold);color:var(--cream);background:var(--forest-700)}
.pm-act.is-hidden{display:none}

/* ===== login modal ===== */
.login-modal{
  position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  padding:24px;visibility:hidden;opacity:0;transition:opacity .35s ease, visibility .35s ease;
}
.login-modal.open{visibility:visible;opacity:1}
.lm-backdrop{position:absolute;inset:0;background:rgba(5,9,7,.78);backdrop-filter:blur(6px)}
.lm-card{
  position:relative;z-index:2;width:min(420px,100%);
  background:linear-gradient(180deg,var(--forest) 0%,var(--forest-900) 100%);
  border:1px solid rgba(216,190,134,.4);border-radius:4px;
  padding:clamp(30px,4vw,42px) clamp(26px,4vw,38px);
  color:var(--on-dark);box-shadow:0 40px 90px -30px rgba(0,0,0,.7);
  transform:translateY(18px) scale(.97);transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.login-modal.open .lm-card{transform:none}
.lm-logo{height:46px;width:auto;display:block;margin:0 auto 22px}
.lm-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:transparent;padding:0;border:0;margin-bottom:14px}
.lm-tabs.err{border:0;box-shadow:none}
.lm-tabs.err .lm-tab{border-color:#a85b4a}
.lm-panel-hint{margin:0 0 22px;font-size:12.5px;text-align:center;color:var(--on-dark-faint);transition:color .3s}
.lm-panel-hint.err{color:#e0a495}
.lm-tab{
  background:var(--forest-900);border:1.5px solid var(--forest-600);cursor:pointer;
  padding:14px 10px;border-radius:6px;
  font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.04em;
  color:var(--on-dark-soft);transition:background .25s,color .25s,border-color .25s,box-shadow .25s;
  display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;min-height:52px;
}
.lm-tab::before{
  content:"";width:15px;height:15px;border-radius:50%;flex-shrink:0;
  border:2px solid var(--forest-600);transition:border-color .25s,background .25s,box-shadow .25s;
}
.lm-tab.active{background:var(--gold);color:var(--forest-900);border-color:var(--gold)}
.lm-tab.active::before{border-color:var(--forest-900);background:var(--forest-900);box-shadow:inset 0 0 0 3px var(--gold)}
.lm-tab:not(.active):hover{border-color:var(--gold);color:var(--cream)}
.lm-tab:not(.active):hover::before{border-color:var(--gold)}
.lm-title{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,28px);color:var(--cream);text-align:center;line-height:1.2}
.lm-sub{text-align:center;color:var(--on-dark-soft);font-size:14px;margin:8px 0 26px}
#login-form .cf-field{margin-bottom:16px}
.lm-pass-wrap{position:relative}
.lm-pass-wrap input{padding-right:46px}
.lm-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;color:var(--on-dark-faint);padding:8px;display:flex;transition:color .3s}
.lm-eye:hover{color:var(--gold-300)}
.lm-eye svg{width:19px;height:19px}
.lm-eye.off svg{opacity:.5}
.lm-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 22px;flex-wrap:wrap}
.lm-check{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--on-dark-soft);cursor:pointer;user-select:none}
.lm-check input{position:absolute;opacity:0;width:0;height:0}
.lm-box{width:17px;height:17px;border:1px solid var(--forest-600);border-radius:3px;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s;flex-shrink:0}
.lm-check input:checked+.lm-box{background:var(--gold);border-color:var(--gold)}
.lm-check input:checked+.lm-box::after{content:"";width:9px;height:5px;border-left:2px solid var(--forest-900);border-bottom:2px solid var(--forest-900);transform:rotate(-45deg) translateY(-1px)}
.lm-forgot{font-size:13px;color:var(--gold-300);transition:color .3s}
.lm-forgot:hover{color:var(--cream)}
#login-form .btn{width:100%;justify-content:center}
.lm-error{background:rgba(168,91,74,.16);border:1px solid rgba(168,91,74,.5);color:#f0b7ab;font-size:13px;line-height:1.5;padding:11px 14px;border-radius:5px;margin:2px 0 14px;text-align:left}
.lm-success{background:rgba(31,138,91,.16);border:1px solid rgba(31,138,91,.5);color:#8fe0b6;font-size:13px;line-height:1.5;padding:11px 14px;border-radius:5px;margin:2px 0 14px;text-align:left}
.lm-recv{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lm-recv-opt{background:var(--forest-900);border:1.5px solid var(--forest-600);color:var(--on-dark-soft);cursor:pointer;padding:12px 10px;border-radius:6px;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.03em;transition:background .25s,color .25s,border-color .25s}
.lm-recv-opt.active{background:var(--gold);color:var(--forest-900);border-color:var(--gold)}
.lm-recv-opt:not(.active):hover{border-color:var(--gold);color:var(--cream)}
#recover-form .btn{width:100%;justify-content:center;margin-top:4px}
.lm-note{font-size:13px;color:var(--on-dark-soft);line-height:1.55;margin-top:14px}
.lm-note a{color:var(--gold-300);font-weight:600}
.lm-note[hidden]{display:none}
.lm-back{color:var(--gold-300);font-weight:600}
.lm-profile{display:flex;gap:6px;background:rgba(255,255,255,.05);border:1px solid var(--forest-600);border-radius:4px;padding:5px;margin-bottom:18px}
.lm-profile button{flex:1;background:none;border:0;cursor:pointer;padding:10px;border-radius:3px;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--on-dark-soft);transition:background .25s,color .25s}
.lm-profile button.active{background:var(--gold);color:var(--forest-900)}
.lm-foot{text-align:center;margin-top:22px;font-size:13.5px;color:var(--on-dark-soft)}
.lm-foot a{color:var(--gold-300);font-weight:600;border-bottom:1px solid transparent;transition:border-color .3s}
.lm-foot a:hover{border-color:var(--gold-300)}
.partners .pfoot{text-align:center;margin-top:40px;color:var(--on-dark-faint);font-size:13px;letter-spacing:.04em}
.partners .pfoot a{color:var(--gold-300);border-bottom:1px solid transparent;transition:border-color .3s}
.partners .pfoot a:hover{border-color:var(--gold-300)}
.partners-cta{
  margin-top:clamp(36px,4.5vw,54px);padding-top:clamp(32px,4vw,46px);
  border-top:1px solid var(--forest-700);
  display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;
}
.partners-cta p{font-family:var(--serif);font-size:clamp(18px,2vw,24px);color:var(--cream);font-weight:400;line-height:1.35;max-width:30ch;text-wrap:balance}

/* ============================================================
   AJUDA (FAQ)
   ============================================================ */
.faq{background:var(--paper);color:var(--on-light)}
.faq .grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,6vw,90px);align-items:start}
.faq .head h2{margin-top:16px}
.faq .head .lede{color:var(--on-light-soft);max-width:34ch;margin-top:20px}
.faq .help-links{margin-top:34px;display:flex;flex-direction:column;gap:2px}
.faq .help-links a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 0;border-top:1px solid rgba(27,36,31,.12);
  font-size:14.5px;font-weight:500;color:var(--on-light);transition:color .3s,padding .3s;
}
.faq .help-links a:last-child{border-bottom:1px solid rgba(27,36,31,.12)}
.faq .help-links a span{color:var(--gold);transition:transform .3s}
.faq .help-links a:hover{color:var(--gold);padding-left:6px}
.faq .help-links a:hover span{transform:translateX(4px)}
.faq-list{display:flex;flex-direction:column}
.faq-item{border-top:1px solid rgba(27,36,31,.14)}
.faq-item:last-child{border-bottom:1px solid rgba(27,36,31,.14)}
.faq-q{
  width:100%;background:none;border:0;cursor:pointer;text-align:left;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:26px 0;font-family:var(--serif);font-size:clamp(18px,1.7vw,22px);font-weight:400;
  color:var(--on-light);line-height:1.3;transition:color .3s;
}
.faq-q:hover{color:var(--gold)}
.faq-icon{position:relative;flex-shrink:0;width:22px;height:22px}
.faq-icon::before,.faq-icon::after{
  content:"";position:absolute;background:var(--gold);transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.faq-icon::before{top:50%;left:0;width:100%;height:1.5px;transform:translateY(-50%)}
.faq-icon::after{left:50%;top:0;height:100%;width:1.5px;transform:translateX(-50%)}
.faq-item.open .faq-icon::after{transform:translateX(-50%) scaleY(0)}
.faq-a{overflow:hidden;max-height:0;transition:max-height .4s cubic-bezier(.2,.7,.2,1)}
.faq-a-inner{padding:0 44px 28px 0;color:var(--on-light-soft);font-size:15.5px;line-height:1.7}
.faq-a-inner strong{color:var(--forest);font-weight:600}

/* ============================================================
   CONTATO
   ============================================================ */
.contact{background:var(--ink);color:var(--on-dark)}
.contact .grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,84px);align-items:start}
.contact .head h2{margin-top:16px}
.contact .head .lede{color:var(--on-dark-soft);max-width:38ch;margin-top:22px}
.contact-channels{margin-top:40px;display:flex;flex-direction:column;gap:2px}
.channel{
  display:flex;align-items:center;gap:18px;padding:20px 0;
  border-top:1px solid var(--forest-700);transition:padding .3s;
}
.channel:last-child{border-bottom:1px solid var(--forest-700)}
.channel:hover{padding-left:6px}
.channel-ico{
  width:46px;height:46px;flex-shrink:0;border-radius:50%;border:1px solid var(--forest-600);
  display:flex;align-items:center;justify-content:center;color:var(--gold-300);transition:border-color .3s,background .3s;
}
.channel:hover .channel-ico{border-color:var(--gold);background:var(--forest)}
.channel-ico svg{width:20px;height:20px}
.channel-txt b{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:4px}
.channel-txt a,.channel-txt span{font-size:16px;color:var(--on-dark);font-family:var(--serif)}
.channel-txt a:hover{color:var(--gold-300)}
.contact-company{margin-top:34px;font-size:12.5px;line-height:1.7;color:var(--on-dark-faint);letter-spacing:.02em;text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto}

.contact-form{
  background:linear-gradient(180deg,var(--forest) 0%,var(--forest-900) 100%);
  border:1px solid var(--forest-600);border-radius:4px;padding:clamp(28px,3.4vw,42px);
}
.contact-form h3{font-family:var(--serif);font-size:clamp(21px,2vw,26px);font-weight:400;color:var(--cream);margin-bottom:6px}
.contact-form .cf-sub{font-size:14px;color:var(--on-dark-soft);margin-bottom:26px;line-height:1.6}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cf-field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.cf-field label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:600}
.cf-field input,.cf-field select,.cf-field textarea{
  background:var(--forest-900);color:var(--cream);
  border:1px solid var(--forest-600);border-radius:3px;
  padding:13px 15px;font-family:var(--sans);font-size:14.5px;
  transition:border-color .3s;width:100%;
}
.cf-field textarea{resize:vertical;min-height:120px;line-height:1.5}
.cf-field input::placeholder,.cf-field textarea::placeholder{color:var(--on-dark-faint)}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{outline:none;border-color:var(--gold)}
.cf-field select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D8BE86' stroke-width='1.6'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:42px}
.cf-field select option{background:var(--forest-900)}
.contact-form .btn{width:100%;justify-content:center;margin-top:8px}
.cf-success{
  display:none;text-align:center;padding:30px 10px;
}
.cf-success.show{display:block}
.cf-success .ck{
  width:56px;height:56px;margin:0 auto 18px;border-radius:50%;
  border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold-300);
}
.cf-success .ck svg{width:26px;height:26px}
.cf-success h3{color:var(--cream)}
.cf-success p{color:var(--on-dark-soft);font-size:14.5px;line-height:1.6;margin-top:8px;max-width:34ch;margin-inline:auto}
.cf-again{margin-top:22px;background:none;border:0;cursor:pointer;
  font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold-300);display:inline-flex;align-items:center;gap:8px;transition:color .3s}
.cf-again:hover{color:var(--cream)}
.cf-again .ar{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.cf-again:hover .ar{transform:translateX(5px)}

/* ============================================================
   FAÇA PARTE (final CTA)
   ============================================================ */
.join{
  position:relative;color:var(--on-dark);text-align:center;overflow:hidden;
  background:
    linear-gradient(180deg, rgba(7,13,10,.5), rgba(7,13,10,.78)),
    linear-gradient(180deg,#b8c0d8 0%,#cdbcc6 30%,#e9c9b0 52%,#7d6e6a 78%,#2a2622 100%);
}
.join::before{ /* temple gate columns */
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(26,30,24,.92) 0 22%, transparent 22% 78%, rgba(26,30,24,.92) 78% 100%);
}
.join .wrap{position:relative;z-index:2;padding-block:clamp(110px,16vw,200px)}
.join .eyebrow{color:var(--gold-300)}
.join h2{margin:22px auto 0;max-width:18ch}
.join .stack{margin:34px auto 0;max-width:30ch;display:flex;flex-direction:column;gap:14px}
.join .stack p{font-family:var(--serif);font-size:clamp(20px,2.4vw,28px);line-height:1.3;color:var(--on-dark)}
.join .stack p.last{color:var(--gold-300)}
.join .join-cta{margin-top:42px;display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.join .mono-mark{margin:48px auto 0}
.mono-mark-img{height:56px;width:auto;margin:48px auto 0;display:block;opacity:.92}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--ink);color:var(--on-dark-soft);padding-block:clamp(56px,7vw,84px) 32px}
.footer .top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.footer .brand .wm{display:flex;align-items:center;gap:12px;color:var(--cream)}
.footer-logo-img{height:46px;width:auto;display:block}
.footer .brand .wm strong{font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:.14em;color:var(--cream)}
.footer .brand .wm small{font-size:8.5px;letter-spacing:.42em;color:var(--gold-300);display:block;font-weight:600}
.footer .brand p{margin-top:22px;max-width:34ch;line-height:1.7;font-size:14px;color:var(--on-dark-faint);text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto}
.footer .social{display:flex;gap:12px;margin-top:26px}
.footer .social a{width:38px;height:38px;border:1px solid var(--forest-600);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--on-dark-soft);transition:.3s}
.footer .social a:hover{border-color:var(--gold);color:var(--gold-300)}
.footer .col h4{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:600}
.footer .col a{display:block;font-size:14px;padding:7px 0;color:var(--on-dark-soft);transition:color .3s}
.footer .col a:hover{color:var(--cream)}
.footer .bottom{margin-top:clamp(46px,6vw,70px);padding-top:26px;border-top:1px solid var(--forest-700);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--on-dark-faint);letter-spacing:.02em}

/* ============================================================
   reveal animation
   ============================================================ */
@keyframes revealUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.reveal{opacity:1;transform:none}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1040px){
  .rewards-grid{grid-template-columns:repeat(2,1fr)}
  .logo-wall{grid-template-columns:repeat(3,1fr)}
  .footer .top{grid-template-columns:1fr 1fr}
  .footer .brand{grid-column:1/-1}
}
@media (max-width:1024px){
  .nav-links{display:none}
  .nav-toggle{display:flex}
  .nav-cta{display:none}
}
@media (max-width:860px){
  .manifesto .grid,.about .grid,.more .grid,.rewards .head,.exp .head,.faq .grid,.contact .grid,.story-intro,.story-about{grid-template-columns:1fr;gap:36px}
  .pillars-grid{grid-template-columns:repeat(2,1fr)}
  .hero-meta{display:none}
  .gallery{grid-template-columns:repeat(6,1fr)}
  .g1,.g2,.g3,.g4,.g5,.g6{grid-column:span 6;grid-row:span 1}
  .g1{grid-row:span 2}
}
@media (max-width:600px){
  .logo-wall{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .rewards-grid{grid-template-columns:1fr 1fr}
  .pillars-grid{grid-template-columns:1fr}
  .logo-wall{grid-template-columns:repeat(2,1fr)}
  .logo-cell{aspect-ratio:auto;min-height:120px}
  .footer .top{grid-template-columns:1fr}
  .points-top{flex-direction:column;align-items:flex-start}
  .points-readout{text-align:left}
  .cf-row{grid-template-columns:1fr}
  .pm-actions{grid-template-columns:1fr}
}

/* mobile menu panel */
.mobile-menu{
  position:fixed;top:0;left:0;right:0;z-index:99;background:rgba(8,32,26,.98);backdrop-filter:blur(10px);
  height:100vh;height:100dvh;max-height:100dvh;
  display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:8px;
  padding:clamp(84px,13vh,130px) var(--gut) calc(40px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;
  transform:translateY(-100%);transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.mobile-menu.open{transform:none}
.mobile-menu a{font-family:var(--serif);font-size:30px;color:var(--cream);padding:12px 0;border-bottom:1px solid var(--forest-700);width:100%;text-align:right}
.mobile-menu a:last-of-type{border-bottom:0}
.mobile-menu .mm-cta{margin-top:34px;display:flex;flex-direction:column-reverse;align-items:flex-end;gap:12px;width:100%;border-bottom:0}
.mobile-menu .mm-cta .btn{
  flex:none;width:260px;height:54px;border-bottom:0;
  font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  padding:0 18px;text-align:center;justify-content:center;align-items:center;white-space:nowrap;
}
