/* ============================================================
   TRAKTO STUDIO BETA — design system da landing
   Identidade: Rebranding Trakto (Figma Fp2BBabnDZrEPY8ev3ZlSt)
   Paleta: Tech Black · Sunset Orange · Deep Coral · Tropical
   Yellow · Vibrant Teal · Midnight Navy · Cloud White
   Tipografia do brandbook: Pitanga Test → aproximação: Outfit
   ============================================================ */

:root{
  /* brand core */
  --c-yellow:#FFD166;
  --c-coral:#EF476F;
  --c-orange:#FF6B35;
  --c-navy:#1A1C2C;
  --c-teal:#06D6A0;
  --c-gray:#6B7280;
  --c-white:#F3F3F3;
  --c-black:#151515;

  --grad-brand:linear-gradient(90deg,#FF6B35 0%,#EF476F 100%);
  --grad-warm:linear-gradient(135deg,#FF6B35 0%,#FFD166 100%);
  --grad-fresh:linear-gradient(135deg,#06D6A0 0%,#FFD166 100%);
  --grad-sunset:linear-gradient(135deg,#FFD166 0%,#EF476F 100%);

  /* surfaces */
  --bg-0:#151515;
  --bg-1:#1B1B1D;
  --bg-2:#212126;
  --bg-3:#2B2B31;
  --line:rgba(243,243,243,.08);
  --line-strong:rgba(243,243,243,.16);
  --line-ghost:rgba(243,243,243,.045);

  /* text */
  --tx-1:#F3F3F3;
  --tx-2:#A8ACB8;
  --tx-3:#6B7280;

  /* status */
  --ok:var(--c-teal);
  --info:#0095FF;

  /* type */
  --font-display:"Outfit","Poppins",system-ui,sans-serif;
  --font-body:"Outfit","Inter",system-ui,sans-serif;
  --font-mono:"JetBrains Mono","Roboto Mono",ui-monospace,monospace;

  /* radii — a marca é fortemente arredondada */
  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-xl:32px; --r-2xl:44px; --r-pill:9999px;

  /* motion */
  --spring:cubic-bezier(.22,1,.36,1);
  --t-fast:.15s ease; --t-move:.32s var(--spring);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg-0);
  color:var(--tx-1);
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:rgba(255,107,53,.4)}

/* ---------- ambient background: frames fantasma da marca ---------- */
.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.ambient::before{ /* grain sutil */
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");
}
/* contornos gigantes dos frames do glifo, como no brandbook */
.gframe{
  position:absolute;border:2px solid var(--line-ghost);
  border-radius:clamp(60px,8vw,120px);
}
.gframe--1{width:520px;height:640px;top:-220px;right:-140px;transform:rotate(0deg)}
.gframe--2{width:380px;height:380px;top:34%;left:-190px}
.gframe--3{width:640px;height:820px;bottom:-320px;right:8%}
.glow{position:absolute;border-radius:50%;filter:blur(110px);opacity:.14;animation:drift 24s ease-in-out infinite alternate}
.glow--coral{width:560px;height:560px;background:var(--c-coral);top:-200px;right:-120px;opacity:.1}
.glow--orange{width:520px;height:520px;background:var(--c-orange);top:32%;left:-220px;opacity:.09}
.glow--teal{width:460px;height:460px;background:var(--c-teal);bottom:-180px;right:18%;opacity:.06}
@keyframes drift{
  0%{transform:translate(0,0) scale(1)}
  100%{transform:translate(-60px,50px) scale(1.12)}
}

/* ---------- layout helpers ---------- */
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.section{padding:104px 0}
.section-head{max-width:660px;margin-bottom:56px}
.section-head h2{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(28px,4vw,44px);line-height:1.12;letter-spacing:-.02em;margin-top:14px;
}
.section-head p{color:var(--tx-2);margin-top:14px;font-size:16px;max-width:560px;line-height:1.65}
.kicker{
  display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--c-orange);
  margin-bottom:14px;
}
.accent{color:var(--c-yellow);font-style:italic}

/* ---------- buttons: pills com seta em círculo (mockup do brandbook) ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-weight:500;font-size:14.5px;border-radius:var(--r-pill);
  padding:12px 24px;transition:transform var(--t-fast),box-shadow var(--t-fast),
    background var(--t-fast),border-color var(--t-fast);
  white-space:nowrap;
}
.btn__go{
  width:24px;height:24px;border-radius:50%;flex:none;
  display:grid;place-items:center;
  background:var(--c-orange);color:#151515;
  font-size:13px;line-height:1;font-weight:700;
  transition:transform var(--t-move),background var(--t-fast);
  margin-inline-end:-8px;
}
[dir="rtl"] .btn__go{transform:scaleX(-1)}
.btn--primary{
  background:var(--c-white);color:#151515;font-weight:600;
  box-shadow:0 6px 24px rgba(0,0,0,.35);
}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(255,107,53,.25)}
.btn--primary:hover .btn__go{transform:translateX(3px)}
[dir="rtl"] .btn--primary:hover .btn__go{transform:translateX(-3px) scaleX(-1)}
.btn--primary:active{transform:translateY(0)}
.btn--dark{
  background:var(--bg-2);color:var(--tx-1);border:1px solid var(--line-strong);
}
.btn--dark:hover{border-color:rgba(243,243,243,.3);transform:translateY(-2px)}
.btn--dark:hover .btn__go{transform:translateX(3px)}
[dir="rtl"] .btn--dark:hover .btn__go{transform:translateX(-3px) scaleX(-1)}
.btn--ghost{
  border:1px solid var(--line-strong);color:var(--tx-1);background:transparent;
}
.btn--ghost:hover{border-color:rgba(243,243,243,.34);background:rgba(243,243,243,.04)}
.btn--sm{padding:9px 18px;font-size:13.5px}
.btn--block{width:100%}

/* ---------- topbar ---------- */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  transition:background var(--t-move),border-color var(--t-move),backdrop-filter var(--t-move);
  border-bottom:1px solid transparent;
}
.topbar.scrolled{
  background:rgba(21,21,21,.84);backdrop-filter:blur(16px);
  border-bottom-color:var(--line);
}
.topbar__in{display:flex;align-items:center;gap:24px;height:72px}
.brand{display:flex;align-items:center;gap:10px}
.brand img{height:20px;width:auto}
.brand__beta{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;
  color:var(--c-yellow);border:1px solid rgba(255,209,102,.4);
  border-radius:var(--r-pill);padding:3px 9px;
}
/* nav central em pill, como no mockup */
.topnav{
  display:flex;gap:2px;margin-inline-start:auto;
  background:rgba(33,33,38,.75);border:1px solid var(--line);
  border-radius:var(--r-pill);padding:5px;
}
.topnav a{
  font-size:13.5px;color:var(--tx-2);padding:7px 16px;border-radius:var(--r-pill);
  transition:color var(--t-fast),background var(--t-fast);
}
.topnav a:hover{color:var(--tx-1);background:rgba(243,243,243,.06)}
.topbar__actions{display:flex;align-items:center;gap:12px}

/* language switcher */
.lang{position:relative}
.lang__btn{
  display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--tx-2);
  border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 14px;
  transition:border-color var(--t-fast),color var(--t-fast);
}
.lang__btn:hover{border-color:var(--line-strong);color:var(--tx-1)}
.lang__btn svg{transition:transform var(--t-move)}
.lang.open .lang__btn svg{transform:rotate(180deg)}
.lang__menu{
  position:absolute;top:calc(100% + 8px);inset-inline-end:0;min-width:170px;
  background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--r-md);
  padding:6px;box-shadow:0 16px 48px rgba(0,0,0,.5);
  opacity:0;transform:translateY(-6px);pointer-events:none;
  transition:opacity var(--t-fast),transform var(--t-move);z-index:60;
}
.lang.open .lang__menu{opacity:1;transform:translateY(0);pointer-events:auto}
.lang__menu button{
  display:flex;align-items:center;gap:10px;width:100%;text-align:start;
  font-size:13.5px;color:var(--tx-2);padding:9px 12px;border-radius:var(--r-sm);
  transition:background var(--t-fast),color var(--t-fast);
}
.lang__menu button:hover{background:rgba(243,243,243,.06);color:var(--tx-1)}
.lang__menu button[aria-current="true"]{color:var(--c-yellow)}
/* Código ISO no lugar das bandeiras-emoji (uma família de ícones só; bandeira != idioma) */
.lang__code{
  flex:none;min-width:24px;text-align:center;font-family:var(--font-mono);
  font-size:11px;letter-spacing:.06em;color:var(--tx-3);
}
.lang__menu button:hover .lang__code,
.lang__menu button[aria-current="true"] .lang__code{color:inherit}

/* ---------- hero: centrado, como o mockup do brandbook ---------- */
.hero{padding:168px 0 40px;position:relative;text-align:center}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tx-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);
  padding:7px 16px;margin-bottom:30px;background:rgba(243,243,243,.03);
}
.hero__eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--c-teal);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(6,214,160,.5)}50%{box-shadow:0 0 0 7px rgba(6,214,160,0)}}
.hero h1{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(40px,5.8vw,72px);line-height:1.05;letter-spacing:-.025em;
  max-width:900px;margin:0 auto;
}
.hero h1 .line{display:block}
.hero h1 .accent{color:var(--c-yellow);font-style:italic;font-weight:500}
.hero__sub{color:var(--tx-2);font-size:16.5px;max-width:620px;margin:24px auto 34px}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.hero__facts{display:flex;gap:28px;margin:38px auto 0;flex-wrap:wrap;justify-content:center}
.hero__facts li{list-style:none;display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--tx-2)}
.hero__facts li::before{content:"";width:7px;height:7px;border-radius:3px;border:1.5px solid var(--c-orange)}

/* ---------- hero stage: painel com arcos teal + C-shapes ---------- */
.hero__stage{position:relative;margin-top:64px;padding-bottom:26px}
.stage-panel{
  position:relative;overflow:hidden;
  border-radius:var(--r-2xl);
  background:
    radial-gradient(ellipse 70% 55% at 50% 108%,rgba(6,214,160,.5),rgba(6,214,160,.14) 55%,transparent 78%),
    linear-gradient(180deg,#191920 0%,#14161d 100%);
  border:1px solid var(--line);
  padding:clamp(28px,5vw,64px) clamp(20px,4.5vw,60px);
}
/* arcos concêntricos teal atrás do editor */
.stage-panel::before,.stage-panel::after{
  content:"";position:absolute;left:50%;border-radius:50%;
  transform:translateX(-50%);pointer-events:none;
}
.stage-panel::before{
  width:min(1050px,120%);aspect-ratio:1;bottom:calc(-1 * min(1050px,120%) * .62);
  border:56px solid rgba(6,214,160,.28);
}
.stage-panel::after{
  width:min(760px,92%);aspect-ratio:1;bottom:calc(-1 * min(760px,92%) * .58);
  border:56px solid rgba(6,214,160,.45);
}
/* C-shapes da marca flanqueando o palco */
.cshape{position:absolute;z-index:2;pointer-events:none}
.cshape--l{left:max(-40px,-3vw);top:-46px;width:clamp(90px,11vw,150px)}
.cshape--r{right:max(-40px,-3vw);bottom:-8px;width:clamp(110px,13vw,180px)}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.cshape--l{animation:bob 7s ease-in-out infinite}
.cshape--r{animation:bob 8s ease-in-out infinite reverse}

/* ---------- studio mock (editor) ---------- */
.studio{
  position:relative;z-index:1;max-width:920px;margin:0 auto;text-align:start;
  background:rgba(21,21,23,.92);border:1px solid var(--line-strong);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.55),0 0 0 1px rgba(243,243,243,.02) inset;
  backdrop-filter:blur(6px);
}
.studio__bar{
  display:flex;align-items:center;gap:10px;padding:12px 16px;
  border-bottom:1px solid var(--line);background:var(--bg-2);
}
.studio__dots{display:flex;gap:6px}
.studio__dots i{width:10px;height:10px;border-radius:50%;background:var(--bg-3)}
.studio__dots i:first-child{background:#FF5F57}.studio__dots i:nth-child(2){background:#FEBC2E}.studio__dots i:last-child{background:#28C840}
.studio__title{font-family:var(--font-mono);font-size:11px;color:var(--tx-3);margin-inline-start:8px}
.studio__tabs{display:flex;gap:4px;margin-inline-start:auto}
.studio__tabs span{font-size:11px;color:var(--tx-3);padding:4px 12px;border-radius:var(--r-pill)}
.studio__tabs span.on{color:#151515;background:var(--c-yellow);font-weight:600}
.studio__tabs span.new{color:var(--c-teal)}
.studio__body{display:grid;grid-template-columns:150px 1fr 156px;min-height:330px}
.studio__rail{padding:14px 12px;border-inline-end:1px solid var(--line);background:var(--bg-1)}
.studio__rail h5{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-3);margin-bottom:10px}
.rail-item{
  display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--tx-2);
  padding:7px 9px;border-radius:var(--r-sm);margin-bottom:3px;
}
.rail-item i{width:14px;height:14px;border-radius:4px;background:var(--bg-3);flex:none;display:grid;place-items:center;font-style:normal;font-size:8px;color:var(--tx-3)}
.rail-item.sel{background:rgba(255,209,102,.1);color:var(--c-yellow)}
.studio__canvas{
  position:relative;background:
    radial-gradient(ellipse at 50% 45%,rgba(6,214,160,.07),transparent 60%),
    #101013;
  display:grid;place-items:center;padding:26px;
}
.studio__canvas::before{ /* dot grid */
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(243,243,243,.05) 1px,transparent 1px);
  background-size:22px 22px;
}
.artboard{
  position:relative;z-index:1;width:84%;aspect-ratio:1200/628;background:#FBF7EF;border-radius:10px;
  box-shadow:0 18px 50px rgba(0,0,0,.5);
  display:flex;flex-direction:column;justify-content:center;padding:8% 9%;gap:10px;
  overflow:hidden;
}
.artboard::after{
  content:"";position:absolute;inset-inline-end:-32%;top:-42%;width:72%;height:184%;
  background:var(--grad-brand);transform:rotate(12deg);border-radius:44px;
}
.artboard::before{
  content:"";position:absolute;inset-inline-end:2%;bottom:-26%;width:34%;aspect-ratio:1;
  background:var(--c-yellow);border-radius:32px;transform:rotate(18deg);opacity:.9;
}
.artboard .t1{position:relative;z-index:2;font-family:var(--font-display);font-weight:700;font-size:clamp(15px,2vw,24px);color:#17171c;letter-spacing:-.02em}
.artboard .t2{position:relative;z-index:2;font-size:clamp(9px,1vw,12px);color:#5c5c66;max-width:58%}
.artboard .pill{position:relative;z-index:2;align-self:flex-start;background:#151515;color:var(--c-yellow);font-size:clamp(8px,.9vw,11px);font-weight:600;padding:5px 14px;border-radius:var(--r-pill)}
.studio__props{padding:14px 12px;border-inline-start:1px solid var(--line);background:var(--bg-1)}
.prop{margin-bottom:12px}
.prop label{display:block;font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3);margin-bottom:5px}
.prop .field{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px;font-size:11px;color:var(--tx-2)}
.swatches{display:flex;gap:6px}
.swatches i{width:18px;height:18px;border-radius:6px;border:1px solid var(--line)}
.studio__tools{
  display:flex;justify-content:center;gap:4px;padding:10px;border-top:1px solid var(--line);background:var(--bg-2);
}
.studio__tools span{
  width:30px;height:30px;border-radius:var(--r-pill);display:grid;place-items:center;
  color:var(--tx-3);font-size:13px;transition:background var(--t-fast),color var(--t-fast);
}
.studio__tools span:hover{background:var(--bg-3);color:var(--tx-1)}
.studio__tools span.on{background:var(--c-orange);color:#151515}

/* Ícone de créditos oficial (moeda dourada com faísca, 30/07) */
.tkt-coin{display:inline-block;vertical-align:-.125em;flex-shrink:0}
.pcard__list li .tkt-coin{margin-inline-end:4px}
.packs__items .tkt-coin{margin-inline-end:3px}
/* Palavra "créditos" só para leitores de tela (regra coin + número) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* chips flutuantes */
.chip{
  position:absolute;z-index:3;display:flex;align-items:center;gap:9px;
  background:rgba(27,27,29,.92);backdrop-filter:blur(10px);
  border:1px solid var(--line-strong);border-radius:var(--r-pill);
  padding:10px 18px;font-size:12.5px;color:var(--tx-1);
  box-shadow:0 12px 36px rgba(0,0,0,.45);
  animation:float 5s ease-in-out infinite;
}
.chip b{font-family:var(--font-mono);color:var(--c-yellow)}
.chip--credits{top:26px;inset-inline-start:clamp(8px,6vw,96px)}
.chip--flow{bottom:44px;inset-inline-end:clamp(8px,6vw,96px);animation-delay:-2.5s}
.chip .ok{width:8px;height:8px;border-radius:50%;background:var(--ok)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}

/* ---------- studio timeline strip ---------- */
.studio__timeline{
  position:relative;border-top:1px solid var(--line);background:var(--bg-1);
  padding:10px 14px 12px;overflow:hidden;
}
.tl__ruler{
  display:flex;justify-content:space-between;font-family:var(--font-mono);
  font-size:8px;color:var(--tx-3);margin-bottom:7px;padding-inline-start:24px;
}
.tl__rows{display:flex;flex-direction:column;gap:5px}
.tl__row{display:flex;align-items:center;gap:8px;height:11px}
.tl__row i{
  width:14px;height:9px;flex:none;font-style:normal;color:var(--tx-3);
  display:flex;align-items:center;justify-content:center;line-height:0;
}
.tl__row i svg{width:9px;height:9px;display:block}
.tl__lane{position:relative;flex:1;height:100%;background:rgba(243,243,243,.03);border-radius:4px}
.tl__clip{position:absolute;top:0;height:100%;border-radius:4px;opacity:.75}
.tl__clip--yellow{background:linear-gradient(90deg,var(--c-yellow),rgba(255,209,102,.55))}
.tl__clip--orange{background:linear-gradient(90deg,var(--c-orange),rgba(255,107,53,.55))}
.tl__clip--coral{background:linear-gradient(90deg,var(--c-coral),rgba(239,71,111,.55))}
.tl__clip--teal{background:linear-gradient(90deg,var(--c-teal),rgba(6,214,160,.55))}
.tl__playhead{
  position:absolute;top:24px;bottom:10px;width:1.5px;background:var(--c-white);
  box-shadow:0 0 8px rgba(243,243,243,.45);border-radius:1px;
  animation:scrub 7s linear infinite;
}
@keyframes scrub{from{inset-inline-start:9%}to{inset-inline-start:94%}}

/* ---------- partners marquee ---------- */
.partners{padding:48px 0 72px;overflow:hidden}
.partners__label{
  text-align:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--tx-3);margin-bottom:30px;
}
.plogos{
  display:flex;overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.plogos__track{
  display:flex;align-items:center;gap:64px;padding-inline-end:64px;flex-shrink:0;
  animation:marquee 36s linear infinite;
}
.plogos:hover .plogos__track{animation-play-state:paused}
.plogos__track img{height:26px;width:auto;opacity:.5;filter:grayscale(1) brightness(1.7);transition:opacity var(--t-fast),filter var(--t-fast)}
.plogos__track img:hover{opacity:1;filter:none}
@keyframes marquee{to{transform:translateX(-100%)}}
[dir="rtl"] .plogos__track{animation-direction:reverse}

/* ---------- promo video ---------- */
.promo{padding-top:24px}
.section-head--center{margin-inline:auto;text-align:center}
.vwrap{
  max-width:980px;margin:0 auto;border-radius:var(--r-xl);overflow:hidden;
  border:1px solid var(--line-strong);
  box-shadow:0 40px 100px rgba(0,0,0,.55),0 0 0 1px rgba(243,243,243,.02) inset;
  background:var(--bg-1);
}
.vwrap video{width:100%;display:block}

/* ---------- problem ---------- */
.prob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}
.prob-stat{
  background:var(--c-navy);border:1px solid rgba(243,243,243,.06);border-radius:var(--r-lg);
  padding:30px 26px;position:relative;overflow:hidden;
}
.prob-stat::after{
  content:"";position:absolute;inset-inline-end:-34px;top:-34px;width:96px;height:96px;
  border:2px solid rgba(239,71,111,.25);border-radius:28px;
}
.prob-stat b{
  display:block;font-family:var(--font-display);font-size:clamp(30px,3.6vw,44px);
  font-weight:600;color:var(--c-coral);letter-spacing:-.02em;
}
.prob-stat span{display:block;margin-top:10px;font-size:13.5px;color:var(--tx-2);line-height:1.55}
.prob-flow{
  font-family:var(--font-mono);font-size:13px;color:var(--tx-3);
  background:var(--bg-1);border:1px dashed var(--line-strong);border-radius:var(--r-md);
  padding:18px 24px;line-height:1.7;letter-spacing:.02em;
}

/* ---------- modules: 01 · 02 · 03 (estilo Ideate/Iterate/Scale do brandbook) ---------- */
.mod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mod-card{
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:32px 28px 28px;display:flex;flex-direction:column;gap:14px;
  position:relative;overflow:hidden;
  transition:border-color var(--t-move),transform var(--t-move);
}
.mod-card::before{ /* varredura de gradiente no topo, cor por módulo */
  content:"";position:absolute;inset:0 0 auto 0;height:120px;opacity:.16;
  background:radial-gradient(ellipse 90% 100% at 50% -30%,var(--mod-c,var(--c-orange)),transparent 70%);
  pointer-events:none;transition:opacity var(--t-move);
}
.mod-card:hover{transform:translateY(-5px);border-color:var(--line-strong)}
.mod-card:hover::before{opacity:.3}
.mod-card--design{--mod-c:var(--c-orange)}
.mod-card--motion{--mod-c:var(--c-coral)}
.mod-card--flow{--mod-c:var(--c-teal)}
.mod-card__head{display:flex;align-items:baseline;gap:12px}
.mod-card__badge{
  font-family:var(--font-display);font-size:22px;font-weight:300;color:var(--tx-3);
  letter-spacing:.02em;
}
.mod-card h3{
  font-family:var(--font-display);font-size:24px;font-weight:600;
  color:var(--tx-1);letter-spacing:-.01em;
}
.mod-card__glyph{
  width:44px;height:44px;border-radius:14px;margin-bottom:6px;
  border:2.5px solid var(--mod-c,var(--c-orange));position:relative;
}
.mod-card__glyph::after{
  content:"";position:absolute;inset-inline-end:-14px;top:8px;width:12px;height:24px;
  border-radius:6px;background:var(--mod-c,var(--c-orange));opacity:.85;
}
.mod-card p{font-size:14px;color:var(--tx-2);line-height:1.65;flex:1}
.mod-card__list{list-style:none;display:flex;flex-direction:column;gap:8px}
.mod-card__list li{
  font-size:13px;color:var(--tx-2);padding-inline-start:18px;position:relative;line-height:1.5;
}
.mod-card__list li::before{
  content:"";position:absolute;inset-inline-start:0;top:5px;width:8px;height:8px;
  border-radius:3px;border:1.5px solid var(--mod-c,var(--c-orange));
}

/* ---------- designeng ---------- */
.designeng{background:var(--bg-1);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.designeng::after{
  content:"";position:absolute;inset-inline-end:-180px;top:-120px;width:460px;height:560px;
  border:2px solid var(--line-ghost);border-radius:110px;pointer-events:none;
}
.deng__in{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;position:relative;z-index:1}
.deng__copy .kicker{margin-bottom:14px}
.deng__copy h2{
  font-family:var(--font-display);font-size:clamp(26px,3.4vw,40px);font-weight:600;
  letter-spacing:-.02em;line-height:1.16;color:var(--tx-1);
}
.deng__copy>p{color:var(--tx-2);margin-top:16px;font-size:15px;line-height:1.7;max-width:520px}
.deng__pillars{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.deng-pillar{
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);
  padding:16px 20px;display:flex;flex-direction:column;gap:4px;
}
.deng-pillar b{font-family:var(--font-display);font-size:14.5px;font-weight:600;color:var(--tx-1)}
.deng-pillar span{font-size:13px;color:var(--tx-2);line-height:1.5}
.deng__metrics{display:flex;flex-direction:column;gap:18px;padding-top:8px}
.deng-metric{
  background:var(--c-navy);border:1px solid rgba(243,243,243,.06);border-radius:var(--r-lg);
  padding:26px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;
}
.deng-metric b{
  font-family:var(--font-display);font-size:clamp(32px,4vw,50px);font-weight:600;
  letter-spacing:-.03em;
  background:var(--grad-warm);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.deng-metric__suffix{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--c-yellow)}
.deng-metric span:last-child{width:100%;font-size:13px;color:var(--tx-2);margin-top:2px}

/* ---------- scale ---------- */
.scale-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:32px 28px;transition:border-color var(--t-fast),transform var(--t-move);
}
.card:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.card__icon{
  width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  font-family:var(--font-mono);font-size:17px;margin-bottom:18px;
  background:rgba(255,209,102,.1);color:var(--c-yellow);
}
.card--batch .card__icon{background:rgba(255,107,53,.12);color:var(--c-orange)}
.card--analytics .card__icon{background:rgba(6,214,160,.1);color:var(--c-teal)}
.card--collab .card__icon{background:rgba(239,71,111,.12);color:var(--c-coral)}
.card h3{font-family:var(--font-display);font-size:17.5px;font-weight:600;color:var(--tx-1);margin-bottom:10px}
.card p{font-size:14px;color:var(--tx-2);line-height:1.65}

/* ---------- google partnership ---------- */
.gpart__in{
  display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;
  position:relative;padding:60px 52px;border-radius:var(--r-xl);overflow:hidden;
  background:
    radial-gradient(ellipse at 12% 0%,rgba(66,133,244,.1),transparent 50%),
    radial-gradient(ellipse at 88% 100%,rgba(251,188,4,.06),transparent 55%),
    var(--c-navy);
  border:1px solid rgba(66,133,244,.14);
}
.gpart__in::before{
  content:"";position:absolute;inset:0;opacity:.35;pointer-events:none;
  background-image:radial-gradient(rgba(243,243,243,.05) 1px,transparent 1px);background-size:26px 26px;
}
.gpart__copy{position:relative}
.gpart__logos{display:flex;align-items:center;gap:16px;margin-bottom:24px}
.gpart__logos img{height:22px;width:auto}
.gpart__google{height:26px !important}
.gpart__plus{font-family:var(--font-mono);color:var(--tx-3);font-size:18px}
.kicker--google{color:#8ab4f8}
.gpart h2{
  font-family:var(--font-display);font-size:clamp(26px,3.4vw,38px);font-weight:600;
  letter-spacing:-.02em;line-height:1.2;color:var(--tx-1);
}
.gpart p{color:var(--tx-2);margin-top:16px;font-size:15.5px;max-width:520px;line-height:1.65}
.gpart__facts{list-style:none;display:flex;gap:32px;margin-top:28px;flex-wrap:wrap}
.gpart__facts li{display:flex;flex-direction:column;gap:2px}
.gpart__facts b{font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--tx-1)}
.gpart__facts span{font-size:12px;color:var(--tx-3)}
.gpart__stats{position:relative;display:flex;flex-direction:column;gap:14px}
.gstat{
  background:rgba(21,21,21,.55);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:22px 26px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;
  transition:transform var(--t-fast),border-color var(--t-fast);
}
.gstat:hover{transform:translateY(-3px);border-color:rgba(138,180,248,.4)}
.gstat b{
  font-family:var(--font-display);font-size:clamp(28px,3.5vw,40px);font-weight:600;
  color:#8ab4f8;letter-spacing:-.02em;
}
.gstat__suffix{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--c-teal)}
.gstat span:last-child{width:100%;font-size:13px;color:var(--tx-2);margin-top:2px}

/* ---------- invite band ---------- */
.invite{
  position:relative;border-radius:var(--r-2xl);
  padding:68px 60px;overflow:hidden;
  background:
    radial-gradient(ellipse at 12% -10%,rgba(255,107,53,.5),transparent 55%),
    radial-gradient(ellipse at 95% 115%,rgba(239,71,111,.4),transparent 55%),
    radial-gradient(ellipse at 60% 50%,rgba(255,209,102,.12),transparent 60%),
    var(--bg-1);
  border:1px solid var(--line-strong);
}
.invite::before{ /* frame fantasma decorativo */
  content:"";position:absolute;inset-inline-end:-70px;top:-90px;width:280px;height:340px;
  border:2.5px solid rgba(243,243,243,.1);border-radius:70px;
}
.invite__in{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.invite h2{font-family:var(--font-display);font-size:clamp(26px,3.4vw,40px);font-weight:600;letter-spacing:-.02em;line-height:1.18}
.invite p{color:var(--tx-2);margin-top:16px;font-size:15.5px;max-width:480px}
.invite__cta{display:flex;flex-direction:column;gap:14px}
.invite__code{
  display:flex;align-items:center;gap:12px;background:rgba(21,21,21,.72);
  border:1px dashed rgba(255,209,102,.5);border-radius:var(--r-md);padding:14px 18px;
}
.invite__code code{font-family:var(--font-mono);font-size:15px;letter-spacing:.14em;color:var(--c-yellow)}
.invite__code span{font-size:12px;color:var(--tx-3)}

/* ---------- pricing ---------- */
.pricing .section-head--center{margin-bottom:34px}
.billing-row{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;
  width:max-content;max-width:100%;margin:0 auto 44px;
}
.billing{
  display:flex;gap:4px;width:max-content;margin:0;
  background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:5px;
}
.billing--currency .billing__opt{font-size:12px;padding:7px 14px;font-family:var(--font-mono);letter-spacing:.02em}
.billing__opt{
  display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--tx-2);
  padding:8px 20px;border-radius:var(--r-pill);
  transition:background var(--t-fast),color var(--t-fast);
}
.billing__opt:hover{color:var(--tx-1)}
.billing__opt.on{background:var(--c-white);color:#151515;font-weight:600}
.billing__save{
  font-style:normal;font-family:var(--font-mono);font-size:10.5px;color:var(--c-teal);
  border:1px solid rgba(6,214,160,.4);border-radius:var(--r-pill);padding:2px 8px;line-height:1.4;
}
.billing__opt.on .billing__save{color:#067a5c;border-color:rgba(6,122,92,.45)}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
.pcard{
  position:relative;display:flex;flex-direction:column;
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:28px 22px 24px;
  transition:transform var(--t-move),border-color var(--t-move);
}
.pcard:hover{transform:translateY(-4px);border-color:var(--line-strong)}
.pcard--popular{
  border-color:rgba(255,107,53,.55);
  background:linear-gradient(180deg,rgba(255,107,53,.08),transparent 42%),var(--bg-1);
}
.pcard--popular:hover{border-color:rgba(255,107,53,.8)}
.pcard__flag{
  position:absolute;top:-12px;inset-inline-start:50%;transform:translateX(-50%);
  background:var(--grad-brand);color:#fff;font-size:11px;font-weight:600;
  letter-spacing:.04em;border-radius:var(--r-pill);padding:4px 14px;white-space:nowrap;
}
[dir="rtl"] .pcard__flag{transform:translateX(50%)}
.pcard h3{font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:-.01em}
.pcard__desc{font-size:12.5px;color:var(--tx-3);line-height:1.5;margin-top:5px;min-height:38px}
.pcard__price{display:flex;align-items:baseline;gap:4px;margin-top:16px}
.pcard__cur{font-size:14px;color:var(--tx-2)}
.pcard__amount{
  font-family:var(--font-display);font-size:40px;font-weight:600;
  letter-spacing:-.02em;line-height:1.05;
}
.pcard__cycle{font-size:12.5px;color:var(--tx-3)}
.pcard__billnote{display:block;font-size:11px;color:var(--c-teal);min-height:17px;visibility:hidden}
.pricing[data-billing="annual"] .pcard__billnote{visibility:visible}
.pcard__out{
  margin-top:10px;background:rgba(255,209,102,.08);border:1px solid rgba(255,209,102,.22);
  border-radius:var(--r-sm);padding:8px 11px;font-size:12.5px;font-weight:500;
  color:var(--c-yellow);line-height:1.45;
}
.pcard__out--seat{
  background:rgba(243,243,243,.04);border-color:var(--line);color:var(--tx-2);font-weight:400;
}
.pcard__list{list-style:none;display:flex;flex-direction:column;gap:8px;margin:16px 0 22px;flex:1}
.pcard__list li{font-size:13px;color:var(--tx-2);padding-inline-start:18px;position:relative;line-height:1.5}
.pcard__list li::before{
  content:"";position:absolute;inset-inline-start:0;top:6px;width:8px;height:8px;
  border-radius:3px;border:1.5px solid var(--c-teal);
}
.pcard>.btn{width:100%}
.pent{
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  margin-top:16px;padding:26px 30px;border-radius:var(--r-lg);
  background:var(--c-navy);border:1px solid rgba(243,243,243,.08);
}
.pent__head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.pent h3{font-family:var(--font-display);font-size:19px;font-weight:600}
.pent__price{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--c-yellow)}
.pent p{font-size:13.5px;color:var(--tx-2);margin-top:6px;line-height:1.6;max-width:560px}
.pent .btn{flex:none}
.packs{
  display:flex;align-items:baseline;justify-content:center;gap:14px;flex-wrap:wrap;
  margin-top:28px;font-size:13px;
}
.packs__label{color:var(--tx-3)}
.packs__items{font-family:var(--font-mono);font-size:12.5px;color:var(--tx-2);letter-spacing:.02em}
.pricing__note{text-align:center;font-size:12px;color:var(--tx-3);margin-top:12px}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--line);padding:64px 0 40px;margin-top:40px}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.footer .brand img{height:18px}
.footer__tag{color:var(--tx-3);font-size:13.5px;margin-top:16px;max-width:260px}
.footer h4{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx-3);margin-bottom:16px}
.footer ul{list-style:none}
.footer ul a{display:block;font-size:14px;color:var(--tx-2);padding:5px 0;transition:color var(--t-fast)}
.footer ul a:hover{color:var(--c-yellow)}
.footer__base{
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  border-top:1px solid var(--line);padding-top:28px;font-size:12.5px;color:var(--tx-3);
}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--spring),transform .7s var(--spring)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.09s}
.reveal[data-d="2"]{transition-delay:.18s}
.reveal[data-d="3"]{transition-delay:.27s}

/* ---------- responsive ---------- */
@media (max-width:1020px){
  .topnav{display:none}
  .cshape--l{display:none}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:1020px){
  .pgrid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:960px){
  .prob-grid{grid-template-columns:1fr}
  .pent{flex-direction:column;align-items:flex-start}
  .mod-grid{grid-template-columns:1fr}
  .deng__in{grid-template-columns:1fr}
  .scale-grid{grid-template-columns:1fr}
  .gpart__in{grid-template-columns:1fr;padding:40px 28px}
  .gpart__stats{flex-direction:row}
  .gstat{flex:1}
  .invite__in{grid-template-columns:1fr}
}
@media (max-width:640px){
  .studio__body{grid-template-columns:1fr}
  .studio__rail,.studio__props{display:none}
  .wrap{padding:0 20px}
  .section{padding:72px 0}
  .hero{padding-top:140px}
  .invite{padding:44px 28px}
  .gpart__stats{flex-direction:column}
  .cshape--r{width:80px;bottom:-20px}
  .chip--credits{top:8px}
  .chip--flow{bottom:8px}
  .stage-panel{border-radius:var(--r-xl)}
  .pgrid{grid-template-columns:1fr}
  .pcard__desc{min-height:0}
  .pcard--popular{order:-1}
  .pent{padding:24px 22px}
  .pent .btn{width:100%}
  .packs{flex-direction:column;align-items:center;gap:6px;text-align:center}
}

/* ============================================================
   LANDING V3 — produto real em cena
   ============================================================ */

/* ---------- browser mockup (moldura p/ vídeo e screenshots) ---------- */
.browser{
  position:relative;z-index:1;
  background:rgba(21,21,23,.94);border:1px solid var(--line-strong);
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 40px 90px rgba(0,0,0,.55),0 0 0 1px rgba(243,243,243,.02) inset;
}
.browser__bar{
  display:flex;align-items:center;gap:10px;padding:11px 16px;
  border-bottom:1px solid var(--line);background:var(--bg-2);
}
.browser__dots{display:flex;gap:6px;flex:none}
.browser__dots i{width:10px;height:10px;border-radius:50%}
.browser__dots i:first-child{background:#FF5F57}
.browser__dots i:nth-child(2){background:#FEBC2E}
.browser__dots i:last-child{background:#28C840}
.browser__url{
  display:flex;align-items:center;gap:7px;margin:0 auto;
  font-family:var(--font-mono);font-size:11px;color:var(--tx-3);
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-pill);
  padding:4px 16px;
}
.browser__url::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--c-teal)}
.browser__bar::after{content:"";width:22px;flex:none} /* equilibra os dots p/ centrar a URL */
.browser video,.browser>img{
  width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover;background:#0f0f12;
}
.hero .browser{max-width:960px;margin:0 auto}

/* ---------- how: 3 passos com screenshot ---------- */
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:step}
.how-step{
  position:relative;background:var(--bg-1);border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden;
  transition:transform var(--t-move),border-color var(--t-move);
}
.how-step:hover{transform:translateY(-5px);border-color:var(--line-strong)}
.how-step__shot{position:relative;border-bottom:1px solid var(--line);background:#0f0f12}
.how-step__shot img{width:100%;height:auto;display:block}
.how-step__num{
  position:absolute;top:14px;inset-inline-start:14px;z-index:2;
  width:36px;height:36px;border-radius:13px;display:grid;place-items:center;
  font-family:var(--font-display);font-size:16px;font-weight:700;color:#151515;
  box-shadow:0 8px 22px rgba(0,0,0,.4);
}
.how-step:nth-child(1) .how-step__num{background:var(--c-yellow)}
.how-step:nth-child(2) .how-step__num{background:var(--grad-brand);color:#fff}
.how-step:nth-child(3) .how-step__num{background:var(--c-teal)}
.how-step__body{padding:22px 24px 26px}
.how-step__body h3{font-family:var(--font-display);font-size:17.5px;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.how-step__body p{margin-top:9px;font-size:13.5px;color:var(--tx-2);line-height:1.6}

/* ---------- feats: módulos lado a lado, alternando ---------- */
.feats{display:flex;flex-direction:column;gap:clamp(56px,8vw,110px)}
.feat{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;
}
.feat:nth-child(even) .feat__media{order:-1}
.feat__kicker{
  display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--feat-c,var(--c-orange));
  margin-bottom:14px;
}
.feat h3{
  font-family:var(--font-display);font-size:clamp(24px,3vw,34px);font-weight:600;
  letter-spacing:-.02em;line-height:1.16;
}
.feat__copy>p{color:var(--tx-2);margin-top:14px;font-size:15px;line-height:1.7;max-width:480px}
.feat__list{list-style:none;display:flex;flex-direction:column;gap:9px;margin-top:22px}
.feat__list li{font-size:13.5px;color:var(--tx-2);padding-inline-start:19px;position:relative;line-height:1.5}
.feat__list li::before{
  content:"";position:absolute;inset-inline-start:0;top:5px;width:8px;height:8px;
  border-radius:3px;border:1.5px solid var(--feat-c,var(--c-orange));
}
.feat--design{--feat-c:var(--c-orange)}
.feat--motion{--feat-c:var(--c-coral)}
.feat--flow{--feat-c:var(--c-teal)}
.feat--brand{--feat-c:var(--c-yellow)}
.shotcard{
  border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line-strong);
  box-shadow:0 30px 70px rgba(0,0,0,.45);background:#0f0f12;
}
.shotcard img{width:100%;height:auto;display:block}

/* ---------- artpanel: arte CSS/SVG na paleta ---------- */
.artpanel{
  position:relative;aspect-ratio:16/10;overflow:hidden;
  border-radius:var(--r-lg);border:1px solid var(--line-strong);
  background:
    radial-gradient(ellipse 90% 80% at 50% 110%,color-mix(in srgb,var(--feat-c,#FF6B35) 14%,transparent),transparent 70%),
    var(--bg-1);
  box-shadow:0 30px 70px rgba(0,0,0,.45);
}
.artpanel::before{ /* dot grid */
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(243,243,243,.05) 1px,transparent 1px);
  background-size:22px 22px;
}

/* motion: timeline com keyframes */
.motion-art{position:absolute;inset:12% 8%;display:flex;flex-direction:column;justify-content:center}
.motion-art .tl__rows{gap:14px}
.motion-art .tl__row{height:22px}
.motion-art .tl__row i{width:20px;height:13px}
.motion-art .tl__row i svg{width:13px;height:13px}
.motion-art .tl__lane{border-radius:7px}
.motion-art .tl__clip{border-radius:7px}
.motion-art .tl__ruler{font-size:10px;margin-bottom:14px;padding-inline-start:28px}
.motion-art .tl__playhead{top:34px;bottom:14px;width:2px}
.kf{
  position:absolute;top:50%;width:8px;height:8px;margin-top:-4px;
  background:var(--c-white);border-radius:2px;transform:rotate(45deg);
  box-shadow:0 0 6px rgba(243,243,243,.5);
}

/* flow: grafo de nós */
.flow-art .flow-links{position:absolute;inset:0;width:100%;height:100%}
.flow-art .flow-links path{
  fill:none;stroke-width:2;stroke-dasharray:7 6;opacity:.8;
  animation:dashflow 2.4s linear infinite;
}
@keyframes dashflow{to{stroke-dashoffset:-26}}
.fnode{
  position:absolute;display:flex;align-items:center;gap:9px;
  background:rgba(27,27,30,.95);border:1px solid var(--line-strong);
  border-radius:var(--r-md);padding:11px 16px;
  font-family:var(--font-mono);font-size:11.5px;color:var(--tx-1);
  box-shadow:0 14px 34px rgba(0,0,0,.45);white-space:nowrap;
}
.fnode i{width:9px;height:9px;border-radius:3px;flex:none;font-style:normal}
.fnode small{color:var(--tx-3);font-size:10px}

/* brand: kit + mini-peças */
.bkit{
  position:absolute;top:12%;inset-inline-start:8%;width:46%;
  background:rgba(27,27,30,.95);border:1px solid var(--line-strong);
  border-radius:var(--r-md);padding:18px 20px;
  box-shadow:0 14px 34px rgba(0,0,0,.45);
}
.bkit__label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx-3)}
.bkit__logo{margin-top:10px}
.bkit__logo img{height:16px;width:auto}
.bkit__swatches{display:flex;gap:7px;margin-top:14px}
.bkit__swatches i{width:22px;height:22px;border-radius:7px;border:1px solid rgba(243,243,243,.14)}
.bkit__font{
  margin-top:14px;display:flex;align-items:baseline;gap:9px;
  font-family:var(--font-display);
}
.bkit__font b{font-size:21px;font-weight:600}
.bkit__font span{font-size:11px;color:var(--tx-3)}
.bmini{
  position:absolute;border-radius:12px;overflow:hidden;
  box-shadow:0 16px 38px rgba(0,0,0,.5);border:1px solid rgba(243,243,243,.1);
  display:flex;flex-direction:column;justify-content:flex-end;padding:10px;
}
.bmini b{font-family:var(--font-display);font-size:10px;font-weight:700;color:#151515;line-height:1.25}
.bmini span{
  margin-top:6px;align-self:flex-start;background:#151515;color:var(--c-yellow);
  font-size:7.5px;font-weight:600;padding:3px 8px;border-radius:var(--r-pill);
}
.bmini--sq{top:12%;inset-inline-end:7%;width:24%;aspect-ratio:1;background:linear-gradient(150deg,var(--c-yellow),var(--c-orange))}
.bmini--story{top:47%;inset-inline-end:33%;width:16%;aspect-ratio:9/14;background:linear-gradient(165deg,var(--c-orange),var(--c-coral))}
.bmini--wide{bottom:8%;inset-inline-start:9%;width:36%;aspect-ratio:1200/628;background:linear-gradient(120deg,var(--c-teal),#0aa57e)}

/* ---------- créditos sem pegadinha ---------- */
.cred__in{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(36px,5vw,64px);align-items:center}
.cred__copy .section-head{margin-bottom:0;max-width:none}
.cred-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.cred-card{
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);
  padding:18px 20px;transition:border-color var(--t-fast),transform var(--t-move);
}
.cred-card:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.cred-card b{display:block;font-family:var(--font-display);font-size:14.5px;font-weight:600;letter-spacing:-.01em}
.cred-card b::before{
  content:"";display:inline-block;width:8px;height:8px;border-radius:3px;
  margin-inline-end:9px;vertical-align:1px;
}
.cred-card:nth-child(1) b::before{background:var(--c-white)}
.cred-card:nth-child(2) b::before{background:var(--c-orange)}
.cred-card:nth-child(3) b::before{background:var(--c-yellow)}
.cred-card:nth-child(4) b::before{background:var(--c-teal)}
.cred-card span{display:block;margin-top:7px;font-size:12.5px;color:var(--tx-2);line-height:1.55}
.cred__note{
  display:flex;align-items:center;justify-content:center;gap:9px;margin-top:16px;
  font-family:var(--font-mono);font-size:11px;color:var(--tx-3);letter-spacing:.03em;
}
.cred__note::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c-teal);flex:none}

/* ---------- comparativo ---------- */
.cmp__legend{
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;
  margin:-8px 0 26px;font-size:12.5px;color:var(--tx-3);
}
.cmp__legitem{display:inline-flex;align-items:center;gap:9px;line-height:1.4}
.cmp__yes{display:inline-flex;color:var(--c-teal)}
.cmp__dash{
  display:inline-block;width:14px;height:0;flex:none;
  border-top:1.5px solid var(--tx-3);border-radius:2px;
}
.cmp__scroll{
  overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);
  background:var(--bg-1);
}
.cmp__scroll:focus-visible{outline:2px solid var(--c-orange);outline-offset:2px}
.cmp__caption{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.cmp__table{width:100%;border-collapse:collapse;min-width:880px;text-align:start}
.cmp__table thead th{
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--tx-2);font-weight:500;padding:18px 16px;text-align:center;
  border-bottom:1px solid var(--line-strong);vertical-align:middle;
}
.cmp__table thead th small{
  display:block;margin-top:5px;font-family:var(--font-body);font-size:10.5px;
  letter-spacing:0;text-transform:none;color:var(--tx-3);font-weight:400;
}
.cmp__table thead .cmp__crit{text-align:start;color:var(--tx-3)}
.cmp__table thead .cmp__us--head{color:var(--c-orange);font-weight:600}
.cmp__table tbody th{
  text-align:start;font-weight:500;font-size:13.5px;line-height:1.45;color:var(--tx-1);
  padding:16px;vertical-align:middle;min-width:264px;
  position:sticky;inset-inline-start:0;background:var(--bg-1);z-index:1;
}
.cmp__table tbody th::after{ /* borda da coluna fixa, sobrevive ao scroll */
  content:"";position:absolute;inset-block:0;inset-inline-end:0;width:1px;background:var(--line);
}
.cmp__table tbody tr + tr th,
.cmp__table tbody tr + tr td{border-top:1px solid var(--line)}
.cmp__table td{
  padding:16px;text-align:center;vertical-align:middle;
  font-size:13px;color:var(--tx-2);line-height:1.45;
}
.cmp__table td small{
  display:block;margin-top:6px;font-size:11.5px;color:var(--tx-3);line-height:1.4;
}
.cmp__table td .cmp__txt{display:block;max-width:190px;margin:0 auto}
.cmp__table .cmp__us{background:rgba(255,107,53,.07)}
.cmp__table tbody .cmp__us{border-inline:1px solid rgba(255,107,53,.16)}
.cmp__table thead .cmp__us--head{background:rgba(255,107,53,.12);border-inline:1px solid rgba(255,107,53,.16)}
.cmp__table tbody tr:hover th,
.cmp__table tbody tr:hover td{background:rgba(243,243,243,.02)}
.cmp__table tbody tr:hover .cmp__us{background:rgba(255,107,53,.1)}
.cmp__note,.cmp__foot{
  max-width:760px;margin:18px auto 0;text-align:center;
  font-size:12px;color:var(--tx-3);line-height:1.6;
}
.cmp__note{color:var(--tx-2);font-size:12.5px}

/* mobile: cada critério vira um card empilhado */
@media (max-width:768px){
  .cmp__scroll{border:0;border-radius:0;background:none;overflow:visible}
  .cmp__table{min-width:0;display:block}
  .cmp__table thead{display:none}
  .cmp__table tbody{display:grid;gap:14px}
  .cmp__table tbody tr{
    display:block;background:var(--bg-1);border:1px solid var(--line);
    border-radius:var(--r-md);padding:16px 18px;
  }
  .cmp__table tbody th{
    display:block;position:static;background:none;padding:0 0 12px;min-width:0;
    font-family:var(--font-display);font-size:15px;font-weight:600;letter-spacing:-.01em;
    border-bottom:1px solid var(--line);
  }
  .cmp__table tbody th::after{display:none}
  .cmp__table tbody tr + tr th,
  .cmp__table tbody tr + tr td{border-top:0}
  .cmp__table td{
    display:flex;align-items:center;justify-content:flex-end;gap:10px;
    padding:11px 0;text-align:end;border-bottom:1px solid var(--line-ghost);
  }
  .cmp__table tbody tr td:last-child{border-bottom:0;padding-bottom:0}
  .cmp__table td::before{
    content:attr(data-col);flex:none;text-align:start;margin-inline-end:auto;
    padding-inline-end:14px;
    font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;
    text-transform:uppercase;color:var(--tx-3);
  }
  .cmp__table td .cmp__txt{max-width:none;margin:0}
  .cmp__table td small{margin-top:3px}
  .cmp__table tbody .cmp__us{
    background:rgba(255,107,53,.08);border:1px solid rgba(255,107,53,.2);
    border-radius:var(--r-sm);padding:11px 12px;margin:6px 0;
  }
  .cmp__table tbody .cmp__us::before{color:var(--c-orange);font-weight:500}
  .cmp__table tbody tr:hover th,
  .cmp__table tbody tr:hover td{background:none}
  .cmp__table tbody tr:hover .cmp__us{background:rgba(255,107,53,.08)}
  .cmp__legend{justify-content:flex-start;text-align:start}
}

/* ---------- FAQ ---------- */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.faq-item{
  background:var(--bg-1);border:1px solid var(--line);border-radius:var(--r-md);
  transition:border-color var(--t-fast);
}
.faq-item:hover,.faq-item[open]{border-color:var(--line-strong)}
.faq-item summary{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:17px 22px;cursor:pointer;list-style:none;
  font-family:var(--font-display);font-size:15px;font-weight:500;line-height:1.4;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";flex:none;width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;font-size:16px;line-height:1;
  color:var(--c-orange);border:1px solid var(--line-strong);
  transition:transform var(--t-move),background var(--t-fast),color var(--t-fast);
}
.faq-item[open] summary::after{transform:rotate(45deg);background:var(--c-orange);color:#151515;border-color:var(--c-orange)}
.faq-item p{padding:0 56px 20px 22px;color:var(--tx-2);font-size:13.5px;line-height:1.65}
[dir="rtl"] .faq-item p{padding:0 22px 20px 56px}

/* ---------- v3 responsive ---------- */
@media (max-width:960px){
  .how-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .feat{grid-template-columns:1fr;gap:26px}
  .feat:nth-child(even) .feat__media{order:0}
  .cred__in{grid-template-columns:1fr}
  .cred-cards{max-width:560px}
}
@media (max-width:640px){
  .cred-cards{grid-template-columns:1fr}
  .browser__url{max-width:60%;overflow:hidden;text-overflow:ellipsis}
  .faq-item summary{padding:15px 18px;font-size:14px}
  .faq-item p{padding:0 18px 18px}
  [dir="rtl"] .faq-item p{padding:0 18px 18px}
  /* arte: nós e brand kit mais compactos */
  .fnode{font-size:9.5px;padding:8px 11px;gap:6px}
  .fnode small{display:none}
  .bkit{padding:12px 14px}
  .bkit__logo img{height:12px}
  .bkit__swatches{margin-top:10px}
  .bkit__swatches i{width:16px;height:16px}
  .bkit__font{margin-top:10px}
  .bkit__font b{font-size:16px}
}
@media (max-width:600px){
  /* topbar compacta: só idioma + CTA principal */
  .topbar__actions .btn--ghost.btn--sm{display:none}
  .lang__btn>span:not(.lang__code){display:none}
  .topbar__actions{gap:8px}
  .topbar__actions .btn--primary.btn--sm{padding:9px 14px;font-size:12.5px}
}

/* Âncoras (#planos, #creditos, #comparativo, #faq…) sob a topbar fixa de 72px:
   sem isto o título da seção fica escondido atrás dela ao navegar pelo menu. */
:root{scroll-padding-top:96px}
.section[id]{scroll-margin-top:96px}
