:root{--yellow:#fedd04;--yellow-soft:#fff4a8;--ink:#050505;--paper:#fffdf4;--white:#fff;--red:#ed2424;--orange:#ff9215;--green:#29bf3c;--blue:#16ace3;--indigo:#2924d8;--purple:#a10aee;--muted:#565656;--shadow:7px 7px 0 var(--ink);--radius:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 "Nunito",sans-serif;overflow-x:hidden}a{color:inherit}img{display:block;max-width:100%;height:auto}.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}.skip-link{position:fixed;left:1rem;top:-100px;z-index:999;background:#000;color:#fff;padding:.8rem 1rem;border-radius:12px}.skip-link:focus{top:1rem}.announcement{background:var(--ink);color:var(--yellow);font-size:.78rem;font-weight:900;letter-spacing:.12em;text-align:center;text-transform:uppercase;padding:.55rem 1rem}.site-header{height:86px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:rgba(255,253,244,.96);border-bottom:2px solid #000;position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}.brand{display:block;width:158px;height:72px;overflow:hidden}.brand img{width:100%;height:100%;object-fit:cover;object-position:center}.site-header nav{display:flex;align-items:center;gap:1.8rem}.site-header nav a{text-decoration:none;font-weight:900;font-size:.92rem}.site-header nav a:not(.nav-tour):hover,.site-header nav a[aria-current="page"]:not(.nav-tour){text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:5px;text-underline-offset:6px}.nav-tour{background:var(--yellow);border:2px solid var(--ink);border-radius:999px;padding:.75rem 1.2rem;box-shadow:4px 4px 0 #000;transition:.18s}.nav-tour:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #000}.menu-toggle{display:none;border:0;background:none;padding:.5rem}.menu-toggle span{display:block;width:28px;height:3px;background:#000;margin:5px;border-radius:10px}
.hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:720px;border-bottom:3px solid #000}.home-hero{background:var(--yellow)}.hero-copy{padding:clamp(4rem,7vw,7rem) 5vw;display:flex;flex-direction:column;justify-content:center}.kicker{margin:0 0 1rem;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:900}.kicker:before{content:"♪";display:inline-block;margin-right:.55rem;font-size:1.1rem}.kicker.light{color:var(--yellow)}h1,h2,h3{font-family:"Fredoka",sans-serif;line-height:1.04;margin-top:0}h1{font-size:clamp(3.7rem,6.6vw,7rem);letter-spacing:-.055em;margin-bottom:1.5rem;max-width:820px}h1 span,h2 span{color:var(--red)}.hero-lead{max-width:700px;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:700;margin:0 0 2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.button{min-height:54px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #000;border-radius:999px;padding:.75rem 1.4rem;text-decoration:none;font-weight:900;transition:.18s;cursor:pointer;font:900 1rem "Nunito",sans-serif}.button:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 #000}.button-black{background:#000;color:#fff}.button-paper{background:var(--paper);color:#000}.button-yellow{background:var(--yellow);color:#000}.hero-facts{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:3rem}.hero-facts div{display:flex;align-items:center;gap:.55rem;padding:.55rem .8rem;background:rgba(255,255,255,.55);border:2px solid #000;border-radius:14px}.hero-facts strong{font:700 1.75rem "Fredoka"}.hero-facts span{font-size:.72rem;font-weight:900;line-height:1.15;text-transform:uppercase;max-width:100px}.hero-photo-wrap{position:relative;margin:2rem 2rem 2rem 0;border:3px solid #000;border-radius:38px;overflow:hidden;background:#fff;box-shadow:10px 10px 0 #000}.hero-photo-wrap>img{width:100%;height:100%;object-fit:cover;object-position:center}.photo-note{position:absolute;right:1.4rem;bottom:1.4rem;background:#fff;border:3px solid #000;border-radius:18px;padding:.9rem 1rem;font:700 1rem "Fredoka";box-shadow:5px 5px 0 #000;transform:rotate(2deg)}.photo-note b{color:var(--red);font-size:1.5rem}.rainbow-keys{position:absolute;top:1.4rem;left:1.4rem;display:flex;gap:4px;align-items:flex-start}.rainbow-keys i{display:block;width:10px;border:2px solid #000;border-radius:6px}.rainbow-keys i:nth-child(1){height:27px;background:var(--red)}.rainbow-keys i:nth-child(2){height:39px;background:var(--orange)}.rainbow-keys i:nth-child(3){height:51px;background:var(--yellow)}.rainbow-keys i:nth-child(4){height:61px;background:var(--green)}.rainbow-keys i:nth-child(5){height:48px;background:var(--blue)}.rainbow-keys i:nth-child(6){height:37px;background:var(--indigo)}.rainbow-keys i:nth-child(7){height:27px;background:var(--purple)}
.mini-proof{display:flex;justify-content:center;align-items:center;gap:1.6rem;flex-wrap:wrap;padding:1.2rem 4vw;background:#fff;border-bottom:3px solid #000;font-weight:900;text-align:center}.mini-proof i{color:var(--red);font-style:normal}.section{padding:clamp(5rem,8vw,8rem) 5vw}.section-heading{max-width:1180px;margin:0 auto 3.2rem}.section-heading.compact{margin-left:0}.section-heading h2,.day-copy h2,.trust-copy h2{font-size:clamp(2.8rem,5vw,5.7rem);letter-spacing:-.045em;margin-bottom:1.3rem}.section-heading>p:last-child{max-width:820px;color:var(--muted);font-size:1.12rem}.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;max-width:1500px;margin:auto}.pillar{min-height:330px;padding:1.7rem;border:3px solid #000;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column}.pillar .symbol{width:58px;height:58px;border:3px solid #000;background:#fff;border-radius:50%;display:grid;place-items:center;font-size:1.6rem}.pillar h3{margin:auto 0 .7rem;font-size:1.8rem}.pillar p{margin:0;font-weight:700}.red-card{background:#ff6868}.green-card{background:#5bdb72}.blue-card{background:#5dccf4}.orange-card{background:#ffad45}
.programs-home{background:#fff4a8;border-top:3px solid #000;border-bottom:3px solid #000}.program-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.program-card{background:var(--paper);border:3px solid #000;border-radius:26px;padding:2rem;box-shadow:7px 7px 0 #000}.program-card.featured{background:var(--yellow)}.program-age{display:inline-block;padding:.35rem .7rem;background:#000;color:#fff;border-radius:999px;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.program-card h3{font-size:2.1rem;margin:1.4rem 0 .8rem}.program-card p{color:#333}.program-card ul{padding-left:1.2rem;font-weight:800}.fine-print{font-size:.82rem;margin:1.5rem 0 .5rem}.text-arrow{display:inline-flex;gap:.7rem;align-items:center;font-weight:900;text-underline-offset:5px}.text-arrow span{font-size:1.7rem}.music-preview{background:#060606;color:#fff;padding:clamp(4rem,7vw,7rem) 5vw;display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}.music-preview h2{font-size:clamp(3rem,5.4vw,6rem);margin-bottom:1.4rem}.music-preview p:not(.kicker){color:#d4d4d4;max-width:700px;margin-bottom:2rem}.music-steps{list-style:none;padding:0;margin:0}.music-steps li{display:grid;grid-template-columns:70px 1fr;gap:1rem;align-items:center;border-top:1px solid #555;padding:1rem 0}.music-steps li:last-child{border-bottom:1px solid #555}.music-steps span{color:var(--yellow);font-weight:900}.music-steps b{font:600 1.35rem "Fredoka"}.day-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}.day-copy>p:not(.kicker){max-width:640px;color:var(--muted)}.day-list{border:3px solid #000;border-radius:28px;box-shadow:var(--shadow);overflow:hidden}.day-list div{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1.35rem;border-bottom:2px solid #000}.day-list div:last-child{border:0}.day-list div:nth-child(1){background:#ff9999}.day-list div:nth-child(2){background:#fff07b}.day-list div:nth-child(3){background:#7bdcf8}.day-list time{font-weight:900;text-transform:uppercase}.day-list p{margin:0;font-weight:800}.family-trust{background:var(--yellow);border-top:3px solid #000;display:grid;grid-template-columns:1fr .7fr;gap:7vw;align-items:center}.trust-copy>p:not(.kicker){max-width:650px;font-size:1.1rem;font-weight:700}.funding-pills{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.5rem}.funding-pills span{padding:.55rem .8rem;border:2px solid #000;border-radius:999px;background:#fff;font-weight:900;font-size:.82rem}.review-card{background:#fff;border:3px solid #000;border-radius:28px;padding:2.2rem;box-shadow:var(--shadow)}.review-card .stars{font-size:1.7rem;color:var(--orange);letter-spacing:.15em}.review-card h3{font-size:2.4rem;margin:1rem 0 .5rem}.tour-banner{padding:clamp(5rem,8vw,8rem) 5vw;text-align:center;background:var(--paper)}.tour-banner h2{font-size:clamp(3rem,5.8vw,6.5rem);max-width:1100px;margin:0 auto 1.5rem}.tour-banner>p:not(.kicker){max-width:650px;margin:0 auto 2rem}
.page-hero{padding:clamp(4rem,7vw,7rem) 5vw;border-bottom:3px solid #000;background:var(--yellow)}.page-hero h1{max-width:1100px}.page-hero>p:not(.kicker){max-width:800px;font-size:1.2rem;font-weight:700}.page-hero.dark{background:#000;color:#fff}.page-hero.dark h1 span{color:var(--yellow)}.subnav{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:2rem}.subnav a{background:#fff;border:2px solid #000;border-radius:999px;padding:.55rem .9rem;font-weight:900;text-decoration:none}.detail-section{padding:clamp(4rem,7vw,7rem) 5vw;border-bottom:3px solid #000}.detail-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;max-width:1450px;margin:auto}.detail-grid h2{font-size:clamp(2.7rem,4.5vw,5rem);position:sticky;top:130px}.detail-content h3{font-size:2rem;margin:2.2rem 0 .7rem}.detail-content h3:first-child{margin-top:0}.detail-content p,.detail-content li{color:#3d3d3d}.info-box{padding:1.4rem;border:3px solid #000;border-radius:22px;background:var(--yellow-soft);margin:1.5rem 0}.info-box strong{font-family:"Fredoka";font-size:1.2rem}.fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2rem 0}.fact{padding:1.2rem;border:2px solid #000;border-radius:18px;background:#fff}.fact b{display:block;font-family:"Fredoka";font-size:1.2rem}.routine-list{list-style:none;padding:0;margin:0;border:3px solid #000;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.routine-list li{display:grid;grid-template-columns:150px 1fr;gap:1rem;padding:1rem 1.2rem;border-bottom:2px solid #000}.routine-list li:last-child{border:0}.routine-list li:nth-child(4n+1){background:#ffd4d4}.routine-list li:nth-child(4n+2){background:#fff3a0}.routine-list li:nth-child(4n+3){background:#c4f3cf}.routine-list li:nth-child(4n){background:#c8efff}.routine-list time{font-weight:900}.routine-list span{font-weight:800}.pathway{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:3rem}.path-card{position:relative;padding:1.4rem;border:3px solid #000;border-radius:24px;min-height:260px;box-shadow:5px 5px 0 #000}.path-card:nth-child(1){background:#ff6d6d}.path-card:nth-child(2){background:#ffb44f}.path-card:nth-child(3){background:#ffe761}.path-card:nth-child(4){background:#69db7c}.path-card:nth-child(5){background:#5dccf4}.path-card span{font:700 3rem "Fredoka"}.path-card h3{font-size:1.6rem;margin:1.7rem 0 .5rem}.instrument-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.instrument-grid div{padding:1.2rem;border:2px solid #000;border-radius:20px;background:#fff;font-weight:900;text-align:center}.staff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.staff-card{border:3px solid #000;border-radius:28px;padding:2rem;box-shadow:var(--shadow)}.staff-card:first-child{background:var(--yellow)}.staff-card h2{font-size:2.6rem;margin-bottom:.3rem}.staff-role{font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.credential-list{padding-left:1.2rem}.credential-list li{margin:.5rem 0}.credential-note{font-size:.83rem;color:#555}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:4vw;max-width:1400px;margin:auto}.contact-card,.booking-card{border:3px solid #000;border-radius:28px;padding:2rem;box-shadow:var(--shadow);background:#fff}.contact-card{background:var(--yellow)}.contact-card h2,.booking-card h2{font-size:2.7rem;margin-bottom:1rem}.contact-card a{font-weight:900}.hours{padding:0;list-style:none}.hours li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #000;padding:.7rem 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem}.field.full{grid-column:1/-1}.field label{font-weight:900}.field input,.field select,.field textarea{width:100%;border:2px solid #000;border-radius:13px;padding:.8rem;background:#fff;font:inherit}.field textarea{min-height:110px;resize:vertical}.form-note{font-size:.84rem;color:#555}.form-status{display:none;padding:1rem;border:2px solid #000;border-radius:14px;background:#d4f6dd;margin-top:1rem}.form-status.show{display:block}.faq-grid{max-width:1000px;margin:auto}.faq-grid details{border-bottom:2px solid #000;padding:1.15rem 0}.faq-grid details:first-child{border-top:2px solid #000}.faq-grid summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font:600 1.25rem "Fredoka"}.faq-grid summary:after{content:"+";font-size:1.7rem}.faq-grid details[open] summary:after{content:"−"}.faq-grid p{color:#444;padding-right:2rem}
.site-footer{background:#000;color:#fff;padding:3.5rem 5vw 2rem;display:grid;grid-template-columns:1.3fr .6fr 1fr .6fr;gap:3rem}.footer-brand img{width:190px;border-radius:16px}.footer-brand p{color:#bbb;font-size:.84rem}.site-footer h3{color:var(--yellow);font-size:1.05rem;margin-bottom:.7rem}.site-footer a,.site-footer>div>p{display:block;color:#ddd;text-decoration:none;margin:.35rem 0;font-size:.9rem}.site-footer a:hover{color:var(--yellow)}.copyright{grid-column:1/-1;border-top:1px solid #444;padding-top:1.2rem;color:#999;font-size:.78rem}.mobile-tour{display:none}
@media(max-width:1050px){.pillar-grid{grid-template-columns:1fr 1fr}.music-preview,.day-section,.family-trust,.detail-grid,.contact-layout{grid-template-columns:1fr}.detail-grid h2{position:static}.pathway{grid-template-columns:repeat(3,1fr)}.instrument-grid{grid-template-columns:repeat(2,1fr)}.site-footer{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}.hero-photo-wrap{min-height:600px;margin:0 4vw 4vw}.program-card-grid{grid-template-columns:1fr}.program-card{min-height:0}}
@media(max-width:760px){body{font-size:16px;padding-bottom:68px}.announcement{font-size:.65rem;letter-spacing:.07em}.site-header{height:74px;padding:0 1rem}.brand{width:126px;height:62px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);border-bottom:3px solid #000;padding:1.2rem;flex-direction:column;align-items:stretch;gap:.4rem}.site-header nav.open{display:flex}.site-header nav a{padding:.55rem}.nav-tour{text-align:center;margin-top:.4rem}.hero{min-height:0}.hero-copy{padding:3.5rem 1.2rem 2.5rem}h1{font-size:clamp(3.25rem,16vw,5rem)}.hero-lead{font-size:1.08rem}.hero-actions{display:grid}.button{width:100%}.hero-facts{gap:.6rem;margin-top:2rem}.hero-facts div{flex:1 1 130px}.hero-photo-wrap{min-height:420px;margin:0 1rem 1.5rem;border-radius:24px;box-shadow:6px 6px 0 #000}.hero-photo-wrap>img{object-position:55% center}.photo-note{right:.7rem;bottom:.7rem;max-width:160px;font-size:.8rem}.mini-proof{gap:.7rem}.mini-proof i{display:none}.section,.detail-section{padding:4.5rem 1.2rem}.pillar-grid,.staff-grid{grid-template-columns:1fr}.pillar{min-height:280px}.music-preview{padding:4.5rem 1.2rem}.music-preview h2,.section-heading h2,.day-copy h2,.trust-copy h2{font-size:clamp(2.7rem,13vw,4rem)}.day-list div{grid-template-columns:1fr;gap:.25rem}.page-hero{padding:3.5rem 1.2rem}.page-hero h1{font-size:clamp(3.2rem,15vw,5rem)}.fact-grid,.pathway,.instrument-grid{grid-template-columns:1fr}.path-card{min-height:220px}.routine-list li{grid-template-columns:1fr;gap:.2rem}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.site-footer{grid-template-columns:1fr;padding:3rem 1.2rem}.copyright{grid-column:auto}.mobile-tour{display:block;position:fixed;z-index:200;left:12px;right:12px;bottom:10px;background:var(--yellow);border:3px solid #000;border-radius:999px;padding:.75rem;text-align:center;text-decoration:none;font-weight:900;box-shadow:4px 4px 0 #000}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.brand{width:auto;height:72px;display:flex;align-items:center;gap:.55rem;text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain;flex:0 0 auto}.brand span{font:700 1.08rem/1 "Fredoka",sans-serif;text-transform:uppercase;white-space:nowrap}.brand small{display:block;margin-top:.28rem;font:900 .57rem/1 "Nunito",sans-serif;letter-spacing:.08em}.about-photo{position:relative;max-width:1180px;margin:4rem auto;padding:1.2rem;background:#fff;border:3px solid #000;border-radius:32px;box-shadow:var(--shadow)}.about-photo img{width:100%;max-height:680px;object-fit:cover;border-radius:20px}.about-photo figcaption{position:absolute;right:2.2rem;bottom:2.2rem;max-width:300px;padding:.9rem 1rem;background:var(--yellow);border:3px solid #000;border-radius:16px;box-shadow:5px 5px 0 #000;font:700 1rem "Fredoka",sans-serif}
@media(max-width:760px){.brand{height:62px;gap:.4rem}.brand img{width:48px;height:48px}.brand span{font-size:.95rem}.brand small{font-size:.5rem}.about-photo{margin:2rem 1rem;padding:.7rem;border-radius:22px;box-shadow:5px 5px 0 #000}.about-photo img{min-height:320px;object-position:58% center}.about-photo figcaption{position:static;max-width:none;margin:.7rem .2rem 0;padding:.5rem 0;border:0;background:transparent;box-shadow:none}}
.music-word{color:var(--red)!important}.montessori-word{color:var(--ink)!important}.photo-gallery{padding:clamp(4rem,7vw,7rem) 5vw;background:#fff;border-top:3px solid #000}.photo-gallery h2{font-size:clamp(2.7rem,5vw,5.2rem);margin-bottom:1.5rem}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:1500px;margin:2rem auto 0}.gallery-grid figure{margin:0;border:3px solid #000;border-radius:22px;overflow:hidden;background:var(--paper);box-shadow:5px 5px 0 #000}.gallery-grid img{width:100%;height:250px;object-fit:cover}.gallery-grid figcaption{padding:.75rem .9rem;font:700 .95rem "Fredoka",sans-serif}.gallery-grid .wide{grid-column:span 2}.gallery-grid .wide img{height:320px}@media(max-width:1050px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.gallery-grid{grid-template-columns:1fr}.gallery-grid .wide{grid-column:auto}.gallery-grid img,.gallery-grid .wide img{height:260px}}
.hero-slideshow{isolation:isolate}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{margin:0;opacity:0;overflow:hidden;transition:opacity .7s ease;background:#201f1c}.hero-slide::before{content:"";position:absolute;inset:-28px;background-image:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28)),var(--slide-bg);background-size:cover;background-position:center;filter:blur(18px);transform:scale(1.08)}.hero-slide.is-active{opacity:1;z-index:1}.hero-slide img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center}.slideshow-controls{position:absolute;z-index:3;left:1.2rem;bottom:1.2rem;display:flex;align-items:center;gap:.35rem;background:#fff;border:3px solid #000;border-radius:999px;padding:.3rem .4rem;box-shadow:4px 4px 0 #000;font:900 .8rem "Nunito",sans-serif}.slideshow-controls button{width:30px;height:30px;border:2px solid #000;border-radius:50%;background:var(--yellow);font:900 1.2rem/1 "Nunito";cursor:pointer}.slideshow-controls button:hover{background:var(--red);color:#fff}.slideshow-controls span{min-width:42px;text-align:center}.hero-slideshow .photo-note{z-index:4}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
.page-hero-slideshow{position:relative;max-width:1000px;height:clamp(560px,48vw,680px);margin:3rem auto 0;border:3px solid #000;border-radius:28px;overflow:hidden;background:#201f1c;box-shadow:8px 8px 0 #000}.page-hero-slideshow .hero-slide img{object-fit:contain;object-position:center}.page-hero-slideshow .slideshow-controls{bottom:1rem;left:1rem}.gallery-grid figure{display:flex;flex-direction:column}.gallery-grid img,.gallery-grid .wide img{width:100%;height:auto;max-height:none;object-fit:contain;background:#f5f5f5;padding:0}.gallery-grid figcaption{margin-top:auto;border-top:2px solid #000;background:var(--paper)}
@media(max-width:760px){.page-hero-slideshow{height:480px;margin-top:2rem;border-radius:22px;box-shadow:5px 5px 0 #000}.page-hero-slideshow .hero-slide img{object-fit:contain;object-position:center}.gallery-grid img,.gallery-grid .wide img{height:auto}}
.form-status.error{background:#ffd7d7}.form-status.success{background:#d4f6dd}.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;list-style:none;padding:0;margin:1.5rem 0}.booking-steps li{display:flex;align-items:center;gap:.45rem;color:#777;font-weight:900;font-size:.85rem}.booking-steps span{width:30px;height:30px;border:2px solid #999;border-radius:50%;display:grid;place-items:center}.booking-steps li.is-active{color:#000}.booking-steps li.is-active span{background:var(--yellow);border-color:#000}.availability-state{padding:1rem;border:2px solid #000;border-radius:14px;background:var(--yellow-soft);font-weight:800}.availability-state.error{background:#ffd7d7}.booking-picker{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(210px,.85fr);gap:1rem;margin-top:1.2rem}.calendar-panel,.time-panel{border:2px solid #000;border-radius:20px;padding:1rem;background:#fff}.calendar-header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:.5rem;margin-bottom:.75rem}.calendar-header h3{text-align:center;margin:0;font-size:1.3rem}.calendar-nav{width:42px;height:42px;border:2px solid #000;border-radius:50%;background:var(--yellow);font-size:1.5rem;cursor:pointer}.calendar-nav:disabled{opacity:.25;cursor:not-allowed}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.calendar-weekdays span{text-align:center;font-size:.7rem;font-weight:900;color:#666;padding:.35rem 0}.calendar-day,.calendar-blank{aspect-ratio:1;display:grid;place-items:center}.calendar-day{border:0;border-radius:50%;background:#f1f1f1;font-weight:900;cursor:pointer}.calendar-day:disabled{background:transparent;color:#bbb;cursor:not-allowed}.calendar-day:not(:disabled):hover,.calendar-day.is-selected{background:var(--yellow);outline:2px solid #000}.time-panel h3{font-size:1.25rem;margin-bottom:.2rem}.time-panel>p{font-size:.85rem;color:#666;margin-top:0}.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.time-button{border:2px solid #000;border-radius:999px;background:#fff;padding:.65rem;font-weight:900;cursor:pointer}.time-button:hover,.time-button.is-selected{background:#000;color:#fff}.tour-details{margin-top:1.2rem;padding-top:1.2rem;border-top:2px dashed #000}.selected-slot{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:var(--yellow);border:2px solid #000;border-radius:16px;padding:1rem;margin-bottom:1rem}.selected-slot span{font-weight:800}.honeypot,.booking-transport{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.form-status.booking-success{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:#d4f6dd;box-shadow:5px 5px 0 #000}.confirmation-icon{flex:0 0 48px;width:48px;height:48px;border:2px solid #000;border-radius:50%;display:grid;place-items:center;background:var(--yellow);font-size:1.7rem;font-weight:900}.booking-success strong{display:block;font:700 1.45rem "Fredoka";margin-bottom:.35rem}.booking-success p{margin:.2rem 0 1rem;line-height:1.55}.confirmation-again{border:2px solid #000;border-radius:999px;background:#000;color:#fff;padding:.65rem 1rem;font:inherit;font-size:.9rem;font-weight:800;cursor:pointer}.confirmation-again:hover,.confirmation-again:focus-visible{background:var(--yellow);color:#000}
@media(max-width:1050px){.booking-picker{grid-template-columns:1fr}}
@media(max-width:760px){.booking-card,.contact-card{padding:1.25rem}.booking-steps li{font-size:.72rem}.booking-steps span{width:26px;height:26px}.calendar-panel,.time-panel{padding:.7rem}.calendar-weekdays span{font-size:.62rem}.calendar-grid{gap:.15rem}.time-grid{grid-template-columns:1fr 1fr}.selected-slot{align-items:flex-start;flex-direction:column}}

/* Keep direct booking links clear of the sticky navigation. */
#tour-booking { scroll-margin-top: 110px; }
