@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&display=swap";:root{--cream:#fff9f1;--paper:#fff;--ink:#29312e;--muted:#68716d;--orange:#e86f00;--orange-dark:#c85f00;--yellow:#e8db70;--coral:#f69a86;--blue:#aad1d6;--blue-strong:#78aeb8;--green:#a9c3a2;--sand:#f2e5d5;--line:#29312e21;--shadow:0 22px 60px #45372721;--shadow-soft:0 12px 35px #45372717;--radius-xl:34px;--radius-lg:25px;--radius-md:18px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Geist,Avenir Next,Nunito,Segoe UI,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue-strong);outline-offset:3px}.container{width:min(calc(100% - 40px), var(--max));margin:0 auto}.narrow{width:min(100%,800px)}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);letter-spacing:-.035em;font-family:Fredoka,Geist,Avenir Next,Nunito,Segoe UI,sans-serif;font-weight:600;line-height:1.08}h1{margin-bottom:24px;font-size:clamp(2.8rem,6vw,5.7rem)}h2{margin-bottom:20px;font-size:clamp(2rem,4vw,3.7rem)}h3{margin-bottom:10px;font-size:1.35rem}p{color:var(--muted)}.lead{font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.65}.section{padding:112px 0}.section-kicker{color:var(--orange-dark);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;font-size:.85rem;font-weight:800}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fff9f1bd;border-bottom:1px solid #29312e0f;padding:10px 0;position:sticky;top:0}.site-nav{min-height:64px;box-shadow:var(--shadow-soft);background:#ffffffc2;border:1px solid #29312e1a;border-radius:999px;align-items:center;gap:28px;padding:0 18px;display:flex}.site-brand{flex:none;width:104px;line-height:0;display:block}.site-brand img{width:100%;height:auto}.site-nav nav{flex:1;justify-content:center;align-items:center;gap:20px;display:flex}.site-nav nav a{color:var(--ink);white-space:nowrap;font-size:.94rem;font-weight:700}.site-nav nav a:hover{color:var(--orange-dark)}.button{cursor:pointer;text-align:center;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:46px;padding:11px 20px;font-weight:800;transition:transform .24s,background .24s,box-shadow .24s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(1px)scale(.98)}.button-primary{background:var(--blue);color:var(--ink);box-shadow:0 8px 18px #78aeb847}.button-primary:hover{background:var(--blue-strong)}.button-secondary{border:1px solid var(--ink);color:var(--ink);background:0 0}.button-dark{background:var(--blue-strong);color:var(--ink)}.text-link{color:var(--orange-dark);text-underline-offset:4px;align-self:center;font-weight:800;text-decoration:underline}.topa-video-hero{isolation:isolate;background:var(--ink);place-items:center;min-height:min(790px,100svh - 84px);display:grid;position:relative;overflow:hidden}.topa-video-hero-media{z-index:-2;position:absolute;inset:0}.topa-video-hero-media:after{content:"";background:#151d1a85;position:absolute;inset:0}.topa-video-hero-media video{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.topa-video-hero-content{text-align:center;color:#fff;max-width:1080px;padding:86px 0 92px}.topa-video-hero-logo-wrap{aspect-ratio:1;background:#fff9f1f0;border-radius:50%;justify-content:center;align-items:center;width:clamp(154px,17vw,220px);margin:0 auto 28px;padding:20px;display:flex;box-shadow:0 16px 42px #0000002e}.topa-video-hero-logo{width:100%;height:auto;display:block}.topa-video-hero h1{color:#fff;text-wrap:balance;text-shadow:0 3px 18px #00000047;max-width:1080px;margin:0 auto 20px;font-size:clamp(3rem,6vw,5.6rem)}.topa-video-hero p{color:#fffffff0;max-width:720px;margin:0 auto;font-size:clamp(1.08rem,1.8vw,1.34rem)}.topa-video-hero .button-row{justify-content:center}.topa-video-hero-secondary{color:#fff;background:#ffffff14;border:1px solid #ffffffd1}.topa-video-hero-secondary:hover{background:#fff3}.reservation-cta{background:radial-gradient(circle at 94% 8%, #f69a8680 0 13%, transparent 13.3%),radial-gradient(circle at 4% 92%, #a8cfd687 0 13%, transparent 13.3%),var(--cream);padding:58px 0 72px;overflow:hidden}.reservation-cta-grid{grid-template-columns:1fr .96fr;align-items:center;gap:58px;display:grid}.reservation-cta-copy>p:not(.reservation-note){max-width:610px;font-size:1.18rem}.reservation-cta-copy h1,.reservation-cta-copy h2{max-width:700px;font-size:clamp(2.55rem,5.4vw,5rem)}.reservation-note{border-radius:var(--radius-md);border:1px solid var(--line);max-width:520px;color:var(--ink);background:#ffffffc7;margin:0;padding:14px 17px}.reservation-visual{border-radius:var(--radius-xl);min-height:420px;box-shadow:var(--shadow);background:var(--paper);position:relative;overflow:hidden}.reservation-visual img{object-fit:cover;width:100%;height:100%;position:absolute}.reservation-visual img.reservation-topa-facade{object-position:center 51%}.reservation-visual:after{content:"";background:linear-gradient(#0000 44%,#29312e8f);position:absolute;inset:0}.reservation-visual span{z-index:1;color:#fff;font-size:clamp(1.25rem,2.2vw,1.85rem);font-weight:850;line-height:1.13;position:absolute;bottom:23px;left:25px;right:25px}.hero{background:radial-gradient(circle at 7% 8%, #e8db708c 0 11%, transparent 11.2%), var(--cream);padding:82px 0 100px;overflow:hidden}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;display:grid}.hero-copy>p:not(.hero-note){max-width:650px;font-size:1.22rem}.button-row{flex-wrap:wrap;gap:12px;margin:31px 0 26px;display:flex}.hero-note{max-width:470px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffb3;padding:15px 18px}.hero-photo{border-radius:var(--radius-xl);background:var(--paper);min-height:440px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-photo img{object-fit:cover;width:100%;height:100%;position:absolute}.hero-photo-family img{object-position:center 35%}.hero-photo:after{content:"";background:linear-gradient(#0000 50%,#29312e7a);position:absolute;inset:0}.shape{display:block;position:absolute}.shape-yellow{background:var(--yellow);border-radius:50%;width:260px;height:260px;top:-55px;left:-45px}.shape-blue{background:var(--blue);border-radius:48% 48% 0 0;width:250px;height:190px;bottom:-40px;right:-45px}.shape-coral{background:var(--coral);border-radius:50%;width:180px;height:180px;top:62px;right:42px}.shape-orange{background:var(--orange);border-radius:100px 100px 15px 15px;width:190px;height:145px;bottom:62px;left:78px}.art-label{background:var(--paper);box-shadow:var(--shadow-soft);color:var(--ink);border-radius:999px;padding:12px 16px;font-weight:800;position:absolute;bottom:42px;right:65px}.split-intro{grid-template-columns:1fr 1fr;align-items:start;gap:70px;margin-bottom:56px;display:grid}.split-intro .lead{margin:8px 0 0}.service-list{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.service-list article,.three-columns article,.feature-grid article{background:var(--paper);border-radius:var(--radius-lg);min-height:238px;box-shadow:var(--shadow-soft);border:1px solid #29312e14;padding:28px}.service-list article{min-height:346px;padding:0;overflow:hidden}.service-list article:nth-child(2n){transform:translateY(24px)}.service-list article>img{object-fit:cover;width:100%;height:137px;display:block}.service-list article>img.city-play-image{object-position:center 48%}.service-list article>h3,.service-list article>p,.service-list article>a{margin-left:24px;margin-right:24px;display:block}.service-list article>h3{margin-top:22px}.service-list article>p{margin-bottom:12px}.service-list a,.three-columns a{color:var(--orange-dark);font-weight:800}.weekly-callout{background:var(--yellow);padding:72px 0}.callout-inner{justify-content:space-between;align-items:center;gap:38px;display:flex}.callout-inner h2{margin-bottom:12px}.callout-inner p{color:#29312ed1;max-width:700px;margin-bottom:0}.explore-section{padding-bottom:132px}.three-columns{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.three-columns article{min-height:205px}.page-hero{padding:100px 0 94px}.page-hero p{color:#29312ed1;max-width:760px}.family-story-section{background:var(--paper)}.family-story-grid{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);align-items:center;gap:clamp(34px,7vw,92px);display:grid}.family-story-photo{border-radius:var(--radius-xl);background:var(--sand);min-height:580px;box-shadow:var(--shadow);margin:0;overflow:hidden}.family-story-photo img{object-fit:cover;object-position:center 40%;width:100%;height:100%;display:block}.family-story-copy{max-width:650px}.family-story-copy p{font-size:clamp(1.16rem,2vw,1.42rem);line-height:1.65}.family-story-copy p+p{margin-top:28px}.blue-band{background:var(--blue)}.yellow-band{background:var(--yellow)}.coral-band{background:var(--coral)}.green-band{background:var(--green)}.sand-band{background:var(--sand)}.cream-band{background:var(--cream)}.section-heading{max-width:690px;margin-bottom:38px}.booking-section{background:var(--paper)}.first-action-section,.rental-first-section{padding-top:58px}.rental-first-section{background:radial-gradient(circle at 7% 92%, #ffffff73 0 12%, transparent 12.3%),radial-gradient(circle at 92% 8%, #aad1d6c7 0 16%, transparent 16.3%),var(--green);align-items:center;min-height:calc(100svh - 84px);padding:76px 0 94px;display:grid;overflow:hidden}.rental-first-section .button{margin-top:12px}.rental-hero{grid-template-columns:minmax(0,1fr) minmax(500px,1.12fr);align-items:center;gap:62px;display:grid}.rental-hero-copy{max-width:760px}.rental-hero-copy h1{text-wrap:balance;max-width:760px;font-size:clamp(3.1rem,5.1vw,5.15rem)}.rental-hero-image{border-radius:var(--radius-xl);background:#fff8f0;border:1px solid #29312e1f;height:min(72vh,760px);min-height:520px;overflow:hidden;box-shadow:0 30px 75px #29312e33}.rental-hero-image img{object-fit:cover;object-position:center 42%;width:100%;height:100%;display:block}.rental-marquee{background:var(--blue);color:var(--ink);white-space:nowrap;letter-spacing:.03em;border-top:1px solid #29312e24;border-bottom:1px solid #29312e24;padding:17px 0;font-weight:800;overflow:hidden}.rental-marquee div{min-width:max-content;animation:28s linear infinite rental-marquee;display:inline-block}.rental-marquee span{color:#29312e85;margin:0 18px}@keyframes rental-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.public-booking{background:var(--cream);border-radius:var(--radius-xl);border:1px solid var(--line);padding:22px}.booking-activity-tabs{gap:10px;margin-bottom:20px;display:flex;overflow:auto}.booking-tab{border:1px solid var(--line);color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;min-height:44px;padding:8px 16px;font-weight:800}.booking-tab.is-active{background:var(--blue);color:var(--ink);border-color:var(--blue-strong)}.booking-layout{grid-template-columns:1fr 1.05fr;align-items:start;gap:22px;display:grid}.booking-layout.is-awaiting-selection{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr)}.availability-panel,.booking-form{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;padding:26px}.booking-continue-card{border-radius:var(--radius-lg);background:#ffffff8c;border:1px dashed #29312e3d;align-content:center;gap:8px;min-height:240px;padding:26px;display:grid}.booking-continue-card .eyebrow{color:var(--orange-dark);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:800}.booking-continue-card h3,.booking-continue-card p{margin:0}.booking-panel-heading .eyebrow{color:var(--orange-dark);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:.8rem;font-weight:800}.booking-panel-heading h3{font-size:1.6rem}.booking-status{padding:16px 0}.slot-list{gap:10px;margin-top:16px;display:grid}.selection-summary{color:var(--muted);margin:14px 0 0;font-size:.9rem;font-weight:700}.slot-button{text-align:left;border:1px solid var(--line);cursor:pointer;width:100%;color:var(--ink);background:#fff;border-radius:14px;padding:14px}.slot-button:hover,.slot-button.is-selected{border-color:var(--blue-strong);background:#aad1d63b}.slot-button:disabled{opacity:.55;cursor:not-allowed}.slot-button span,.slot-button small,.slot-button em{display:block}.slot-button small{color:var(--orange-dark);margin-top:3px}.slot-button em{color:var(--muted);margin-top:3px;font-size:.88rem}.booking-form{gap:16px;display:grid}.field{color:var(--ink);gap:6px;font-weight:700;display:grid}.field small{color:var(--muted);font-weight:500}.field input,.field textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;padding:11px}.field-row,.guest-counts{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.field-row-single{grid-template-columns:1fr}.guest-counts{grid-template-columns:repeat(3,1fr)}.guest-counts-two{grid-template-columns:repeat(2,1fr)}.cafeteria-add-on{background:#fcecca6b;border:1px solid #df7f5273;border-radius:14px;gap:12px;margin:0;padding:18px;display:grid}.cafeteria-add-on legend{color:var(--ink);padding:0 5px;font-size:1.06rem;font-weight:800}.cafeteria-add-on>p,.cafeteria-add-on-details>p{color:var(--muted);margin:0;font-size:.92rem}.cafeteria-add-on-slots,.cafeteria-add-on-details{gap:10px;display:grid}.cafeteria-add-on-option{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:flex-start;gap:11px;padding:12px;display:flex}.cafeteria-add-on-option.is-selected{border-color:var(--orange-dark);background:#ffffffd6}.cafeteria-add-on-option input{width:18px;height:18px;accent-color:var(--orange-dark);margin-top:2px}.cafeteria-add-on-option span,.cafeteria-add-on-option small{display:block}.cafeteria-add-on-option small{color:var(--muted);margin-top:3px;font-size:.85rem}.booking-add-on-status{color:var(--muted);margin:0;font-size:.9rem}.consent-field{color:var(--muted);align-items:flex-start;gap:10px;display:flex}.consent-field input{width:18px;height:18px;accent-color:var(--blue-strong);margin-top:4px}.field-error{color:#ad3434;margin:0;font-size:.88rem}.form-banner,.booking-success{border-radius:12px;padding:13px 15px}.form-banner.is-error{color:#902b2b;background:#fff0ee}.booking-success{color:#1d6940;background:#edf6ef}.booking-success p,.booking-success small{color:inherit}.booking-submit{width:100%;margin-top:4px}.feature-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.feature-grid article{min-height:390px}.feature-grid h2{letter-spacing:-.02em;font-size:1.55rem}.feature-grid ul{color:var(--muted);margin:0;padding-left:20px}.feature-grid li{margin:8px 0}.feature-grid .button{margin-top:18px}.cafeteria-space-section{background:var(--sand)}.cafeteria-space-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:52px;display:grid}.cafeteria-space-copy{max-width:540px}.cafeteria-photo-pair{grid-template-columns:1.2fr .8fr;gap:14px;min-height:430px;display:grid}.cafeteria-photo-pair img{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:100%;box-shadow:var(--shadow-soft);display:block}.cafeteria-photo-pair img:first-child{object-position:center 56%}.cafeteria-photo-pair img:last-child{object-position:center 52%}.workshop-overview-section{background:var(--paper)}.workshop-gallery-section{background:#e4d8783d}.workshop-photo-grid{grid-template-columns:1.28fr repeat(2,.86fr);grid-auto-rows:216px;gap:18px;margin-top:34px;display:grid}.workshop-photo-grid figure,.food-photo-strip img{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin:0;overflow:hidden}.workshop-photo-grid figure{min-height:0}.workshop-photo-grid .workshop-photo-main{grid-row:span 2}.workshop-photo-grid img,.food-card>img,.food-photo-strip img{object-fit:cover;width:100%;height:100%;display:block}.food-section{background:var(--paper)}.cafeteria-notice-section{background:var(--sand);padding:78px 0 102px}.cafeteria-notice-image{border-radius:var(--radius-xl);width:min(100%,540px);height:auto;box-shadow:var(--shadow-soft);background:#fff;border:1px solid #29312e1a;margin:0 auto;display:block}.food-showcase{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;margin-top:34px;display:grid}.food-card{background:var(--canvas);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);border:1px solid #29312e1a;grid-column:span 3;overflow:hidden}.food-card-featured{grid-column:span 6}.food-card>img{height:234px}.food-card-featured>img{height:322px}.food-card-copy{padding:20px 22px 22px}.food-card-copy h3{margin:0 0 7px;font-size:1.16rem}.food-card-copy p{color:var(--ink-soft);margin:0}.food-photo-strip{grid-template-columns:1.25fr repeat(2,.875fr);gap:16px;margin-top:26px;display:grid}.food-photo-strip img{height:250px}.food-gallery{border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);background:#fff;margin-top:34px;overflow:hidden}.food-gallery-categories{background:#fff9f1ad;flex-wrap:wrap;gap:8px;padding:14px 14px 0;display:flex}.food-gallery-categories button{border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;font:inherit;background:#fff;border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:750}.food-gallery-categories button:hover,.food-gallery-categories button:focus-visible,.food-gallery-categories button.is-active{border-color:var(--orange);background:var(--orange);color:#fff;outline:none}.food-gallery-main{background:var(--sand);height:clamp(320px,47vw,560px);position:relative;overflow:hidden}.food-gallery-main>img{object-fit:cover;object-position:center;width:100%;height:100%;animation:.36s both food-gallery-in;display:block}.food-gallery-count{color:#fff;background:#23322adb;border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:800;position:absolute;top:16px;right:16px}.food-gallery-controls{gap:8px;display:flex;position:absolute;bottom:16px;right:16px}.food-gallery-controls button{color:#fff;cursor:pointer;background:#23322ae6;border:1px solid #fffc;border-radius:50%;place-items:center;width:42px;height:42px;font-size:1.25rem;line-height:1;display:grid}.food-gallery-controls button:hover,.food-gallery-controls button:focus-visible{background:var(--orange)}.food-gallery-thumbnails{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:dense;background:#fff9f1ad;gap:8px;padding:10px;display:grid}.food-gallery-thumbnails button{background:var(--sand);cursor:pointer;border:2px solid #0000;border-radius:9px;min-width:0;height:78px;padding:0;overflow:hidden}.food-gallery-thumbnails button.is-active,.food-gallery-thumbnails button:focus-visible{border-color:var(--orange);outline:none}.food-gallery-thumbnails img{object-fit:cover;width:100%;height:100%;display:block}@keyframes food-gallery-in{0%{opacity:.78;transform:scale(1.015)}to{opacity:1;transform:scale(1)}}.catering-section{background:#f69a8652}.event-intro-section{background:var(--paper)}.event-includes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.event-includes-grid article{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--cream);box-shadow:var(--shadow-soft);padding:25px 26px 24px 68px;position:relative}.event-includes-grid article>span{color:var(--orange-dark);letter-spacing:.08em;font-size:.78rem;font-weight:850;position:absolute;top:26px;left:24px}.event-includes-grid h3{margin-bottom:8px;font-size:1.25rem}.event-includes-grid p{margin:0}.event-children-food-section{background:var(--yellow);padding:82px 0}.event-children-food-section .split-intro{margin-bottom:0}.event-catering-note{text-align:center;max-width:760px;color:var(--ink);margin:26px auto 0}.event-reservation-section{background:var(--paper)}.event-reservation-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.event-reservation-grid article{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--cream);min-height:100%;box-shadow:var(--shadow-soft);padding:36px}.event-reservation-grid h2{font-size:clamp(1.95rem,3vw,3rem)}.event-reservation-grid ul{color:var(--muted);margin:0 0 22px;padding-left:20px}.event-reservation-grid li{margin:9px 0}.event-reservation-card{background:var(--blue)!important}.event-reservation-card .button{margin-top:14px}.event-deposit{color:var(--ink)}.event-page-hero h1{text-wrap:balance;max-width:980px}.event-selector-section{background:var(--paper);padding-bottom:74px}.event-selector-heading{max-width:760px}.event-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:18px;display:grid}.event-mode-card{border-radius:var(--radius-xl);background:var(--ink);color:#fff;cursor:pointer;text-align:left;min-height:326px;box-shadow:var(--shadow-soft);border:1px solid #29312e24;padding:0;transition:transform .35s,box-shadow .35s,border-color .35s;display:block;position:relative;overflow:hidden}.event-mode-card:hover{box-shadow:var(--shadow);transform:translateY(-7px)}.event-mode-card.is-active{border-color:var(--orange);box-shadow:0 0 0 3px #e86f0033,var(--shadow)}.event-mode-card img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .45s;display:block;position:absolute;inset:0}.event-mode-card:hover img,.event-mode-card.is-active img{transform:scale(1.08)}.event-mode-card-overlay{background:linear-gradient(#141f1b0a 16%,#141f1be0 100%);position:absolute;inset:0}.event-mode-card-content{gap:7px;display:grid;position:absolute;inset:auto 26px 24px}.event-mode-card-content strong{color:#fff;letter-spacing:-.035em;font-family:Fredoka,Geist,sans-serif;font-size:clamp(1.7rem,3vw,2.65rem);line-height:1}.event-mode-card-content small{color:#ffffffe6;max-width:440px;font-size:1rem;line-height:1.35}.event-mode-card-content>span{color:#fff;border:1px solid #ffffff94;border-radius:999px;width:max-content;margin-top:5px;padding:6px 10px;font-size:.78rem;font-weight:800}.event-detail-section{background:var(--cream);padding-top:76px;scroll-margin-top:96px}.event-detail-hero{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:clamp(32px,6vw,80px);display:grid}.event-detail-copy{max-width:710px}.event-detail-copy h2{text-wrap:balance;max-width:720px;font-size:clamp(2.45rem,4.7vw,4.5rem)}.event-detail-copy p:not(.section-kicker){max-width:680px;font-size:1.1rem}.event-detail-hero>img{object-fit:cover;border-radius:var(--radius-xl);width:100%;height:clamp(385px,43vw,590px);box-shadow:var(--shadow);display:block}.event-includes{border-radius:var(--radius-xl);background:var(--yellow);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(28px,6vw,78px);margin-top:86px;padding:46px;display:grid}.event-section-heading h3{max-width:400px;font-size:clamp(1.8rem,3.1vw,2.85rem)}.event-includes-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 24px;margin:0;padding:0;list-style:none;display:grid}.event-includes-list li{color:var(--ink);padding-left:27px;font-weight:650;line-height:1.45;position:relative}.event-includes-list li:before{content:"";border-bottom:3px solid var(--orange-dark);border-left:3px solid var(--orange-dark);width:13px;height:7px;position:absolute;top:.48em;left:0;transform:rotate(-45deg)}.event-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;gap:18px;margin-top:28px;display:grid}.event-info-grid article{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow-soft);padding:31px}.event-info-grid article:last-child:nth-child(odd){grid-column:span 2}.event-info-grid h3{font-size:clamp(1.45rem,2.1vw,2rem)}.event-info-grid p{margin-bottom:13px}.event-info-grid p:last-child{margin-bottom:0}.event-info-grid ul{color:var(--muted);margin:18px 0 0;padding-left:20px}.event-info-grid li{margin:8px 0}.event-catering-toggle{border-radius:var(--radius-lg);background:var(--blue);justify-content:space-between;align-items:center;gap:28px;margin-top:28px;padding:31px;display:flex}.event-catering-toggle h3{font-size:clamp(1.55rem,2.5vw,2.3rem)}.event-catering-toggle p:last-child{max-width:620px;color:var(--ink);margin-bottom:0}.event-catering-toggle .button{background:#fff;flex:none}.event-catering-drawer{margin-top:20px}.event-contact-card{border-radius:var(--radius-xl);background:var(--ink);justify-content:space-between;align-items:end;gap:42px;margin-top:66px;padding:clamp(32px,5vw,68px);display:flex}.event-contact-card h3{color:#fff;max-width:700px;font-size:clamp(2rem,4vw,3.65rem)}.event-contact-card p:not(.section-kicker){color:#ffffffc7;max-width:690px}.event-contact-card .section-kicker{color:var(--blue)}.event-contact-card .button{flex:none;max-width:270px}.rental-catalog-section{background:var(--paper)}.rental-catalog{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;align-items:stretch;gap:24px;display:grid}.rental-card-0{grid-column:span 7}.rental-card-1{grid-column:span 5}.rental-card-2,.rental-card-3{grid-column:span 6}.rental-card-4{grid-column:span 12}.rental-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--cream);min-width:0;box-shadow:var(--shadow-soft);flex-direction:column;display:flex;overflow:hidden}.rental-card,.journey-panel,.photo-gallery figure,.service-list article,.three-columns article,.feature-grid article{will-change:transform}.rental-gallery{border-bottom:1px solid var(--line);background:#fff}.rental-gallery-main{aspect-ratio:1.18;background:#f3eee8;position:relative;overflow:hidden}.rental-card-0 .rental-gallery-main{aspect-ratio:1.38}.rental-gallery-main>img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.rental-gallery-count{color:#fff;background:#23322ad1;border-radius:999px;padding:5px 8px;font-size:.76rem;font-weight:700;position:absolute;top:12px;right:12px}.rental-gallery-controls{gap:6px;display:flex;position:absolute;bottom:12px;right:12px}.rental-gallery-controls button{color:#fff;cursor:pointer;background:#23322ae6;border:1px solid #fffc;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1.15rem;line-height:1;display:grid}.rental-gallery-controls button:hover,.rental-gallery-controls button:focus-visible{background:var(--orange)}.rental-gallery-thumbnails{grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;display:grid}.rental-gallery-thumbnails button{cursor:pointer;background:#e8e1d7;border:2px solid #0000;border-radius:6px;min-width:0;height:52px;padding:0;overflow:hidden}.rental-gallery-thumbnails button.is-active,.rental-gallery-thumbnails button:focus-visible{border-color:var(--orange);outline:none}.rental-gallery-thumbnails img{object-fit:cover;width:100%;height:100%;display:block}.rental-card-content{flex-direction:column;flex:1;padding:25px;display:flex}.rental-card-content h3{font-size:1.6rem}.rental-card-content p{margin-bottom:16px}.rental-card-content ul{color:var(--muted);margin:0 0 24px;padding-left:20px}.rental-card-content li{margin:7px 0}.rental-card-content .button{width:100%;margin-top:auto}.rental-journey-section{background:var(--cream);overflow:hidden}.rental-journey-heading{max-width:720px}.rental-journey-accordion{border-radius:var(--radius-xl);min-height:440px;box-shadow:var(--shadow);display:flex;overflow:hidden}.journey-panel{color:#fff;flex-direction:column;flex:1;justify-content:flex-end;min-width:0;padding:32px;transition:flex .65s cubic-bezier(.2,.7,.2,1),filter .4s;display:flex;position:relative;overflow:hidden}.journey-panel:before{content:"";z-index:0;background:50%/cover no-repeat;transition:transform .7s;position:absolute;inset:0}.journey-panel:after{content:"";z-index:0;background:linear-gradient(#181e1c1f,#181e1cbf);position:absolute;inset:0}.journey-panel:hover{flex:1.8}.journey-panel:hover:before{transform:scale(1.07)}.journey-panel>*{z-index:1;color:#fff;position:relative}.journey-panel span{letter-spacing:.12em;margin-bottom:auto;font-size:.82rem;font-weight:800}.journey-panel h3{margin-bottom:10px;font-size:clamp(1.5rem,2.4vw,2.25rem)}.journey-panel p{color:#ffffffdb;margin-bottom:0}.journey-panel-plan:before{background-image:url(/assets/topa/rentals/plaza-madera-01.jpeg)}.journey-panel-prepare:before{background-image:url(/assets/topa/rentals/castillo-02.jpeg)}.journey-panel-play:before{background-image:url(/assets/topa/rentals/plaza-apego-real.jpeg)}.rental-action-section{background:var(--ink);padding:142px 0}.rental-action-inner{justify-content:space-between;align-items:end;gap:48px;display:flex}.rental-action-inner h2{color:#fff;max-width:850px;margin-bottom:0;font-size:clamp(2.4rem,5.2vw,5rem)}.rental-action-inner .section-kicker{color:var(--blue)}.inline-rental-image{vertical-align:middle;background:url(/assets/topa/rentals/castillo-hero.jpeg) 50%/cover;border-radius:999px;width:112px;height:.72em;margin:0 .08em;display:inline-block}.expanded article{min-height:240px}.centered-action{text-align:center;margin-top:42px}.centered-action p{max-width:700px;margin:18px auto 0}.prose{max-width:820px;font-size:1.16rem}.prose p{margin-bottom:22px}.gallery-section{background:var(--paper)}.photo-gallery{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:180px;gap:14px;margin-top:36px;display:grid}.photo-gallery figure{border-radius:var(--radius-md);background:var(--sand);min-width:0;margin:0;overflow:hidden}.photo-gallery figure:nth-child(6n+1){grid-area:span 2/span 2}.photo-gallery img{object-fit:cover;width:100%;height:100%;transition:transform .35s;display:block}.photo-gallery figure:hover img{transform:scale(1.035)}.faq-list{gap:12px;max-width:860px;display:grid}.faq-list details{border:1px solid var(--line);background:#fff;border-radius:16px;padding:0 20px}.faq-list summary{color:var(--ink);cursor:pointer;padding:19px 28px 19px 0;font-weight:800;position:relative}.faq-list summary:after{content:"+";color:var(--orange-dark);font-size:1.4rem;position:absolute;right:0}.faq-list details[open] summary:after{content:"–"}.faq-list p{margin-bottom:0;padding-bottom:19px}.site-footer{background:var(--ink);color:#fff;padding:66px 0 24px}.footer-grid{grid-template-columns:2fr repeat(3,1fr);gap:38px;display:grid}.footer-map-section{border-top:1px solid #ffffff2e;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:34px;margin-top:42px;padding-top:42px;display:grid}.footer-map-copy h2{margin:8px 0 12px;font-size:clamp(1.45rem,2vw,2rem)}.footer-map-kicker{letter-spacing:.11em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:800;color:var(--apricot)!important}.footer-map-copy address{color:#ffffffc7;font-style:normal}.site-footer .footer-directions{color:#fff;margin-top:16px;font-weight:800;display:inline-block}.footer-map-frame{background:var(--canvas);border:0;border-radius:16px;width:100%;min-height:230px;display:block}.footer-logo{filter:brightness(0)invert();width:116px;height:auto}.site-footer p{color:#ffffffb8;max-width:260px}.site-footer h2{color:#fff;letter-spacing:0;margin-bottom:14px;font-size:1rem}.site-footer a{color:#ffffffc2;margin:7px 0;display:block}.site-footer a:hover{color:#fff}.footer-bottom{color:#ffffff9e;border-top:1px solid #ffffff2e;justify-content:space-between;gap:18px;margin-top:42px;padding-top:28px;font-size:.88rem;display:flex}@media (width<=960px){.site-nav{gap:16px}.site-nav nav{justify-content:flex-start;gap:12px;overflow:auto}.site-nav nav a{font-size:.85rem}.reservation-cta-grid,.hero-grid,.split-intro,.booking-layout,.booking-layout.is-awaiting-selection,.rental-hero,.cafeteria-space-grid{grid-template-columns:1fr;gap:34px}.reservation-visual,.hero-photo{min-height:350px}.rental-hero-image{height:520px;min-height:0}.service-list{grid-template-columns:repeat(2,1fr)}.service-list article:nth-child(2n){transform:none}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:auto}.footer-grid{grid-template-columns:repeat(2,1fr)}.footer-map-section{grid-template-columns:1fr}.rental-card-0,.rental-card-1,.rental-card-2,.rental-card-3,.rental-card-4{grid-column:span 12}.rental-action-inner{flex-direction:column;align-items:flex-start}}@media (width<=640px){.container{width:min(calc(100% - 28px),var(--max))}.site-header{position:relative}.site-nav{flex-wrap:wrap;min-height:74px;padding:10px 0}.site-brand{width:76px}.site-nav nav{order:3;width:100%;padding-bottom:4px}.nav-booking{min-height:42px;margin-left:auto;padding:9px 15px}.section,.page-hero{padding:68px 0}.reservation-cta{padding:40px 0 58px}.reservation-cta-copy h1{font-size:2.55rem}.reservation-visual,.hero-photo{min-height:270px}.rental-hero-image{height:280px}.hero{padding:58px 0 68px}.hero-copy>p:not(.hero-note){font-size:1.06rem}.shape-yellow{width:170px;height:170px}.shape-blue{width:170px;height:140px}.shape-coral{width:125px;height:125px;top:42px;right:28px}.shape-orange{width:130px;height:100px;bottom:44px;left:38px}.art-label{font-size:.84rem;bottom:23px;right:26px}.service-list,.three-columns,.footer-grid{grid-template-columns:1fr}.service-list article,.three-columns article{min-height:unset}.callout-inner,.footer-bottom{flex-direction:column;align-items:flex-start}.public-booking{border-radius:20px;padding:12px}.availability-panel,.booking-form{padding:20px}.field-row{grid-template-columns:1fr}.guest-counts{grid-template-columns:repeat(3,1fr);gap:8px}.photo-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:165px;gap:10px}.photo-gallery figure:nth-child(6n+1){grid-area:span 2/span 2}}@media (width<=960px){.rental-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.site-header{padding:7px 0}.site-nav{border-radius:24px}.rental-first-section{min-height:auto;padding:60px 0 68px}.rental-hero-copy h1{font-size:clamp(2.85rem,13vw,4.35rem)}.rental-hero-image{height:430px}.rental-catalog{grid-template-columns:1fr}.rental-card-0,.rental-card-1,.rental-card-2,.rental-card-3,.rental-card-4{grid-column:span 1}.rental-journey-accordion{flex-direction:column;min-height:560px}.journey-panel{min-height:150px}.journey-panel:hover{flex:1.45}.rental-action-section{padding:88px 0}}@media (width<=960px){.food-card,.food-card-featured{grid-column:span 6}.food-card-featured{grid-column:span 12}.food-card-featured>img{height:350px}.workshop-photo-grid{grid-template-columns:1.2fr .8fr;grid-auto-rows:220px}.workshop-photo-grid figure:last-child{grid-column:span 2}.food-photo-strip{grid-template-columns:repeat(3,1fr)}.event-includes-grid,.event-reservation-grid,.event-detail-hero,.event-includes{grid-template-columns:1fr}.event-detail-hero>img{height:480px}.event-contact-card{flex-direction:column;align-items:flex-start}.event-contact-card .button{width:100%;max-width:none}}@media (width<=640px){.workshop-photo-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:12px;margin-top:26px}.workshop-photo-grid .workshop-photo-main{grid-area:auto/span 2;height:310px}.workshop-photo-grid figure:last-child{grid-column:auto}.food-showcase{grid-template-columns:1fr;gap:16px;margin-top:26px}.food-card,.food-card-featured{grid-column:auto}.food-card>img,.food-card-featured>img{height:238px}.food-photo-strip{grid-template-columns:1fr;gap:12px}.food-photo-strip img{height:230px}.event-includes-grid{gap:12px}.event-includes-grid article{padding:22px 20px 21px 58px}.event-includes-grid article>span{top:23px;left:19px}.event-reservation-grid{gap:16px}.event-reservation-grid article{padding:27px 24px}.event-children-food-section{padding:64px 0}.event-selector-section{padding-bottom:52px}.event-mode-grid{grid-template-columns:1fr;gap:14px}.event-mode-card{min-height:280px}.event-mode-card-content{inset:auto 20px 19px}.event-detail-section{padding-top:54px;scroll-margin-top:24px}.event-detail-hero>img{height:340px}.event-includes{margin-top:54px;padding:28px 22px}.event-includes-list{grid-template-columns:1fr;gap:11px}.event-info-grid{grid-template-columns:1fr;gap:14px}.event-info-grid article,.event-info-grid article:last-child:nth-child(odd){grid-column:auto;padding:25px 22px}.event-catering-toggle{flex-direction:column;align-items:flex-start;padding:27px 22px}.event-catering-toggle .button{width:100%}.event-contact-card{margin-top:46px;padding:32px 24px}.cafeteria-notice-section{padding:58px 0 68px}.cafeteria-notice-image{border-radius:var(--radius-lg);width:min(100%,420px)}.food-gallery{border-radius:var(--radius-lg);margin-top:26px}.food-gallery-main{height:310px}.food-gallery-count{top:12px;right:12px}.food-gallery-controls{bottom:12px;right:12px}.food-gallery-controls button{width:40px;height:40px}.food-gallery-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:8px}.food-gallery-thumbnails button{height:70px}}@media (width<=960px){.topa-video-hero{min-height:680px}.topa-video-hero-content{padding:78px 0}.family-story-grid{grid-template-columns:1fr;gap:38px}.family-story-photo{width:min(100%,580px);min-height:500px}}@media (width<=640px){.topa-video-hero{align-items:end;min-height:650px}.topa-video-hero-media video{object-position:center}.topa-video-hero-content{padding:72px 0 60px}.topa-video-hero-logo-wrap{width:146px;margin-bottom:24px;padding:17px}.topa-video-hero h1{font-size:clamp(2.8rem,12.6vw,4rem)}.topa-video-hero p{font-size:1.03rem}.topa-video-hero .button-row{margin:27px 0 0}.topa-video-hero .button{width:100%}.family-story-photo{min-height:420px}.family-story-copy p{font-size:1.1rem}}@media (prefers-reduced-motion:reduce){.topa-video-hero-media video{display:none}.topa-video-hero-media{background:url(/assets/topa/nina-juego-principal.jpeg) 50% 34%/cover}}
