/* fonts.css */
@font-face{
font-family:'Baloo 2';font-style:normal;font-weight:600;font-display:swap;
src:url('../fonts/baloo-2-latin-600-normal.woff2') format('woff2');
}
@font-face{
font-family:'Baloo 2';font-style:normal;font-weight:700;font-display:swap;
src:url('../fonts/baloo-2-latin-700-normal.woff2') format('woff2');
}
@font-face{
font-family:'Baloo 2';font-style:normal;font-weight:800;font-display:swap;
src:url('../fonts/baloo-2-latin-800-normal.woff2') format('woff2');
}
@font-face{
font-family:'Nunito Sans';font-style:normal;font-weight:400;font-display:swap;
src:url('../fonts/nunito-sans-latin-400-normal.woff2') format('woff2');
}
@font-face{
font-family:'Nunito Sans';font-style:normal;font-weight:600;font-display:swap;
src:url('../fonts/nunito-sans-latin-600-normal.woff2') format('woff2');
}
@font-face{
font-family:'Nunito Sans';font-style:normal;font-weight:700;font-display:swap;
src:url('../fonts/nunito-sans-latin-700-normal.woff2') format('woff2');
}
@font-face{
font-family:'Nunito Sans';font-style:normal;font-weight:800;font-display:swap;
src:url('../fonts/nunito-sans-latin-800-normal.woff2') format('woff2');
}
/* tokens.css */
:root{
--brand-pink-500:#FF5C90;
--brand-pink-600:#FF3D79;
--brand-teal-500:#0CBFB7;
--brand-orange-500:#FFA300;
--brand-orange-600:#FF691A;
--brand-yellow-500:#FFC520;
--brand-purple-400:#B873E3;
--brand-purple-500:#955EB9;
--brand-purple-600:#8154B2;
--brand-white:#FFFFFF;
--neutral-900:#2E2433;
--neutral-700:#675C6C;
--neutral-500:#877D8C;
--neutral-300:#C9BFD0;
--neutral-200:#D6C9DA;
--neutral-150:#E8DFEA;
--neutral-100:#F3EAFA;
--neutral-50:#F8F4FA;
--neutral-25:#FFFAFD;
--whatsapp-icon:#25D366;
--whatsapp-button:#17875E;
--whatsapp-button-hover:#116A4B;
--whatsapp:var(--whatsapp-button);
--color-primary:var(--brand-purple-600);
--color-primary-hover:#70439F;
--color-primary-active:#5C3787;
--color-primary-soft:var(--neutral-100);
--color-secondary:var(--brand-teal-500);
--color-secondary-hover:#0AA8A1;
--color-secondary-soft:#E7FAF8;
--color-accent-pink:var(--brand-pink-500);
--color-accent-pink-strong:var(--brand-pink-600);
--color-accent-pink-text:#D63365;
--color-accent-yellow:var(--brand-yellow-500);
--color-accent-orange:var(--brand-orange-500);
--color-text-primary:var(--neutral-900);
--color-text-secondary:var(--neutral-700);
--color-text-muted:#746B78;
--color-text-inverse:var(--brand-white);
--color-text-inverse-muted:var(--neutral-200);
--color-background:var(--neutral-25);
--color-background-alt:var(--neutral-50);
--color-surface:var(--brand-white);
--color-surface-raised:var(--brand-white);
--color-surface-inverse:var(--neutral-900);
--color-border:var(--neutral-150);
--color-border-strong:var(--neutral-300);
--color-success:#17875E;
--color-success-soft:#E8F7F0;
--color-warning:#9A6200;
--color-warning-soft:#FFF4D5;
--color-error:#C9395B;
--color-error-soft:#FDEBEF;
--color-info:var(--brand-teal-500);
--color-info-soft:var(--color-secondary-soft);
--font-display:'Baloo 2','Trebuchet MS',cursive;
--font-body:'Nunito Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
--font-weight-regular:400;
--font-weight-semibold:600;
--font-weight-bold:700;
--font-weight-extrabold:800;
--font-size-xs:.8rem;
--font-size-sm:.875rem;
--font-size-base:.95rem;
--font-size-md:1rem;
--font-size-lg:1.125rem;
--font-size-xl:1.25rem;
--font-size-2xl:1.5rem;
--font-size-3xl:2rem;
--font-size-h2:clamp(1.5rem,5vw,2.3rem);
--font-size-h1:clamp(1.9rem,7vw,3.1rem);
--line-height-tight:1.12;
--line-height-base:1.6;
--letter-spacing-wide:.4px;
--space-1:4px;  --space-2:8px;  --space-3:12px; --space-4:16px;
--space-5:20px; --space-6:24px; --space-8:32px; --space-10:40px;
--space-12:48px; --space-14:56px; --space-16:64px;
--section-y:var(--space-14);
--container-max:1120px;
--container-w:92%;
--radius-sm:12px;
--radius-md:14px;
--radius-lg:24px;
--radius-xl:26px;
--radius-pill:999px;
--shadow-xs:0 2px 8px rgba(46,36,51,.06);
--shadow-sm:0 4px 12px rgba(46,36,51,.08);
--shadow-md:0 12px 32px rgba(129,84,178,.14);
--shadow-lg:0 16px 40px rgba(129,84,178,.18);
--shadow-cta:0 8px 20px rgba(129,84,178,.35);
--shadow-wpp:0 8px 20px rgba(37,211,102,.30);
--duration-fast:.15s;
--duration-base:.2s;
--duration-slow:.5s;
--ease-out:cubic-bezier(.22,.7,.35,1);
--z-header:60;
--z-float:70;
--z-overlay:100;
}
/* reset.css */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
body{
margin:0;
font-family:var(--font-body);
color:var(--color-text-primary);
background:var(--color-background);
line-height:var(--line-height-base);
-webkit-font-smoothing:antialiased;
overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
p{margin:0 0 1em}
:focus-visible{
outline:3px solid var(--neutral-25);
outline-offset:0;
box-shadow:0 0 0 6px var(--color-accent-yellow);
border-radius:6px;
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* typography.css */
h1,h2,h3,h4,.head{
font-family:var(--font-display);
line-height:var(--line-height-tight);
color:var(--color-text-primary);
font-weight:var(--font-weight-extrabold);
margin:0 0 .4em;
}
h1{font-size:var(--font-size-h1)}
.section h2{font-size:var(--font-size-h2)}
.eyebrow{
display:inline-block;font-weight:var(--font-weight-extrabold);
color:var(--color-accent-pink-text);letter-spacing:var(--letter-spacing-wide);
text-transform:uppercase;font-size:var(--font-size-xs);margin-bottom:var(--space-2);
}
.lead{color:var(--color-text-secondary);font-size:1.05rem;max-width:60ch}
/* components.css */
.btn{
display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
font-family:var(--font-display);font-weight:var(--font-weight-bold);
font-size:1.02rem;line-height:1.1;
padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);
border:2px solid transparent;cursor:pointer;text-align:center;min-height:48px;
transition:transform var(--duration-fast) var(--ease-out),
box-shadow var(--duration-fast) var(--ease-out),
background var(--duration-fast) var(--ease-out);
}
.btn:active{transform:scale(.97)}
.btn svg{flex:0 0 auto}
.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}
.btn-primary:hover{background:var(--color-primary-hover)}
.btn-primary:active{background:var(--color-primary-active)}
.btn-secondary{background:var(--color-secondary);color:var(--color-text-primary)}
.btn-secondary:hover{background:var(--color-secondary-hover)}
.btn-ghost{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}
.btn-ghost:hover{background:var(--color-primary-soft)}
.btn-outline{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}
.btn-outline:hover{background:var(--color-primary-soft)}
.btn-ghost-true{background:transparent;color:var(--color-primary)}
.btn-ghost-true:hover{background:var(--color-primary-soft)}
.btn-wpp{background:var(--whatsapp-button);color:var(--color-text-inverse)}
.btn-wpp:hover{background:var(--whatsapp-button-hover)}
.btn-light{background:rgba(255,255,255,.95);color:var(--color-primary)}
.btn-link{background:none;border:none;color:var(--color-primary);text-decoration:underline;
padding:var(--space-2);min-height:44px;font-family:var(--font-display);cursor:pointer}
.btn-block{width:100%}
.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);min-height:42px}
.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg);min-height:54px}
.btn:disabled,.btn[aria-disabled="true"]{
background:var(--neutral-150);color:var(--color-text-muted);
box-shadow:none;cursor:not-allowed;transform:none;border-color:transparent;
}
.btn.is-loading{position:relative;color:transparent;pointer-events:none}
.btn.is-loading::after{
content:"";position:absolute;width:18px;height:18px;border-radius:50%;
border:3px solid rgba(255,255,255,.4);border-top-color:var(--color-text-inverse);
animation:btnspin .7s linear infinite;
}
.btn-ghost.is-loading::after,.btn-outline.is-loading::after{border-color:var(--neutral-150);border-top-color:var(--color-primary)}
@keyframes btnspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){ .btn.is-loading::after{animation-duration:1.6s} }
.form-card{
background:var(--color-surface);border:1px solid var(--color-border);
border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--space-6);
}
.form-grid{display:grid;gap:var(--space-4)}
.field{display:flex;flex-direction:column;gap:var(--space-1)}
.field label{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:var(--color-primary)}
.field .req{color:var(--color-accent-pink-text)}
.field input,.field select,.field textarea{
font:inherit;padding:var(--space-3) var(--space-4);
border:2px solid var(--color-border);border-radius:var(--radius-sm);
background:var(--color-surface);color:var(--color-text-primary);min-height:48px;width:100%;
}
.field textarea{min-height:96px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary);outline:none}
.field .help{font-size:var(--font-size-xs);color:var(--color-text-muted)}
.field .err-msg{color:var(--color-error);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);display:none}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--color-error);background:var(--color-error-soft)}
.field.invalid .err-msg{display:block}
.field.success input,.field.success select{border-color:var(--color-success);background:var(--color-success-soft)}
.field.disabled label{color:var(--color-text-muted)}
.field input:disabled,.field select:disabled,.field textarea:disabled{
background:var(--color-background-alt);color:var(--color-text-muted);cursor:not-allowed}
.check-row{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-base)}
.check-row input[type=checkbox],.check-row input[type=radio]{
width:22px;height:22px;accent-color:var(--color-primary);margin-top:2px;flex:0 0 auto}
.form-note{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}
.form-status{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-error);min-height:1.2em}
@media(min-width:620px){ .form-grid{grid-template-columns:1fr 1fr} .field.col-2{grid-column:1/-1} }
.card{
background:var(--color-surface);border:1px solid var(--color-border);
border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);
overflow:hidden;display:flex;flex-direction:column;
}
.card .pad{padding:var(--space-5)}
.card h3{font-size:1.375rem;font-weight:var(--font-weight-extrabold);margin-bottom:var(--space-1)}
.card p{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0}
.card ul{margin:var(--space-2) 0 0;padding-left:0;list-style:none;display:grid;gap:var(--space-1)}
.card ul li{padding-left:var(--space-6);position:relative;font-size:var(--font-size-sm)}
.card ul li::before{content:"✓";position:absolute;left:0;color:var(--color-success);font-weight:900}
.card .card-cta{margin-top:auto;padding-top:var(--space-4)}
.perk{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);
padding:var(--space-4);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-3);align-items:flex-start;
min-width:0}
.perk>div{min-width:0;overflow-wrap:break-word}
.perk .ic{flex:0 0 auto;width:40px;height:40px;border-radius:var(--radius-sm);display:grid;place-items:center;
background:var(--color-primary-soft);color:var(--color-primary)}
.perk b{display:block;font-family:var(--font-display);color:var(--color-text-primary);font-size:var(--font-size-md)}
.perk span{font-size:var(--font-size-sm);color:var(--color-text-secondary)}
.fact{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);
padding:var(--space-4);box-shadow:var(--shadow-sm);text-align:center}
.fact .big{font-family:var(--font-display);font-size:1.7rem;color:var(--color-primary);line-height:1}
.fact small{color:var(--color-text-muted);font-size:var(--font-size-xs);display:block;margin-top:var(--space-1)}
.review{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);
padding:var(--space-5);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.review p{font-size:var(--font-size-base);color:var(--color-text-secondary);flex:1}
.review .who{font-weight:var(--font-weight-extrabold);color:var(--color-accent-pink-text);margin:var(--space-2) 0 0}
.review .g{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);
color:var(--color-text-muted);font-weight:var(--font-weight-bold)}
.stars{color:var(--color-accent-yellow);letter-spacing:2px;font-size:1.1rem}
.theme{position:relative;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);
cursor:pointer;background:var(--color-background-alt)}
.theme img{width:100%;aspect-ratio:1/1;object-fit:cover}
.theme figcaption{position:absolute;left:0;right:0;bottom:0;padding:var(--space-2);
color:var(--color-text-inverse);font-family:var(--font-display);
font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);
background:linear-gradient(transparent,rgba(46,36,51,.85))}
.loc-box{background:var(--color-surface);border:1px solid var(--color-border);
border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:var(--space-6)}
.loc-item{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}
.loc-item svg{flex:0 0 auto;width:22px;height:22px;color:var(--color-accent-pink-strong)}
.loc-item b{display:block;color:var(--color-text-primary)}
.loc-item span{color:var(--color-text-secondary);font-size:var(--font-size-base)}
.badge{display:inline-flex;align-items:center;gap:var(--space-1);
background:var(--color-accent-yellow);color:var(--color-text-primary);
font-weight:var(--font-weight-extrabold);font-size:var(--font-size-xs);
padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill)}
.badge-pink{background:var(--color-accent-pink);color:var(--color-text-inverse)}
.badge-teal{background:var(--color-secondary-soft);color:var(--color-text-primary)}
.tag{display:inline-block;background:var(--color-primary-soft);color:var(--color-primary);
font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);
padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);
margin:0 var(--space-1) var(--space-2) 0}
.theme-chip{background:var(--color-primary-soft);color:var(--color-primary);
font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);
padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:none;cursor:pointer}
.theme-chip:hover{background:var(--color-primary);color:var(--color-text-inverse)}
.alert{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);
font-size:var(--font-size-base);border:1px solid transparent;margin:0 0 var(--space-3)}
.alert-success{background:var(--color-success-soft);color:var(--color-success);border-color:var(--color-success)}
.alert-warning{background:var(--color-warning-soft);color:var(--color-warning);border-color:var(--color-warning)}
.alert-error{background:var(--color-error-soft);color:var(--color-error);border-color:var(--color-error)}
.alert-info{background:var(--color-info-soft);color:var(--color-text-primary);border-color:var(--color-info)}
.faq{max-width:820px;margin-inline:auto;display:grid;gap:var(--space-3)}
.faq details{background:var(--color-surface);border:1px solid var(--color-border);
border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}
.faq summary{cursor:pointer;list-style:none;padding:var(--space-4) var(--space-5);
font-family:var(--font-display);font-weight:var(--font-weight-semibold);
color:var(--color-text-primary);display:flex;justify-content:space-between;
align-items:center;gap:var(--space-3);font-size:1.02rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:var(--font-size-2xl);color:var(--color-accent-pink-strong);
transition:transform var(--duration-base)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 var(--space-5) var(--space-4);color:var(--color-text-secondary)}
.overlay{position:fixed;inset:0;z-index:var(--z-overlay);background:rgba(46,36,51,.82);
display:none;align-items:center;justify-content:center;padding:var(--space-5)}
.overlay.open{display:flex}
.overlay .box{background:var(--color-surface);border-radius:var(--radius-xl);max-width:960px;width:100%;
max-height:90vh;overflow:auto;position:relative;padding:var(--space-6)}
.overlay .close{position:absolute;top:var(--space-2);right:var(--space-2);width:44px;height:44px;
border-radius:50%;border:none;background:var(--color-primary-soft);color:var(--color-primary);
font-size:1.4rem;cursor:pointer;z-index:2}
.lightbox .box{background:transparent;padding:0;max-width:92vw;box-shadow:none}
.lightbox img{width:100%;max-height:86vh;object-fit:contain;border-radius:var(--radius-sm)}
.lightbox .cap{color:var(--color-text-inverse);text-align:center;
font-weight:var(--font-weight-bold);margin-top:var(--space-2)}
#themeSearch{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border);
border-radius:var(--radius-sm);font:inherit;margin-bottom:var(--space-4);min-height:48px}
.theme-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.gallery-cats{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-4) 0 var(--space-5);justify-content:center}
.gallery-cats button{font:inherit;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);
padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);
border:2px solid var(--color-border);background:var(--color-surface);
color:var(--color-primary);cursor:pointer;min-height:40px}
.gallery-cats button[aria-pressed="true"]{background:var(--color-primary);
color:var(--color-text-inverse);border-color:var(--color-primary)}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}
.gallery figure{margin:0;position:relative;border-radius:var(--radius-md);overflow:hidden;
box-shadow:var(--shadow-sm);cursor:pointer;background:var(--color-background-alt)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform var(--duration-slow)}
.gallery figure:hover img{transform:scale(1.05)}
.gallery figure:focus-visible{outline:3px solid var(--color-secondary)}
@media(min-width:640px){ .gallery{grid-template-columns:repeat(3,1fr)} }
@media(min-width:960px){ .gallery{grid-template-columns:repeat(4,1fr)} }
@media (prefers-reduced-motion:reduce){ .gallery figure:hover img{transform:none} }
/* sections.css */
.wrap{width:min(var(--container-max),var(--container-w));margin-inline:auto}
.section{padding:var(--section-y) 0}
.soft{background:var(--color-background-alt)}
.soft2{background:var(--color-primary-soft)}
.site-header{position:sticky;top:0;z-index:var(--z-header);
background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
border-bottom:1px solid var(--color-border);
transition:box-shadow var(--duration-base)}
.site-header.scrolled{box-shadow:var(--shadow-xs)}
.nav{display:flex;align-items:center;gap:var(--space-4);height:64px}
.brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);
font-weight:var(--font-weight-extrabold);font-size:1.15rem;
color:var(--color-primary);margin-right:auto}
.brand img{height:40px;width:auto}
.nav-links{display:none}
.nav-links a{font-weight:var(--font-weight-bold);color:var(--color-text-primary);
padding:var(--space-2) var(--space-1);font-size:var(--font-size-base);border-radius:6px}
.nav-links a:hover{color:var(--color-accent-pink-strong)}
.nav-cta{display:none}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
border:2px solid var(--color-border);border-radius:var(--radius-sm);
background:var(--color-surface);cursor:pointer}
.nav-toggle span{width:20px;height:2px;background:var(--color-primary);position:relative;display:block}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--color-primary)}
.nav-toggle span::before{top:-6px}.nav-toggle span::after{top:6px}
.mobile-menu{display:none;flex-direction:column;gap:2px;padding:var(--space-2) 0 var(--space-4);
border-top:1px solid var(--color-border)}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:var(--space-3) var(--space-2);font-weight:var(--font-weight-bold);border-radius:var(--radius-sm)}
.mobile-menu a:hover{background:var(--color-background-alt)}
.mobile-menu .btn{margin-top:var(--space-2)}
@media(min-width:940px){
.nav-links{display:flex;align-items:center;gap:var(--space-1);margin-left:auto;margin-right:var(--space-4)}
.nav-cta{display:inline-flex}
.nav-toggle{display:none}
.brand{flex:0 0 auto;margin-right:var(--space-6)}
}
.hero{position:relative;background:
radial-gradient(900px 420px at 85% -10%,rgba(255,92,144,.14),transparent),
radial-gradient(760px 420px at 0% 10%,rgba(129,84,178,.12),transparent),
var(--color-background-alt)}
.hero-grid{display:grid;gap:var(--space-6);padding:var(--space-8) 0 var(--space-10)}
.hero-badge{display:inline-flex;align-items:center;gap:var(--space-1);
background:var(--color-surface);color:var(--color-accent-pink-text);
font-weight:var(--font-weight-extrabold);font-size:var(--font-size-xs);
padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);
box-shadow:var(--shadow-sm);margin-bottom:var(--space-3)}
.hero h1{color:var(--color-primary)}
.hero h1 b{color:var(--color-accent-pink-strong)}
.hero-sub{font-size:1.08rem;color:var(--color-text-secondary);
font-weight:var(--font-weight-semibold);max-width:34ch;margin:var(--space-3) 0 var(--space-5)}
.hero-cta{display:flex;flex-direction:column;gap:var(--space-3)}
.hero-media{position:relative}
.hero-media>picture>img{width:100%;aspect-ratio:16/10;object-fit:cover;
border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}
.hero-mascote{position:absolute;width:78px;height:auto;bottom:-18px;left:-10px;
filter:drop-shadow(0 8px 10px rgba(0,0,0,.18))}
@media(min-width:820px){
.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:var(--space-10);
padding:var(--space-14) 0 var(--space-16)}
.hero-cta{flex-direction:row;flex-wrap:wrap}
.hero-sub{font-size:1.18rem}
.hero-mascote{width:104px;bottom:-24px;left:-22px}
}
.trust{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));
color:var(--color-text-inverse)}
.trust ul{list-style:none;margin:0;padding:var(--space-5) 0;display:grid;
grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-2);text-align:center}
.trust li{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-sm);
align-items:center}
.trust b{font-family:var(--font-display);font-size:1.35rem;color:var(--color-text-inverse);line-height:1}
@media(min-width:720px){ .trust ul{grid-template-columns:repeat(4,1fr);padding:var(--space-6) 0} }
.grid{display:grid;gap:var(--space-4)}
.g-2{grid-template-columns:1fr}
.g-3{grid-template-columns:1fr}
.g-4{grid-template-columns:1fr 1fr}
@media(min-width:640px){ .g-2{grid-template-columns:1fr 1fr} .g-3{grid-template-columns:1fr 1fr} }
@media(min-width:900px){ .g-3{grid-template-columns:repeat(3,1fr)} .g-4{grid-template-columns:repeat(4,1fr)} }
.steps{counter-reset:step;display:grid;gap:var(--space-4)}
.step{position:relative;background:var(--color-surface);border:1px solid var(--color-border);
border-radius:var(--radius-lg);padding:var(--space-5) var(--space-5) var(--space-5) 64px;
box-shadow:var(--shadow-sm)}
.step::before{counter-increment:step;content:counter(step);position:absolute;
left:var(--space-4);top:var(--space-4);width:36px;height:36px;border-radius:50%;
background:var(--color-primary);color:var(--color-text-inverse);
font-family:var(--font-display);font-weight:var(--font-weight-extrabold);
display:grid;place-items:center}
.step h3{font-size:1.08rem;margin:0 0 var(--space-1)}
.step p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-base)}
@media(min-width:720px){ .steps{grid-template-columns:repeat(2,1fr)} }
.perks{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
@media(min-width:900px){ .perks{grid-template-columns:repeat(4,1fr)} }
.rating-top{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;
justify-content:center;margin-bottom:var(--space-2)}
.rating-top .score{font-family:var(--font-display);font-size:2.6rem;color:var(--color-primary);line-height:1}
.reviews{display:grid;gap:var(--space-4);margin-top:var(--space-6)}
@media(min-width:720px){ .reviews{grid-template-columns:repeat(3,1fr)} }
.themes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
@media(min-width:640px){ .themes{grid-template-columns:repeat(3,1fr)} }
@media(min-width:960px){ .themes{grid-template-columns:repeat(4,1fr)} }
.menu-grid{display:grid;gap:var(--space-6);align-items:center}
.menu-grid img{border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);
width:100%;aspect-ratio:4/3;object-fit:cover}
@media(min-width:820px){ .menu-grid{grid-template-columns:1fr 1fr} }
.facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.checks{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;gap:var(--space-2);grid-template-columns:1fr}
.checks li{padding-left:28px;position:relative;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base)}
.checks li::before{content:"✓";position:absolute;left:0;width:20px;height:20px;
color:var(--color-text-inverse);background:var(--color-success);border-radius:50%;
font-size:.72rem;display:grid;place-items:center;top:2px}
@media(min-width:520px){ .facts{grid-template-columns:repeat(4,1fr)} .checks{grid-template-columns:1fr 1fr} }
.agenda-bar{background:linear-gradient(135deg,var(--color-accent-yellow),var(--color-accent-pink));
color:var(--color-text-primary);border-radius:var(--radius-xl);
padding:var(--space-6);text-align:center;box-shadow:var(--shadow-lg)}
.agenda-bar h3{color:var(--color-text-primary);font-size:var(--font-size-2xl);margin-bottom:var(--space-1)}
.agenda-bar p{opacity:.85;margin-bottom:var(--space-4)}
.loc-grid{display:grid;gap:var(--space-6)}
.map{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm);
min-height:300px;background:var(--color-background-alt);position:relative}
.map::before{content:"📍 Mapa do Google — se não carregar, use o botão \201CAbrir no Google Maps\201D ao lado.";
position:absolute;inset:0;display:grid;place-items:center;padding:var(--space-6);text-align:center;
color:var(--color-text-secondary);font-weight:600}
.map iframe{position:relative;z-index:1}
.map iframe{width:100%;height:100%;min-height:300px;border:0;display:block}
@media(min-width:820px){ .loc-grid{grid-template-columns:1.1fr .9fr} }
.cta-final{background:linear-gradient(135deg,var(--color-primary),var(--brand-purple-400));
color:var(--color-text-inverse);border-radius:var(--radius-xl);
padding:var(--space-10) var(--space-6);text-align:center;box-shadow:var(--shadow-lg)}
.cta-final h2{color:var(--color-text-inverse);font-size:var(--font-size-h2)}
.cta-final p{max-width:50ch;margin:var(--space-2) auto var(--space-6);opacity:.95}
.site-footer{background:var(--color-surface-inverse);color:var(--color-text-inverse-muted);
padding:var(--space-8) 0 96px}
.site-footer .cols{display:grid;gap:var(--space-5)}
.site-footer .brand{color:var(--color-text-inverse);margin-bottom:var(--space-2)}
.site-footer a:hover{color:var(--color-text-inverse);text-decoration:underline}
.site-footer h3,.site-footer h4{color:var(--color-text-inverse);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-bottom:var(--space-2)}
.site-footer small{color:var(--color-text-inverse-muted)}
.footer-text{color:var(--color-text-inverse-muted)}
@media(min-width:720px){ .site-footer .cols{grid-template-columns:2fr 1fr 1fr} .site-footer{padding-bottom:var(--space-10)} }
.wpp-float{position:fixed;right:var(--space-4);bottom:var(--space-6);
z-index:var(--z-float);width:56px;height:56px;border-radius:50%;
background:var(--whatsapp-button);color:var(--color-text-inverse);display:grid;place-items:center;
box-shadow:var(--shadow-md)}
@media(max-width:939px){ .wpp-float{display:none} }
.wpp-float svg{width:30px;height:30px}
.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-float);
background:var(--color-surface);border-top:1px solid var(--color-border);
padding:var(--space-2) var(--space-3) calc(env(safe-area-inset-bottom,0) + var(--space-2));
box-shadow:0 -6px 20px rgba(46,36,51,.08);display:flex;gap:var(--space-2)}
.mobile-bar .btn{flex:1}
@media(min-width:940px){ .mobile-bar{display:none} }
/* utilities.css */
.center{text-align:center}
.center .lead{margin-inline:auto}
.mt-2{margin-top:var(--space-2)} .mt-3{margin-top:var(--space-3)}
.mt-4{margin-top:var(--space-4)} .mt-5{margin-top:var(--space-5)}
.mt-6{margin-top:var(--space-6)} .mt-8{margin-top:var(--space-8)}
.mb-4{margin-bottom:var(--space-4)}
.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}
.text-inverse-muted{color:var(--color-text-inverse-muted)}
.fade-up{transition:opacity var(--duration-slow) var(--ease-out),
transform var(--duration-slow) var(--ease-out)}
.js .fade-up{opacity:0;transform:translateY(14px)}
.js .fade-up.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
.js .fade-up{opacity:1;transform:none;transition:none}
}

/* Âncoras: compensa o header fixo (65px) para o topo da seção não ficar escondido.
   Adicionado em 31/08/2026 junto com o roteamento dos CTAs para o formulário. */
#consultar,#formatos,#temas,#faq,#avaliacoes,#estrutura,#como-funciona,#localizacao,#topo{
scroll-margin-top:88px;
}
