/* ============================================================
   INFLEXÃO — Landing Page
   Comunidade We. Contadore$ · Encontro 01 · apresentado por Gratta
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  --bg:        #000000;
  --bg-1:      #0a0a0b;
  --bg-2:      #121214;
  --bg-3:      #18181b;
  --line:      rgba(255,255,255,0.12);
  --line-soft: rgba(255,255,255,0.07);
  --ink:       #ffffff;
  --ink-dim:   rgba(255,255,255,0.66);
  --ink-faint: rgba(255,255,255,0.42);
  --ink-ghost: rgba(255,255,255,0.22);

  --gold:   #FCC204;   /* evento / Inflexão */
  --lemon:  #EFE91C;   /* comunidade We. Contadore$ */
  --accent: var(--lemon);

  --ff-display: "Archivo", system-ui, sans-serif;
  --ff-body:    "Hanken Grotesk", system-ui, sans-serif;
  --ff-mono:    "IBM Plex Mono", ui-monospace, monospace;

  --wrap: 1200px;
  --gutter: clamp(20px, 5vw, 64px);
  --sect-y: clamp(88px, 12vw, 176px);

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

/* ---------- Reset ---------- */
*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--ff-body);
  font-size:18px;
  line-height:1.6;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
::selection{ background:var(--gold); color:#000; }

/* ---------- Layout ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter); }
.section{ position:relative; padding-block:var(--sect-y); }
.section + .section{ border-top:1px solid var(--line-soft); }

/* ---------- Typo utilities ---------- */
.eyebrow{
  font-family:var(--ff-mono);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--accent);
  display:inline-flex;
  align-items:center;
  gap:.85em;
}
.eyebrow::before{
  content:"";
  width:26px; height:1px;
  background:currentColor;
  flex:none;
}
.eyebrow.lemon{ color:var(--lemon); }
.eyebrow.dim{ color:var(--ink-faint); }
.eyebrow.dim::before{ background:var(--ink-ghost); }

.kicker{
  font-family:var(--ff-mono);
  font-size:.72rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--ink-faint);
}

h1,h2,h3{ font-family:var(--ff-display); font-weight:800; letter-spacing:-0.02em; line-height:1.02; }
.h-hero{ font-size:clamp(2.6rem, 6.4vw, 5.6rem); line-height:0.98; letter-spacing:-0.035em; font-weight:800; }
.h-1{ font-size:clamp(2rem, 4.6vw, 3.6rem); }
.h-2{ font-size:clamp(1.6rem, 3.2vw, 2.5rem); }
.lead{ font-size:clamp(1.06rem, 1.7vw, 1.34rem); color:var(--ink-dim); line-height:1.5; max-width:60ch; }
.body{ color:var(--ink-dim); max-width:62ch; }
.body + .body{ margin-top:1.1em; }
.accent{ color:var(--accent); }
.lemon-t{ color:var(--lemon); }
.white{ color:var(--ink); }
.measure-tight{ max-width:18ch; }

/* ---------- Buttons ---------- */
.btn{
  --bd:#fff;
  display:inline-flex; align-items:center; gap:.7em;
  font-family:var(--ff-mono);
  font-size:.82rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase;
  padding:1.15em 1.7em;
  background-color:var(--accent); color:#000;
  border-radius:2px;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  position:relative; overflow:hidden;
}
.btn .arrow{ transition:transform .35s var(--ease); }
.btn:hover{ transform:translateY(-2px); box-shadow:0 14px 40px -12px rgba(239,233,28,.5); }
.btn:hover .arrow{ transform:translateX(5px); }
.btn--ghost{
  background:transparent; color:var(--ink);
  box-shadow:inset 0 0 0 1px var(--line);
}
.btn--ghost:hover{ box-shadow:inset 0 0 0 1px var(--ink); transform:translateY(-2px); }
.btn--lg{ padding:1.35em 2.1em; font-size:.9rem; }

/* ---------- Reveal animation ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-delay="1"]{ transition-delay:.08s; }
.reveal[data-delay="2"]{ transition-delay:.16s; }
.reveal[data-delay="3"]{ transition-delay:.24s; }
.reveal[data-delay="4"]{ transition-delay:.32s; }
.reveal[data-delay="5"]{ transition-delay:.40s; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1 !important; transform:none !important; }
  html{ scroll-behavior:auto; }
}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:40;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px var(--gutter);
  transition:background .4s, border-color .4s, padding .4s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
  padding-block:12px;
}
.nav__logo{ height:22px; width:auto; }
.nav__right{ display:flex; align-items:center; gap:clamp(14px,2vw,28px); }
.nav__meta{ font-family:var(--ff-mono); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-faint); }
.nav__cta{
  font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase;
  padding:.78em 1.25em; background:var(--accent); color:#000; border-radius:2px;
  white-space:nowrap;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.nav__cta:hover{ transform:translateY(-1px); box-shadow:0 10px 28px -10px rgba(239,233,28,.55); }
@media (max-width:720px){ .nav__meta{ display:none; } }

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;
  min-height:100svh;
  display:flex; align-items:center;
  padding-top:120px; padding-bottom:80px;
  overflow:hidden;
}
.hero__grid{
  position:relative; z-index:2;
  width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gutter);
}
.hero__eyebrow{ margin-bottom:clamp(28px,4vw,44px); }
.hero h1{ max-width:16ch; }
.hero h1 .turn{ color:var(--accent); display:inline; }
.hero h1 .l2{ color:var(--ink-dim); display:block; margin-top:.18em; font-size:.62em; font-weight:700; letter-spacing:-0.02em; }
.hero__sub{ margin-top:clamp(28px,3.5vw,40px); }
.hero__context{
  margin-top:clamp(34px,4vw,52px);
  display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px;
  font-family:var(--ff-mono); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim);
}
.hero__context > span{ white-space:nowrap; }
.hero__context .dot{ width:5px; height:5px; border-radius:50%; background:var(--accent); flex:none; }
.hero__context .ph{ color:var(--gold); }
.hero__cta{ margin-top:clamp(36px,4vw,52px); display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.hero__ctasub{ margin-top:18px; font-family:var(--ff-mono); font-size:.8rem; letter-spacing:.04em; color:var(--ink-faint); max-width:46ch; line-height:1.6; }
.hero__scrollnote{ font-family:var(--ff-mono); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-faint); }

/* hero curve + braid background */
.hero__art{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.hero__curve{ position:absolute; inset:0; width:100%; height:100%; }
.hero__curve path{ vector-effect:non-scaling-stroke; }
.curve-draw{ stroke-dasharray:1; stroke-dashoffset:1; }
.hero__braid{
  position:absolute;
  width:clamp(280px, 38vw, 620px); aspect-ratio:1;
  right:-6%; top:50%; transform:translateY(-50%);
  opacity:.10; filter:saturate(1.1);
  background:url("assets/symbol-braid.png") center/contain no-repeat;
}
.hero__node{
  position:absolute; width:14px; height:14px; border-radius:50%;
  background:var(--gold); box-shadow:0 0 0 6px rgba(252,194,4,.16), 0 0 30px 4px rgba(252,194,4,.5);
}

/* HERO VARIANT: assimétrico (default) — handled by base */
/* HERO VARIANT: centro */
[data-hero="centro"] .hero__grid{ text-align:center; display:flex; flex-direction:column; align-items:center; }
[data-hero="centro"] .hero h1{ max-width:20ch; }
[data-hero="centro"] .eyebrow::before{ display:none; }
[data-hero="centro"] .hero__context{ justify-content:center; }
[data-hero="centro"] .hero__cta{ justify-content:center; }
[data-hero="centro"] .lead{ margin-inline:auto; }
[data-hero="centro"] .hero__braid{ right:50%; transform:translate(50%,-50%); opacity:.07; }

/* HERO VARIANT: curva dominante */
[data-hero="curva"] .hero__braid{ opacity:.16; right:-12%; width:clamp(360px,48vw,780px); }
[data-hero="curva"] .hero h1{ font-size:clamp(2.4rem,5.6vw,4.8rem); }
[data-hero="curva"] .hero__curve{ opacity:1; }

/* ============================================================
   SECTION HEADER (shared)
   ============================================================ */
.shead{ max-width:34ch; }
.shead .eyebrow{ margin-bottom:26px; }
.shead h2{ margin-bottom:0; }
.two-col{
  display:grid; grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
  gap:clamp(36px,6vw,90px); align-items:start;
}
@media (max-width:900px){ .two-col{ grid-template-columns:1fr; gap:32px; } }

/* node marker for spine */
.node-num{
  font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.2em; color:var(--ink-faint);
}

/* ============================================================
   BLOCO 2 — POR QUE EXISTE
   ============================================================ */
.why .lead-xl{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.5rem,3vw,2.3rem); line-height:1.12; letter-spacing:-0.02em; color:var(--ink); max-width:20ch; }
.why .forces{
  margin-top:36px; display:flex; flex-wrap:wrap; gap:10px;
}
.why .force{
  font-family:var(--ff-mono); font-size:.78rem; letter-spacing:.04em;
  padding:.6em 1em; border:1px solid var(--line); border-radius:2px; color:var(--ink-dim);
}

/* ============================================================
   BLOCO 3 — O ENCONTRO (com foto dos sócios)
   ============================================================ */
.what__grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,0.82fr);
  gap:clamp(40px,6vw,88px); align-items:center;
}
.what__photo{ position:relative; margin:0; }
.what__photo img{
  width:100%; height:auto; display:block; border-radius:4px;
  filter:grayscale(0.18) contrast(1.04) brightness(0.96);
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 9%, #000 86%, transparent 100%);
  mask-image:linear-gradient(180deg, transparent 0, #000 9%, #000 86%, transparent 100%);
}
.what__photo::after{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:4px;
  background:linear-gradient(90deg, rgba(0,0,0,.35) 0, transparent 22%);
  -webkit-mask-image:linear-gradient(180deg, transparent 0, #000 9%, #000 86%, transparent 100%);
  mask-image:linear-gradient(180deg, transparent 0, #000 9%, #000 86%, transparent 100%);
}
.what__photo figcaption{ margin-top:18px; }
.what__nots{ display:flex; flex-direction:column; gap:8px; margin:30px 0; padding-left:20px; border-left:2px solid var(--line); }
.what__nots span{ font-family:var(--ff-display); font-weight:600; font-size:clamp(1.05rem,1.7vw,1.28rem); letter-spacing:-0.01em; color:var(--ink-faint); }
@media (max-width:900px){
  .what__grid{ grid-template-columns:1fr; gap:36px; }
  .what__photo{ max-width:460px; }
}


.filter__cols{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:clamp(40px,5vw,64px); }
@media (max-width:860px){ .filter__cols{ grid-template-columns:1fr; } }
.fcard{
  padding:clamp(28px,3vw,44px);
  border:1px solid var(--line);
  border-radius:4px;
  background:linear-gradient(180deg, var(--bg-1), var(--bg));
}
.fcard--yes{ border-color:rgba(252,194,4,.4); background:linear-gradient(180deg, rgba(252,194,4,.07), transparent 60%); }
.fcard__tag{ font-family:var(--ff-mono); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; display:inline-flex; gap:.7em; align-items:center; margin-bottom:26px; }
.fcard--yes .fcard__tag{ color:var(--gold); }
.fcard--no .fcard__tag{ color:var(--ink-faint); }
.fcard__sym{ font-family:var(--ff-display); font-weight:800; font-size:1.1em; }
.fcard ul{ list-style:none; display:flex; flex-direction:column; gap:18px; }
.fcard li{ position:relative; padding-left:30px; color:var(--ink-dim); line-height:1.5; font-size:1.02rem; }
.fcard li::before{ position:absolute; left:0; top:.05em; font-family:var(--ff-display); font-weight:800; }
.fcard--yes li::before{ content:"↗"; color:var(--gold); }
.fcard--no li::before{ content:"↘"; color:var(--ink-faint); }
.fcard--yes li strong{ color:var(--ink); font-weight:600; }

/* ============================================================
   BLOCO 5 — O DIA (ascending curve timeline)
   ============================================================ */
.day{ position:relative; }
.day__head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:24px; margin-bottom:clamp(48px,6vw,80px); }
.day__hint{ font-family:var(--ff-mono); font-size:.74rem; letter-spacing:.06em; color:var(--ink-faint); max-width:30ch; line-height:1.6; }
.day__wrap{ position:relative; }
.day__curve{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; }
.day__phases{ position:relative; z-index:1; display:flex; flex-direction:column; gap:0; }
.phase-label{
  font-family:var(--ff-mono); font-size:.74rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--ink-faint); padding:22px 0 16px; border-top:1px solid var(--line); display:flex; gap:.8em; align-items:center;
}
.phase-label.break{ color:var(--ink-faint); }
.phase-label.happy{ color:var(--lemon); }
.dblock{
  display:grid; grid-template-columns:auto 1fr; gap:clamp(18px,3vw,40px); align-items:start;
  padding:26px 0;
}
.dblock__num{
  font-family:var(--ff-display); font-weight:800;
  font-size:clamp(2rem,4vw,3.3rem); line-height:1; color:var(--ink-ghost);
  letter-spacing:-0.04em; min-width:1.6em;
  transition:color .5s var(--ease);
}
.dblock.in .dblock__num{ color:var(--accent); }
.dblock__body h4{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.15rem,2vw,1.5rem); letter-spacing:-0.01em; margin-bottom:.5em; }
.dblock__body p{ color:var(--ink-dim); max-width:54ch; font-size:1.02rem; }
.dblock__dot{ position:absolute; left:0; }

/* ============================================================
   BLOCO 6 — ENTREGAS
   ============================================================ */
.deliver__list{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); margin-top:clamp(40px,5vw,60px); }
@media (max-width:760px){ .deliver__list{ grid-template-columns:1fr; } }
.ditem{ background:var(--bg); padding:clamp(26px,3vw,40px); display:flex; gap:20px; align-items:flex-start; transition:background .4s; }
.ditem:hover{ background:var(--bg-1); }
.ditem__n{ font-family:var(--ff-mono); font-size:.78rem; color:var(--accent); letter-spacing:.1em; padding-top:.2em; }
.ditem p{ color:var(--ink-dim); line-height:1.5; }
.ditem p strong{ color:var(--ink); font-weight:600; display:block; margin-bottom:.3em; font-family:var(--ff-display); }
.ditem--feat{ background:linear-gradient(160deg, rgba(239,233,28,.08), transparent 70%); }
.ditem--feat .ditem__n{ color:var(--lemon); }

/* ============================================================
   BLOCO 7 — QUEM CONDUZ
   ============================================================ */
.hosts__list{ display:flex; flex-direction:column; margin-top:clamp(40px,5vw,60px); }
.host{
  display:grid; grid-template-columns:96px 1fr auto; gap:clamp(20px,3vw,40px); align-items:center;
  padding:26px 0; border-top:1px solid var(--line);
  transition:padding-left .4s var(--ease);
}
.host:last-child{ border-bottom:1px solid var(--line); }
.host:hover{ padding-left:14px; }
.host__photo{
  width:96px; height:120px; border-radius:3px; overflow:hidden; flex:none;
  background:
    repeating-linear-gradient(135deg, #161616 0 7px, #1d1d1d 7px 14px);
  position:relative; filter:grayscale(1) contrast(1.05);
  display:flex; align-items:flex-end; justify-content:center;
}
.host__photo span{ font-family:var(--ff-mono); font-size:.56rem; letter-spacing:.1em; color:var(--ink-ghost); padding-bottom:8px; text-transform:uppercase; }
.host__name{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.25rem,2.4vw,1.7rem); letter-spacing:-0.01em; }
.host__role{ font-family:var(--ff-mono); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-top:.4em; }
.host__topic{ color:var(--ink-dim); max-width:40ch; font-size:.98rem; margin-top:.7em; }
.host__lead{ text-align:right; font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); max-width:18ch; }
@media (max-width:760px){
  .host{ grid-template-columns:72px 1fr; }
  .host__photo{ width:72px; height:90px; }
  .host__lead{ display:none; }
}

/* ============================================================
   BLOCO 8 — PREÇO
   ============================================================ */
.price{ position:relative; overflow:hidden; }
.price__inner{ position:relative; z-index:2; }
.price__eyebrow{ margin-bottom:30px; }
.price__big{ display:flex; flex-direction:column; align-items:flex-start; }
.price__num{
  font-family:var(--ff-display); font-weight:800; letter-spacing:-0.05em; line-height:.82;
  font-size:clamp(4.5rem, 16vw, 13rem); color:var(--ink);
}
.price__num .cur{ color:var(--accent); font-size:.42em; vertical-align:top; letter-spacing:0; margin-right:.12em; }
.price__sub{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.3rem,2.6vw,2rem); letter-spacing:-0.02em; color:var(--ink-dim); margin-top:.3em; max-width:18ch; line-height:1.05; }
.price__terms{ font-family:var(--ff-mono); font-size:.82rem; letter-spacing:.06em; color:var(--ink-faint); margin-top:26px; }
.price__includes{ list-style:none; display:flex; flex-direction:column; gap:16px; }
.price__includes li{ position:relative; padding-left:28px; color:var(--ink-dim); line-height:1.5; }
.price__includes li::before{ content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:700; }
.price__note{ font-family:var(--ff-mono); font-size:.78rem; letter-spacing:.04em; color:var(--ink-dim); margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.price__cta{ margin-top:clamp(34px,4vw,48px); }
.price__trust{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:24px; font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); }
.price__trust span{ display:inline-flex; gap:.6em; align-items:center; }
.price__trust span::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--accent); }

/* default price layout: gigante */
.price__layout{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(40px,6vw,80px); align-items:center; }
@media (max-width:900px){ .price__layout{ grid-template-columns:1fr; gap:40px; } }

/* VARIANT: dividido — card split */
[data-price="dividido"] .price__layout{ border:1px solid var(--line); border-radius:6px; overflow:hidden; gap:0; align-items:stretch; }
[data-price="dividido"] .price__big{ padding:clamp(34px,4vw,60px); background:linear-gradient(160deg, rgba(252,194,4,.06), transparent 70%); justify-content:center; }
[data-price="dividido"] .price__col2{ padding:clamp(34px,4vw,60px); border-left:1px solid var(--line); }
[data-price="dividido"] .price__num{ font-size:clamp(4rem,12vw,9rem); }
@media (max-width:900px){ [data-price="dividido"] .price__col2{ border-left:none; border-top:1px solid var(--line); } }

/* VARIANT: confronto — full-bleed bold */
[data-price="confronto"] .price{ background:var(--accent); }
[data-price="confronto"] .price__layout{ grid-template-columns:1fr; text-align:center; }
[data-price="confronto"] .price__big{ align-items:center; }
[data-price="confronto"] .price__num{ color:#000; font-size:clamp(5rem,20vw,16rem); }
[data-price="confronto"] .price__num .cur{ color:#000; }
[data-price="confronto"] .price__sub{ color:rgba(0,0,0,.7); margin-inline:auto; text-align:center; }
[data-price="confronto"] .price__eyebrow,
[data-price="confronto"] .eyebrow{ color:#000 !important; }
[data-price="confronto"] .eyebrow::before{ background:#000; }
[data-price="confronto"] .price__terms,
[data-price="confronto"] .price__note{ color:rgba(0,0,0,.65); border-color:rgba(0,0,0,.2); }
[data-price="confronto"] .price__includes{ display:none; }
[data-price="confronto"] .price__col2{ display:none; }
[data-price="confronto"] .price__cta .btn{ background:#000; color:var(--accent); }
[data-price="confronto"] .price__trust{ color:rgba(0,0,0,.6); justify-content:center; }
[data-price="confronto"] .price__trust span::before{ background:#000; }
[data-price="confronto"] .price__braid{ opacity:.08 !important; filter:none; mix-blend-mode:multiply; }

.price__braid{
  position:absolute; right:-8%; top:50%; transform:translateY(-50%);
  width:clamp(300px,40vw,640px); aspect-ratio:1; z-index:1;
  background:url("assets/symbol-braid.png") center/contain no-repeat; opacity:.06;
}

/* ---------- Investimento · dois lotes ---------- */
.tiers{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:clamp(40px,5vw,60px); }
@media (max-width:860px){ .tiers{ grid-template-columns:1fr; } }
.tier{ position:relative; display:flex; flex-direction:column; padding:clamp(28px,3.2vw,46px); border:1px solid var(--line); border-radius:6px; background:linear-gradient(180deg,var(--bg-1),var(--bg)); }
.tier--feat{ border-color:var(--accent); background:linear-gradient(180deg, rgba(239,233,28,.07), transparent 62%); }
.tier__flag{ position:absolute; top:0; right:24px; transform:translateY(-50%); font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; background:var(--accent); color:#000; padding:.55em .9em; border-radius:2px; }
.tier__name{ font-family:var(--ff-display); font-weight:700; font-size:clamp(1.3rem,2.2vw,1.7rem); letter-spacing:-0.01em; }
.tier__tagline{ color:var(--ink-dim); margin-top:.55em; line-height:1.45; min-height:2.8em; }
.tier__price{ font-family:var(--ff-display); font-weight:800; letter-spacing:-0.04em; line-height:.9; font-size:clamp(3rem,7vw,5rem); margin-top:18px; }
.tier__price .cur{ color:var(--accent); font-size:.4em; vertical-align:top; margin-right:.1em; letter-spacing:0; }
.tier__terms{ font-family:var(--ff-mono); font-size:.78rem; letter-spacing:.04em; color:var(--ink-faint); margin-top:14px; }
.tier__list{ list-style:none; display:flex; flex-direction:column; gap:14px; margin-top:26px; padding-top:26px; border-top:1px solid var(--line); }
.tier__list li{ position:relative; padding-left:26px; color:var(--ink-dim); line-height:1.45; font-size:.98rem; }
.tier__list li::before{ content:"✓"; position:absolute; left:0; color:var(--accent); font-weight:700; }
.tier__list li.more{ color:var(--ink); font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; padding-left:0; }
.tier__list li.more::before{ content:""; }
.tier__ctawrap{ margin-top:auto; padding-top:30px; }
.tier__ctawrap .btn{ width:100%; justify-content:center; }
.price__trustrow{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:26px; font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); }
.price__trustrow span{ display:inline-flex; gap:.6em; align-items:center; }
.price__trustrow span::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--accent); }
.price__fineprint{ font-family:var(--ff-mono); font-size:.76rem; letter-spacing:.02em; color:var(--ink-faint); margin-top:22px; max-width:74ch; line-height:1.65; }

/* ============================================================
   BLOCO 9 — FAQ
   ============================================================ */
.faq__list{ margin-top:clamp(40px,5vw,60px); border-top:1px solid var(--line); }
.faq__item{ border-bottom:1px solid var(--line); }
.faq__q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:28px 0; text-align:left;
  font-family:var(--ff-display); font-weight:600; font-size:clamp(1.05rem,1.8vw,1.32rem); letter-spacing:-0.01em;
  transition:color .3s;
}
.faq__q:hover{ color:var(--accent); }
.faq__icon{ flex:none; width:22px; height:22px; position:relative; }
.faq__icon::before,.faq__icon::after{ content:""; position:absolute; background:var(--accent); transition:transform .4s var(--ease); }
.faq__icon::before{ left:0; top:50%; width:100%; height:2px; transform:translateY(-50%); }
.faq__icon::after{ left:50%; top:0; width:2px; height:100%; transform:translateX(-50%); }
.faq__item.open .faq__icon::after{ transform:translateX(-50%) scaleY(0); }
.faq__a{ overflow:hidden; height:0; transition:height .45s var(--ease); }
.faq__a-inner{ padding:0 0 30px; color:var(--ink-dim); max-width:70ch; line-height:1.6; }
.faq__a-inner .ph{ color:var(--gold); }

/* ============================================================
   BLOCO 10 — CTA FINAL
   ============================================================ */
.final{ position:relative; overflow:hidden; text-align:center; padding-block:clamp(110px,16vw,220px); }
.final__braid{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:min(120vw,1100px); aspect-ratio:1; background:url("assets/symbol-braid.png") center/contain no-repeat; opacity:.05; z-index:0; }
.final__inner{ position:relative; z-index:2; max-width:24ch; margin-inline:auto; }
.final h2{ font-size:clamp(2.2rem,6vw,4.8rem); line-height:.98; letter-spacing:-0.035em; }
.final h2 .turn{ color:var(--accent); }
.final h2 .l2{ display:block; color:var(--ink-dim); font-size:.6em; margin-top:.2em; }
.final__q{ margin-top:clamp(28px,3.5vw,40px); font-size:clamp(1.1rem,2vw,1.4rem); color:var(--ink-dim); max-width:34ch; margin-inline:auto; line-height:1.45; }
.final__cta{ margin-top:clamp(38px,4.5vw,56px); }
.final__micro{ margin-top:30px; font-family:var(--ff-mono); font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); display:flex; flex-wrap:wrap; gap:10px 20px; justify-content:center; }
.final__micro .ph{ color:var(--gold); }

/* ============================================================
   FOOTER
   ============================================================ */
.footer{ border-top:1px solid var(--line); padding-block:clamp(48px,6vw,72px); }
.footer__grid{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:32px; align-items:flex-start; }
.footer__brand img{ height:30px; width:auto; margin-bottom:18px; }
.footer__by{ font-family:var(--ff-mono); font-size:.78rem; letter-spacing:.04em; color:var(--ink-faint); max-width:34ch; line-height:1.7; }
.footer__by .ph{ color:var(--gold); }
.footer__by a{ color:var(--ink-dim); border-bottom:1px solid var(--line); transition:color .25s, border-color .25s; }
.footer__by a:hover{ color:var(--accent); border-color:var(--accent); }
.footer__links{ display:flex; flex-direction:column; gap:12px; font-family:var(--ff-mono); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); }
.footer__links a:hover{ color:var(--accent); }
.footer__we{ height:15px; width:auto; opacity:.9; margin-top:6px; }
.footer__bottom{ margin-top:48px; padding-top:24px; border-top:1px solid var(--line-soft); display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; font-family:var(--ff-mono); font-size:.7rem; letter-spacing:.1em; color:var(--ink-ghost); text-transform:uppercase; }

/* ---------- placeholder token ---------- */
.ph{ color:var(--gold); font-style:normal; }
.ph::before{ content:""; }

/* sticky mobile CTA */
.stickycta{
  position:fixed; left:0; right:0; bottom:0; z-index:35;
  display:none; padding:12px var(--gutter);
  background:rgba(0,0,0,.85); backdrop-filter:blur(12px); border-top:1px solid var(--line);
  transform:translateY(110%); transition:transform .4s var(--ease);
}
.stickycta.show{ transform:none; }
.stickycta .btn{ width:100%; justify-content:center; }
@media (max-width:720px){ .stickycta{ display:block; } }
