:root{--g:#13a538;--o:#ef7d00;--y:#ffd500;--k:#171717;--c:#fffdf6;--m:#666}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial;color:var(--k);line-height:1.55}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}header{position:absolute;width:100%;z-index:5;padding:20px 0}.nav{display:flex;justify-content:space-between;align-items:center}.nav img{width:170px}.nav nav{display:flex;gap:25px;align-items:center}.nav a{color:var(--k);font-size:.82rem;font-weight:800;text-decoration:none}.navbtn{background:#171717;color:#fff!important;padding:12px 18px;border-radius:30px}#menu{display:none;border:0;background:none;font-size:25px}.hero{min-height:760px;background:var(--c);padding:145px 0 70px;position:relative;overflow:hidden}.heroGrid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px;position:relative;z-index:1}.kicker{font-size:.72rem;font-weight:900;letter-spacing:.13em;color:var(--g)}h1{font-size:clamp(4rem,8vw,7.5rem);line-height:.86;letter-spacing:-.08em;margin:15px 0 28px;font-weight:900}h1 em,h2 span{color:var(--g);font-style:italic}.lead{font-size:1.06rem;max-width:580px;color:#444}.actions{display:flex;align-items:center;gap:25px;margin:30px 0}.btn{display:inline-block;padding:16px 23px;border:0;border-radius:40px;text-decoration:none;font:800 .85rem Montserrat;color:#fff;cursor:pointer}.orangeBtn{background:var(--o)}.greenBtn{background:var(--g)}.link{color:var(--k);font-size:.84rem;font-weight:800;text-decoration:none}.pill{display:inline-flex;gap:15px;padding:10px 16px;background:#fff;border:1px solid #ddd;border-radius:14px;font-size:.72rem}.pill span{padding-left:15px;border-left:1px solid #ddd;color:var(--m)}.art{height:500px;position:relative}.ring{position:absolute;inset:25px;border:2px dashed #2223;border-radius:50%}.core{position:absolute;inset:85px 75px;background:var(--g);border-radius:50% 45% 55% 45%;display:grid;place-items:center;align-content:center;color:#fff;transform:rotate(-5deg);box-shadow:20px 22px 0 var(--y)}.core strong{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;background:var(--o);font-size:3.2rem;font-style:italic}.core p{text-align:center;font-weight:800}.float{position:absolute;background:#fff;padding:11px 15px;border-radius:13px;box-shadow:0 12px 30px #0002;font-size:.72rem;font-weight:800}.f1{top:25px;right:0}.f2{bottom:50px;left:0}.f3{bottom:8px;right:35px}.blob{position:absolute;border-radius:50%}.orange{background:var(--o);width:250px;height:250px;right:-80px;top:-130px}.yellow{background:var(--y);width:180px;height:180px;left:35%;bottom:-100px}.intro{padding:105px 0;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.intro p{color:var(--m)}h2{font-size:clamp(2.35rem,4.5vw,4.5rem);line-height:.98;letter-spacing:-.06em;margin:0;font-weight:900}.attractions{background:#f4f3ee;padding:95px 0}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:40px}.cards article{min-height:275px;padding:25px;border-radius:24px;display:flex;flex-direction:column;justify-content:end;transition:.25s}.cards article:hover{transform:translateY(-7px)}.cards b{width:55px;height:55px;display:grid;place-items:center;border-radius:17px;background:#fff;color:var(--k);font-size:1.8rem;margin-bottom:auto}.cards h3{font-size:1.4rem;margin:18px 0 5px}.cards p{font-size:.8rem;margin:0}.green{background:var(--g);color:#fff}.orangeCard{background:var(--o);color:#fff}.yellowCard{background:var(--y)}.dark{background:var(--k);color:#fff}.parents{padding:110px 0}.parentGrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:center}.badge{background:var(--o);color:#fff;padding:45px 35px;border-radius:35px;transform:rotate(-3deg);box-shadow:18px 20px 0 var(--y)}.badge small{font-weight:900;letter-spacing:.12em}.badge strong{display:block;font-size:clamp(2.3rem,4vw,4rem);line-height:.95;letter-spacing:-.06em;margin-top:18px}.badge i{color:var(--y)}.checks{margin-top:30px}.checks p{padding:15px 0;border-top:1px solid #e5e5e5;color:var(--m);font-size:.85rem}.checks b{color:var(--o);margin-right:15px}.checks strong{color:var(--k)}.news{padding-bottom:110px}.newsbox{background:var(--y);border-radius:35px;padding:55px;display:flex;justify-content:space-between;align-items:center;gap:40px}.newsbox>div>p:last-child{max-width:600px}.contact{background:var(--c);padding:105px 0}.contactGrid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contactGrid>div>p:last-child{color:var(--m)}form{background:#fff;padding:28px;border-radius:25px;box-shadow:0 15px 40px #0000000d}label{display:block;font-size:.72rem;font-weight:800;margin-bottom:15px}input{display:block;width:100%;padding:15px;margin-top:6px;border:1px solid #ddd;border-radius:12px;font:inherit}form button{width:100%;margin-top:5px}form small{display:block;color:#777;font-size:.6rem;margin-top:13px}footer{background:var(--k);color:#fff;padding:38px 0}.foot{display:flex;align-items:center;justify-content:space-between;gap:25px}.foot img{width:140px;filter:brightness(0) invert(1)}.foot p,.foot a{font-size:.7rem;color:#bbb}.foot a{color:var(--y);font-weight:800;text-decoration:none}@media(max-width:850px){header{position:relative;background:#fff}.nav nav{display:none}.nav nav.open{display:flex;position:absolute;top:70px;left:20px;right:20px;background:#fff;padding:20px;border-radius:18px;box-shadow:0 15px 35px #0002;flex-direction:column}#menu{display:block}.hero{padding-top:70px;min-height:auto}.heroGrid,.intro,.parentGrid,.contactGrid{grid-template-columns:1fr}.art{height:400px}.core{inset:65px 55px}.intro{gap:25px}.cards{grid-template-columns:repeat(2,1fr)}.parentGrid{gap:70px}.newsbox{display:block}.newsbox .btn{margin-top:25px}.contactGrid{gap:45px}.foot{flex-direction:column;text-align:center}}@media(max-width:520px){.wrap{width:min(100% - 28px,1160px)}.nav img{width:140px}h1{font-size:3.6rem}.actions{flex-direction:column;align-items:flex-start}.pill{display:block}.pill span{display:block;border:0;padding:4px 0}.art{height:320px}.core{inset:55px 28px}.core strong{width:110px;height:110px;font-size:2.3rem}.cards{grid-template-columns:1fr}.cards article{min-height:220px}.intro,.attractions,.parents,.contact{padding:75px 0}.news{padding-bottom:75px}.newsbox{padding:28px;border-radius:24px}}

/* v0.3 — movimento e novidades */
header{transition:background .3s,box-shadow .3s}
header.scrolled{position:fixed;background:#fffdf6eF;backdrop-filter:blur(12px);box-shadow:0 8px 25px #0000000b;padding:10px 0}
header.scrolled .nav img{width:135px}
.heroGrid>div:first-child,.art,.intro>*,.cards article,.parentGrid>*,.newsbox>*,.contactGrid>*{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.heroGrid>div:first-child,.art{opacity:1;transform:none}
.reveal{opacity:1!important;transform:none!important}
.cards article{transition:transform .35s ease,box-shadow .35s ease,opacity .7s ease}
.cards article:hover{transform:translateY(-12px) rotate(-1deg);box-shadow:0 20px 35px #0003}
.btn{transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 22px #0002}
.art{animation:floatArt 5s ease-in-out infinite}
.core{animation:pulseCore 3.5s ease-in-out infinite}
.float{animation:floatTag 4s ease-in-out infinite}
.f2{animation-delay:.8s}.f3{animation-delay:1.5s}
@keyframes floatArt{50%{transform:translateY(-10px)}}@keyframes pulseCore{50%{box-shadow:26px 27px 0 var(--y)}}@keyframes floatTag{50%{transform:translateY(-8px)}}
.progress{background:#f4f3ee;padding:105px 0}
.progressGrid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.progressGrid .lead{margin-bottom:28px}
.progressBoard{position:relative;background:var(--k);color:#fff;border-radius:32px;padding:38px;box-shadow:18px 20px 0 var(--g);overflow:hidden}
.progressBoard:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:var(--o);right:-80px;bottom:-90px;opacity:.9}
.progressTop{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;letter-spacing:.12em;font-weight:900}
.progressTop b{background:var(--y);color:var(--k);padding:8px 11px;border-radius:20px}
.track{height:13px;background:#fff2;border-radius:20px;margin:40px 0 28px;overflow:hidden}.track i{display:block;width:72%;height:100%;background:linear-gradient(90deg,var(--g),var(--y));border-radius:20px;animation:load 2s ease}
@keyframes load{from{width:0}}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;position:relative;z-index:1}.steps div{display:grid;gap:6px;font-size:.65rem;color:#aaa}.steps b{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff2;color:#fff}.steps .done b{background:var(--g)}.steps .now b{background:var(--o);animation:blink 1.5s infinite}@keyframes blink{50%{transform:scale(1.12)}}
.progressBoard>p{font-size:.72rem;color:#ccc;margin:28px 0 0}.spark{position:absolute;color:var(--y);font-size:2rem;animation:spin 6s linear infinite}.s1{top:55px;right:28px}.s2{bottom:25px;left:25px;color:var(--g)}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:850px){.progressGrid{grid-template-columns:1fr;gap:50px}}@media(max-width:520px){.progress{padding:75px 0}.progressBoard{padding:25px}.progressTop{gap:12px}.steps{grid-template-columns:repeat(2,1fr);row-gap:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}


/* =========================================================
   v0.4 — ligações visuais entre módulos e bolas decorativas
   ========================================================= */

/* Cada secção passa a poder receber elementos gráficos próprios */
.decor-section{position:relative;overflow:hidden}
.decor-section>.wrap{position:relative;z-index:2}

/* Linguagem gráfica Tic Tac Go */
.decor-ball{
  position:absolute;
  display:block;
  border-radius:50%;
  pointer-events:none;
  z-index:1;
  opacity:.98;
  box-shadow:0 18px 40px rgba(0,0,0,.06);
}
.ball-yellow{background:var(--y)}
.ball-green{background:var(--g)}
.ball-orange{background:var(--o)}

/* INTRO — pequeno detalhe escondido na margem */
.intro{position:relative}
.intro-ball{
  width:74px;height:74px;
  right:-32px;top:42px;
  opacity:.14;
}

/* ATRAÇÕES — pequenos detalhes que preenchem sem roubar atenção */
.attractions-ball{
  width:150px;height:150px;
  left:-78px;bottom:55px;
  opacity:.9;
}
.attractions-mini{
  width:42px;height:42px;
  right:6%;top:62px;
  opacity:.85;
}

/* PAIS — bola parcialmente escondida, para dar continuidade */
.parents{position:relative}
.parents-ball{
  width:118px;height:118px;
  right:-55px;top:38%;
  opacity:.16;
}

/* 
   CORREÇÃO PRINCIPAL PEDIDA:
   mais espaço entre "O parque está a ganhar vida" e o módulo amarelo.
   A bola grande começa no módulo cinzento e atravessa a transição,
   criando a ligação visual que combinámos.
*/
.progress{
  padding:115px 0 155px;
  position:relative;
}
.bridge-ball{
  width:230px;height:230px;
  left:9%;
  bottom:-118px;
  z-index:3;
  box-shadow:0 22px 45px rgba(0,0,0,.08);
}
.progress-ball{
  width:58px;height:58px;
  right:5%;top:70px;
  opacity:.75;
}

/* O módulo amarelo ganha "respiração" e recebe a bola vinda de cima */
.news{
  position:relative;
  padding:95px 0 120px;
  overflow:visible;
  background:#fff;
}
.newsbox{
  position:relative;
  z-index:4;
}
.news-ball{
  width:96px;height:96px;
  right:8%;bottom:38px;
  opacity:.15;
}
.news-mini{
  width:32px;height:32px;
  left:4%;top:28px;
  opacity:.8;
}

/* CONTACTO — detalhes suaves nas margens */
.contact{position:relative}
.contact-ball{
  width:135px;height:135px;
  left:-65px;bottom:65px;
  opacity:.12;
}
.contact-mini{
  width:48px;height:48px;
  right:6%;top:52px;
  opacity:.2;
}

/* Pequeno movimento orgânico: muito subtil, sem distrair */
.decor-ball{animation:decorFloat 8s ease-in-out infinite}
.attractions-mini,.progress-ball,.news-mini,.contact-mini{animation-duration:6s}
.intro-ball,.parents-ball,.news-ball,.contact-ball{animation-duration:10s}
@keyframes decorFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-10px,0)}
}

/* Melhor ligação entre o fim de um módulo e o início do seguinte */
.progress + .news{margin-top:0}

/* Mais profundidade nos cartões, mantendo o efeito que o utilizador aprovou */
.cards article:hover{
  box-shadow:0 22px 42px rgba(0,0,0,.20);
}

/* Tablets */
@media(max-width:850px){
  .progress{padding-bottom:135px}
  .bridge-ball{
    width:180px;height:180px;
    left:6%;bottom:-90px;
  }
  .attractions-ball{width:105px;height:105px;left:-52px}
  .parents-ball{width:90px;height:90px}
}

/* Telemóvel */
@media(max-width:520px){
  .intro-ball{width:52px;height:52px;right:-25px}
  .attractions-ball{width:75px;height:75px;left:-38px;bottom:28px}
  .attractions-mini{width:28px;height:28px;right:4%;top:35px}
  .parents-ball{width:65px;height:65px;right:-30px}
  .progress{padding:85px 0 125px}
  .bridge-ball{
    width:130px;height:130px;
    left:50%;bottom:-65px;
    transform:translateX(-50%);
  }
  .news{padding:78px 0 88px}
  .news-ball{width:62px;height:62px;right:-18px;bottom:25px}
  .news-mini{width:24px;height:24px;left:5%;top:22px}
  .contact-ball{width:85px;height:85px;left:-42px;bottom:30px}
  .contact-mini{width:32px;height:32px;right:4%;top:35px}
}

/* Respeitar utilizadores que preferem menos movimento */
@media(prefers-reduced-motion:reduce){
  .decor-ball{animation:none!important}
}

/* =========================================================
   v0.4.1 — bolas decorativas: sem cortes acidentais
   ========================================================= */
/* As bolas só podem ser cortadas pelo limite exterior da janela.
   Nunca por uma section/module que esteja a meio da página. */
html,body{overflow-x:clip}
.decor-section{overflow:visible}

/* O hero é uma composição fechada; os módulos decorativos seguintes não são. */
.hero{overflow:hidden}

/* A bola de ligação pode atravessar a fronteira entre módulos sem ser aparada. */
.progress{overflow:visible;z-index:3}
.progress>.wrap{z-index:4}
.bridge-ball{z-index:10}
.news{overflow:visible;position:relative;z-index:1}

/* Evita que uma animação substitua o posicionamento horizontal no mobile. */
@media(max-width:520px){
  .bridge-ball{
    left:calc(50% - 65px);
    transform:none;
  }
}


/* =========================================================
   v0.5 — atrações interativas + bloco "Para os pais"
   ========================================================= */

.v05-attractions{position:relative}
.v05-grid{gap:18px}
.v05-card{
  position:relative;
  overflow:hidden;
  min-height:340px;
  cursor:pointer;
  transform:translateZ(0);
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}
.v05-card::after{
  content:"";
  position:absolute;
  width:190px;height:190px;
  border-radius:50%;
  right:-90px;top:-90px;
  background:rgba(255,255,255,.14);
  transition:transform .45s ease;
}
.v05-card:hover{
  transform:translateY(-10px) rotate(-.6deg);
  box-shadow:0 24px 50px rgba(0,0,0,.16);
}
.v05-card:hover::after{transform:scale(1.35)}
.v05-number{
  position:absolute;
  top:25px;right:26px;
  font-size:.72rem;
  font-weight:900;
  opacity:.62;
}
.v05-card .icon{
  position:relative;
  z-index:2;
  transition:transform .35s ease;
}
.v05-card:hover .icon{transform:rotate(7deg) scale(1.08)}
.v05-card-copy{position:relative;z-index:2}
.v05-card h3{transition:transform .35s ease}
.v05-card:hover h3{transform:translateX(5px)}
.v05-more{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:14px;
  font-size:.72rem;
  font-weight:900;
  opacity:.75;
}
.v05-more b{font-size:1rem;transition:transform .25s ease}
.v05-card:hover .v05-more b{transform:translateX(5px)}

.v05-lead{
  max-width:590px;
  color:var(--m);
  margin:22px 0 4px;
  font-size:1rem;
}

.v05-parents .trust-badge{
  transition:transform .35s ease, box-shadow .35s ease;
}
.v05-parents .trust-badge:hover{
  transform:rotate(-2deg) translateY(-5px);
  box-shadow:20px 24px 0 var(--y);
}
.v05-parents .trust-list>div{
  transition:transform .25s ease, padding-left .25s ease;
}
.v05-parents .trust-list>div:hover{
  transform:translateX(5px);
  padding-left:6px;
}

/* Pequena linha de ligação visual antes das atrações */
.v05-attractions .section-heading{
  position:relative;
  z-index:2;
}

/* Acessibilidade: foco visível */
.v05-card:focus-within{
  outline:3px solid var(--y);
  outline-offset:4px;
}

@media(max-width:850px){
  .v05-card{min-height:290px}
}
@media(max-width:520px){
  .v05-card{min-height:250px}
  .v05-card:hover{transform:translateY(-5px)}
  .v05-lead{font-size:.9rem}
}


/* =========================================================
   v0.5.1 — correção estrutural do layout
   ========================================================= */
.container{width:min(1160px,calc(100% - 40px));margin:0 auto}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px}
.section-heading>p{max-width:360px;color:var(--m);font-size:.82rem;margin:0}
.section-kicker{font-size:.72rem;font-weight:900;letter-spacing:.13em;color:var(--g);margin:0 0 12px}
.v05-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:42px}
.v05-card{display:flex;flex-direction:column;justify-content:space-between;padding:28px;border-radius:24px;color:var(--k)}
.v05-green{background:var(--g);color:#fff}
.v05-orange{background:var(--o);color:#fff}
.v05-yellow{background:var(--y);color:var(--k)}
.v05-dark{background:var(--k);color:#fff}
.v05-card .icon{width:58px;height:58px;border-radius:18px;background:#fff;color:var(--k);display:grid;place-items:center;font-size:1.8rem;font-weight:900}
.v05-card h3{font-size:1.45rem;margin:18px 0 5px;line-height:1.05}
.v05-card p{font-size:.8rem;margin:0;max-width:230px}
.v05-parents .parents-copy{min-width:0}
.v05-parents .trust-badge{min-height:330px;display:flex;flex-direction:column;justify-content:center}
.v05-parents .trust-list{margin-top:30px}
.v05-parents .trust-list>div{display:flex;align-items:flex-start;gap:15px;padding:15px 0;border-top:1px solid #e5e5e5}
.v05-parents .trust-list>div:last-child{border-bottom:1px solid #e5e5e5}
.v05-parents .trust-list b{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--o);color:#fff;font-size:.7rem}
.v05-parents .trust-list p{margin:0;color:var(--m);font-size:.82rem}
.v05-parents .trust-list strong{color:var(--k)}
.v05-lead{max-width:590px;color:var(--m);margin:22px 0 4px;font-size:1rem}
@media(max-width:850px){
  .v05-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-heading{display:block}
  .section-heading>p{margin-top:18px}
}
@media(max-width:520px){
  .container{width:min(100% - 28px,1160px)}
  .v05-grid{grid-template-columns:1fr}
  .v05-card{min-height:250px}
}


/* Newsletter / contacto */
.contact form { position: relative; }
.contact .consent { display:flex; flex-direction:row; align-items:flex-start; gap:10px; font-size:12px; line-height:1.45; }
.contact .consent input { width:18px; min-width:18px; height:18px; margin-top:1px; accent-color:var(--g); }
.contact .consent span { color:var(--muted); }
.contact .hp { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; }
.contact button:disabled { opacity:.65; cursor:wait; transform:none; }

/* =========================================================
   v0.6 — festas de aniversário
   ========================================================= */
.parties{background:var(--c);padding:115px 0;overflow:visible}
.partiesGrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center;position:relative;z-index:2}
.partyVisual{min-height:480px;position:relative;background:var(--g);border-radius:38px;overflow:hidden;box-shadow:18px 20px 0 var(--y);transform:rotate(-1deg)}
.partyVisual:before{content:"";position:absolute;width:310px;height:310px;border-radius:50%;background:var(--o);right:-105px;top:-105px}
.partyVisual:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:var(--y);left:-65px;bottom:-65px}
.partySticker{position:absolute;left:42px;top:42px;background:#fff;border-radius:26px;padding:25px 28px;z-index:2;box-shadow:12px 15px 0 #0002;transform:rotate(-4deg)}
.partySticker span{display:block;font-size:.65rem;letter-spacing:.15em;font-weight:900;color:var(--o);margin-bottom:10px}
.partySticker strong{display:block;font-size:2.7rem;line-height:.88;letter-spacing:-.07em}
.partySticker em{color:var(--g);font-style:italic}
.partyCircle{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:205px;height:205px;border-radius:50%;background:var(--y);display:grid;place-items:center;font-size:6rem;z-index:2;box-shadow:0 18px 0 #0002;animation:partyFloat 4s ease-in-out infinite}
.partyTag{position:absolute;background:#fff;padding:11px 16px;border-radius:15px;font-size:.7rem;font-weight:900;z-index:3;box-shadow:0 12px 25px #0002}
.tag1{right:35px;top:145px;transform:rotate(4deg)}
.tag2{left:35px;bottom:55px;transform:rotate(-4deg)}
.tag3{right:38px;bottom:45px;background:var(--k);color:#fff;font-size:1.1rem;transform:rotate(5deg)}
@keyframes partyFloat{50%{transform:translate(-50%,-56%) rotate(4deg)}}
.partyCopy h2{margin-bottom:22px}
.partyCopy>p:not(.section-kicker){color:var(--m);max-width:600px;font-size:1rem}
.partyPoints{margin:30px 0 32px}
.partyPoints>div{display:flex;gap:15px;padding:14px 0;border-top:1px solid #e5e5e5}
.partyPoints>div:last-child{border-bottom:1px solid #e5e5e5}
.partyPoints b{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--o);color:#fff;font-size:.7rem}
.partyPoints p{margin:0;color:var(--m);font-size:.82rem}
.partyPoints strong{color:var(--k)}
.partyContact{background:#f4f3ee;padding:105px 0;position:relative}
.partyContactGrid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.partyContactGrid>div>p:last-child{color:var(--m);max-width:570px}
.partyContact form textarea{display:block;width:100%;resize:vertical;min-height:100px;padding:15px;margin-top:6px;border:1px solid #ddd;border-radius:12px;font:inherit}
.partyContact .optional{font-weight:600;color:#999}
.partyContact .consent{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:12px;line-height:1.45}
.partyContact .consent input{width:18px;min-width:18px;height:18px;margin-top:1px;accent-color:var(--g)}
.partyContact .consent span{color:var(--m)}
.partyContact .hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.partyContact button{width:100%;margin-top:5px}
@media(max-width:850px){
  .parties{padding:85px 0}
  .partiesGrid,.partyContactGrid{grid-template-columns:1fr;gap:60px}
  .partyVisual{min-height:430px}
  .partyContact{padding:85px 0}
}
@media(max-width:520px){
  .partyVisual{min-height:360px;border-radius:28px;box-shadow:12px 14px 0 var(--y)}
  .partySticker{left:20px;top:20px;padding:18px 20px}
  .partySticker strong{font-size:2rem}
  .partyCircle{width:145px;height:145px;font-size:4.2rem}
  .tag1{right:15px;top:115px}
  .tag2{left:15px;bottom:38px}
  .tag3{right:18px;bottom:25px}
  .partyContactGrid{gap:40px}
}

/* v0.7 — experiência / galeria */
.experience{position:relative;padding:105px 0 90px;background:#fffdf6;overflow:visible}
.experience-heading{margin-bottom:34px;align-items:end}
.experience-heading>p{max-width:470px}
.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;z-index:2}
.experience-card{min-height:405px;border-radius:28px;overflow:hidden;box-shadow:0 12px 35px rgba(23,23,23,.08);transition:transform .28s ease,box-shadow .28s ease;background:#fff;position:relative}
.experience-card:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(23,23,23,.15)}
.experience-art{height:250px;position:relative;overflow:hidden}
.experience-art>b{position:absolute;top:18px;right:20px;font-size:14px;letter-spacing:.08em;opacity:.65}
.experience-copy{padding:24px 24px 27px}
.experience-copy p{font-size:11px;font-weight:900;letter-spacing:.14em;margin:0 0 7px;opacity:.65}
.experience-copy h3{font-size:25px;margin:0 0 7px;letter-spacing:-.04em}
.experience-copy span{font-size:14px;font-weight:600;opacity:.72}
.experience-card-green .experience-art{background:#13a538}
.experience-card-orange .experience-art{background:#ef7d00}
.experience-card-yellow .experience-art{background:#ffd500}
.experience-card-dark .experience-art{background:#171717;color:#fff}
.experience-card-green .experience-copy h3{color:#13a538}
.experience-card-orange .experience-copy h3{color:#ef7d00}
.experience-card-yellow .experience-copy h3{color:#b28700}
.experience-card-dark .experience-copy h3{color:#171717}
.experience-orbit{position:absolute;width:230px;height:230px;border:28px solid rgba(255,255,255,.9);border-radius:50%;left:-55px;top:35px;transform:rotate(-18deg)}
.experience-dot{position:absolute;width:74px;height:74px;border-radius:50%;background:#ffd500;right:34px;bottom:40px}
.experience-arrow{position:absolute;right:65px;top:70px;font-size:78px;font-weight:900;line-height:1;color:#fff;transform:rotate(-8deg)}
.experience-ring{position:absolute;width:165px;height:165px;border:24px solid #ffd500;border-radius:50%;left:38px;top:35px}
.experience-spark{position:absolute;font-size:64px;right:34px;top:32px;color:#fff}
.experience-bounce{position:absolute;font-size:110px;font-weight:900;left:88px;bottom:15px;color:#fff;line-height:1}
.experience-cloud{position:absolute;width:210px;height:110px;background:#fff;border-radius:90px;left:20px;bottom:36px;box-shadow:45px -35px 0 -8px #fff,105px -10px 0 -2px #fff}
.experience-ball-shape{position:absolute;width:76px;height:76px;border-radius:50%;background:#13a538;right:30px;top:45px}
.experience-star{position:absolute;font-size:54px;right:52px;bottom:62px;color:#ef7d00}
.experience-screen{position:absolute;width:190px;height:135px;border:15px solid #fff;border-radius:20px;left:30px;top:52px;transform:rotate(-5deg)}
.experience-screen:after{content:"";position:absolute;width:55px;height:8px;border-radius:10px;background:#fff;bottom:-34px;left:53px}
.experience-cross{position:absolute;font-size:80px;font-weight:900;right:30px;top:42px;color:#ffd500}
.experience-cursor{position:absolute;font-size:95px;font-weight:900;right:48px;bottom:25px;color:#13a538;transform:rotate(-25deg)}
.experience-note{display:flex;align-items:center;gap:16px;max-width:760px;margin:28px auto 0;padding:18px 22px;border:1px solid #e9e7df;border-radius:18px;background:#fff;position:relative;z-index:2}
.experience-note>span{font-size:25px}
.experience-note p{margin:0;font-size:13px;line-height:1.6;color:#656565}
.experience-ball{position:absolute;right:3%;top:34px;width:70px;height:70px}
.experience-mini{position:absolute;left:4%;bottom:110px;width:34px;height:34px}
@media(max-width:900px){.experience-grid{grid-template-columns:repeat(2,1fr)}.experience-card{min-height:370px}}
@media(max-width:600px){.experience{padding:75px 0 65px}.experience-grid{grid-template-columns:1fr}.experience-card{min-height:350px}.experience-art{height:220px}.experience-heading{display:block}.experience-heading>p{margin-top:18px}.experience-note{align-items:flex-start;margin-left:4px;margin-right:4px}.experience-ball{right:5%;top:18px;width:50px;height:50px}.experience-mini{left:3%;bottom:55px;width:28px;height:28px}}
