:root{--topa-orange:#df6d06;--topa-apricot:#fab057;--topa-sky:#aad1d6;--topa-coral:#faa18c;--topa-yellow:#e4d878;--topa-mauve:#c3a39b;--topa-ink:#29231f;--topa-muted:#6f665f;--topa-canvas:#fffdfa;--topa-surface:#fff;--topa-border:#e8ded7;--topa-primary:#a84d00;--topa-primary-hover:#843c00;--topa-focus:#356d76;--topa-radius-sm:8px;--topa-radius-md:12px;--topa-radius-lg:18px;--topa-radius-xl:28px;--topa-shadow:0 10px 28px #412d201a;--container:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--topa-canvas);color:var(--topa-ink);text-rendering:optimizelegibility;margin:0;font-family:Avenir Next,Avenir,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-size:17px;line-height:1.6}body,button,a{-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--topa-focus);outline-offset:3px}.skip-link{z-index:1000;border-radius:var(--topa-radius-sm);background:var(--topa-ink);color:#fff;padding:10px 14px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.container{width:min(calc(100% - 40px), var(--container));margin-inline:auto}.section{padding:108px 0}.eyebrow{color:var(--topa-primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 16px;font-size:.78rem;font-weight:800;line-height:1.3}h1,h2,h3,p{text-wrap:pretty}h1,h2,h3{letter-spacing:-.04em;margin-top:0;line-height:1.06}h1{max-width:760px;margin-bottom:26px;font-size:clamp(3.2rem,7vw,6.3rem);font-weight:780}h2{margin-bottom:22px;font-size:clamp(2.35rem,4.2vw,4.4rem);font-weight:760}h3{margin-bottom:16px;font-size:clamp(1.65rem,2.6vw,2.25rem);font-weight:760}.site-header{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdfaf5;border-bottom:1px solid #e8ded7db;position:sticky;top:0}.header-inner{grid-template-columns:150px 1fr auto;align-items:center;gap:28px;min-height:84px;display:grid}.brand-link{align-items:center;min-height:48px;display:inline-flex}.brand-logo{width:132px;height:auto}.main-nav{color:var(--topa-muted);justify-content:center;gap:34px;font-size:.94rem;font-weight:700;display:flex}.main-nav a{align-items:center;min-height:44px;display:inline-flex}.main-nav a:hover{color:var(--topa-primary)}.button{text-align:center;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:54px;padding:14px 23px;font-size:.98rem;font-weight:800;line-height:1.2;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.button span{margin-left:10px;font-size:1.2em}.button:hover{transform:translateY(-2px)}.button-small{min-height:46px;padding:10px 20px}.button-primary{background:var(--topa-primary);color:#fff}.button-primary:hover{background:var(--topa-primary-hover)}.button-secondary{border-color:var(--topa-border);background:var(--topa-surface);color:var(--topa-ink)}.button-secondary:hover{border-color:var(--topa-primary);color:var(--topa-primary)}.button-light{color:var(--topa-primary);background:#fff}.button-light:hover{background:var(--topa-canvas)}.hero{background:var(--topa-canvas);padding:92px 0 96px;position:relative;overflow:hidden}.hero:before,.hero:after{z-index:0;content:"";pointer-events:none;border-radius:50%;position:absolute}.hero:before{background:var(--topa-yellow);width:250px;height:250px;top:-130px;left:-100px}.hero:after{background:var(--topa-coral);width:230px;height:230px;bottom:-115px;right:-105px}.hero-grid{z-index:1;grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);align-items:center;gap:clamp(44px,7vw,96px);display:grid;position:relative}.hero-lead{max-width:670px;color:var(--topa-muted);margin:0;font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.55}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}.hero-note{color:var(--topa-muted);flex-wrap:wrap;align-items:center;gap:10px;margin:28px 0 0;font-size:.92rem;font-weight:700;display:flex}.hero-note span{color:var(--topa-orange)}.topa-world{border:1px solid var(--topa-border);background:var(--topa-surface);min-height:590px;box-shadow:var(--topa-shadow);isolation:isolate;border-radius:44px;position:relative}.world-sun,.world-cloud,.world-smile{z-index:-1;position:absolute}.world-sun{background:var(--topa-yellow);border-radius:50%;width:96px;height:96px;top:46px;right:44px}.world-cloud{background:var(--topa-sky);border-radius:999px;width:128px;height:54px;top:82px;left:42px}.world-cloud:after{background:var(--topa-sky);content:"";border-radius:50%;width:70px;height:70px;position:absolute;top:-28px;left:26px}.world-smile{border-bottom:24px solid var(--topa-yellow);border-radius:0 0 50% 50%;height:150px;bottom:32px;left:56px;right:56px}.world-card{min-height:190px;color:var(--topa-ink);border:7px solid #fff;border-radius:30px;flex-direction:column;justify-content:flex-end;padding:24px;display:flex;position:absolute;overflow:hidden;box-shadow:0 12px 30px #412d2021}.world-card strong{z-index:1;font-size:1.28rem;line-height:1.1;position:relative}.world-card small{z-index:1;margin-top:6px;font-weight:700;position:relative}.world-card-letter{color:#ffffff85;font-size:8rem;font-weight:900;line-height:1;position:absolute;top:-18px;right:12px}.world-card-cafe{background:var(--topa-apricot);width:45%;top:145px;left:42px;transform:rotate(-3deg)}.world-card-play{background:var(--topa-sky);width:42%;top:214px;right:34px;transform:rotate(3deg)}.world-card-create{background:var(--topa-coral);width:48%;bottom:82px;left:26%;transform:rotate(-1deg)}.welcome-strip{border-block:1px solid var(--topa-border);background:#fff}.welcome-items{grid-template-columns:repeat(3,1fr);display:grid}.welcome-items p{border-right:1px solid var(--topa-border);gap:2px;margin:0;padding:28px 32px;display:grid}.welcome-items p:first-child{padding-left:0}.welcome-items p:last-child{border-right:0;padding-right:0}.welcome-items strong{font-size:1.08rem}.welcome-items span{color:var(--topa-muted);font-size:.9rem}.section-heading{grid-template-columns:minmax(0,1.05fr) minmax(300px,.6fr);align-items:end;gap:70px;margin-bottom:54px;display:grid}.section-heading h2{max-width:730px;margin-bottom:0}.section-heading>p{color:var(--topa-muted);margin:0 0 6px}.experience-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.experience-card{border-radius:var(--topa-radius-xl);border:1px solid #29231f14;flex-direction:column;min-height:600px;padding:34px;display:flex;position:relative;overflow:hidden}.experience-card p{color:#4d4540;margin:0 0 22px}.experience-card a{border-bottom:2px solid;align-self:flex-start;align-items:center;min-height:44px;margin-top:auto;font-weight:800;display:inline-flex}.experience-card a span{margin-left:8px}.card-cafe{background:#fff0de}.card-workshop{background:#e9f4f5}.card-event{background:#fff0ec}.card-number{color:#29231f8f;letter-spacing:.12em;margin-bottom:98px;font-size:.78rem;font-weight:900}.card-shape{position:absolute;top:30px;right:26px}.card-shape-circle{background:var(--topa-apricot);border-radius:50%;width:92px;height:92px}.card-shape-arch{border:20px solid var(--topa-yellow);border-bottom:0;border-radius:100px 100px 0 0;width:110px;height:72px;transform:rotate(16deg)}.card-shape-cross{background:var(--topa-orange);width:78px;height:24px;transform:rotate(12deg)}.card-shape-cross:after{background:var(--topa-orange);content:"";width:24px;height:78px;position:absolute;top:-27px;left:27px}.plain-list{color:#4d4540;gap:10px;margin:0 0 26px;padding:0;font-size:.93rem;list-style:none;display:grid}.plain-list li{padding-left:20px;position:relative}.plain-list li:before{background:var(--topa-primary);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:.63em;left:0}.how-it-works{padding-top:0}.booking-panel{background:var(--topa-primary);color:#fff;border-radius:38px;grid-template-columns:minmax(0,.9fr) minmax(380px,.72fr);gap:clamp(50px,8vw,110px);padding:68px;display:grid}.booking-copy .eyebrow{color:var(--topa-apricot)}.booking-copy h2{font-size:clamp(2.35rem,4vw,4rem)}.booking-copy>p:not(.eyebrow){color:#ffffffd1;max-width:580px;margin:0 0 32px}.booking-steps{align-content:center;gap:0;margin:0;padding:0;list-style:none;display:grid}.booking-steps li{border-bottom:1px solid #ffffff38;grid-template-columns:54px 1fr;gap:18px;padding:24px 0;display:grid}.booking-steps li:last-child{border-bottom:0}.booking-steps li>span{border:1px solid #fff6;border-radius:50%;place-items:center;width:50px;height:50px;font-weight:900;display:grid}.booking-steps strong{font-size:1.1rem}.booking-steps p{color:#ffffffb8;margin:3px 0 0;font-size:.92rem}.visit{background:#fff}.visit-grid{grid-template-columns:minmax(0,.95fr) minmax(390px,.72fr);align-items:center;gap:clamp(60px,9vw,130px);display:grid}.visit-copy>p:not(.eyebrow){max-width:620px;color:var(--topa-muted)}.visit-actions{flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px;display:flex}.text-link{min-height:44px;color:var(--topa-primary);border-bottom:2px solid;align-items:center;font-weight:800;display:inline-flex}.text-link span{margin-left:7px}.hours-card{border:1px solid var(--topa-border);border-radius:var(--topa-radius-xl);background:var(--topa-canvas);box-shadow:var(--topa-shadow);padding:34px}.hours-heading{border-bottom:1px solid var(--topa-border);justify-content:space-between;align-items:baseline;gap:18px;padding-bottom:20px;display:flex}.hours-heading span{font-size:1.18rem;font-weight:850}.hours-heading small{color:var(--topa-muted)}.hours-card dl{margin:12px 0 0}.hours-card dl div{border-bottom:1px solid var(--topa-border);justify-content:space-between;gap:24px;padding:15px 0;display:flex}.hours-card dt{font-weight:750}.hours-card dd{color:var(--topa-muted);margin:0}.hours-note{color:var(--topa-muted);margin:20px 0 0;font-size:.86rem;line-height:1.55}.section-heading.compact{margin-bottom:38px}.rating{color:var(--topa-muted);gap:3px;font-size:.9rem;font-weight:750;display:grid}.rating span{color:var(--topa-primary);letter-spacing:.08em;font-size:1.14rem}.testimonial-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.testimonial-grid blockquote{border:1px solid var(--topa-border);border-radius:var(--topa-radius-lg);background:#fff;flex-direction:column;min-height:250px;margin:0;padding:30px;display:flex}.testimonial-grid blockquote:nth-child(2){background:#f2f8f8}.testimonial-grid blockquote p{margin:0;font-size:1.08rem;font-weight:670;line-height:1.55}.testimonial-grid blockquote footer{color:var(--topa-muted);margin-top:auto;padding-top:26px;font-size:.85rem;font-weight:750}.faq{background:#f8f2ed}.faq-grid{grid-template-columns:minmax(300px,.6fr) minmax(0,1fr);gap:clamp(60px,9vw,130px);display:grid}.faq-intro{align-self:start}.faq-intro>p:not(.eyebrow){color:var(--topa-muted)}.faq-list{border-top:1px solid var(--topa-border)}.faq-list details{border-bottom:1px solid var(--topa-border)}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:18px 0;font-size:1.08rem;font-weight:800;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{border:1px solid var(--topa-border);width:36px;height:36px;color:var(--topa-primary);background:#fff;border-radius:50%;flex:none;place-items:center;font-size:1.35rem;display:grid}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:700px;color:var(--topa-muted);margin:-4px 56px 24px 0}.final-cta{background:var(--topa-yellow);padding:44px 0}.final-cta-inner{grid-template-columns:140px 1fr auto;align-items:center;gap:36px;display:grid}.final-cta img{width:125px;height:auto}.final-cta h2{margin:0;font-size:clamp(2rem,4vw,3.6rem)}.final-cta .eyebrow{color:#5e4f00}.site-footer{background:var(--topa-ink);color:#fff;padding:66px 0 24px}.footer-grid{grid-template-columns:1.4fr repeat(3,.7fr);gap:46px;display:grid}.footer-grid>div{align-content:start;gap:7px;display:grid}.footer-logo{background:#fff;border-radius:14px;width:132px;margin-bottom:8px;padding:7px}.footer-grid p,.footer-grid span,.footer-grid a{color:#ffffffad;margin:0;font-size:.9rem}.footer-grid a{align-items:center;min-height:32px;display:inline-flex}.footer-grid a:hover{color:#fff}.footer-bottom{color:#ffffff7a;border-top:1px solid #ffffff24;justify-content:space-between;gap:24px;margin-top:54px;padding-top:22px;font-size:.8rem;display:flex}.mobile-booking-bar{display:none}@media (width<=980px){.section{padding:86px 0}.header-inner{grid-template-columns:140px 1fr auto}.main-nav{justify-content:flex-end}.main-nav a:nth-child(3){display:none}.hero-grid,.visit-grid{grid-template-columns:1fr}.hero{padding-top:70px}.hero-copy{max-width:800px}.topa-world{min-height:520px}.experience-grid{grid-template-columns:1fr}.experience-card{min-height:auto}.card-number{margin-bottom:58px}.booking-panel{grid-template-columns:1fr;padding:56px}.faq-grid{grid-template-columns:1fr;gap:48px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media (width<=720px){body{padding-bottom:72px;font-size:16px}.container{width:min(calc(100% - 28px), var(--container))}.section{padding:68px 0}.site-header{position:relative}.header-inner{grid-template-columns:1fr auto;min-height:76px}.brand-logo{width:116px}.main-nav,.header-cta{display:none}.hero{padding:54px 0 64px}.hero:before{width:150px;height:150px;top:-80px;left:-70px}.hero:after{width:150px;height:150px;bottom:-80px;right:-70px}.hero-grid{gap:50px}h1{font-size:clamp(3rem,15vw,4.4rem)}h2{font-size:clamp(2.25rem,11vw,3.4rem)}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-note{grid-template-columns:1fr;gap:2px;display:grid}.hero-note span{display:none}.topa-world{border-radius:30px;min-height:430px}.world-sun{width:72px;height:72px;top:28px;right:26px}.world-cloud{width:104px;top:60px;left:24px}.world-card{border-width:5px;border-radius:22px;min-height:145px;padding:18px}.world-card strong{font-size:1.05rem}.world-card-letter{font-size:5.8rem}.world-card-cafe{width:46%;top:125px;left:20px}.world-card-play{width:44%;top:170px;right:18px}.world-card-create{width:56%;bottom:54px;left:22%}.world-smile{border-bottom-width:16px;height:100px;bottom:20px;left:30px;right:30px}.welcome-items{grid-template-columns:1fr}.welcome-items p,.welcome-items p:first-child,.welcome-items p:last-child{border-right:0;border-bottom:1px solid var(--topa-border);padding:18px 0}.welcome-items p:last-child{border-bottom:0}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:38px}.experience-card{border-radius:24px;padding:28px}.booking-panel{border-radius:0;gap:40px;width:100%;padding:46px 24px}.how-it-works .container{width:100%}.booking-steps li{grid-template-columns:46px 1fr}.booking-steps li>span{width:42px;height:42px}.hours-card{padding:26px 22px}.hours-heading{gap:2px;display:grid}.testimonial-grid{grid-template-columns:1fr}.testimonial-grid blockquote{min-height:220px}.faq-list details p{margin-right:0}.final-cta{padding:54px 0}.final-cta-inner{grid-template-columns:86px 1fr;gap:22px}.final-cta img{width:82px}.final-cta .button{grid-column:1/-1;width:100%}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 24px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:grid}.mobile-booking-bar{z-index:120;border-top:1px solid var(--topa-border);background:#fffdfaf7;padding:10px 14px;display:block;position:fixed;bottom:0;left:0;right:0}.mobile-booking-bar a{background:var(--topa-primary);color:#fff;border-radius:999px;justify-content:space-between;align-items:center;min-height:50px;padding:12px 19px;font-weight:850;display:flex}}@media (width<=390px){.container{width:min(calc(100% - 24px), var(--container))}h1{font-size:2.8rem}.topa-world{min-height:400px}.world-card small{display:none}.footer-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}.booking-experience{background:linear-gradient(#fffdfa 0%,#f8eee5 100%)}.public-booking{border:1px solid var(--topa-border);background:var(--topa-surface);box-shadow:var(--topa-shadow);border-radius:24px;overflow:hidden}.booking-activity-tabs{border-bottom:1px solid var(--topa-border);background:#fffaf5;gap:8px;padding:12px;display:flex}.booking-tab{min-height:44px;color:var(--topa-ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:9px 15px;font-weight:800}.booking-tab:hover,.booking-tab:focus-visible{border-color:var(--topa-primary)}.booking-tab.is-active{background:var(--topa-primary);color:#fff}.booking-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);display:grid}.availability-panel,.booking-form{padding:clamp(24px,4vw,42px)}.availability-panel{border-right:1px solid var(--topa-border);background:#fffaf5}.booking-panel-heading h3{margin:5px 0 8px;font-size:clamp(1.35rem,2vw,1.8rem)}.booking-panel-heading>p:not(.eyebrow){color:var(--topa-muted);margin:0}.booking-status{color:var(--topa-muted);margin:24px 0 0}.slot-list{gap:10px;margin-top:24px;display:grid}.slot-button{border:1px solid var(--topa-border);border-radius:var(--topa-radius-md);width:100%;color:var(--topa-ink);text-align:left;font:inherit;cursor:pointer;background:#fff;gap:3px;padding:15px;display:grid}.slot-button span{text-transform:capitalize;font-weight:800}.slot-button small,.slot-button em{color:var(--topa-muted);font-size:.86rem;font-style:normal}.slot-button:hover:not(:disabled),.slot-button:focus-visible,.slot-button.is-selected{border-color:var(--topa-primary);box-shadow:0 0 0 3px #a84d0024}.slot-button:disabled{cursor:not-allowed;opacity:.58}.booking-form{gap:17px;display:grid}.field,.consent-field{color:var(--topa-ink);gap:7px;font-weight:750;display:grid}.field>span small{color:var(--topa-muted);font-weight:500}.field input,.field textarea{border:1px solid var(--topa-border);border-radius:var(--topa-radius-sm);width:100%;min-height:46px;color:var(--topa-ink);font:inherit;background:#fff;padding:11px 12px}.field textarea{resize:vertical;min-height:86px}.field input:focus,.field textarea:focus{border-color:var(--topa-focus);outline:3px solid #356d7640}.field-row,.guest-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.guest-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.guest-counts input{min-width:0}.consent-field{grid-template-columns:auto 1fr;align-items:start;gap:10px;font-size:.92rem;font-weight:650}.consent-field input{width:20px;height:20px;accent-color:var(--topa-primary);margin-top:1px}.field-error{color:var(--topa-danger);margin:0;font-size:.84rem;font-weight:700}.form-banner,.booking-success{border-radius:var(--topa-radius-sm);padding:13px 15px;font-size:.92rem}.form-banner.is-error{color:#832727;background:#fff0ee;border:1px solid #a3373759}.form-banner p{margin:0}.form-banner button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin-top:8px;font-weight:800}.booking-success{color:#1b633d;background:#eef8f0;border:1px solid #237a4b4d}.booking-success p,.booking-success small{margin:5px 0 0;display:block}.booking-submit{justify-content:center;min-height:50px}.booking-submit:disabled{cursor:wait;opacity:.7}@media (width<=760px){.booking-layout{grid-template-columns:1fr}.availability-panel{border-right:0;border-bottom:1px solid var(--topa-border)}}@media (width<=480px){.booking-activity-tabs{overflow-x:auto}.booking-tab{flex:none}.field-row,.guest-counts{grid-template-columns:1fr}}
