/* Layout: página clara e arejada para os pais; fotos grandes das festas, títulos em serifa suave, a paleta de jujubas do logo usada só como detalhe (pontinhos coloridos, etiquetas) e uma faixa ameixa escura para a tabela de preços */
:root{
  --paper:#FFFFFF;
  --mist:#F5F3FA;        /* fundo de seção, lavanda bem clara */
  --mist-2:#ECE8F6;
  --ink:#251F47;         /* ameixa-escuro: títulos e faixa escura */
  --ink-2:#4A4568;       /* texto corrido */
  --ink-3:#65607F;       /* legendas */
  --rule:#E3DFEE;
  --pink:#E5187E;        /* ação principal */
  --pink-ink:#B30F60;
  --pink-tint:#FDE7F2;
  --j-lilac:#A57BEA; --j-blue:#3FA9EE; --j-turq:#3FD0D9; --j-orange:#FF9A3D; --j-mint:#5ED3A2; --j-rose:#F06BB0;
  --wa:#1C9E53;
  --on-ink:#FFFFFF;
  --on-ink-2:#CFCBE6;

  --f-display:"Fraunces",Georgia,"Times New Roman",serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;

  --r-xl:32px; --r-lg:22px; --r-md:14px;
  --gl:max(20px, env(safe-area-inset-left, 0px));
  --gr:max(20px, env(safe-area-inset-right, 0px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(80px + env(safe-area-inset-top, 0px))}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{background:var(--paper);color:var(--ink-2);font-family:var(--f-body);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top, 0px);z-index:60;background:var(--paper)}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;color:var(--ink);text-wrap:balance}
p{margin:0}
.wrap{max-width:1180px;margin:0 auto;padding-left:var(--gl);padding-right:var(--gr)}

/* type */
.display{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;letter-spacing:-.015em}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pink-ink)}
.h2{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:clamp(32px,4.4vw,52px);line-height:1.06;letter-spacing:-.02em}
.h2 em{font-style:italic;color:var(--pink);font-weight:500}
.lead{font-size:clamp(17px,1.6vw,19px);line-height:1.6;color:var(--ink-2);max-width:56ch}

/* jujuba dots: assinatura da marca */
.dots{display:inline-flex;gap:5px;flex:none}
.dots i{width:8px;height:8px;border-radius:50%;display:block}
.dots i:nth-child(1){background:var(--j-turq)}.dots i:nth-child(2){background:var(--j-orange)}.dots i:nth-child(3){background:var(--j-rose)}.dots i:nth-child(4){background:var(--j-lilac)}.dots i:nth-child(5){background:var(--j-blue)}.dots i:nth-child(6){background:var(--j-mint)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-family:var(--f-body);font-weight:700;font-size:16px;line-height:1;border-radius:999px;padding:16px 26px;transition:transform .18s ease, background .18s ease, box-shadow .18s ease;white-space:nowrap}
.btn svg{width:20px;height:20px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--j-lilac);outline-offset:3px;border-radius:12px}
.btn-primary{background:var(--pink);color:#fff;box-shadow:0 10px 24px -10px rgba(229,24,126,.6)}
.btn-primary:hover{background:var(--pink-ink)}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--rule)}
.btn-line:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.btn-light{background:#fff;color:var(--ink)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:2px solid var(--pink);padding-bottom:2px}
.link-arrow:hover{color:var(--pink-ink)}

/* header */
.top{position:sticky;top:env(safe-area-inset-top, 0px);z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;gap:24px;padding-block:10px}
.brand img{height:50px;width:auto}
.nav{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;justify-content:center;white-space:nowrap}
.nav a{display:block;text-decoration:none;font-weight:600;font-size:15px;color:var(--ink-2);padding:8px 12px;border-radius:999px}
.nav a:hover{color:var(--ink);background:var(--mist)}
.nav .new{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pink);margin-left:5px;vertical-align:2px}
.top .btn{padding:12px 18px;font-size:15px}
@media (max-width:900px){
  .top .wrap{flex-wrap:wrap;gap:4px 12px;padding-block:8px 4px}
  .brand img{height:42px}
  .top .btn{margin-left:auto;padding:10px 14px}
  .nav{order:3;flex-basis:100%;margin-left:calc(-1 * var(--gl));margin-right:calc(-1 * var(--gr));padding-left:var(--gl);padding-right:var(--gr)}
  .nav ul{justify-content:flex-start}
  .nav a{font-size:14px;padding:8px 10px}
}

/* hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,var(--mist) 100%)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:56px;align-items:center;padding-block:64px 88px}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:26px}
.hero h1{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:clamp(42px,6vw,76px);line-height:1;letter-spacing:-.03em}
.hero h1 em{display:block;font-style:italic;font-weight:500;color:var(--pink)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.trust{display:grid;grid-template-columns:repeat(3,auto);gap:0;margin-top:6px;border-top:1px solid var(--rule);padding-top:22px}
.trust div{padding-right:24px;margin-right:24px;border-right:1px solid var(--rule)}
.trust div:last-child{border-right:0;margin-right:0;padding-right:0}
.trust b{display:block;font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:24px;color:var(--ink);line-height:1.15}
.trust span{font-size:14px;color:var(--ink-3)}
.collage{position:relative;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:16px;height:600px}
.collage figure{margin:0;border-radius:var(--r-xl);overflow:hidden;background:var(--mist-2);box-shadow:0 30px 60px -30px rgba(37,31,71,.35)}
.collage img{width:100%;height:100%;object-fit:cover}
.collage .c1{grid-row:1 / span 2}
.float-card{position:absolute;left:-28px;bottom:36px;background:#fff;border-radius:var(--r-lg);padding:16px 20px;display:flex;gap:14px;align-items:center;box-shadow:0 20px 40px -18px rgba(37,31,71,.35);max-width:300px}
.float-card .ic{flex:none;width:44px;height:44px;border-radius:50%;background:var(--pink-tint);color:var(--pink);display:grid;place-items:center}
.float-card .ic svg{width:22px;height:22px}
.float-card b{display:block;color:var(--ink);font-size:15px;line-height:1.3}
.float-card span{font-size:13.5px;color:var(--ink-3);line-height:1.35;display:block}
@media (max-width:960px){
  .hero .wrap{grid-template-columns:1fr;gap:40px;padding-block:36px 64px}
  .collage{height:440px}
  .float-card{left:12px;bottom:-22px}
}
@media (max-width:520px){
  .collage{height:360px;gap:10px}
  .collage figure{border-radius:var(--r-lg)}
  .trust{grid-template-columns:1fr 1fr 1fr}
  .trust div{padding-right:12px;margin-right:12px}
  .trust b{font-size:17px}
  .trust span{font-size:12.5px}
}

/* section scaffolding */
.section{padding-block:104px}
.section.mist{background:var(--mist)}
.head{display:flex;flex-direction:column;gap:18px;margin-bottom:56px;max-width:760px}
.head.center{align-items:center;text-align:center;margin-inline:auto}
.head.row{max-width:none;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.head.row > div{display:flex;flex-direction:column;gap:18px;max-width:700px;min-width:0}
@media (max-width:640px){.section{padding-block:72px}.head{margin-bottom:40px}}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.svc{position:relative;display:flex;flex-direction:column;text-decoration:none;border-radius:var(--r-xl);overflow:hidden;background:#fff;border:1px solid var(--rule);transition:transform .25s ease, box-shadow .25s ease}
.svc:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(37,31,71,.35)}
.svc .ph{aspect-ratio:4/5;overflow:hidden;background:var(--mist-2)}
.svc .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.svc:hover .ph img{transform:scale(1.04)}
.svc .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.svc .k{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c)}
.svc h3{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:24px;line-height:1.15}
.svc p{font-size:15px;color:var(--ink-3);line-height:1.5}
.svc .go{margin-top:auto;padding-top:10px;font-weight:700;font-size:15px;color:var(--ink)}
@media (max-width:1000px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.svc-grid{grid-template-columns:1fr}.svc .ph{aspect-ratio:16/11}}
.cafe-strip{margin-top:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;border-radius:var(--r-xl);padding:26px 32px;background:var(--ink);color:var(--on-ink);text-decoration:none}
.cafe-strip .l{display:flex;gap:18px;align-items:center;min-width:0}
.cafe-strip .ic{flex:none;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center}
.cafe-strip .ic svg{width:26px;height:26px}
.cafe-strip b{display:block;font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:22px;color:#fff}
.cafe-strip span{color:var(--on-ink-2);font-size:15px}
.tag-new{display:inline-block;background:var(--pink);color:#fff;font-family:var(--f-body);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:3px 10px;margin-right:10px;vertical-align:4px}

/* recreação: dark band */
.dark{background:var(--ink);color:var(--on-ink-2);position:relative;overflow:hidden}
.dark .h2,.dark h3{color:#fff}
.dark .eyebrow{color:#FF9ACB}
.dark .lead{color:var(--on-ink-2)}
.rec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:start}
.rec-left{display:flex;flex-direction:column;gap:28px}
.rec-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rec-photos figure{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/4}
.rec-photos img{width:100%;height:100%;object-fit:cover}
.rec-photos figure:nth-child(2){transform:translateY(28px)}
.bullets{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.bullets li{display:flex;gap:12px;align-items:flex-start}
.bullets svg{flex:none;width:22px;height:22px;margin-top:3px;color:var(--j-mint)}
.price{background:#fff;color:var(--ink-2);border-radius:var(--r-xl);padding:36px 36px 30px;box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.price-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.price-head h3{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:28px;color:var(--ink)}
.price-head span{font-size:14px;color:var(--ink-3)}
.plist{list-style:none;margin:0;padding:0;font-variant-numeric:tabular-nums lining-nums}
.plist li{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--rule)}
.plist .t{font-weight:600;color:var(--ink);font-size:17px}
.plist .v{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:21px;color:var(--ink);white-space:nowrap}
.plist .v small{font-family:var(--f-body);font-size:13px;font-weight:600;color:var(--ink-3);margin-right:4px}
.plist li.feat{margin-top:14px;border:0;border-radius:var(--r-md);background:var(--pink-tint);padding:16px 18px}
.plist li.feat .t{color:var(--pink-ink)}
.plist li.feat .t small{display:block;font-weight:500;font-size:13.5px;color:var(--ink-3)}
.plist li.feat .v{color:var(--pink-ink);font-size:26px}
.notes{margin-top:18px;display:grid;gap:6px;font-size:13.5px;line-height:1.5;color:var(--ink-3)}
.pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:20px;border-top:1px solid var(--rule)}
.pay span{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--ink);background:var(--mist);border-radius:999px;padding:7px 14px}
.pay svg{width:16px;height:16px;color:var(--j-lilac)}
@media (max-width:960px){.rec{grid-template-columns:1fr;gap:48px}}
@media (max-width:520px){.price{padding:26px 20px 22px}.rec-photos figure:nth-child(2){transform:none}}

/* festas */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:220px;gap:14px}
.gallery figure{margin:0;border-radius:var(--r-lg);overflow:hidden;background:var(--mist-2);position:relative}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery figure:hover img{transform:scale(1.04)}
.gallery .tall{grid-row:span 2}
.gallery .big{grid-column:span 2;grid-row:span 2}
.gallery figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.92);color:var(--ink);font-size:13px;font-weight:600;border-radius:999px;padding:4px 12px}
@media (max-width:900px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px}}

.incl{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;margin-top:96px;align-items:center}
.incl-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;margin-top:32px}
.incl-list li{display:flex;flex-direction:column;gap:6px;min-width:0}
.incl-list .ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--bg);color:var(--fg);margin-bottom:6px}
.incl-list .ic svg{width:22px;height:22px}
.incl-list b{color:var(--ink);font-size:17px}
.incl-list span{font-size:15px;color:var(--ink-3);line-height:1.5}
.detail-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.detail-photos figure{margin:0;display:flex;flex-direction:column;gap:10px}
.detail-photos .img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1/1;background:var(--mist-2)}
.detail-photos img{width:100%;height:100%;object-fit:cover}
.detail-photos figcaption{font-size:14px;line-height:1.4;color:var(--ink-3)}
.detail-photos figcaption b{color:var(--ink);display:block;font-size:15px}
@media (max-width:960px){.incl{grid-template-columns:1fr;gap:40px;margin-top:72px}}
@media (max-width:480px){.incl-list{grid-template-columns:1fr}}

.formats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:96px}
.fmt{border-radius:var(--r-xl);padding:36px;display:flex;flex-direction:column;gap:14px;min-width:0;border:1px solid var(--rule);background:#fff}
.fmt.alt{background:var(--ink);border-color:var(--ink)}
.fmt .k{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pink-ink)}
.fmt.alt .k{color:#FF9ACB}
.fmt h3{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:28px;line-height:1.12}
.fmt.alt h3{color:#fff}
.fmt.alt p{color:var(--on-ink-2)}
@media (max-width:760px){.formats{grid-template-columns:1fr;margin-top:72px}.fmt{padding:28px}}

.extras{margin-top:20px;border-radius:var(--r-xl);background:var(--mist);padding:28px 32px;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
.extras b{color:var(--ink);font-size:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:#fff;border:1px solid var(--rule);border-radius:999px;padding:8px 16px;font-size:14.5px;font-weight:600;color:var(--ink)}

.cta{margin-top:96px;border-radius:var(--r-xl);background:linear-gradient(120deg,var(--pink) 0%,#C2189B 100%);color:#fff;padding:52px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;align-items:center;position:relative;overflow:hidden}
.cta h3{color:#fff;font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:clamp(28px,3.6vw,42px);line-height:1.08;letter-spacing:-.02em}
.cta p{color:rgba(255,255,255,.88);margin-top:12px;max-width:52ch}
.cta .btn-light{color:var(--pink-ink)}
.cta::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.08)}
@media (max-width:760px){.cta{grid-template-columns:1fr;padding:34px 26px;margin-top:72px}}

/* eventos */
.ev{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:64px;align-items:start}
.ev-left{display:flex;flex-direction:column;gap:32px;position:sticky;top:110px}
.ev-how{display:grid;gap:0;border-top:1px solid var(--rule)}
.ev-how div{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--rule);font-weight:600;color:var(--ink)}
.ev-how svg{flex:none;width:22px;height:22px;color:var(--pink)}
.ev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ev-grid figure{margin:0;position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:3/4;background:var(--mist-2)}
.ev-grid img{width:100%;height:100%;object-fit:cover}
.ev-grid figcaption{position:absolute;inset:auto 0 0 0;padding:40px 14px 14px;background:linear-gradient(180deg,transparent,rgba(37,31,71,.82));color:#fff;font-weight:700;font-size:15px;line-height:1.25}
@media (max-width:960px){.ev{grid-template-columns:1fr;gap:40px}.ev-left{position:static}}
@media (max-width:520px){.ev-grid{grid-template-columns:1fr 1fr}}

/* placeholders */
.slot{position:relative;border-radius:var(--r-lg);overflow:hidden;background:
  radial-gradient(120% 90% at 0% 0%, rgba(165,123,234,.20), transparent 60%),
  radial-gradient(120% 90% at 100% 100%, rgba(63,208,217,.20), transparent 60%),
  var(--mist);display:grid;place-items:center;text-align:center;padding:20px;color:var(--ink-3)}
.slot::before{content:"";position:absolute;inset:10px;border:1.5px dashed rgba(122,117,150,.35);border-radius:calc(var(--r-lg) - 8px);pointer-events:none}
.slot .in{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:28ch;position:relative}
.slot .in svg{width:34px;height:34px;color:var(--j-lilac)}
.slot .in b{color:var(--ink);font-size:15px}
.slot .in small{font-size:13px;line-height:1.4}
.slot .code{position:absolute;top:18px;right:18px;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--ink-3);background:#fff;border-radius:999px;padding:3px 9px}
.dark .slot{background:radial-gradient(120% 90% at 0% 0%, rgba(165,123,234,.28), transparent 60%),radial-gradient(120% 90% at 100% 100%, rgba(63,208,217,.18), transparent 60%),#322B5C;color:var(--on-ink-2)}
.dark .slot::before{border-color:rgba(255,255,255,.22)}
.dark .slot .in b{color:#fff}

/* colônia + cafeteria */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.panel{border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--rule)}
.panel .slot{border-radius:0;aspect-ratio:16/10}
.panel .slot::before{border-radius:16px}
.panel .body{padding:34px;display:flex;flex-direction:column;gap:16px;flex:1}
.panel .k{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.panel h3{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:34px;line-height:1.08;letter-spacing:-.015em}
.panel .pills{display:flex;flex-wrap:wrap;gap:8px}
.panel .pills span{font-size:14px;font-weight:600;border-radius:999px;padding:6px 14px}
.panel .foot{margin-top:auto;padding-top:8px}
.panel.col .k{color:#C2620B}
.panel.col .pills span{background:#FFF0E2;color:#8A4608}
.panel.cafe .k{color:var(--pink-ink)}
.panel.cafe .pills span{background:var(--pink-tint);color:var(--pink-ink)}
.soon{display:flex;gap:14px;align-items:center;border-radius:var(--r-md);background:var(--mist);padding:14px 16px;font-size:15px}
.soon svg{flex:none;width:26px;height:26px;color:var(--pink)}
.soon b{color:var(--ink)}
@media (max-width:860px){.duo{grid-template-columns:1fr}.panel .body{padding:26px}}

/* faq */
.faq{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.faq details{border-bottom:1px solid var(--rule)}
.faq details:first-child{border-top:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-weight:700;font-size:18px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:34px;height:34px;border-radius:50%;background:var(--mist);display:grid;place-items:center;font-size:22px;font-weight:500;color:var(--ink);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--pink-tint);color:var(--pink-ink)}
.faq details p{padding:0 50px 22px 0;color:var(--ink-2)}
@media (max-width:860px){.faq{grid-template-columns:1fr;gap:32px}}

/* contato */
.contact{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);border-radius:var(--r-xl);overflow:hidden;background:var(--ink)}
.contact .info{padding:56px;display:flex;flex-direction:column;gap:30px}
.contact .info .h2{color:#fff}
.c-rows{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px}
.c-row{display:flex;flex-direction:column;gap:4px;min-width:0}
.c-row .k{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#FF9ACB}
.c-row .v{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:22px;line-height:1.25;color:#fff;text-decoration:none}
.c-row a.v:hover{text-decoration:underline}
.c-row .s{font-size:14.5px;color:var(--on-ink-2)}
.c-row .s a{color:#fff}
.copy{align-self:flex-start;margin-top:4px;font-family:var(--f-body);font-weight:600;font-size:13px;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:999px;padding:5px 12px;cursor:pointer}
.copy:hover{background:rgba(255,255,255,.2)}
.contact .ph{position:relative;min-height:420px}
.contact .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.contact{grid-template-columns:1fr}.contact .ph{min-height:300px;order:-1}.contact .info{padding:34px 26px}}
@media (max-width:480px){.c-rows{grid-template-columns:1fr}}

footer{padding-block:40px;border-top:1px solid var(--rule);margin-top:104px}
footer .wrap{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between}
footer img{height:54px;width:auto}
footer p{font-size:14px;color:var(--ink-3)}
footer nav{display:flex;flex-wrap:wrap;gap:6px 18px}
footer nav a{font-size:14px;font-weight:600;color:var(--ink-2);text-decoration:none}
footer nav a:hover{color:var(--pink-ink)}
@media (max-width:640px){footer{margin-top:72px}}

.wa-float{position:fixed;right:calc(20px + env(safe-area-inset-right, 0px));bottom:calc(20px + env(safe-area-inset-bottom, 0px));z-index:40;display:flex;align-items:center;gap:10px;background:var(--wa);color:#fff;text-decoration:none;font-weight:700;font-size:15px;border-radius:999px;padding:14px 20px 14px 16px;box-shadow:0 14px 30px -10px rgba(28,158,83,.6)}
.wa-float svg{width:24px;height:24px}
@media (max-width:640px){.wa-float{padding:14px}.wa-float span{display:none}}

/* ===== revisão 2 ===== */
/* nav: início + destaque Jujuba Café */
.nav a.is-cafe{position:relative;color:var(--ink);background:
  linear-gradient(#fff,#fff) padding-box,
  linear-gradient(100deg,var(--j-turq),var(--j-orange),var(--j-rose),var(--j-lilac),var(--j-blue)) border-box;
  border:2px solid transparent;padding:6px 12px}
.nav a.is-cafe:hover{background:linear-gradient(var(--pink-tint),var(--pink-tint)) padding-box,linear-gradient(100deg,var(--j-turq),var(--j-orange),var(--j-rose),var(--j-lilac),var(--j-blue)) border-box}
.nav a[aria-current="page"]{color:var(--pink-ink);background:var(--pink-tint)}

/* hero com logomarca */
.hero-logo{position:relative;display:grid;place-items:center;min-height:520px;border-radius:var(--r-xl);
  background:radial-gradient(60% 60% at 30% 25%,rgba(63,208,217,.18),transparent 70%),radial-gradient(55% 55% at 75% 80%,rgba(240,107,176,.18),transparent 70%),radial-gradient(50% 50% at 80% 20%,rgba(165,123,234,.16),transparent 70%),#fff;
  box-shadow:0 30px 60px -30px rgba(37,31,71,.25)}
.hero-logo img{width:min(78%,440px);height:auto}
.hero-logo .bubble{position:absolute;border-radius:50%;opacity:.9}
.hero-logo .b1{width:22px;height:22px;background:var(--j-turq);top:12%;left:14%}
.hero-logo .b2{width:14px;height:14px;background:var(--j-orange);top:20%;right:16%}
.hero-logo .b3{width:18px;height:18px;background:var(--j-rose);bottom:16%;left:20%}
.hero-logo .b4{width:12px;height:12px;background:var(--j-lilac);bottom:24%;right:12%}
.hero-logo .b5{width:10px;height:10px;background:var(--j-blue);top:48%;left:7%}
.hero-logo .b6{width:16px;height:16px;background:var(--j-mint);bottom:9%;right:30%}
.hero .lead + .lead{margin-top:-10px}
.trust.two{grid-template-columns:repeat(2,auto)}
@media (max-width:960px){.hero-logo{min-height:360px}}
@media (max-width:520px){.hero-logo{min-height:280px}.trust.two{grid-template-columns:1fr 1fr}}

/* espaços de foto editáveis */
.pslot{position:relative;overflow:hidden;background:var(--mist-2)}
.pslot > img{width:100%;height:100%;object-fit:cover;display:block}
.pslot .empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:20px;color:var(--ink-3);
  background:radial-gradient(120% 90% at 0% 0%,rgba(165,123,234,.20),transparent 60%),radial-gradient(120% 90% at 100% 100%,rgba(63,208,217,.20),transparent 60%),var(--mist)}
.pslot .empty::before{content:"";position:absolute;inset:10px;border:1.5px dashed rgba(122,117,150,.35);border-radius:14px;pointer-events:none}
.pslot .empty div{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:28ch;position:relative}
.pslot .empty svg{width:32px;height:32px;color:var(--j-lilac)}
.pslot .empty b{color:var(--ink);font-size:15px}
.pslot .empty small{font-size:13px;line-height:1.4}
.dark .pslot .empty{background:radial-gradient(120% 90% at 0% 0%,rgba(165,123,234,.28),transparent 60%),radial-gradient(120% 90% at 100% 100%,rgba(63,208,217,.18),transparent 60%),#322B5C;color:var(--on-ink-2)}
.dark .pslot .empty b{color:#fff}
.pslot .edit{position:absolute;top:12px;right:12px;z-index:3;display:flex;gap:6px}
.pslot .edit button{font:600 13px/1 var(--f-body);border:0;border-radius:999px;padding:8px 12px;cursor:pointer;background:rgba(255,255,255,.95);color:var(--ink);box-shadow:0 6px 16px -8px rgba(0,0,0,.4)}
.pslot .edit button:hover{background:#fff;color:var(--pink-ink)}
.pslot .edit button[disabled]{opacity:.6;cursor:wait}
/* carrossel */
.pslot .track{position:absolute;inset:0}
.pslot .track img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease}
.pslot .track img.on{opacity:1}
.pslot .nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--ink);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.pslot .nav-btn.prev{left:14px}.pslot .nav-btn.next{right:14px}
.pslot .dotsbar{position:absolute;left:0;right:0;bottom:16px;z-index:2;display:flex;justify-content:center;gap:7px}
.pslot .dotsbar button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.55);cursor:pointer}
.pslot .dotsbar button.on{background:#fff;width:22px;border-radius:999px}
.carousel{border-radius:var(--r-xl);aspect-ratio:16/8;box-shadow:0 30px 60px -30px rgba(37,31,71,.35)}
@media (max-width:700px){.carousel{aspect-ratio:4/3}}

/* destaque Jujuba Café na home */
.cafe-feature{margin-top:28px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);border-radius:var(--r-xl);overflow:hidden;background:var(--ink);color:var(--on-ink-2);text-decoration:none;position:relative}
.cafe-feature .pslot{min-height:380px}
.cafe-feature .txt{padding:48px;display:flex;flex-direction:column;gap:18px;justify-content:center}
.cafe-feature h3{color:#fff;font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:clamp(34px,4vw,50px);line-height:1.04;letter-spacing:-.02em}
.cafe-feature h3 em{font-style:italic;font-weight:500;color:#FF9ACB}
.cafe-feature .tag-new{align-self:flex-start;margin:0}
.cafe-feature .rainbow{height:6px;background:linear-gradient(90deg,var(--j-turq),var(--j-orange),var(--j-rose),var(--j-lilac),var(--j-blue),var(--j-mint));position:absolute;left:0;right:0;top:0;z-index:2}
@media (max-width:860px){.cafe-feature{grid-template-columns:1fr}.cafe-feature .pslot{min-height:260px}.cafe-feature .txt{padding:32px 26px}}

/* o que oferecemos nas festas */
.offer{margin-top:88px}
.offer-head{display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;margin-bottom:44px}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.offer-card{border-radius:var(--r-xl);padding:32px 28px;background:var(--bg);display:flex;flex-direction:column;gap:12px;min-width:0}
.offer-card .ic{width:60px;height:60px;border-radius:18px;background:#fff;color:var(--fg);display:grid;place-items:center;box-shadow:0 10px 20px -14px rgba(37,31,71,.5)}
.offer-card .ic svg{width:30px;height:30px}
.offer-card .n{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--fg)}
.offer-card b{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:25px;line-height:1.15;color:var(--ink)}
.offer-card span{font-size:15.5px;line-height:1.5;color:var(--ink-2)}
@media (max-width:960px){.offer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.offer-grid{grid-template-columns:1fr}.offer{margin-top:64px}}

/* eventos: onde levamos a equipe */
.places{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:64px}
.place{display:flex;align-items:center;gap:12px;background:#fff;border-radius:var(--r-lg);padding:18px 18px;border:1px solid var(--rule);font-weight:700;color:var(--ink);font-size:16.5px;line-height:1.25;min-width:0}
.place i{flex:none;width:12px;height:12px;border-radius:50%;background:var(--c)}
@media (max-width:560px){.place{flex:1 1 calc(50% - 6px);font-size:15px;padding:14px}}
.ev-grid.two{grid-template-columns:1fr 1fr}
.ev-grid figure .pslot{position:absolute;inset:0}

/* páginas internas */
.page-hero{background:linear-gradient(180deg,#fff 0%,var(--mist) 100%)}
.page-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center;padding-block:64px 88px}
.page-hero .copy{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.page-hero h1{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:clamp(40px,5.4vw,68px);line-height:1.02;letter-spacing:-.03em}
.page-hero h1 em{font-style:italic;font-weight:500;color:var(--pink)}
.page-hero .pslot{border-radius:var(--r-xl);aspect-ratio:5/4;box-shadow:0 30px 60px -30px rgba(37,31,71,.35)}
@media (max-width:960px){.page-hero .wrap{grid-template-columns:1fr;gap:36px;padding-block:36px 64px}}
.feat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.feat{border-radius:var(--r-xl);padding:30px 26px;background:#fff;border:1px solid var(--rule);display:flex;flex-direction:column;gap:10px}
.feat .ic{width:52px;height:52px;border-radius:16px;background:var(--bg);color:var(--fg);display:grid;place-items:center}
.feat .ic svg{width:26px;height:26px}
.feat b{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:22px;color:var(--ink);line-height:1.2}
.feat span{font-size:15.5px;color:var(--ink-3);line-height:1.5}
@media (max-width:860px){.feat-grid{grid-template-columns:1fr}}
.pics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pics .pslot{border-radius:var(--r-lg);aspect-ratio:1/1}
@media (max-width:700px){.pics{grid-template-columns:1fr 1fr}}
.band-cta{border-radius:var(--r-xl);background:linear-gradient(120deg,var(--pink) 0%,#C2189B 100%);color:#fff;padding:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 40px;align-items:center}
.band-cta h3{color:#fff;font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:clamp(26px,3.4vw,40px);line-height:1.1}
.band-cta p{color:rgba(255,255,255,.88);margin-top:10px}
.band-cta .btn-light{color:var(--pink-ink)}
@media (max-width:760px){.band-cta{grid-template-columns:1fr;padding:32px 24px}}
.nav a.is-cafe[aria-current="page"]{color:var(--pink-ink);background:linear-gradient(var(--pink-tint),var(--pink-tint)) padding-box,linear-gradient(100deg,var(--j-turq),var(--j-orange),var(--j-rose),var(--j-lilac),var(--j-blue)) border-box}

/* ===== revisão 3 ===== */
/* fundo em degradê lilás, rosa e azul da logomarca */
:root{--grad:linear-gradient(180deg,#EEE4FB 0%,#FBE1EF 18%,#E0EEFB 36%,#EEE4FB 54%,#FBE1EF 72%,#E0EEFB 90%,#EEE4FB 100%)}
html{background:#EEE4FB}
body{background:var(--grad)}
body::before{background:#EEE4FB}
.hero,.page-hero,.section.mist{background:transparent}
.top{background:rgba(255,255,255,.86)}
/* logomarca direto no fundo, sem cartão */
.hero-logo{background:none;box-shadow:none;border-radius:0}
.hero-logo img{width:min(92%,520px)}
/* horário com rótulo em cima */
.trust span{display:block}
.trust div > span:first-child{margin-bottom:2px}
/* cards do que oferecemos: só o item */
.offer-card{align-items:center;text-align:center;justify-content:center;gap:16px;padding:36px 24px;min-height:190px}
.offer-card .ic{width:68px;height:68px;border-radius:50%}
.offer-card b{font-size:24px}
/* blocos brancos levemente translúcidos para combinar com o fundo */
.faq details{border-color:rgba(37,31,71,.12)}
footer{border-top-color:rgba(37,31,71,.12)}
.offer-card{background:#fff;box-shadow:0 20px 40px -28px rgba(37,31,71,.35)}
.offer-card .ic{background:var(--bg);box-shadow:none}
/* ===== revisão 4 ===== */
/* logo do topo editável, sem fundo */
.hero-logo .logo-slot{background:none;width:min(92%,520px);aspect-ratio:1/1;overflow:visible}
.hero-logo .logo-slot > img{object-fit:contain;width:100%;height:100%}
.hero-logo .logo-slot .empty{border-radius:var(--r-xl)}
/* locais na mesma linha */
.places{flex-wrap:nowrap;gap:10px}
.place{flex:1 1 0;justify-content:center;text-align:center;white-space:nowrap;padding:16px 12px;font-size:15px;gap:8px}
.place i{width:10px;height:10px}
@media (max-width:1100px){
  .places{overflow-x:auto;scrollbar-width:none;margin-left:calc(-1 * var(--gl));margin-right:calc(-1 * var(--gr));padding:0 var(--gr) 4px var(--gl)}
  .places::-webkit-scrollbar{display:none}
  .place{flex:0 0 auto}
}
@media (max-width:560px){.place{flex:0 0 auto;font-size:14.5px;padding:13px 14px}}
/* carrossel das festas mais baixo */
.carousel{aspect-ratio:12/5}
@media (max-width:700px){.carousel{aspect-ratio:4/3}}
.place{flex:1 1 auto;padding:15px 10px}
/* mapa no lugar da foto da fachada */
.pslot .map-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.pslot .map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px;text-decoration:none;color:var(--ink);
  background:
    repeating-linear-gradient(0deg,transparent 0 38px,rgba(37,31,71,.06) 38px 40px),
    repeating-linear-gradient(90deg,transparent 0 38px,rgba(37,31,71,.06) 38px 40px),
    linear-gradient(135deg,#EEE4FB,#E0EEFB)}
.pslot .map-fallback .pin{width:56px;height:56px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;box-shadow:0 12px 24px -10px rgba(229,24,126,.7)}
.pslot .map-fallback .pin svg{width:28px;height:28px}
.pslot .map-fallback b{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:24px}
.pslot .map-fallback .addr{font-size:15px;color:var(--ink-2)}
.pslot .map-fallback .go{margin-top:6px;font-weight:700;font-size:15px;color:var(--pink-ink);border-bottom:2px solid var(--pink)}
/* selo empresa amiga do autista */
.badge-aut{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:999px;padding:9px 18px 9px 12px;font-weight:700;font-size:15px;color:var(--ink);box-shadow:0 10px 24px -16px rgba(37,31,71,.45)}
.badge-aut svg{width:30px;height:30px;flex:none}
.price .tea{margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;border-radius:var(--r-md);padding:14px 16px;background:linear-gradient(100deg,#E0F8F9,#FDE7F2 55%,#ECE8F6)}
.price .tea .badge-aut{box-shadow:none;padding:7px 14px 7px 10px;font-size:14px}
.price .tea .badge-aut svg{width:26px;height:26px}
.price .tea p{font-size:15px;color:var(--ink);line-height:1.4}
.price .tea{justify-content:center}
/* ===== revisão 5: cards no estilo do portfólio ===== */
.offer-card{background:#BDEFFB;box-shadow:none;border-radius:26px;min-height:210px;padding:30px 20px;gap:12px}
.offer-card .ic{width:auto;height:auto;background:none;border-radius:0;color:#E5187E}
.offer-card .ic svg{width:58px;height:58px;stroke-width:1.4}
.offer-card b{font-family:"Dancing Script",cursive;font-weight:700;font-size:34px;line-height:1.1;color:#1E8FE0;letter-spacing:0}
@media (max-width:560px){.offer-card{min-height:170px}.offer-card b{font-size:30px}}
.offer-card b{font-family:var(--f-display);font-variation-settings:"SOFT" 100;font-weight:600;font-size:24px;line-height:1.2;letter-spacing:-.01em}
@media (max-width:560px){.offer-card b{font-size:22px}}
