/* Maskotko's supplied picture-book identity. */
:root { --ink:#493f35; --muted:#6d6055; --paper:#fff7e9; --pink:#f2889d; --pink-dark:#9e3f5d; --yellow:#ffc849; --aqua:#58bdb5; --violet:#aa82cf; --navy:#3e7771; --shadow:0 14px 32px rgba(103,76,48,.11); --radius:30px; }
body { background:var(--paper); }
h1,h2,h3 { letter-spacing:-.025em; line-height:1.12; }
h1 { font-size:clamp(2.9rem,5.2vw,4.7rem); }
h2 { font-size:clamp(2.2rem,3.7vw,3.35rem); }
.eyebrow { font-size:.875rem; letter-spacing:.09em; }
.site-header { background:rgba(255,248,239,.96); border-bottom:1px solid #eadbc8; backdrop-filter:none; }
.header-inner { min-height:94px; }
.brand { display:flex; align-items:center; text-decoration:none; }
.brand img { width:146px; height:60px; object-fit:contain; }
.brand-name { display:flex; margin-left:7px; font:800 clamp(1.45rem,2.2vw,2rem)/1 'Baloo 2',sans-serif; letter-spacing:.025em; }
.brand-name span:nth-child(4n+1) { color:#ef7489; }.brand-name span:nth-child(4n+2) { color:#efb62c; }.brand-name span:nth-child(4n+3) { color:#9b74bd; }.brand-name span:nth-child(4n) { color:#47afa8; }
.button { background:#a9576c; box-shadow:0 5px 0 #e9c6c0; border:1px solid rgba(94,54,55,.12); }
.button:hover { background:#91485d; box-shadow:0 7px 0 #e9c6c0; }
.button-whatsapp { background:#397765; box-shadow:0 5px 0 #c4dbce; }
.hero { min-height:0; padding:150px 0 88px; background:radial-gradient(circle at 8% 16%,#ffc84980 0 8%,transparent 8.2%),radial-gradient(circle at 85% 18%,#aa82cf4d 0 13%,transparent 13.2%),radial-gradient(circle at 62% 90%,#58bdb54d 0 15%,transparent 15.2%),linear-gradient(130deg,#fff4e6,#ffe7ec 52%,#e6f8f5); border-bottom:5px solid #ffc849; }
.hero-grid { grid-template-columns:1fr 1.1fr; gap:36px; }
.hero h1 { color:#a9576c; }
.hero-lead { font-size:1.125rem; }
.hero-photo-wrap { width:min(460px,100%); margin-left:auto; animation-duration:7s; }
.hero-photo-wrap::before { display:block; }
.hero::after { display:block; }
.hero-photo { aspect-ratio:3/4; border:10px solid #fff; border-radius:45% 55% 47% 53% / 58% 44% 56% 42%; box-shadow:var(--shadow); background:#fff; mix-blend-mode:normal; }
.photo-badge { bottom:-15px; right:24px; font-size:.875rem; background:#fffaf2; border:1px solid #e5d2b9; border-radius:16px 22px 17px 25px; }
.trust-list li { border-color:#dfb85f; }.trust-list li:nth-child(2) { border-color:var(--aqua); }.trust-list li:nth-child(3) { border-color:var(--violet); }
.trust-list span { font-size:.875rem; }
.confetti { opacity:.45; }.confetti-a { top:120px; }.confetti-b { bottom:50px; }
.intro { background:linear-gradient(115deg,#fffdf4 0 44%,#fff2c6 44% 100%); }.intro-grid { grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); align-items:start; gap:64px; }.intro-copy { columns:1; max-width:720px; font-size:1.125rem; }
.section-heading { gap:32px; }.section-heading h2 { color:#557f79; }
.mascots-section { background:linear-gradient(135deg,#f8e5f0,#e9f9f6 55%,#fff2c6); }.mascot-card { border:2px solid #fff; border-bottom:7px solid var(--pink); border-radius:28px 28px 20px 20px; box-shadow:var(--shadow); background:#fffbf5; }
.mascot-card:nth-child(4n+2) { border-bottom-color:var(--aqua); }.mascot-card:nth-child(4n+3) { border-bottom-color:var(--yellow); }.mascot-card:nth-child(4n) { border-bottom-color:var(--violet); }
.mascot-card .card-kicker,.price-card .price-label { font-size:.875rem; letter-spacing:.06em; }
.accessory-note { border-color:#b7a0c7; background:#fffaf3; }
.pricing-section { background:linear-gradient(125deg,#fff8e6,#fff0c5); }.faq-section { background:linear-gradient(125deg,#efe8fa,#f8eaf2); }.booking-section { background:linear-gradient(125deg,#ddf5f2,#fff0bd); }.price-card { background:#fffdf8; border:2px solid #fff; box-shadow:var(--shadow); }
.price-current { background:transparent; color:#824557; }.price-reference { color:#365f59; }
.news-section,.contact-section { background:linear-gradient(125deg,#e1f8f5,#f7e4ef); }.news-card { background:#fffaf3; border-color:#fff; }
.gallery-section { background:linear-gradient(135deg,#5fc1b9,#9d7ac5 52%,#f08098); color:#fff; }.section-heading.light .eyebrow { color:#fff0a5; }.section-heading.light > p { color:#fff; }
.gallery-item { border:7px solid #fffbf5; border-radius:20px; box-shadow:0 7px 18px #756c5120; background:#eee5d5; }.gallery-item:nth-child(3n+1) { rotate:-1deg; }.gallery-item:nth-child(3n+2) { rotate:1deg; }
.accordion details { border-color:#dfcfb9; }.faq-cta { background:#eee5f0; }
.booking-card { background:linear-gradient(135deg,#ffd75e,#f8a2b1 52%,#6ec9c1); border:3px solid #fff; border-radius:38px 24px 40px 28px; gap:48px; }
.date-checker { background:#fffbf4; }.date-result { background:#eaf0e9; }
.contact-form { background:#fff7ce; border:3px solid #fff; box-shadow:var(--shadow); }.contact-form input,.contact-form select,.contact-form textarea { background:#fffdf8; border-color:#d8c8b4; }.form-note { font-size:.875rem; }
.site-footer { background:#455c57; }.footer-grid img { width:160px; height:160px; border-radius:24px; margin-bottom:18px; }.footer-grid h2 { font-size:.875rem; }.footer-bottom { font-size:.875rem; color:#e1e8e0; }.footer-grid p { color:#e1e8e0; }
.site-intro { background:#fff8ef; }.intro-logo-wrap { width:240px; height:145px; }.intro-logo-wrap img { width:190px; height:78px; border-radius:0; mix-blend-mode:normal; }
.scroll-reveal:focus-within { opacity:1; transform:none; }
@media (max-width:980px) { .hero-grid { grid-template-columns:1fr; }.hero-visual { max-width:560px; margin:auto; }.hero-copy { max-width:680px; }.main-nav { top:94px; background:#fffaf3; }.intro-grid { grid-template-columns:minmax(0,1fr); gap:24px; }.intro-grid > * { min-width:0; }.intro-copy { width:100%; max-width:none; columns:1; }.intro-copy p:last-child { margin-bottom:0; } }
@media (max-width:680px) { .brand img { width:108px; height:48px; }.brand-name { margin-left:3px; font-size:1.32rem; }.header-inner { min-height:80px; }.main-nav { top:80px; }.hero { padding:116px 0 70px; }.hero h1 { font-size:clamp(2.65rem,11.5vw,3.7rem); }.hero-grid { gap:30px; }.photo-badge { right:8px; }.booking-card { padding:28px 20px; }.gallery-item { border-width:4px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; }.scroll-reveal { opacity:1; transform:none; } }

/* Colourful birthday-party surfaces */
.site-header { background:linear-gradient(90deg,#ffe1e8,#fff1b7 48%,#d9f5f2); border-bottom-color:#f4bd5d; }
.intro,.mascots-section,.pricing-section,.faq-section,.booking-section,.news-section,.contact-section,.gallery-section { position:relative; isolation:isolate; overflow:hidden; }
.intro > .shell,.mascots-section > .shell,.pricing-section > .shell,.faq-section > .shell,.booking-section > .shell,.news-section > .shell,.contact-section > .shell,.gallery-section > .shell { position:relative; z-index:1; }
.intro::before,.mascots-section::before,.pricing-section::before,.faq-section::before,.booking-section::before,.news-section::before,.contact-section::before { content:""; position:absolute; inset:0; z-index:0; opacity:.34; background-image:radial-gradient(circle at 18px 18px,#fff 0 5px,transparent 5.5px),radial-gradient(circle at 52px 45px,#f58aa0 0 8px,transparent 8.5px),radial-gradient(circle at 86px 19px,#5fc8bf 0 7px,transparent 7.5px),radial-gradient(circle at 125px 50px,#ffc849 0 9px,transparent 9.5px); background-size:160px 92px; }
.intro { background:linear-gradient(135deg,#ffe3eb,#fff0b6 52%,#d7f5f0); }
.mascots-section { background:linear-gradient(135deg,#d8f4f2,#e8dcf6 50%,#ffd9e1); }
.pricing-section { background:linear-gradient(130deg,#fff1ad,#ffd4dd 54%,#d4f3f0); }
.faq-section { background:linear-gradient(130deg,#e4d8f3,#ffd8df 55%,#fff2ae); }
.booking-section { background:linear-gradient(130deg,#7dcfc6,#ffd669 50%,#f58da2); }
.news-section,.contact-section { background:linear-gradient(130deg,#ffcfda,#fce88c 48%,#bfece6); }
.gallery-section { background:linear-gradient(135deg,#43b5ad,#9875be 48%,#ed7892); }
.intro h2 { color:#a34860; }.mascots-section h2 { color:#4b928b; }.pricing-section h2 { color:#a65b34; }.faq-section h2 { color:#76518f; }.booking-section h2 { color:#554334; }.contact-section h2 { color:#9a3f5b; }
.mascot-card,.price-card,.news-card,.contact-form,.date-checker { box-shadow:0 12px 0 rgba(108,73,71,.12),0 21px 38px rgba(103,76,48,.13); }
.mascot-card:nth-child(4n+1) { background:#fff0f4; }.mascot-card:nth-child(4n+2) { background:#e8fbf8; }.mascot-card:nth-child(4n+3) { background:#fff7ca; }.mascot-card:nth-child(4n) { background:#f0e9fb; }
