:root{
  /* Weezha brand tokens — Midnight Ink / Deep Indigo / Signal Violet / Lilac Mist / Porcelain */
  --ink:#0E1B31;
  --ink-soft:#4c5268;
  --bg:#FCF9FA;
  --paper:#ffffff;
  --soft:#f4f1f7;
  --gold:#785CD2;        /* Signal Violet (accent) */
  --gold-dark:#473A94;   /* Deep Indigo */
  --line:#dfdce8;
  --radius:16px;
  --shadow:0 12px 40px rgba(14,27,49,.08);
  --shadow-lift:0 24px 60px rgba(14,27,49,.14);
  --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Sora','Inter',system-ui,sans-serif;font-weight:600;letter-spacing:-.02em}
.serif{font-family:'Fraunces',Georgia,serif}
.hidden{display:none!important}
::selection{background:var(--gold);color:#fff}

/* ---------- topbar ---------- */
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;padding:16px 40px;background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.logo{font-family:'Fraunces',serif;font-weight:700;font-size:24px;cursor:pointer;letter-spacing:-.01em}
.logo span{color:var(--gold)}
.topnav{display:flex;gap:8px;flex:1;flex-wrap:wrap}
.step-pill{font-size:12px;font-weight:600;color:var(--ink-soft);background:#fff;border:1px solid var(--line);border-radius:99px;padding:5px 12px;cursor:default;opacity:.55;transition:.25s var(--ease)}
.step-pill.done{opacity:1;border-color:var(--gold);color:var(--gold-dark)}
.step-pill.current{opacity:1;background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- buttons ---------- */
button{font-family:inherit;font-size:15px;font-weight:600;border:none;border-radius:99px;padding:13px 26px;cursor:pointer;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .2s, color .2s}
.btn-gold{background:var(--ink);color:#fff;position:relative}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(14,21,38,.25)}
.btn-gold:active{transform:translateY(0) scale(.98)}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.btn-ghost.small,.btn-gold.small{padding:8px 16px;font-size:13px}
.btn-gold.big,.btn-ghost.big{padding:17px 34px;font-size:16.5px}
.btn-gold .arr{display:inline-block;margin-left:10px;transition:transform .25s var(--ease)}
.btn-gold:hover .arr{transform:translateX(5px)}
.btn-ghost.disabled{opacity:.45;cursor:not-allowed;border-style:dashed}
#btnReset{margin-left:auto;border-color:var(--line);color:var(--ink-soft)}

/* ---------- screens ---------- */
.screen{display:none;min-height:calc(100vh - 120px)}
.screen.active{display:block}

/* ---------- hero ---------- */
.hero{max-width:1240px;margin:0 auto;padding:80px 40px 40px;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;min-height:82vh}
.eyebrow{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-dark);margin-bottom:20px}
.hero-title{font-size:clamp(40px,5.2vw,74px);line-height:1.04;font-weight:640}
.hero-title em{font-style:italic;color:var(--gold-dark)}
.hero-title .line{display:block;overflow:hidden}
.hero-title .line>span{display:inline-block;will-change:transform}
.hero-sub{max-width:520px;margin:28px 0 0;font-size:18px;color:var(--ink-soft)}
.hero-ctas{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap}
.hero-note{margin-top:16px;font-size:13px;color:var(--ink-soft)}

/* palco 3D — exemplos de carrosséis fotográficos e post estático */
.stage3d{perspective:1200px;height:520px;position:relative}
.s3d-scene{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .35s var(--ease)}
.s3d-card{position:absolute;border-radius:16px;box-shadow:var(--shadow-lift);will-change:transform;animation:floaty 7s ease-in-out infinite;overflow:hidden}
.s3d-photo{background-size:cover;background-position:center top;background-color:var(--soft)}
.s3d-ed{width:230px;height:300px;left:4%;top:4%;animation-delay:0s;transform:translateZ(60px) rotate(-4deg);display:flex;align-items:flex-end;padding:20px}
.s3d-ed::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(20,16,12,.55) 100%)}
.s3d-serif{position:relative;font-family:'Fraunces',serif;font-size:17px;line-height:1.35;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.s3d-serif em{font-style:italic;color:#f0dfae}
.s3d-ed .s3d-n{position:absolute;top:12px;right:14px;font-size:11px;color:#fff;opacity:.75;font-family:'Inter',sans-serif}
.s3d-bar{width:250px;height:290px;left:46%;top:0;animation-delay:1.2s;transform:translateZ(120px) rotate(3deg);display:flex;align-items:flex-end;padding:0 0 26px}
.s3d-bars{width:100%;display:flex;flex-direction:column;align-items:center;gap:0}
.s3d-bar-white{background:#fff;color:#15130f;font-family:'Inter',sans-serif;font-weight:700;font-size:14.5px;padding:8px 12px;max-width:88%;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.s3d-bar-color{background:var(--gold-dark);color:#fff;font-size:11px;font-weight:600;padding:6px 10px;max-width:80%;text-align:center}
.s3d-studio{width:225px;height:280px;left:14%;top:60%;animation-delay:2.1s;transform:translateZ(90px) rotate(-2deg);background-size:cover;background-position:left center;display:flex;align-items:center;justify-content:flex-end;padding:20px}
.s3d-studio::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,rgba(74,80,52,.88) 72%)}
.s3d-studio-txt{position:relative;font-family:'Fraunces',serif;font-size:18px;line-height:1.3;color:#fff;text-align:right}
.s3d-studio-txt b{font-size:26px}
.s3d-studio-txt em{color:#f0dfae}
.s3d-quote{width:215px;height:215px;left:58%;top:58%;background:#faf6ef;color:#1c1a17;animation-delay:.6s;transform:translateZ(150px) rotate(2deg);display:flex;flex-direction:column;justify-content:center;gap:12px;padding:24px;font-family:'Fraunces',serif;font-size:17px;line-height:1.4}
.s3d-quote b{color:#8a5a2b}
.s3d-quote small{font-family:'Inter',sans-serif;font-size:11px;color:#8a5a2b;font-weight:600}
.s3d-ring{position:absolute;width:420px;height:420px;border-radius:50%;border:1.5px dashed var(--line);left:50%;top:50%;transform:translate(-50%,-50%) translateZ(20px);animation:spinSlow 40s linear infinite}
.s3d-ring.r2{width:560px;height:560px;animation-duration:70s;animation-direction:reverse;opacity:.6}
@keyframes floaty{0%,100%{margin-top:0}50%{margin-top:-16px}}
@keyframes spinSlow{to{transform:translate(-50%,-50%) translateZ(20px) rotate(360deg)}}

/* lang switch */
.lang-switch{display:flex;gap:2px;background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:3px;margin-left:auto}
.lang-switch button{padding:5px 10px;font-size:11.5px;font-weight:700;border-radius:99px;background:transparent;color:var(--ink-soft)}
.lang-switch button.active{background:var(--ink);color:#fff}
.lang-switch button:hover:not(.active){background:#fff}
#btnReset{margin-left:0}

/* secções novas do reposicionamento */
.pain{max-width:880px;margin:0 auto;padding:110px 40px 40px;text-align:center}
.pain-body{font-size:18px;color:var(--ink-soft);max-width:640px;margin:0 auto}
.morning{max-width:880px;margin:0 auto;padding:70px 40px;text-align:center}
.morning-list{list-style:none;display:grid;gap:12px;max-width:480px;margin:0 auto;text-align:left}
.morning-list li{font-size:17px;font-weight:600;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px 18px}
.morning-close{margin-top:26px;font-family:'Fraunces',serif;font-size:22px;font-style:italic;color:var(--gold-dark)}
.soon-chip{position:absolute;top:14px;right:14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;background:var(--soft);border:1px solid var(--line);color:var(--ink-soft);border-radius:99px;padding:3px 9px}
.how-card{position:relative}
.promise{max-width:820px;margin:0 auto;padding:100px 40px;text-align:center}
.promise h2{font-size:clamp(28px,3.4vw,44px);line-height:1.15;margin-bottom:20px}
.promise p{font-size:19px;color:var(--ink-soft)}
.promise em{font-style:italic;color:var(--gold-dark)}
.fmt.post{background:#3d5a80}

/* ---------- direcção nova: logo, nav, hero demo, galeria, faq ---------- */
.logo{display:flex;align-items:center;gap:8px}
.logo-mark{flex:0 0 auto}
.landing-nav{display:flex;gap:22px;align-items:center;flex:1;justify-content:center}
.landing-nav a{font-size:14px;font-weight:600;color:var(--ink-soft);text-decoration:none;transition:color .2s}
.landing-nav a:hover{color:var(--gold-dark)}
.lang-switch{margin-left:0}
.hero{min-height:auto;padding:90px 40px 70px;align-items:center}
.hero-title{font-size:clamp(40px,4.8vw,68px)}
.hero-title em{color:var(--gold-dark);font-style:italic;font-family:'Fraunces',serif}
.hero-demo{position:relative;height:480px}
.demo-carousel{position:absolute;right:6%;top:0;width:320px;height:400px;border-radius:18px;background-size:cover;background-position:center top;box-shadow:var(--shadow-lift);overflow:hidden;display:flex;align-items:flex-end;padding:26px;transition:transform .4s var(--ease)}
.demo-carousel:hover{transform:translateY(-6px)}
.demo-carousel-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,27,49,.05) 25%,rgba(14,27,49,.82) 100%)}
.demo-cover-line{position:relative;color:#fff;font-size:24px;line-height:1.28;font-weight:500}
.demo-cover-line em{color:#cabcf5}
.demo-swipe{position:absolute;top:16px;right:18px;font-size:11px;color:#fff;opacity:.8;background:rgba(14,27,49,.4);padding:4px 10px;border-radius:99px}
.demo-static{position:absolute;left:0;bottom:6%;width:270px;border-radius:16px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);padding:28px;z-index:2}
.demo-static p{font-size:17px;line-height:1.45}
.demo-static em{color:var(--gold-dark)}
.demo-static small{display:block;margin-top:14px;font-size:11.5px;font-weight:600;color:var(--gold)}
.how-grid.three{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}

/* galeria */
.gallery{max-width:1240px;margin:0 auto;padding:90px 40px;text-align:center}
.gallery .pain-body{margin-bottom:34px}
.gal-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}
.gal-tab{background:#fff;border:1.5px solid var(--line);color:var(--ink-soft);font-size:13.5px;padding:10px 20px}
.gal-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;text-align:left}
.gal-card{margin:0}
.gal-visual{aspect-ratio:4/5;border-radius:16px;overflow:hidden;position:relative;box-shadow:var(--shadow);display:flex;align-items:flex-end;padding:24px;transition:transform .35s var(--ease), box-shadow .35s var(--ease)}
.gal-card:hover .gal-visual{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.gal-visual.photo{background-size:cover;background-position:center top;background-color:var(--soft)}
.gal-visual.midnight::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,27,49,.1) 20%,rgba(14,27,49,.85) 100%)}
.gal-visual.violet::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(71,58,148,.25) 0%,rgba(14,27,49,.85) 100%)}
.gal-visual.neutral::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,27,49,0) 30%,rgba(14,27,49,.72) 100%)}
.gal-visual.portrait::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(252,249,250,.92) 0%,rgba(252,249,250,.55) 38%,rgba(252,249,250,0) 65%)}
.gal-line{position:relative;color:#fff;font-size:21px;line-height:1.3;font-weight:500}
.gal-line em{color:#cabcf5}
.gal-line.sans{font-family:'Sora',sans-serif;font-weight:700;font-size:23px}
.gal-line.low{color:var(--ink);align-self:center;max-width:62%}
.gal-line.low em{color:var(--gold-dark)}
.gal-visual.portrait{align-items:center}
.gal-frame{position:relative;width:100%}
.gal-kicker{color:#cabcf5;font-size:11px;font-weight:700;letter-spacing:.18em}
.gal-list{color:#e8e4f4;font-size:12px;margin-top:10px;line-height:1.6}
.gal-visual.stat{background:var(--ink);color:#fff;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}
.stat-big{font-family:'Sora',sans-serif;font-size:64px;font-weight:700;color:#cabcf5;line-height:1}
.stat-txt{font-size:14.5px;line-height:1.5;opacity:.9}
.stat-bars{display:flex;gap:8px;height:56px;align-items:flex-end;margin-top:6px}
.stat-bars i{width:22px;background:linear-gradient(180deg,#785CD2,#473A94);border-radius:4px 4px 0 0;display:block}
.stat-src{font-size:10.5px;opacity:.55}
.gal-visual.quotecard{background:var(--bg);border:1.5px solid var(--gold);flex-direction:column;align-items:flex-start;justify-content:center;gap:16px}
.gal-visual.quotecard p{font-size:20px;line-height:1.4;color:var(--ink)}
.gal-visual.quotecard em{color:var(--gold-dark)}
.gal-visual.quotecard small{font-size:11.5px;color:var(--ink-soft)}
.gal-card figcaption{font-size:13px;color:var(--ink-soft);margin-top:12px;padding:0 4px}

/* ---------- dopamina: marquee fun, stickers, cores ---------- */
.marquee.fun{background:linear-gradient(90deg,#2B1B78,#785CD2 45%,#FF4FD8);border:none;transform:rotate(-1.2deg);margin:34px -10px;padding:14px 0}
.marquee.fun .marquee-track span{color:#fff;font-family:'Sora',sans-serif;font-weight:700;font-size:18px}
.marquee.fun .marquee-track i{font-size:16px;color:#FFCF5C}
.stkr-float{position:absolute;font-family:'Caveat',cursive;font-size:20px;font-weight:700;padding:6px 16px;border-radius:99px;box-shadow:0 8px 24px rgba(14,27,49,.18);z-index:3;animation:floaty 6s ease-in-out infinite}
.stkr-float.s1{background:#FFCF5C;color:#4a3305;left:6%;top:24%;transform:rotate(-7deg)}
.stkr-float.s2{background:#FF4FD8;color:#fff;right:8%;top:18%;transform:rotate(5deg);animation-delay:1.2s}
.stkr-float.s3{background:#45E6D8;color:#083f3a;left:14%;bottom:12%;transform:rotate(4deg);animation-delay:2.2s}
.stkr-float.s4{background:#785CD2;color:#fff;left:10%;top:16%;transform:rotate(-6deg)}
.stkr-float.s5{background:#FFCF5C;color:#4a3305;right:12%;bottom:18%;transform:rotate(6deg);animation-delay:1.4s}
.pain{position:relative}
.how-grid.color .how-card{border:none;box-shadow:var(--shadow)}
.how-card.c-violet{background:#F1EBFF;transform:rotate(-1.2deg)}
.how-card.c-aqua{background:#E1FAF6;transform:rotate(1deg)}
.how-card.c-sun{background:#FFF3D6;transform:rotate(-.8deg)}
.how-grid.color .how-card:hover{transform:rotate(0) translateY(-6px)}
.how-emoji{font-size:30px;display:block;margin-bottom:8px}
.mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;text-align:left;margin-top:10px}
.mini-grid .mini{width:auto;height:250;height:250px;flex:none;animation:none}
.mini-grid .mini:nth-child(3n+1){transform:rotate(-1.5deg)}
.mini-grid .mini:nth-child(3n+2){transform:rotate(1.2deg)}
.mini-grid .mini:nth-child(4n+3){transform:rotate(-.6deg)}
.mini-grid .mini:hover{transform:rotate(0) scale(1.05);z-index:4}
.promise.fun{position:relative;background:#0E1B31;border-radius:28px;max-width:960px;color:#fff;padding:90px 40px}
.promise.fun h2{color:#fff}
.promise.fun h2::after{content:"";display:block;width:120px;height:5px;margin:18px auto 0;border-radius:99px;background:linear-gradient(90deg,#785CD2,#FF4FD8)}
.promise.fun p{color:#b9bed4}
.price-card.featured{border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#2B1B78,#785CD2,#FF4FD8) border-box;box-shadow:0 18px 50px rgba(120,92,210,.25)}
.final-cta.dark{position:relative;overflow:hidden;background:#0A1024;color:#fff}
.final-cta.dark h2{color:#fff;position:relative;z-index:2}
.final-cta.dark em{background:linear-gradient(90deg,#a88bff,#FF4FD8);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:'Fraunces',serif}
.final-cta.dark .hero-note,.final-cta.dark button{position:relative;z-index:2}
.final-cta.dark .mesh{opacity:.6}

/* faq */
.faq{max-width:720px;margin:0 auto;padding:70px 40px;text-align:center}
.faq details{text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px;margin-bottom:12px}
.faq summary{cursor:pointer;font-weight:600;font-size:15.5px}
.faq details p{margin-top:10px;font-size:14.5px;color:var(--ink-soft)}
.faq details[open]{border-color:var(--gold)}

@media (max-width:980px){
  .landing-nav{display:none}
  .hero-demo{height:420px;margin-top:20px}
  .demo-carousel{right:0;width:280px;height:350px}
  .demo-static{width:240px}
}

/* ============ HERO ESCURO COM ENERGIA ============ */
.hero-dark{position:relative;overflow:hidden;background:#0A1024;padding:96px 24px 0;text-align:center}
.mesh{position:absolute;inset:0;pointer-events:none;filter:blur(70px);opacity:.75}
.mesh i{position:absolute;border-radius:50%;display:block}
.mesh .m1{width:60vw;height:60vw;left:-15vw;top:-20vw;background:radial-gradient(circle,#473A94 0%,transparent 65%);animation:drift1 16s ease-in-out infinite alternate}
.mesh .m2{width:50vw;height:50vw;right:-12vw;top:-8vw;background:radial-gradient(circle,#785CD2 0%,transparent 65%);animation:drift2 20s ease-in-out infinite alternate}
.mesh .m3{width:36vw;height:36vw;right:18vw;bottom:-14vw;background:radial-gradient(circle,#FF4FD8 0%,transparent 65%);opacity:.5;animation:drift1 24s ease-in-out infinite alternate-reverse}
@keyframes drift1{to{transform:translate(8vw,6vh) scale(1.15)}}
@keyframes drift2{to{transform:translate(-6vw,8vh) scale(.9)}}
.hero-dark-copy{position:relative;max-width:860px;margin:0 auto;z-index:2}
.eyebrow.neon{color:#c9b8ff;text-shadow:0 0 24px rgba(120,92,210,.8)}
.hero-title.light{color:#fff;font-size:clamp(40px,5.4vw,76px)}
.hero-title.light em{font-family:'Fraunces',serif;font-style:italic;background:linear-gradient(90deg,#a88bff,#FF4FD8);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub.light{color:#b9bed4;margin-left:auto;margin-right:auto;max-width:560px}
.hero-note.light{color:#8b90a8}
.btn-neon{background:linear-gradient(135deg,#2B1B78 0%,#785CD2 52%,#A88BFF 100%);color:#fff;box-shadow:0 0 60px rgba(120,92,210,.32),0 8px 40px rgba(120,92,210,.45)}
.btn-neon:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 60px rgba(255,79,216,.5)}
.btn-glass{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px)}
.btn-glass:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.hero-dark .hero-ctas{justify-content:center}

/* rio de carrosséis */
.flow-stage{position:relative;margin-top:64px;padding-bottom:90px;perspective:1100px;z-index:2}
.flow-tilt{transform:rotateX(14deg);transform-style:preserve-3d;transition:transform .4s var(--ease)}
.flow-row{display:flex;gap:18px;width:max-content;margin-bottom:18px;animation:marquee 42s linear infinite}
.flow-row.r2{animation-direction:reverse;animation-duration:52s}
.mini{flex:0 0 190px;height:238px;border-radius:14px;padding:18px;display:flex;flex-direction:column;justify-content:center;gap:8px;text-align:left;box-shadow:0 18px 50px rgba(4,8,24,.5);transition:transform .3s var(--ease);position:relative;overflow:hidden}
.mini:hover{transform:translateY(-10px) scale(1.04)}
.mini p{font-size:15px;line-height:1.3;font-weight:600}
.mini.photo{background-size:cover;background-position:center top;justify-content:flex-end}
/* variantes lusófonas (referências IG Brasil/PT) */
.manuscrito{font-family:'Caveat',cursive;font-size:17px;background:#fff;color:#1c1a17;padding:2px 12px;border-radius:99px;align-self:flex-start;box-shadow:0 3px 10px rgba(0,0,0,.15)}
.manuscrito.escuro{background:#4a2f1d;color:#f5e9dc;transform:rotate(-3deg)}
.mini.caderno{background:#f0ede6;color:#17161a;align-items:flex-start;text-align:left;padding-top:34px}
.espiral{position:absolute;top:6px;left:0;right:0;height:16px;background:repeating-linear-gradient(90deg,transparent 0 7px,#26232b 7px 10px,transparent 10px 18px);border-radius:4px;opacity:.75}
.mini.caderno p{font-size:16.5px;font-weight:500;font-family:'Inter',sans-serif;line-height:1.25}
.mini.caderno b{font-weight:800}
.mini.quemsou{color:#fff;text-align:center;align-items:center;justify-content:flex-end}
.mini.quemsou::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,20,14,0) 35%,rgba(30,20,14,.82) 100%)}
.qs-top{position:relative;font-size:10.5px;line-height:1.4}
.qs-big{position:relative;font-size:24px;font-weight:500;letter-spacing:.02em}
.mini.espelho{justify-content:flex-end;padding-bottom:22px}
.esp-bars{display:flex;flex-direction:column;align-items:center;gap:0;width:100%}
.esp-white{background:#fff;color:#15130f;font-size:12.5px;font-weight:700;padding:8px 10px;text-align:center;line-height:1.35;max-width:95%}
.esp-white mark{background:#f5df4d;padding:0 3px}
.esp-black{background:#17161a;color:#fff;font-size:10.5px;font-weight:600;padding:5px 9px;text-align:center;max-width:88%}
.mini.karol{background:#a5642f;color:#f5e9dc;align-items:flex-start;gap:6px}
.mini.karol p{font-family:'Sora',sans-serif;font-size:18px;font-weight:500;line-height:1.15}
.mini.karol b{font-weight:800}
.pill-arroba{position:absolute;top:14px;right:12px;background:#8a4a1f;border:1px solid #f5e9dc55;color:#f5e9dc;font-size:9px;font-weight:700;padding:3px 8px;border-radius:99px;transform:rotate(4deg)}
.mini.leticia{color:#fff;align-items:center;text-align:center;justify-content:center}
.mini.leticia::before{content:"";position:absolute;inset:0;background:rgba(30,22,16,.38)}
.let-txt{position:relative;font-family:'Sora',sans-serif;font-size:16px;font-weight:500;line-height:1.3;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.let-txt b{font-weight:800}
.mini.tweetcard{background:#fff;color:#0f1419;border:1px solid #e5e2ee;justify-content:flex-start;padding-top:22px;gap:10px}
.tc-head{display:flex;align-items:center;gap:8px}
.tc-head i{width:26px;height:26px;border-radius:99px;background:linear-gradient(135deg,#473A94,#785CD2)}
.tc-head b{font-size:11.5px;display:block;line-height:1.1}
.tc-head small{font-size:10px;color:#6b7280}
.mini.tweetcard>p{font-size:12.5px;line-height:1.45;font-weight:500}
.mini.lia{color:#f5e9dc;align-items:center;text-align:center;justify-content:center;background-color:#3d2317}
.mini.lia::before{content:"";position:absolute;inset:0;background:rgba(46,26,16,.55)}
.lia-caps{position:relative;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.lia-script{position:relative;font-style:italic;font-size:26px;color:#fff}
.mini.guu{background:#111013;color:#fff;align-items:center;text-align:center;justify-content:center}
.guu-line{font-size:16.5px;font-weight:400;line-height:1.4}
.guu-line em{font-style:italic;text-decoration:underline}
.guu-line b{font-weight:600}
.guu-arrasta{margin-top:10px;font-size:10px;letter-spacing:.2em;opacity:.7}
.mini.laranja{justify-content:flex-end;padding-bottom:26px}
.lar-bars{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}
.lar-bars span{background:#d96c1e;color:#fff;font-size:13px;font-weight:600;padding:3px 10px}
.lar-bars .lar-big{font-family:'Sora',sans-serif;font-weight:800;font-size:17px;letter-spacing:.02em}
.mini.planner{background:#f4f0e8;color:#1c1a17;align-items:flex-start;gap:4px;border-left:10px solid #2b2733}
.pl-top{font-size:16px;line-height:1.2}
.pl-pink{font-style:italic;font-size:17px;color:#d9738f;text-decoration:underline;line-height:1.25}
.pl-sub{font-size:10.5px;color:#4c5268}
.mini.offline{justify-content:center;gap:10px;color:#17161a}
.mini.offline::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,248,244,.92) 0%,rgba(250,248,244,.55) 55%,rgba(250,248,244,.1) 100%)}
.off-it{position:relative;font-size:17px;font-style:italic;line-height:1.3}
.off-it b{font-style:normal;font-weight:700;font-family:'Inter',sans-serif}
.mini.offline .esp-black{position:relative;align-self:flex-start;max-width:100%}
.mini.seis{background:#efe9df;color:#2a2118;align-items:flex-start}
.mini.seis p{font-family:'Sora',sans-serif;font-size:17px;font-weight:500;line-height:1.25}
.mini.seis b{font-weight:800}

/* antes / depois */
.beforeafter{max-width:1000px;margin:0 auto;padding:100px 40px 40px;text-align:center}
.ba-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:stretch;margin-top:10px}
.ba-card{border-radius:18px;padding:28px;min-height:300px;display:flex;flex-direction:column;justify-content:center;gap:14px;text-align:left;position:relative;overflow:hidden}
.ba-card.before{background:#fff;border:1.5px dashed var(--line);color:var(--ink-soft)}
.ba-plain{font-family:ui-monospace,Consolas,monospace;font-size:14.5px;line-height:1.6}
.ba-card.after{background-size:cover;background-position:center top;color:#fff;box-shadow:var(--shadow-lift)}
.ba-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,27,49,.08) 20%,rgba(14,27,49,.86) 100%)}
.ba-tag{position:relative;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;background:var(--soft);color:var(--ink-soft);padding:5px 12px;border-radius:99px;align-self:flex-start}
.ba-tag.neon{background:linear-gradient(90deg,#785CD2,#FF4FD8);color:#fff}
.ba-line{position:relative;font-size:24px;line-height:1.3}
.ba-line em{color:#ffc7ef}
.ba-swipe{position:absolute;top:16px;right:16px;font-size:11px;background:rgba(14,27,49,.45);padding:4px 10px;border-radius:99px}
.ba-arrow{align-self:center;font-size:34px;color:var(--gold);font-weight:700}
@media (max-width:820px){
  .ba-grid{grid-template-columns:1fr}
  .ba-arrow{transform:rotate(90deg)}
  .hero-dark{padding-top:70px}
  .flow-tilt{transform:rotateX(8deg)}
}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;background:var(--bg)}
.marquee-track{display:flex;gap:34px;align-items:center;width:max-content;animation:marquee 30s linear infinite}
.marquee-track span{font-family:'Fraunces',serif;font-size:22px;color:var(--ink);white-space:nowrap}
.marquee-track i{color:var(--gold);font-style:normal;font-size:14px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sec-eyebrow{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-dark);margin-bottom:14px}
.sec-title{font-size:clamp(30px,3.6vw,48px);line-height:1.1;margin-bottom:40px}
.how{max-width:1240px;margin:0 auto;padding:110px 40px 60px}
.how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.how-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:transform .35s var(--ease), box-shadow .35s var(--ease)}
.how-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.how-num{font-family:'Fraunces',serif;font-size:15px;font-weight:700;color:var(--gold-dark);display:block;margin-bottom:16px}
.how-card h3{font-size:20px;margin-bottom:10px}
.how-card p{font-size:14.5px;color:var(--ink-soft)}

/* radar feature */
.feature-split{max-width:1240px;margin:0 auto;padding:70px 40px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.feature-text{font-size:17px;color:var(--ink-soft);max-width:480px;margin-bottom:24px}
.feature-list{list-style:none;display:grid;gap:12px}
.feature-list li{font-size:15px;color:var(--ink);padding-left:28px;position:relative}
.feature-list li::before{content:"✦";position:absolute;left:0;color:var(--gold)}
.radar{position:relative;width:min(420px,90%);aspect-ratio:1;margin:0 auto;border-radius:50%;border:1.5px solid var(--line);background:
  radial-gradient(circle at center, rgba(200,162,75,.06), transparent 65%),
  repeating-radial-gradient(circle at center, transparent 0 78px, var(--line) 78px 79px)}
.radar::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:99px;background:var(--gold);transform:translate(-50%,-50%)}
.radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg, rgba(200,162,75,.35), transparent 70deg);animation:sweep 4.5s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.radar-blip{position:absolute;left:var(--x);top:var(--y);width:10px;height:10px;border-radius:99px;background:var(--gold-dark);animation:blip 2.4s ease-out infinite}
@keyframes blip{0%{box-shadow:0 0 0 0 rgba(163,127,46,.5)}70%{box-shadow:0 0 0 16px rgba(163,127,46,0)}100%{box-shadow:0 0 0 0 rgba(163,127,46,0)}}

/* pricing */
.pricing{max-width:1240px;margin:0 auto;padding:70px 40px 90px;text-align:center}
.pricing .sec-title{margin-bottom:50px}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;align-items:stretch;text-align:left}
.price-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:32px;position:relative;display:flex;flex-direction:column;gap:16px;transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .3s}
.price-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lift)}
.price-card.featured{border:2px solid var(--gold);box-shadow:var(--shadow)}
.price-card .tag{position:absolute;top:-13px;left:28px;background:var(--gold);color:#fff;font-size:11px;font-weight:700;padding:5px 14px;border-radius:99px;text-transform:uppercase;letter-spacing:.08em}
.price-card h3{font-size:21px}
.price{font-family:'Fraunces',serif;font-size:44px;font-weight:700;line-height:1}
.price.small-price{font-size:28px;padding:8px 0}
.price span{font-size:15px;color:var(--ink-soft);font-family:'Inter',sans-serif;font-weight:500}
.price-card ul{list-style:none;font-size:14px;color:var(--ink-soft);display:grid;gap:9px;flex:1}
.price-card ul li{padding-left:22px;position:relative}
.price-card ul li::before{content:"✦";position:absolute;left:0;color:var(--gold)}
.price-card button{width:100%}

/* final CTA */
.final-cta{text-align:center;padding:110px 24px 130px;background:linear-gradient(180deg,#fff 0%,var(--soft) 100%)}
.final-cta h2{font-size:clamp(34px,4.6vw,60px);line-height:1.08;margin-bottom:34px}
.final-cta em{font-style:italic;color:var(--gold-dark)}

/* ---------- reveal (motion.js) ---------- */
.reveal{opacity:0;transform:translateY(28px)}
.no-motion .reveal{opacity:1;transform:none}
/* rede de segurança: garante visibilidade mesmo se as animações falharem */
.motion-done .reveal{opacity:1!important;transform:none!important;transition:opacity .4s}
.motion-done .hero-title .line>span{transform:none!important}
html:not(.js) .reveal{opacity:1;transform:none}

/* ---------- panels / forms ---------- */
.panel{max-width:640px;margin:60px auto;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:44px;box-shadow:var(--shadow)}
.panel.wide{max-width:860px}
.panel h2{font-size:30px;margin-bottom:6px}
.panel-sub{color:var(--ink-soft);font-size:15px;margin-bottom:26px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ink-soft)}
.form-grid label.full{grid-column:1/-1}
input,select,textarea{font-family:inherit;font-size:15px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);width:100%;transition:border-color .2s, box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,162,75,.15)}
.handle-input{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;background:#fff;transition:border-color .2s}
.handle-input:focus-within{border-color:var(--gold)}
.handle-input span{padding:0 4px 0 12px;color:var(--ink-soft);font-weight:600}
.handle-input input{border:none;padding-left:2px;box-shadow:none!important}
.info-box{margin-top:22px;background:var(--soft);border:1px dashed var(--gold);border-radius:12px;padding:14px 16px;font-size:13.5px;color:var(--ink-soft)}
.panel-actions{display:flex;justify-content:space-between;gap:12px;margin-top:32px}
.panel-actions .btn-gold:only-child{margin-left:auto}
.field-err{border-color:#c0392b!important}

/* ---------- chat ---------- */
.chat-wrap{max-width:760px;margin:30px auto;display:flex;flex-direction:column;height:calc(100vh - 130px);padding:0 20px}
.chat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:14px 4px}
.chat-head h2{font-size:22px}
.chat-progress{width:180px;height:6px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:8px}
.chat-progress-bar{height:100%;width:0%;background:var(--gold);transition:width .4s var(--ease)}
.chat-scroll{flex:1;overflow-y:auto;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px}
.msg{max-width:82%;padding:13px 17px;border-radius:16px;font-size:15px;white-space:pre-wrap;animation:msgIn .35s var(--ease)}
@keyframes msgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.msg.bot{background:var(--soft);border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:4px}
.msg.user{background:var(--ink);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.msg.block-note{align-self:center;background:transparent;border:none;color:var(--gold-dark);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.chat-input-row{display:flex;gap:10px;padding:14px 0}
.chat-input-row textarea{resize:none;border-radius:16px}
.typing{display:inline-flex;gap:4px;align-self:flex-start;padding:14px 18px}
.typing i{width:7px;height:7px;border-radius:99px;background:var(--gold);animation:blink 1s infinite}
.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,100%{opacity:.25}50%{opacity:1}}

/* ---------- marca ---------- */
.sub-h{font-size:19px;margin:28px 0 12px}
.palette-row{display:flex;gap:10px;flex-wrap:wrap}
.swatch{display:flex;border-radius:12px;overflow:hidden;border:2px solid transparent;cursor:pointer;transition:.2s var(--ease)}
.swatch:hover{transform:translateY(-3px)}
.swatch.sel{border-color:var(--ink)}
.swatch i{width:34px;height:44px;display:block}
.palette-custom{display:flex;gap:22px;margin-top:14px;font-size:13px;font-weight:600;color:var(--ink-soft);flex-wrap:wrap}
.palette-custom label{display:flex;align-items:center;gap:8px}
.palette-custom input[type=color]{width:44px;height:34px;padding:2px;border-radius:8px;cursor:pointer}
.styles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.style-card{border:2px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;background:#fff;transition:.25s var(--ease);position:relative}
.style-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.style-card.sel{border-color:var(--gold);box-shadow:var(--shadow)}
.style-card.soon{opacity:.5;cursor:not-allowed}
.style-card .thumb{height:110px;display:flex;align-items:center;justify-content:center;font-size:11px;padding:10px;text-align:center}
.style-card .name{font-size:12.5px;font-weight:600;padding:8px 10px 2px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.style-card .name em{font-style:normal;font-size:10px;color:var(--gold-dark);font-weight:700;text-transform:uppercase}
.style-desc{font-size:10.5px;color:var(--ink-soft);padding:0 10px 8px}
.upload-row{display:flex;gap:14px;flex-wrap:wrap}
.upload-box{flex:1;min-width:180px;border:2px dashed var(--line);border-radius:14px;padding:26px;text-align:center;font-size:14px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:.2s;background:#fff}
.upload-box:hover{border-color:var(--gold);color:var(--gold-dark)}
.upload-box.has-img{border-style:solid;border-color:var(--gold)}
.upload-box img{max-height:60px;max-width:100%;display:block;margin:0 auto 6px}

/* ---------- gerar ---------- */
.gen-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;gap:22px;text-align:center;padding:0 20px}
.gen-ring{width:64px;height:64px;border-radius:99px;border:5px solid var(--line);border-top-color:var(--gold);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- resultado ---------- */
.result-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;max-width:1060px;margin:40px auto 0;padding:0 24px;flex-wrap:wrap}
.result-head h2{font-size:30px}
.result-actions{display:flex;gap:8px;flex-wrap:wrap}
.tabs{display:flex;gap:6px;max-width:1060px;margin:22px auto 0;padding:0 24px;flex-wrap:wrap}
.tab{background:transparent;border:1px solid var(--line);border-bottom:none;border-radius:14px 14px 0 0;padding:11px 22px;font-size:14px;color:var(--ink-soft)}
.tab.active{background:var(--paper);color:var(--ink);font-weight:700}
.tab-body{max-width:1060px;margin:0 auto 70px;padding:34px;background:var(--paper);border:1px solid var(--line);border-radius:0 16px 16px 16px}

/* perfil */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.p-card{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:20px}
.p-card h4{font-family:'Fraunces',serif;font-size:16px;margin-bottom:10px;color:var(--gold-dark)}
.p-card p,.p-card li{font-size:14px;color:var(--ink-soft)}
.p-card ul{padding-left:18px;display:grid;gap:6px}
.p-card .quote{font-style:italic;border-left:3px solid var(--gold);padding-left:12px;margin-top:8px}

/* calendario */
.week-block{margin-bottom:34px;position:relative}
.week-block.locked .days-grid{filter:blur(6px);pointer-events:none;user-select:none}
.lock-overlay{position:absolute;inset:56px 0 0 0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:20px}
.lock-overlay p{font-size:14.5px;font-weight:600;color:var(--ink);background:rgba(255,255,255,.92);padding:8px 14px;border-radius:12px;max-width:420px}
.week-block>h3{font-size:21px;margin-bottom:4px}
.week-block>.week-sub{font-size:13.5px;color:var(--gold-dark);font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.days-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.day-card{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:18px;font-size:13.5px}
.day-card .day-top{display:flex;justify-content:space-between;margin-bottom:8px}
.day-card .day-name{font-weight:700}
.day-card .fmt{font-size:11px;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.06em}
.fmt.reel{background:#7a3b8f}.fmt.carrossel{background:var(--gold-dark)}.fmt.stories{background:#2e6f6c}.fmt.live{background:#b3402e}
.day-card .tema{font-weight:600;margin-bottom:8px}
.day-card details{margin-top:6px}
.day-card summary{cursor:pointer;font-weight:600;color:var(--gold-dark);font-size:12.5px}
.day-card .hooks li{margin:5px 0 0 16px;color:var(--ink-soft)}
.day-card .meta{margin-top:8px;color:var(--ink-soft)}
.day-card .meta strong{color:var(--ink)}
.day-card .meta.legenda{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;line-height:1.55}

/* carrosseis preview */
.carr-note{font-size:14px;color:var(--ink-soft);margin-bottom:20px}
.carr-regra{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-dark);margin:-6px 0 10px}
.carr-strip{display:flex;gap:14px;overflow-x:auto;padding-bottom:12px}
.slide{flex:0 0 240px;height:300px;border-radius:12px;padding:22px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow);position:relative;overflow:hidden}
.slide .slide-n{position:absolute;bottom:10px;right:14px;font-size:11px;opacity:.6}
.slide .logo-mini{position:absolute;top:12px;left:14px;max-height:26px;max-width:80px}
.slide.classic{font-family:'Fraunces',serif}
.slide.classic .hl{display:inline;padding:2px 8px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.slide.tweet{font-family:'Inter',sans-serif;justify-content:flex-start;padding-top:52px;border:1px solid var(--line)}
.slide.tweet .tw-head{display:flex;align-items:center;gap:9px;margin-bottom:12px}
.slide.tweet .tw-av{width:34px;height:34px;border-radius:99px;background:var(--gold);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;overflow:hidden}
.slide.tweet .tw-av img{width:100%;height:100%;object-fit:cover}
.slide.tweet .tw-name{font-size:12.5px;font-weight:700;line-height:1.2}
.slide.tweet .tw-handle{font-size:11px;opacity:.6}
.slide.tweet .tw-body{font-size:14.5px;line-height:1.45}

.foot{text-align:center;font-size:12px;color:var(--ink-soft);padding:26px;border-top:1px solid var(--line)}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:60px}
  .stage3d{height:420px;margin-top:10px}
  .feature-split{grid-template-columns:1fr;gap:36px}
}
@media (max-width:640px){
  .topbar{padding:14px 20px}
  .hero{padding:44px 20px 20px}
  .how,.feature-split,.pricing{padding-left:20px;padding-right:20px}
  .form-grid{grid-template-columns:1fr}
  .panel{padding:28px;margin:24px 16px}
  .topnav{display:none}
  .chat-head{flex-direction:column;align-items:flex-start}
  .stage3d{height:360px}
  .s3d-ring,.s3d-ring.r2{width:300px;height:300px}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .reveal{opacity:1;transform:none}
  html{scroll-behavior:auto}
}
@media print{
  .topbar,.tabs,.result-actions,.foot,#btnReset{display:none!important}
  .tab-body.hidden{display:block!important}
  body{background:#fff}
}
