:root{
  --rosa:#ff3f94; --rosa-2:#ff7ab8; --rosa-claro:#ffe3f0; --rosa-bg:#fff6fb;
  --azul:#4fc3f7; --azul-claro:#d9f3ff;
  --ouro:#c9961a; --ouro-claro:#fff3c4;
  --ink:#3a1a2c; --ink-2:rgba(58,26,44,.68);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--rosa-bg);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.script{font-family:'Pacifico',cursive}
.wrap{width:min(72rem,100%);margin:0 auto;padding:0 1.25rem}

/* ---------- Fundo ---------- */
#bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.7}

/* ---------- Cortina de abertura ---------- */
#curtain{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:linear-gradient(135deg,#ff3f94,#ff7ab8);color:#fff;pointer-events:none}
.curtain-box{width:min(88vw,34rem);text-align:center}
.curtain-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;opacity:.85}
.curtain-title{font-family:'Pacifico',cursive;font-size:clamp(2.6rem,10vw,4.5rem);line-height:1.05;margin-top:.75rem;text-shadow:0 .25rem 0 rgba(0,0,0,.12)}
.curtain-bar{margin-top:2rem;height:.3rem;border-radius:9999px;background:rgba(255,255,255,.3);overflow:hidden}
.curtain-bar i{display:block;height:100%;width:100%;background:#fff;transform-origin:left;transform:scaleX(0)}

/* ---------- Nav ---------- */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,63,148,.15)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.6rem;padding-bottom:.6rem}
.brand{display:flex;align-items:center;gap:.5rem}
.brand img{height:2.75rem;width:auto}
.brand span{font-family:'Pacifico',cursive;color:var(--ouro);font-size:1.15rem;display:none}
.brand.no-logo span{display:block}
.nav-links{display:none;gap:1.4rem;font-size:.75rem;font-weight:700;color:rgba(58,26,44,.7)}
.nav-links a:hover{color:var(--rosa)}
@media(min-width:900px){.nav-links{display:flex}}

/* ---------- Botões ---------- */
.btn{display:inline-flex;align-items:center;gap:.5rem;border-radius:9999px;padding:.85rem 1.5rem;font-weight:700;font-size:.85rem;border:2px solid transparent;transition:.25s;cursor:pointer}
.btn-rosa{background:var(--rosa);color:#fff;box-shadow:0 .75rem 1.5rem rgba(255,63,148,.3)}
.btn-rosa:hover{background:#e0287c;transform:translateY(-2px)}
.btn-ouro{background:#fff;color:var(--ouro);border-color:var(--ouro)}
.btn-ouro:hover{background:var(--ouro-claro)}
.btn-sm{padding:.55rem 1.1rem;font-size:.75rem}

/* ---------- Hero ---------- */
.hero{position:relative;z-index:1;height:100vh;min-height:44rem;overflow:hidden;
  background:radial-gradient(circle at 15% 10%,rgba(255,227,240,.95),transparent 35%),radial-gradient(circle at 85% 18%,rgba(255,243,196,.7),transparent 28%),radial-gradient(circle at 70% 85%,rgba(217,243,255,.8),transparent 30%),linear-gradient(180deg,#fff6fb,#fffef7)}
.hero-frame{position:absolute;inset:1rem;border:1px solid rgba(201,150,26,.25);border-radius:1.5rem;pointer-events:none;z-index:5;opacity:0}
@media(min-width:768px){.hero-frame{inset:2rem}}
.hero-corner{position:absolute;width:.8rem;height:.8rem;border:1px solid var(--ouro)}
.hero-corner.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}
.hero-corner.tr{top:-1px;right:-1px;border-left:0;border-bottom:0}
.hero-corner.bl{bottom:-1px;left:-1px;border-right:0;border-top:0}
.hero-corner.br{bottom:-1px;right:-1px;border-left:0;border-top:0}
.hero-tag{position:absolute;top:1.4rem;left:1.6rem;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);display:flex;align-items:center;gap:.5rem}
.hero-tag::before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:var(--rosa);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.3}}
.hero-title-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:3;text-align:center;padding:0 1rem}
.hero-title{font-family:'Pacifico',cursive;font-size:clamp(3.4rem,13vw,10.5rem);line-height:.95;color:var(--ouro);text-shadow:0 .3rem 0 rgba(255,255,255,.7),0 1rem 2.5rem rgba(201,150,26,.25);mix-blend-mode:multiply;opacity:0}
.hero-title small{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(.8rem,2.2vw,1.4rem);letter-spacing:.55em;text-transform:uppercase;margin-top:.8rem;color:var(--rosa)}
.hero-stage{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center;justify-content:center;perspective:1000px}
#card-cluster{position:relative;width:16rem;height:21rem;transform-style:preserve-3d;margin-top:3rem}
@media(min-width:768px){#card-cluster{width:20rem;height:26rem;margin-top:0}}
.asset-card{position:absolute;inset:0;border-radius:1.5rem;background:rgba(255,255,255,.55);border:1px solid rgba(255,63,148,.2);padding:4px;box-shadow:0 1.5rem 3rem rgba(255,63,148,.18);cursor:grab;touch-action:none;transform-style:preserve-3d;backdrop-filter:blur(3px)}
.asset-card:active{cursor:grabbing}
.asset-card .inner{position:relative;width:100%;height:100%;border-radius:1.2rem;overflow:hidden;pointer-events:none}
.hero-bottom{position:absolute;left:0;right:0;bottom:2.2rem;z-index:6;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:0 1.5rem;text-align:center;opacity:0}
.hero-bottom p{max-width:26rem;font-size:.9rem;font-weight:600;line-height:1.6;color:var(--ink-2)}
.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}
.hero-hint{position:absolute;right:2.2rem;bottom:2.4rem;font-size:.7rem;font-weight:600;color:rgba(58,26,44,.5);z-index:6;display:none}
@media(min-width:900px){.hero-hint{display:block}}

/* ---------- Placeholder de foto ---------- */
.ph{position:relative;width:100%;height:100%;background:repeating-linear-gradient(135deg,#ffe3f0 0 12px,#fff 12px 24px);overflow:hidden}
.ph span{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:.5rem;font-size:.7rem;font-weight:700;color:#c2185b;opacity:.75;line-height:1.5}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}

/* ---------- Seções ---------- */
.section{position:relative;z-index:1;padding:4.5rem 0}
.kicker{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rosa)}
.h2{font-size:clamp(1.9rem,5vw,2.8rem);font-weight:700;letter-spacing:-.02em;margin-top:.5rem;line-height:1.1}
.lead{margin-top:1rem;max-width:40rem;font-size:.98rem;font-weight:600;line-height:1.75;color:var(--ink-2)}

/* Sobre */
.sobre{background:#fff;border-block:1px solid rgba(255,63,148,.12)}
.sobre-grid{display:grid;gap:2.5rem;align-items:center}
@media(min-width:900px){.sobre-grid{grid-template-columns:1.1fr .9fr}}
.sobre-fotos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.sobre-fotos .card:nth-child(2){margin-top:2rem}

/* Cards / fotos */
.card{background:#fff;border:1px solid rgba(255,63,148,.15);border-radius:1.5rem;padding:.25rem;box-shadow:0 1rem 2rem rgba(255,63,148,.12)}
.slot{position:relative;aspect-ratio:1/1;border-radius:1.15rem;overflow:hidden}
.card:hover .ph img{transform:scale(1.06)}

/* Chips */
.chips{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:2rem}
@media(min-width:640px){.chips{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1000px){.chips{grid-template-columns:repeat(5,1fr)}}
.chip{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;padding:1rem .75rem;background:#fff;border:1px solid rgba(255,63,148,.15);border-radius:1.25rem;font-size:.78rem;font-weight:700;box-shadow:0 .6rem 1.4rem rgba(255,63,148,.08);transition:.25s}
.chip:hover{transform:translateY(-4px);border-color:var(--rosa)}
.chip em{font-style:normal;font-size:1.8rem}

/* Produto */
.prod-head{display:flex;flex-direction:column;gap:1rem}
@media(min-width:760px){.prod-head{flex-direction:row;align-items:flex-end;justify-content:space-between}}
.prod-grid{columns:2;column-gap:1rem;margin-top:2rem}
@media(min-width:700px){.prod-grid{columns:3}}
@media(min-width:1000px){.prod-grid{columns:4}}
.gal{break-inside:avoid;margin:0 0 1rem;cursor:zoom-in;overflow:hidden;position:relative}
.gal img{width:100%;height:auto;border-radius:1.15rem;transition:transform .6s}
.gal:hover img{transform:scale(1.04)}
.gal figcaption{position:absolute;left:.25rem;right:.25rem;bottom:.25rem;padding:.7rem .8rem;border-radius:0 0 1.15rem 1.15rem;font-size:.7rem;font-weight:700;line-height:1.35;color:#fff;background:linear-gradient(0deg,rgba(58,26,44,.78),transparent);opacity:0;transition:.3s}
.gal:hover figcaption,.gal:focus-visible figcaption{opacity:1}
.gal:focus-visible{outline:3px solid var(--rosa)}
.slot.tall{aspect-ratio:3/4}
.soon{margin-top:2rem;text-align:center;padding:2.5rem 1rem;border:2px dashed rgba(255,63,148,.35);border-radius:1.5rem;background:rgba(255,255,255,.6)}
.soon span{font-size:2.4rem}
.soon p{margin:.5rem 0 1rem;font-weight:700;color:var(--ink-2)}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:1rem;background:rgba(58,26,44,.88);backdrop-filter:blur(8px)}
.lb.open{display:flex}
.lb-box{max-width:min(92vw,40rem);max-height:92vh;display:flex;flex-direction:column;align-items:center;gap:.8rem;text-align:center}
.lb-box img{max-width:100%;max-height:72vh;border-radius:1.25rem;box-shadow:0 2rem 4rem rgba(0,0,0,.4)}
.lb-box p{color:#fff;font-size:.9rem;font-weight:600}
.lb-btn{position:absolute;width:2.8rem;height:2.8rem;border-radius:50%;border:0;background:#fff;color:var(--rosa);font-size:1.8rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 .5rem 1rem rgba(0,0,0,.25)}
.lb-close{top:1rem;right:1rem}
.lb-prev{left:.75rem;top:50%;transform:translateY(-50%)}
.lb-next{right:.75rem;top:50%;transform:translateY(-50%)}
.alt-1{background:#fff}
.alt-2{background:linear-gradient(180deg,#fff0f7,#fffaf2)}
.alt-3{background:linear-gradient(180deg,#eefaff,#fff)}

/* Fechamento */
.final{background:linear-gradient(135deg,#ff3f94,#ff7ab8);color:#fff;text-align:center;border-radius:2rem;padding:3.5rem 1.5rem;box-shadow:0 1.5rem 3rem rgba(255,63,148,.3)}
.final .script{font-size:clamp(2rem,6vw,3.2rem)}
.final p{max-width:34rem;margin:1rem auto 0;font-weight:600;line-height:1.7;color:rgba(255,255,255,.92)}
.final .btn{margin-top:2rem;background:#fff;color:var(--rosa)}
.final .sub{margin-top:1.5rem;font-size:.8rem;color:rgba(255,255,255,.85)}

/* Footer */
.footer{position:relative;z-index:1;background:#fff;border-top:1px solid rgba(255,63,148,.2);padding:2rem 1rem;text-align:center;font-size:.75rem;font-weight:600;color:var(--ink-2)}
.footer .script{font-size:1.3rem;color:var(--ouro);margin-bottom:.4rem}

/* ---------- Hero v2: logo em destaque + cartões espaçados ---------- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hero{height:auto;min-height:100vh;display:flex;align-items:center;padding:5.5rem 0 3rem}
.hero-grid{position:relative;z-index:4;width:min(76rem,100%);margin:0 auto;padding:0 1.5rem;display:grid;gap:1rem;align-items:center;justify-items:center}
@media(min-width:900px){.hero-grid{grid-template-columns:1fr 1fr;gap:2rem}}
.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.2rem}
.hero-logo{width:min(17rem,62vw);height:auto;filter:drop-shadow(0 1.2rem 2rem rgba(255,63,148,.28));opacity:0}
@media(min-width:900px){.hero-logo{width:min(26rem,34vw)}}
.hero-fallback{display:none;font-size:clamp(3rem,9vw,5rem);color:var(--ouro);line-height:1}
.hero-copy p{max-width:24rem;font-size:1rem;font-weight:600;line-height:1.6;color:var(--ink-2);opacity:0}
.hero-cta{opacity:0}
.hero .hero-stage{width:100%;height:26rem;position:relative;perspective:1000px;display:block}
@media(min-width:900px){.hero .hero-stage{height:34rem}}
.hero #card-cluster{position:absolute;inset:0;width:100%;height:100%;margin:0;transform-style:preserve-3d}
.hero .asset-card{inset:auto;left:50%;top:50%;width:7.2rem;height:9.6rem;border-radius:1.1rem}
.hero .asset-card .inner{border-radius:.9rem}
@media(min-width:900px){.hero .asset-card{width:11rem;height:14.5rem;border-radius:1.5rem}.hero .asset-card .inner{border-radius:1.2rem}}
@media(prefers-reduced-motion:reduce){.hero-logo,.hero-copy p,.hero-cta{opacity:1!important}}

/* Âncoras não ficam sob o menu fixo */
section[id]{scroll-margin-top:4.5rem}
/* Botão flutuante */
.zap-float{position:fixed;right:1rem;bottom:1rem;z-index:80;display:inline-flex;align-items:center;gap:.4rem;padding:.8rem 1.2rem;border-radius:9999px;background:#25d366;color:#fff;font-weight:700;font-size:.85rem;box-shadow:0 .75rem 1.5rem rgba(37,211,102,.4);transition:.25s}
.zap-float:hover{transform:translateY(-3px);background:#1ebe5a}

/* Menu do celular */
.nav-actions{display:flex;align-items:center;gap:.6rem}
.menu-btn{display:grid;gap:.28rem;width:2.4rem;height:2.4rem;place-content:center;border:1px solid rgba(255,63,148,.25);border-radius:.8rem;background:#fff;cursor:pointer}
.menu-btn span{display:block;width:1.1rem;height:2px;border-radius:2px;background:var(--rosa);transition:.25s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(.35rem) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-.35rem) rotate(-45deg)}
@media(min-width:900px){.menu-btn{display:none}}
@media(max-width:899px){
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;padding:1rem 1.5rem 1.2rem;gap:1.1rem;font-size:.95rem;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(255,63,148,.15);box-shadow:0 1rem 2rem rgba(255,63,148,.12)}
}

/* Cartões da home no celular/toque: página rola normalmente */
@media(max-width:899px),(pointer:coarse){
  .hero .asset-card{touch-action:pan-y;cursor:pointer}
}

/* Minha história */
.historia{background:#fff;border-block:1px solid rgba(255,63,148,.12)}
.hist-grid{display:grid;gap:2.5rem;align-items:center}
@media(min-width:900px){.hist-grid{grid-template-columns:.8fr 1.2fr}}
.hist-foto{max-width:22rem;width:100%;justify-self:center}
.hist-foto .ph img{object-position:33% center}
.historia .lead{max-width:36rem}
.linha{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1.6rem}
@media(min-width:640px){.linha{grid-template-columns:repeat(4,1fr)}}
.linha li{padding:.9rem .8rem;border-radius:1.1rem;background:var(--rosa-claro);text-align:center}
.linha b{display:block;font-family:'Pacifico',cursive;font-weight:400;font-size:1.25rem;color:var(--ouro)}
.linha span{font-size:.75rem;font-weight:700;color:var(--ink-2)}
.frase{font-family:'Pacifico',cursive;font-weight:400;font-size:1.15rem;color:var(--rosa);line-height:1.6}

/* Linha do tempo (Minha história) */
.tl{list-style:none;position:relative;margin-top:1.6rem}
.tl::before{content:"";position:absolute;left:.7rem;top:1.4rem;bottom:1.4rem;width:2px;background:linear-gradient(180deg,var(--rosa),var(--azul),var(--ouro));border-radius:2px;opacity:.5}
.tl-item{position:relative;padding-left:2.3rem;margin-bottom:.7rem}
.tl-dot{position:absolute;left:.2rem;top:1.25rem;width:1rem;height:1rem;border-radius:50%;background:#fff;border:3px solid var(--rosa);transition:.3s;z-index:1}
.tl-item.open .tl-dot{background:var(--rosa);box-shadow:0 0 0 .35rem rgba(255,63,148,.18)}
.tl-btn{width:100%;display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border:0;border-radius:1.1rem;background:var(--rosa-claro);text-align:left;cursor:pointer;font:inherit;color:var(--ink);transition:.25s}
.tl-btn:hover{background:#ffd3e8}
.tl-btn:focus-visible{outline:3px solid var(--rosa)}
.tl-ano{font-family:'Pacifico',cursive;color:var(--ouro);font-size:1.15rem;min-width:4.2rem}
.tl-tit{font-weight:700;font-size:.9rem}
.tl-seta{margin-left:auto;font-style:normal;font-size:1.5rem;line-height:1;color:var(--rosa);transition:transform .3s}
.tl-item.open .tl-seta{transform:rotate(45deg)}
.tl-corpo{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
.tl-corpo>div{overflow:hidden}
.tl-item.open .tl-corpo{grid-template-rows:1fr}
.tl-corpo p{padding:.9rem 1rem .4rem;font-size:.95rem;font-weight:600;line-height:1.75;color:var(--ink-2)}
@media(prefers-reduced-motion:reduce){.tl-corpo,.tl-dot,.tl-seta{transition:none}}

/* Reveal */
.reveal{opacity:0;transform:translateY(28px)}
@media(prefers-reduced-motion:reduce){.reveal,.hero-title,.hero-bottom,.hero-frame{opacity:1!important;transform:none!important}#curtain{display:none}}
