@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@400;500;600;700&display=swap");
:root{--ink:#354a42;--cream:#fbf7ef;--paper:#fffdf9;--yellow:#f2c75c;--peach:#e99c79;--blue:#79a9b8;--purple:#9c84ae;--green:#879d6c;--coral:#d77972;--pink:#d9919b;--navy:#607d87;--line:#e8dfd1}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif}.announcement{text-align:center;background:var(--ink);color:#fff;padding:10px 18px;font-size:13px}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:auto;padding:0 32px;background:var(--cream);position:sticky;top:0;z-index:20}.brand{display:flex;gap:9px;align-items:center;color:var(--ink);text-decoration:none;font-family:Fredoka;font-size:24px;letter-spacing:1px}.brand strong{color:var(--peach)}.brand-mark{color:var(--yellow);font-size:30px}.nav{display:flex;align-items:center;gap:28px}.nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}.nav-cta{background:var(--ink);color:white!important;padding:13px 18px;border-radius:100px}.menu-btn{display:none;border:0;background:none;font-size:26px;color:var(--ink)}.section{max-width:1180px;margin:auto;padding:110px 28px}.hero{max-width:1280px;min-height:640px;margin:auto;padding:72px 32px 90px;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.eyebrow{display:block;color:#788b62;font-weight:700;letter-spacing:1.8px;font-size:11px;margin-bottom:16px}.hero h1,h2,h3{font-family:Fredoka;margin:0}.hero h1{font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-2px;max-width:700px}.hero em,h2 em{font-style:normal;color:var(--peach)}.hero p{font-size:17px;line-height:1.7;max-width:630px;margin:25px 0;color:#59655f}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{border:0;border-radius:100px;padding:16px 22px;text-decoration:none;font-weight:700;display:inline-flex;gap:18px;align-items:center;cursor:pointer;font-family:inherit}.btn-primary{background:var(--ink);color:#fff}.btn-primary span{font-size:20px}.btn-secondary{color:var(--ink);border:1px solid var(--line)}.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-tags span{background:white;border:1px solid var(--line);padding:8px 12px;border-radius:100px;font-size:13px}.hero-art{height:510px;position:relative;border-radius:48% 48% 30% 30%;background:linear-gradient(150deg,#f1d99e,#dce9d6);overflow:hidden}.sun{position:absolute;width:120px;height:120px;border-radius:50%;background:#f5c85e;top:38px;right:50px}.cloud{position:absolute;background:#fffdf5;border-radius:40px;width:110px;height:35px;opacity:.8}.c1{top:110px;left:35px}.c2{top:55px;left:190px;transform:scale(.7)}.hero-house{position:absolute;bottom:0;left:17%;width:330px}.roof{width:0;height:0;border-left:195px solid transparent;border-right:195px solid transparent;border-bottom:150px solid #687b6b;margin-left:-30px}.house-body{height:260px;background:#e79c7a;border-radius:8px 8px 0 0;position:relative;border:7px solid #fff7e8;border-bottom:0}.window{position:absolute;width:72px;height:72px;background:#b9d7d8;border:7px solid #fff7e8;top:45px}.w1{left:35px}.w2{right:35px}.door{position:absolute;bottom:0;left:115px;width:90px;height:145px;background:#7c5c48;border-radius:45px 45px 0 0;color:#f3cc65;display:grid;place-items:center;font-size:24px}.tree{position:absolute;color:#6f956e;font-size:120px;bottom:-25px;text-shadow:0 35px 0 #8d674b}.t1{left:-5px}.t2{right:-15px;font-size:100px}.hero-card{position:absolute;right:20px;bottom:30px;background:#fffdfa;padding:18px 20px;border-radius:18px;box-shadow:0 12px 30px #52614c33}.hero-card strong,.hero-card span{display:block}.hero-card strong{font-family:Fredoka;font-size:18px}.hero-card span{font-size:12px;margin-top:4px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-top:1px solid var(--line)}h2{font-size:clamp(38px,5vw,62px);line-height:1.05;letter-spacing:-1.5px}.intro-text{font-size:18px;line-height:1.8;color:#59655f}.intro-text p:first-child{margin-top:0}.village{background:var(--paper);max-width:none;padding-left:max(28px,calc((100vw - 1180px)/2));padding-right:max(28px,calc((100vw - 1180px)/2))}.village-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.village-head p{max-width:340px;line-height:1.7;color:#66726b}.spaces{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.space{padding:30px;border-radius:26px;min-height:280px;position:relative;overflow:hidden;background:#e5eee0}.space.peach{background:#f7dfd1}.space.blue{background:#dbe9ec}.space.purple{background:#e5dcec}.space.yellow{background:#f8edc8}.space.coral{background:#f1d9d3}.space.green{background:#dfe9d6}.space.navy{background:#dce7e9}.space.pink{background:#f2dfe2}.space.featured{grid-row:span 2;background:#dce7d1;min-height:578px}.space-icon{font-size:45px}.number{position:absolute;right:28px;top:28px;font-family:Fredoka;font-size:15px;background:#ffffffaa;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.space h3{font-size:29px;margin:30px 0 9px}.space p{line-height:1.6;font-size:14px;max-width:290px}.space button{position:absolute;bottom:25px;left:30px;background:none;border:0;padding:0;font-family:inherit;color:var(--ink);font-weight:700;cursor:pointer}.space button span{font-size:20px;margin-left:6px}.experience{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;align-items:center}.experience-art{height:540px;border-radius:38px;background:#d6e2d2;position:relative;display:grid;place-items:center;overflow:hidden}.big-star{position:absolute;font-size:300px;color:#eab46b;opacity:.35;top:-75px;right:-50px}.poster{font-family:Fredoka;text-align:center;font-size:30px;line-height:1.1;background:#f6a77c;padding:75px 60px;transform:rotate(-6deg);border:10px solid #fff8e9;box-shadow:15px 20px 0 #657b68;color:#fff}.poster strong{font-size:64px}.poster small{font-family:"DM Sans";font-size:12px}.experience-list>div{display:flex;gap:20px;padding:19px 0;border-bottom:1px solid var(--line)}.experience-list b{font-family:Fredoka;color:var(--peach);font-size:22px}.experience-list strong,.experience-list small{display:block}.experience-list small{margin-top:5px;color:#68736e}.family{max-width:none;background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-left:max(28px,calc((100vw - 1180px)/2));padding-right:max(28px,calc((100vw - 1180px)/2));align-items:center}.family .eyebrow{color:#c8d7b6}.family h2 em{color:#f0c66a}.family p{line-height:1.8;color:#e4e9e4}.mini-cards{display:flex;gap:12px;margin-top:28px}.mini-cards div{flex:1;padding:17px;background:#ffffff12;border:1px solid #ffffff22;border-radius:16px}.mini-cards strong,.mini-cards span{display:block}.mini-cards strong{margin-top:8px;font-size:14px}.mini-cards span{font-size:11px;opacity:.7;margin-top:4px}.family-art{min-height:390px;display:grid;place-items:center}.desk{width:85%;background:#7898a0;padding:50px;text-align:center;border-radius:24px 24px 0 0;font-size:80px;box-shadow:20px 25px 0 #ffffff0d}.desk span{font:600 18px Fredoka;color:white}.events-title{max-width:780px;margin-bottom:45px}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-card{padding:32px;border-radius:25px;min-height:290px}.event-card span{font-size:40px}.event-card h3{font-size:27px;margin:25px 0 10px}.event-card p{line-height:1.7;font-size:14px}.event-card a{display:inline-block;margin-top:15px;color:var(--ink);font-weight:700;text-decoration:none}.birthday{background:#f4d9d1}.workshop{background:#dce9e2}.school{background:#eee3c7}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:18px 0}summary{list-style:none;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}details p{line-height:1.7;color:#68736e;font-size:14px;padding-right:45px}details[open] summary span{transform:rotate(45deg)}.contact{background:#f0c765;max-width:none;padding-left:max(28px,calc((100vw - 1180px)/2));padding-right:max(28px,calc((100vw - 1180px)/2));display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-copy p{font-size:17px;line-height:1.8}.contact-note{display:flex;gap:12px;margin-top:30px;max-width:470px}.contact-form{background:#fffdf9;padding:30px;border-radius:26px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form label{font-size:12px;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #e7ded1;border-radius:10px;padding:12px;margin-top:6px;font:inherit;background:white}.contact-form label:has(textarea),.contact-form .btn,.form-message{grid-column:1/-1}.form-message{margin:0;font-size:13px;font-weight:600}footer{max-width:1180px;margin:auto;padding:55px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{display:flex;align-items:center;gap:8px}.footer-brand strong,.footer-brand small{display:block}.footer-brand small{font-size:11px;color:#7c8780;margin-top:4px}footer p{font-size:12px;color:#7c8780}.social{display:flex;gap:9px}.social a{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;text-decoration:none;color:var(--ink);font-weight:700}dialog{border:0;border-radius:28px;padding:45px;max-width:520px;width:calc(100% - 30px);color:var(--ink);box-shadow:0 25px 100px #2228}.modal-icon{font-size:60px}.modal-title{font-size:44px;margin:8px 0}.modal-text{font-size:17px;line-height:1.7}.close-modal{position:absolute;right:18px;top:12px;border:0;background:none;font-size:35px;cursor:pointer;color:var(--ink)}dialog::backdrop{background:#24372f88}.reveal{opacity:0;transform:translateY(24px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{padding:0 20px;height:72px}.menu-btn{display:block}.nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--cream);padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero,.intro,.experience,.family,.faq,.contact{grid-template-columns:1fr;gap:45px}.hero{padding:50px 24px 70px}.hero-art{height:430px}.section{padding:80px 24px}.intro{gap:35px}.spaces{grid-template-columns:1fr 1fr}.space.featured{grid-column:span 2;grid-row:auto;min-height:350px}.village-head{display:block}.village-head p{margin-top:18px}.experience-art{height:400px}.family{padding:80px 24px}.event-grid{grid-template-columns:1fr}.contact{padding:80px 24px}.contact-form{grid-template-columns:1fr}.contact-form label{grid-column:1/-1}footer{flex-direction:column;text-align:center}.family-art{min-height:250px}}
@media(max-width:560px){.announcement{font-size:11px}.brand{font-size:19px}.hero h1{font-size:48px}.hero-art{height:360px}.hero-house{left:12%;transform:scale(.82);transform-origin:bottom left}.spaces{grid-template-columns:1fr}.space.featured{grid-column:auto}.spaces .space{min-height:270px}.spaces .featured{min-height:320px}.mini-cards{flex-direction:column}.event-card{min-height:230px}.poster{transform:scale(.78) rotate(-6deg)}.contact-form{padding:22px}}

.logo-img{height:54px;max-width:210px;object-fit:contain;object-position:left center}
.cover-image,.facade-image,.family-image{width:100%;height:100%;object-fit:cover;display:block}
.hero-art{background:#e9e2d5}.hero-card{display:flex;align-items:center;gap:12px}
.tibu-mini{width:58px;height:58px;object-fit:cover;border-radius:50%;background:#fff}
.facade-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;padding-top:80px;padding-bottom:80px}
.facade-copy p{font-size:17px;line-height:1.7;color:#68736e}.facade-image{height:420px;border-radius:30px;border:1px solid var(--line)}
.space-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;mix-blend-mode:multiply;transition:opacity .3s,transform .4s}
.space:hover .space-bg{opacity:.35;transform:scale(1.04)}
.space>*:not(.space-bg){position:relative;z-index:1}
.family-image{height:390px;border-radius:28px;box-shadow:18px 20px 0 #ffffff0d}
.footer-logo{width:54px;height:54px;object-fit:contain;border-radius:50%}
@media(max-width:850px){.facade-section{grid-template-columns:1fr;gap:35px}.facade-image{height:320px}.family-image{height:300px}.logo-img{height:48px}}
