:root{--purple:#2A9D8F;--deep:#102A26;--pink:#E63946;--pink-dark:#B52532;--cyan:#D5EDE7;--yellow:#FFB703;--lime:#FFF0CA;--cream:#fff9e9;--lilac:#E4F2EC;--text:#102A26}
.site-header{background:#fff9e9;border-bottom:3px solid var(--deep);padding-block:13px}.christmas-brand>strong{color:#E63946}.christmas-brand>span{color:var(--deep)}.button{border-radius:15px;font-weight:900;box-shadow:4px 5px 0 var(--deep);transition:transform .18s,box-shadow .18s}.button:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:6px 8px 0 var(--deep)}.button:active{transform:translateY(1px);box-shadow:2px 2px 0 var(--deep)}.site-header>.header-actions>.button{background:#E63946;color:white;border:2px solid var(--deep)}
.wonder-hero{position:relative;background:#2A9D8F;color:white;text-align:center;padding:77px 0 0;overflow:hidden;isolation:isolate}.wonder-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(#ffffff14 2px,transparent 2px);background-size:28px 28px;z-index:-1}.wonder-head{position:relative;z-index:3}.wonder-eyebrow{display:inline-block;padding:8px 18px;border:2px solid #102A26;background:var(--cream);color:var(--deep);border-radius:40px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:900;transform:rotate(-3deg);box-shadow:4px 4px 0 #102A26}.wonder-hero h1{font-family:var(--display);font-weight:700;font-size:clamp(86px,12.5vw,180px);line-height:1.13;letter-spacing:-.065em;margin-top:15px;color:var(--cream);text-shadow:5px 7px 0 #102A26}.wonder-hero h1>span{display:inline-block}.wonder-hero h1>span:first-child{font-size:.65em;vertical-align:10%}.wonder-hero .letter{animation:letter-bounce 4s ease-in-out infinite;transform-origin:bottom center}.wonder-hero .n{color:#FFB703;animation-delay:-.1s}.wonder-hero .a{color:#E63946;animation-delay:-.35s}.wonder-hero .t{color:#2A9D8F;animation-delay:-.6s}.wonder-hero .a2{color:#fff9e9;animation-delay:-.85s}.wonder-hero .l{color:#FFB703;animation-delay:-1.1s}.wonder-hero .exclamation{color:#E63946;transform:rotate(12deg)}.wonder-hero h2{font:600 clamp(23px,3.3vw,44px)/1.18 var(--display);color:white;letter-spacing:-.02em;margin-top:7px}.wonder-head>p:not(.wonder-eyebrow){font-size:15px;line-height:1.7;margin-top:16px}.wonder-actions{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:23px}.wonder-actions .button{background:#FFB703;color:var(--deep);font-size:14px;padding:15px 22px;border:2px solid var(--deep)}.wonder-local{font-size:12px;font-weight:900;text-decoration:underline;text-underline-offset:5px;color:#fff9e9}.hero-playground{position:relative;margin-top:46px;padding-inline:30px;z-index:2}.playground-frame{position:relative;border:5px solid var(--deep);background:#E4F2EC;border-radius:150px 150px 36px 36px;overflow:hidden;box-shadow:12px 12px 0 #102A26;max-width:1040px;margin:auto;transform:rotate(-1deg);animation:playground-rock 9s ease-in-out infinite}.playground-frame img{display:block;width:100%;height:auto}.hero-illustration-note{font-size:10px;color:#102A26;line-height:1.5;padding:22px 12px 26px;max-width:65ch;margin:auto}.float-badge{position:absolute;z-index:3;font:600 clamp(18px,2.2vw,28px)/1.05 var(--display);padding:20px 26px;border:3px solid var(--deep);border-radius:20px;box-shadow:5px 5px 0 var(--deep);animation:badge-float 6s ease-in-out infinite}.badge-red{left:0;top:10%;background:#E63946;transform:rotate(-9deg);color:white}.badge-red>span{display:block;color:#FFB703;font-size:30px;margin-top:5px}.badge-pink{right:0;bottom:22%;background:#FFB703;color:#102A26;transform:rotate(9deg);animation-delay:-3s}.big-spark{position:absolute;z-index:4;font-size:90px;color:#FFB703;pointer-events:none;animation:spark-rotate 14s linear infinite}.spark-one{right:8%;top:-55px}.spark-two{left:5%;bottom:12%;font-size:62px;color:#D5EDE7}.hero-scallop{height:30px;background:radial-gradient(circle at 15px 30px,var(--pink) 30px,transparent 31px) 0 0/60px 31px repeat-x;margin-top:-1px}.wonder-hero .light-string{border-color:#102A26;top:6px;height:32px}.wonder-hero .bulb{width:17px;height:23px;box-shadow:0 0 13px #fff9e970}.wonder-hero .snowflake{color:#FFB703;font-size:16px}.christmas-strip{background:#E63946;color:white;font-size:29px;padding:21px 0}.christmas-strip b{color:#FFB703}.new-about{background:#E4F2EC;position:relative}.new-about h2{font-size:clamp(36px,4.3vw,60px)}.new-about h2>span{color:#B52532}.new-about .big-copy{font-size:22px;line-height:1.55}.joy-doodles{display:flex;gap:22px;font-family:var(--display);font-size:70px;margin-top:24px;line-height:1;color:#B52532}.joy-doodles>span:nth-child(2){color:#2A9D8F;animation:spark-rotate 16s linear infinite}.joy-doodles>span:nth-child(3){color:#2A9D8F;animation:happy-wiggle 5s ease-in-out infinite}.natal-note{border-color:#B52532}
.gift-section{background:#FFB703;color:#102A26;position:relative;overflow:hidden}.gift-section::before{content:'✦';position:absolute;right:-30px;top:30px;font-size:270px;color:#FFB703;transform:rotate(13deg);line-height:1;pointer-events:none}.gift-heading{text-align:center;position:relative}.gift-heading h2{font-size:clamp(40px,5vw,66px);line-height:1.1;color:#102A26}.gift-heading h2>span{color:#B52532}.gift-heading>p:last-child{font-size:15px;margin-top:20px;line-height:1.6}.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:80px}.gift-item{min-width:0;position:relative;text-align:center}.gift-box{position:relative;display:block;width:100%;height:240px;background:#E63946;border:3px solid #102A26;border-radius:14px;box-shadow:7px 8px 0 #102A26;cursor:pointer;transform:rotate(-4deg);transition:transform .22s,box-shadow .22s;color:white;margin-top:18px;isolation:isolate}.gift-green{background:#2A9D8F;transform:rotate(3deg)}.gift-pink{background:#FFB703;transform:rotate(-2deg);color:#102A26}.gift-box:hover{transform:translateY(-8px) rotate(0)}.gift-lid{position:absolute;top:-10px;left:-10px;right:-10px;height:38px;background:inherit;border:3px solid #102A26;border-radius:8px;box-shadow:0 5px 0 #102A261f;z-index:2;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.gift-ribbon{position:absolute;left:calc(50% - 17px);top:0;bottom:0;width:34px;background:#FFB703;border-inline:2px solid #102A26;z-index:1}.gift-green .gift-ribbon{background:#FFB703}.gift-pink .gift-ribbon{background:#2A9D8F}.gift-bow{position:absolute;left:calc(50% - 50px);top:-92px;width:100px;font:700 106px/1 var(--display);color:#FFB703;-webkit-text-stroke:2px #102A26;z-index:4;transform-origin:center bottom;animation:happy-wiggle 5s ease-in-out infinite;transition:transform .35s}.gift-green .gift-bow{color:#FFB703;animation-delay:-2s}.gift-pink .gift-bow{color:#2A9D8F;animation-delay:-3s}.gift-number{position:absolute;left:18px;top:52px;font:600 58px/1 var(--display);opacity:.35;z-index:0}.gift-label{position:absolute;left:15px;right:15px;bottom:24px;padding:12px;background:var(--cream);color:#102A26;border:2px solid #102A26;border-radius:30px;font-size:13px;font-weight:900;display:flex;justify-content:space-between;gap:6px;z-index:5}.gift-box[aria-expanded=true] .gift-lid{transform:translateY(-25px) rotate(-8deg)}.gift-box[aria-expanded=true] .gift-bow{animation:none;transform:translateY(-25px) rotate(-8deg)}.gift-message{margin-top:28px;padding:24px 18px;background:var(--cream);border:2px solid #102A26;border-radius:18px;box-shadow:4px 4px 0 #102A26;animation:reveal-entry .4s ease-out both}.gift-message>span{font-size:40px;color:#B52532}.gift-message h3{font-size:25px;color:#102A26;margin:6px 0 10px}.gift-message p{font-size:13px;line-height:1.6}.gift-message[hidden]{display:none}.gift-footnote{text-align:center;font-size:12px;font-weight:800;margin-top:38px}.schedule{background:#E63946;color:white}.schedule h2{color:white}.schedule h2>span{color:#FFB703}.schedule .marker::after{background:#2A9D8F}.natal-announcement{background:#fff9e9;color:#102A26;box-shadow:7px 8px 0 #102A26;border-width:3px}.natal-announcement .eyebrow{color:#2A9D8F}.natal-announcement .button{background:#2A9D8F;color:white}.announcement-star{color:#E63946}.visit-destination{background:#D5EDE7}.destination-ticket{background:#E4F2EC;border:3px solid #102A26;box-shadow:12px 13px 0 #2A9D8F30}.natal-ticket-center>strong{font-family:var(--display);font-weight:600;font-size:clamp(50px,6vw,76px)}.natal-ticket-center>span{color:#B52532}.destination-map>iframe{border:3px solid #102A26}.partners{background:#FFF0CA}.partner-card{border:3px solid #102A26;box-shadow:7px 8px 0 #102A26;transform:rotate(-1deg)}.partner-card.exhibitor{background:#E4F2EC;transform:rotate(1deg)}.partner-card h3{font-size:clamp(30px,3.8vw,46px)}.questions{background:#fff9e9}.question-list details{background:#fff;border:2px solid #102A26;border-radius:14px;padding-inline:18px;margin-bottom:12px;box-shadow:3px 4px 0 #102A26}.question-list summary{min-height:65px;font-weight:900}.natal-closing{background:#2A9D8F;position:relative;overflow:hidden}.natal-closing::before{content:'✦';position:absolute;right:-40px;top:10%;font-size:350px;color:#ffffff0c;animation:spark-rotate 25s linear infinite;pointer-events:none}.natal-closing h2{font-size:clamp(60px,9vw,120px);color:#fff9e9}.natal-closing h2>span{color:#FFB703;text-shadow:5px 6px 0 #102A26}.news-form input{border:3px solid #102A26;border-radius:14px}.news-form .button{border-radius:14px;border:3px solid #102A26;color:#102A26}.site-footer{background:#fff9e9}.confetti-piece{position:fixed;pointer-events:none;width:10px;height:16px;border-radius:2px;z-index:150;animation:confetti-pop 1.2s ease-out both}.pause-all *{animation-play-state:paused!important}
@keyframes letter-bounce{0%,65%,100%{transform:translateY(0) rotate(-3deg)}75%{transform:translateY(-12px) rotate(6deg)}85%{transform:translateY(2px) rotate(-4deg)}}@keyframes badge-float{0%,100%{translate:0 0}50%{translate:0 -12px}}@keyframes playground-rock{0%,100%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(.5deg) translateY(-7px)}}@keyframes spark-rotate{to{transform:rotate(360deg)}}@keyframes happy-wiggle{0%,60%,100%{rotate:0deg}70%{rotate:-10deg}80%{rotate:10deg}90%{rotate:-5deg}}@keyframes confetti-pop{from{transform:translate(0,0) rotate(0);opacity:1}to{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}
@media(min-width:1500px){.wonder-hero h1{font-size:180px}.hero-playground{max-width:1200px}}
@media(max-width:800px){.wonder-hero{padding-top:58px}.wonder-head{padding-inline:20px}.wonder-eyebrow{font-size:9px;padding:7px 13px}.wonder-hero h1{font-size:clamp(68px,19vw,130px);text-shadow:3px 4px 0 #102A26;letter-spacing:-.06em;margin-top:23px}.wonder-hero h2{font-size:clamp(23px,5.5vw,34px);max-width:20ch;margin:10px auto 0}.wonder-head>p:not(.wonder-eyebrow){font-size:13px;margin-top:14px}.wonder-actions{gap:16px;flex-direction:column;margin-top:20px}.wonder-actions .button{font-size:13px;padding:13px 20px}.wonder-local{font-size:11px}.hero-playground{padding-inline:18px;margin-top:45px}.playground-frame{border-radius:60px 60px 22px 22px;border-width:3px;box-shadow:5px 6px 0 #102A26}.float-badge{font-size:14px;padding:10px 13px;border-radius:12px;border-width:2px;box-shadow:3px 3px 0 #102A26}.badge-red{left:10px;top:-20px}.badge-red>span{display:none}.badge-pink{right:7px;bottom:20%;font-size:13px}.big-spark{font-size:48px}.spark-one{right:4%;top:-35px}.spark-two{font-size:35px;left:3%;bottom:17%}.hero-illustration-note{font-size:9px;padding:20px 16px}.wonder-hero .bulb{width:10px;height:17px}.christmas-strip{font-size:23px;padding:18px 0}.new-about .big-copy{font-size:19px}.new-about .about-grid{gap:24px}.joy-doodles{font-size:58px;margin-top:20px}.gift-grid{grid-template-columns:1fr;gap:65px;max-width:340px;margin:78px auto 0}.gift-box{height:225px}.gift-box:hover{transform:rotate(-2deg)}.gift-grid .gift-item:nth-child(2){margin-inline:8px}.gift-heading>p:last-child{font-size:13px}.gift-heading h2{font-size:42px}.gift-section::before{font-size:180px}.gift-label{font-size:14px}.gift-footnote{font-size:11px;max-width:30ch;margin:30px auto 0}.partner-card{transform:none!important}.natal-closing h2{font-size:clamp(54px,12vw,90px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.snow,.confetti-piece{display:none}.playground-frame{transform:none}}

/* Natal Iluminado no Tatuapé: requested red, leaf green and warm gold palette. */
:root{
  --red:#E63946;--green:#2A9D8F;--gold:#FFB703;
  --ink:#102A26;--on-red:#07130F;--red-text:#B52532;
  --purple:var(--green);--deep:var(--ink);--pink:var(--red);
  --pink-dark:var(--red-text);--yellow:var(--gold);--text:var(--ink);
}
h1,h2,h3{color:var(--ink)}
.button,.site-header>.header-actions>.button,.wonder-actions .button,
.natal-announcement .button,.news-form .button{
  background:var(--red);color:var(--on-red);border-color:var(--ink);
}
.button:hover{background:#D52F3D;color:#000}
.button:focus-visible,a:focus-visible,summary:focus-visible,
button:focus-visible,input:focus-visible{outline:3px solid var(--ink)}
.wonder-hero,.schedule,.natal-closing{background:var(--green);color:var(--ink)}
.wonder-hero h2,.wonder-local,.hero-illustration-note,.schedule h2{color:var(--ink)}
.wonder-hero .a,.wonder-hero .exclamation{color:var(--red)}
.wonder-hero .t,.wonder-hero .a2{color:var(--cream)}
.wonder-hero .n,.wonder-hero .l{color:var(--gold)}
.new-about{background:#E4F2EC}
.gift-section{background:var(--cream)}
.gift-box,.gift-green,.gift-pink{background:var(--green);color:var(--ink)}
.gift-ribbon,.gift-green .gift-ribbon,.gift-pink .gift-ribbon{background:var(--gold)}
.gift-bow,.gift-green .gift-bow,.gift-pink .gift-bow{color:var(--gold)}
.gift-message>span,.joy-doodles,.announcement-star,
.christmas-brand .brand-star,.scene-star{color:var(--gold)}
.bulb{background:var(--red)}
.bulb:nth-child(3n){background:var(--gold)}
.bulb:nth-child(3n + 1){background:var(--green)}
.bulb::before{background:var(--ink)}
.spark-two{color:var(--gold)}
.schedule .marker::after{background:var(--ink)}
.natal-announcement .eyebrow{color:var(--ink)}
.visit-destination{background:#E4F2EC}
.destination-ticket{background:var(--cream);border-top:8px solid var(--gold)}
.natal-ticket-center>span{color:var(--red)}
.destination-ticket-top>span:last-child{color:var(--gold)}
.destination-map>iframe{border-color:var(--gold)}
.destination-map>figcaption{border-left:4px solid var(--gold);padding-left:14px}
.partner-card.sponsor,.partner-card.exhibitor{background:var(--green);color:var(--ink)}
.partner-card.sponsor h3,.partner-card.exhibitor h3{color:var(--ink)}
.closing-date{display:table;margin:32px auto 0;padding:12px 20px;
  background:var(--cream);color:var(--red-text);border-left:4px solid var(--red);border-radius:12px}
.senvra span{color:var(--gold)}
.snowflake{color:var(--gold)}

/* Event name in the header and footer. */
.christmas-brand{gap:5px}
.christmas-brand>strong{font-size:30px;letter-spacing:-.04em;white-space:nowrap}
.christmas-brand>span{font-size:11px;letter-spacing:.14em}
.christmas-brand .brand-star{font-size:20px}
@media(max-width:800px){
 .christmas-brand>strong{font-size:24px}
 .christmas-brand>span{font-size:10px}
 .christmas-brand .brand-star{font-size:16px;margin-left:3px}
}

/* Real photos from Embu das Artes, identified as visual references. */
.lights-gallery{background:var(--ink);color:var(--cream);position:relative}
.gallery-heading{display:grid;grid-template-columns:1.1fr 1fr;align-items:end;gap:48px}
.gallery-heading h2{color:var(--cream);font-size:clamp(38px,4.5vw,64px)}
.gallery-heading h2>span{color:var(--gold)}
.gallery-heading>p{max-width:43ch;font-size:15px}
.gallery-heading .eyebrow{color:var(--gold)}
.gallery-origin{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:8px 15px;border:1px solid var(--green);border-radius:30px;font-size:12px;font-weight:800}
.gallery-origin>span{color:var(--gold)}
.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;margin-top:26px}
.gallery-card{min-width:0;border:2px solid var(--green);border-radius:22px;overflow:hidden;background:#173A34;display:flex;flex-direction:column}
.gallery-main{grid-row:span 2}
.gallery-card>a{display:block;position:relative;overflow:hidden;flex:1;min-height:0}
.gallery-card img{width:100%;height:100%;aspect-ratio:16/8;object-fit:cover;transition:transform .3s}
.gallery-main img{aspect-ratio:auto;min-height:470px;object-position:60% center}
.gallery-card>a:hover img{transform:scale(1.025)}
.gallery-expand{position:absolute;right:14px;bottom:14px;background:var(--gold);color:var(--ink);font-size:11px;font-weight:900;padding:7px 12px;border-radius:30px;box-shadow:2px 3px 0 var(--ink)}
.gallery-card figcaption{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:16px 18px}
.gallery-card figcaption>span{font:600 19px/1.2 var(--display)}
.gallery-card figcaption small{font-size:10px;white-space:nowrap;color:#CAE8DF}
.gallery-main figcaption{flex-wrap:wrap}
.gallery-credit{display:flex;gap:30px;align-items:start;justify-content:space-between;margin-top:24px;font-size:11px;line-height:1.7;color:#CAE8DF}
.gallery-credit>p{max-width:68ch}.gallery-credit>a{max-width:35ch;text-decoration:underline;text-underline-offset:4px}
.lights-gallery a:focus-visible{outline-color:var(--gold);outline-offset:-5px}
.gallery-lightbox{width:min(1080px,calc(100% - 28px));max-height:94vh;max-height:94dvh;padding:22px;border:2px solid var(--gold);border-radius:22px;background:var(--ink);color:var(--cream)}
.gallery-lightbox::backdrop{background:#020D0BEF}
.lightbox-content{display:flex;flex-direction:column;gap:14px;align-items:center}
.lightbox-close{align-self:flex-end;background:var(--red);color:var(--on-red);font-weight:900;border-radius:30px;padding:10px 18px;min-height:44px}
.lightbox-image{width:100%;max-height:61vh;max-height:61dvh;object-fit:contain;border-radius:10px}
#lightbox-caption{font:600 22px/1.3 var(--display);text-align:center}
.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.lightbox-controls>button{background:var(--gold);color:var(--ink);font-size:13px;font-weight:900;border-radius:30px;padding:10px 18px;min-height:44px}
.lightbox-content>small{font-size:10px;text-align:center;color:#CAE8DF}
.gallery-lightbox button:focus-visible{outline-color:var(--cream)}
@media(max-width:800px){
 .gallery-heading{grid-template-columns:1fr;gap:22px}.gallery-heading>p{font-size:14px}
 .gallery-grid{grid-template-columns:1fr;gap:20px}.gallery-main{grid-row:auto}
 .gallery-main img{aspect-ratio:4/3;min-height:0}.gallery-card img{aspect-ratio:16/9}
 .gallery-main img{aspect-ratio:4/3}.gallery-credit{flex-direction:column;gap:12px}
 .gallery-card figcaption{flex-wrap:wrap;gap:6px}.gallery-card figcaption>span{font-size:18px}
 .gallery-lightbox{padding:15px}.lightbox-controls{gap:12px}
}

/* Uploaded identity, date announcement and festival navigation. */
.site-header{display:flex;min-height:100px;padding:8px 4vw;gap:20px}
.christmas-brand{display:block;flex:none}
.christmas-brand img,.brand img{width:132px;height:88px;object-fit:contain;border-radius:0;background:transparent}
.site-footer .christmas-brand img{width:180px;height:120px}
.desktop-nav{display:none}.header-actions{margin-left:auto;display:flex;align-items:center;gap:24px}
.menu-toggle{display:flex;align-items:center;gap:12px;background:var(--cream);border:2px solid var(--ink);border-radius:14px;min-height:48px;padding:8px 18px;font-size:14px;font-weight:900}
.menu-toggle>span{font-size:24px}
.festival-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:absolute;left:0;right:0;top:100%;max-height:75vh;max-height:75dvh;overflow-y:auto;padding:20px 4vw;background:var(--cream);border-bottom:3px solid var(--ink);gap:0 30px;box-shadow:0 10px 20px #102A2620}
.festival-menu>a{padding:18px 0;border-bottom:1px solid #102A2626;font-size:16px;font-weight:900}
.festival-menu>a:last-child{color:var(--red-text)}
.festival-menu>a:hover{color:var(--red-text)}
.festival-menu>a:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.wonder-hero{padding-top:52px}
.wonder-hero h1.logo-title{width:min(570px,100%);margin:24px auto 28px;line-height:1;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.logo-title img{width:100%;height:auto;display:block}
.event-date{margin:24px auto 30px;color:var(--ink);max-width:550px;background:var(--cream);border:3px solid var(--ink);border-radius:24px;box-shadow:7px 8px 0 var(--ink);padding:20px 28px;transform:rotate(-2deg)}
.event-date>p:first-child{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.event-date>div{display:flex;gap:22px;align-items:center;justify-content:center;line-height:1;margin:5px 0}
.event-date strong{font:700 clamp(78px,10vw,120px)/1 var(--display);color:var(--red);text-shadow:3px 3px 0 var(--gold)}
.event-date>div>span{font:600 34px var(--display)}
.event-date .event-month{font:700 clamp(26px,3vw,38px)/1.2 var(--display);letter-spacing:.03em;text-transform:uppercase;background:var(--gold);border-radius:12px;padding:8px 18px}
.festival-days{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.festival-day{background:var(--cream);border:3px solid var(--ink);border-radius:24px;padding:30px;box-shadow:6px 7px 0 var(--ink);color:var(--ink)}
.day-kicker{font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}
.festival-day h3{display:flex;gap:18px;align-items:center;margin:8px 0 16px}
.festival-day h3 strong{font:700 98px/1 var(--display);color:var(--red);text-shadow:3px 3px 0 var(--gold)}
.festival-day h3>span{font-size:26px;max-width:8ch}
.day-status{display:inline-block;background:#E4F2EC;border:1px solid var(--ink);border-radius:20px;padding:7px 12px;font-size:12px;font-weight:800;margin-top:20px}
.schedule-contact{margin-top:35px}
.ticket-dates>strong{font-size:44px;line-height:1.1}

.sponsor-section{background:#FFF0CA}.exhibitor-section{background:#E4F2EC}
.participation-panel{background:var(--cream);border:3px solid var(--ink);border-radius:24px;box-shadow:7px 8px 0 var(--ink);padding:36px;display:flex;align-items:center;justify-content:space-between;gap:35px}
.participation-panel>div{max-width:65ch}.participation-panel h3{margin-bottom:18px}
.participation-panel .button{flex:none}
.structure-section{background:var(--ink);color:var(--cream)}
.structure-section h2{color:var(--cream)}.structure-section h2>span{color:var(--gold)}
.structure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.structure-grid>article{padding:28px;border:2px solid var(--green);border-radius:22px;background:#173A34;min-width:0}
.structure-grid>article>span{display:block;font-size:45px;color:var(--gold);line-height:1;margin-bottom:22px}
.structure-grid h3{color:var(--cream);font-size:26px;margin-bottom:20px}
.structure-grid p{font-size:14px}.structure-grid .text-link{color:var(--gold);margin-top:12px}
.raffle-section{background:var(--gold)}
.raffle-layout{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px}
.raffle-layout p:not(.eyebrow){margin-top:20px;max-width:55ch}
.raffle-spark{font-size:140px;line-height:1;color:var(--red)}
.contact-section{background:var(--cream)}
.contact-layout{display:flex;gap:50px;align-items:center;justify-content:space-between}
.contact-layout>div{max-width:65ch}.contact-layout p:last-child{margin-top:24px}
.contact-layout>.button{flex:none}.closing-date>strong{font:700 28px var(--display)}
@media(max-width:900px){
 .festival-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
 .structure-grid{grid-template-columns:1fr}.participation-panel{flex-direction:column;align-items:flex-start}
 .raffle-layout{grid-template-columns:auto 1fr;gap:24px}.raffle-layout>.button{grid-column:1/-1;justify-self:start}.raffle-spark{font-size:90px}
 .contact-layout{flex-direction:column;align-items:flex-start;gap:28px}
}
@media(max-width:800px){
 .site-header{display:flex;min-height:84px;padding:6px 20px}
 .christmas-brand img,.brand img{width:105px;height:70px}
 .header-actions{gap:14px}.header-actions>.button{display:none}
 .menu-toggle{padding:7px 14px}
 .festival-menu{grid-template-columns:1fr;padding:10px 25px 20px;gap:0}
 .festival-menu>a{font-size:18px;padding:18px 0}
 .wonder-hero{padding-top:35px}.wonder-hero h1.logo-title{width:min(470px,100%);border-radius:0;box-shadow:none;margin-top:23px}
 .event-date{padding:16px 18px;box-shadow:5px 6px 0 var(--ink)}
 .event-date>p:first-child{font-size:10px}.event-date strong{font-size:84px}.event-date>div{gap:18px}
 .event-date .event-month{font-size:25px}.festival-days{grid-template-columns:1fr;gap:24px}
 .festival-day{padding:25px}.festival-day h3 strong{font-size:88px}


 .participation-panel{padding:25px}
 .raffle-layout{grid-template-columns:1fr}.raffle-spark{font-size:65px}.raffle-layout>.button{grid-column:auto}
}

/* Event layout supplied by the organizer. */
.structure-map{margin:0 0 34px}
.structure-map>a{position:relative;display:block;border:3px solid var(--gold);border-radius:22px;overflow:hidden;background:var(--cream)}
.structure-map img{display:block;width:100%;height:auto}
.structure-map-zoom{position:absolute;right:18px;bottom:18px;background:var(--gold);color:var(--ink);font-size:13px;font-weight:900;padding:10px 16px;border:2px solid var(--ink);border-radius:30px;box-shadow:3px 3px 0 var(--ink)}
.structure-map>a:focus-visible{outline:3px solid white;outline-offset:5px}
.structure-map figcaption{font-size:12px;line-height:1.7;color:#CAE8DF;margin-top:14px}
@media(max-width:800px){.structure-map>a{border-radius:14px}.structure-map-zoom{right:8px;bottom:8px;font-size:10px;padding:7px 10px}.structure-map figcaption{font-size:11px}}

/* Same music control as Dia do Sim, in the Christmas palette. */
.music-widget{left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));color:var(--ink);max-width:calc(100% - 32px)}
.music-bar{border-color:var(--ink);box-shadow:3px 4px 0 var(--ink)}
.music-toggle{color:var(--ink)}.music-bars i{background:var(--red)}
.music-settings>summary{border-left-color:#102A2633}
.music-volume-panel,.music-status{color:var(--ink);border-color:var(--ink);box-shadow:3px 4px 0 var(--ink)}
.music-volume-panel input{accent-color:var(--red-text)}
.music-track{display:block;font-size:10px;line-height:1.5;margin-top:9px}

@media(max-width:800px){.music-widget{bottom:calc(16px + env(safe-area-inset-bottom,0px))}}

/* Support credit with the original NGO logo framed from the supplied screenshot. */
.footer-support{padding:32px 0 40px;background:var(--cream);border-top:1px solid #102A2626}
.support-inner{display:flex;align-items:center;justify-content:center;gap:28px}
.support-logo{position:relative;width:156px;aspect-ratio:1;flex:none;overflow:hidden;border-radius:50%;box-shadow:0 0 0 3px var(--gold);background:#111}
.support-logo img{position:absolute;display:block;width:151.020408%;max-width:none;height:auto;left:-25.510204%;top:-97.193878%}
.footer-support .eyebrow{margin:0 0 8px;color:var(--ink);font-size:12px;letter-spacing:.16em}
.footer-support h2{font:600 clamp(23px,3vw,33px)/1.2 var(--display);color:var(--ink);letter-spacing:-.025em}
@media(max-width:600px){.support-inner{flex-direction:column;text-align:center;gap:20px}.support-logo{width:140px}}

/* NGO support and CERET venue logos. */
.footer-partners{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.footer-partner{display:flex;align-items:center;justify-content:center;gap:24px;min-width:0}
.footer-partner .ceret-logo{display:block;width:180px;height:180px;object-fit:contain;flex:none;background:transparent}
.footer-partner h2{font-size:clamp(22px,2.4vw,29px)}
@media(max-width:1000px){.footer-partner{flex-direction:column;text-align:center;gap:20px}}
@media(max-width:600px){.footer-partners{grid-template-columns:1fr;gap:40px}.footer-partner .ceret-logo{width:170px;height:170px}}

/* Instagram Reel provided by the organizer. */
.instagram-section{background:#FFF0CA}
.instagram-layout{display:grid;grid-template-columns:1fr minmax(0,440px);align-items:center;gap:65px}
.instagram-copy h2{font-size:clamp(42px,5.4vw,72px)}
.instagram-copy>p:not(.eyebrow){margin-top:24px;max-width:48ch}
.instagram-copy>.button{margin-top:28px}
.instagram-copy .instagram-note{font-size:12px;max-width:42ch}
.instagram-embed{width:100%;max-width:440px;margin-inline:auto;background:white;border:3px solid var(--ink);border-radius:24px;overflow:hidden;box-shadow:8px 9px 0 var(--gold)}
.instagram-embed>iframe{display:block;width:100%;height:730px;border:0;background:white}
@media(max-width:800px){.instagram-layout{grid-template-columns:1fr;gap:34px}.instagram-embed>iframe{height:700px}.instagram-copy>p:not(.eyebrow){font-size:14px}}

/* Program supplied by the organizer, adapted to December 12 and 13. */
.agenda-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.agenda-day{min-width:0;background:var(--cream);color:var(--ink);border:3px solid var(--ink);border-radius:26px;overflow:hidden;box-shadow:6px 7px 0 var(--ink)}
.agenda-head{background:#FFF0CA;padding:25px 28px;border-bottom:3px solid var(--ink)}
.agenda-day:nth-child(2) .agenda-head{background:#E4F2EC}
.agenda-head>p{font-size:12px;font-weight:900}.agenda-head>p:first-child{letter-spacing:.1em;text-transform:uppercase}
.agenda-head h3{display:flex;gap:14px;align-items:center;color:var(--ink);margin:9px 0;line-height:1}
.agenda-head h3 strong{font-size:76px;color:var(--red);text-shadow:2px 3px 0 var(--gold)}
.agenda-head h3 span{font-size:29px}
.agenda-list{padding:8px 25px 18px;margin:0;list-style:none}
.agenda-list>li{display:grid;grid-template-columns:115px minmax(0,1fr);gap:17px;align-items:center;padding:18px 0;border-bottom:1px dashed #102A2633;font-size:14px;font-weight:800;line-height:1.5}
.agenda-list>li:last-child{border-bottom:0}
.agenda-time{color:var(--red-text);font-weight:900;font-size:13px}
.agenda-note{font-size:12px;line-height:1.7;margin-top:28px;max-width:95ch}
.santa-highlight{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:32px;padding:24px;background:var(--cream);border:3px solid var(--ink);border-radius:26px;box-shadow:6px 7px 0 var(--ink);color:var(--ink);margin:0 0 36px;overflow:hidden}
.santa-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px}
.santa-photo small{display:block;font-size:10px;line-height:1.5;margin-top:9px}
.santa-copy h3{font:600 clamp(34px,4vw,50px)/1.08 var(--display);color:var(--ink)}
.santa-copy h3>span{color:var(--red-text)}
.santa-copy>p:not(.eyebrow){font-size:14px;margin-top:18px;max-width:43ch}
.santa-time{display:inline-block;background:var(--gold);padding:8px 14px;border:1px solid var(--ink);border-radius:20px;margin-top:20px;font-size:12px;font-weight:900}
@media(max-width:900px){.agenda-grid{grid-template-columns:1fr}.santa-highlight{gap:24px}.agenda-head h3 strong{font-size:68px}}
@media(max-width:600px){.santa-highlight{grid-template-columns:1fr;padding:20px;gap:24px}.santa-copy h3{font-size:42px}.agenda-head{padding:22px}.agenda-head h3 span{font-size:25px}.agenda-list{padding:6px 18px 15px}.agenda-list>li{grid-template-columns:95px minmax(0,1fr);font-size:13px;gap:12px;padding:16px 0}.agenda-time{font-size:12px}}


/* Santa illustration appears behind the actual schedule cards. */
.agenda-scene{position:relative;isolation:isolate;padding-top:175px;margin-top:12px}
.agenda-scene .agenda-grid{position:relative;z-index:2}
.agenda-santa-art{position:absolute;z-index:0;width:340px;max-width:none;height:auto;right:24px;top:-10px;pointer-events:none;user-select:none;filter:drop-shadow(0 9px 7px #102A2626);animation:agenda-santa-wave 7s ease-in-out infinite}
.agenda-santa-intro{position:absolute;z-index:1;top:32px;left:8px;max-width:calc(100% - 390px);color:var(--ink)}
.agenda-santa-intro .eyebrow{font-size:11px;margin-bottom:12px}
.agenda-santa-intro h3{font:600 clamp(28px,3.3vw,42px)/1.1 var(--display);color:var(--ink)}
.agenda-santa-intro>p:last-child{font-size:13px;margin-top:14px}
@keyframes agenda-santa-wave{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media(max-width:900px){.agenda-scene{padding-top:165px}.agenda-santa-art{width:300px;right:5px;top:-5px}.agenda-santa-intro{max-width:calc(100% - 330px)}}
@media(max-width:600px){
 .agenda-scene{padding-top:165px;margin-top:8px}
 .agenda-santa-art{width:235px;right:-14px;top:5px}
 .agenda-santa-intro{left:0;top:24px;max-width:calc(100% - 215px)}
 .agenda-santa-intro .eyebrow{display:none}
 .agenda-santa-intro h3{font-size:27px}
 .agenda-santa-intro>p:last-child{font-size:11px;line-height:1.5;margin-top:10px}
}
@media(max-width:380px){.agenda-santa-art{width:210px;right:-14px;top:20px}.agenda-santa-intro{max-width:calc(100% - 160px)}.agenda-santa-intro h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.agenda-santa-art{animation:none!important}}
