:root{color:#287e91;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-ink:#287e91;--color-muted:#287e91;--color-blue:#19b7cf;--color-blue-deep:#287e91;--color-sky:#f3fcfd;--color-sky-strong:#bdedf3;--color-sea:#19b7cf;--color-sun:#bdedf3;--color-coral:#19b7cf;--color-line:#bdedf3;--space-section:clamp(4.5rem, 9vw, 7.5rem);background:#fff;font-family:Avenir Next,Trebuchet MS,sans-serif;font-size:16px;font-weight:400;line-height:1.6}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;scroll-padding-top:5.5rem}body{min-width:320px;margin:0}body,button,a{font-family:inherit}button,a{-webkit-tap-highlight-color:transparent}a,button{color:inherit}img,svg{max-width:100%;display:block}h1,h2,p{margin-top:0}h1,h2{color:var(--color-ink);font-weight:700;line-height:1.08}p{margin-bottom:0}:focus-visible{outline:3px solid var(--color-coral);outline-offset:4px}::selection{color:var(--color-ink);background:var(--color-sun)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.booking-interface .booking-container{max-width:820px}.booking-interface .section-intro{max-width:none;margin-bottom:1.5rem}.booking-interface form{flex-direction:column;gap:1.75rem;margin-top:2rem;display:flex}.booking-interface .booking-card{border:1px solid var(--color-line);background:#fff;border-radius:8px;min-width:0;margin:0;padding:clamp(1rem,4vw,2rem)}.booking-interface h2,.booking-interface legend{font-size:1.35rem;font-weight:700;line-height:1.4}.booking-interface legend{padding-inline:.4rem}.booking-interface h2{margin-bottom:.75rem}.booking-interface h3{text-transform:capitalize;text-align:center;margin:0;font-size:1.1rem}.booking-interface .booking-demo{border:1px solid var(--color-line);background:var(--color-sky);border-radius:6px;padding:1rem}.booking-interface #demo-help{margin-top:1rem;font-size:.9rem}.booking-interface .booking-month{justify-content:space-between;align-items:center;gap:.5rem;margin-block:1.5rem 1rem;display:flex}.booking-interface button{font:inherit;border:1px solid var(--color-line);cursor:pointer;background:#fff;border-radius:6px;min-height:44px;padding:.5rem .75rem}.booking-interface .booking-month button{min-width:44px}.booking-interface .booking-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.booking-interface .booking-weekday{text-align:center;padding-block:.45rem;font-size:.9rem;font-weight:700}.booking-interface .booking-days button{background:var(--color-sky-strong);border-color:#0000;min-width:0;min-height:56px;padding:.6rem 0;font-size:1.1rem;font-weight:700}.booking-interface .booking-days button:disabled{color:#616161;cursor:not-allowed;background:#eee;text-decoration:line-through}.booking-interface .booking-days button.is-selected{background:var(--color-sea);color:#123d47;border:2px solid var(--color-ink)}.booking-interface .booking-days button:not(:disabled):hover{outline:2px solid var(--color-ink);outline-offset:1px}.booking-interface .booking-legend{flex-wrap:wrap;gap:.5rem 1rem;margin-block:1rem;padding:0;font-size:.8rem;list-style:none;display:flex}.booking-interface .booking-legend li{align-items:center;gap:.4rem;display:flex}.booking-interface .booking-legend i{background:var(--color-sky-strong);border:1px solid var(--color-ink);border-radius:3px;width:14px;height:14px}.booking-interface .booking-legend .full{background:#eee;border-color:#616161}.booking-interface .booking-legend .selected{background:var(--color-sea)}.booking-interface .booking-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.booking-interface label{flex-direction:column;gap:.4rem;font-weight:700;display:flex}.booking-interface input,.booking-interface textarea{border:1px solid var(--color-ink);width:100%;min-width:0;min-height:48px;color:var(--color-ink);font:inherit;background:#fff;border-radius:5px;padding:.65rem}.booking-interface textarea{resize:vertical}.booking-interface .booking-people{max-width:140px}.booking-interface #people-help{margin-block:.4rem 1.2rem}.booking-interface #notes-help,.booking-interface #personal-help,.booking-interface #submit-help{font-size:.9rem}.booking-interface #notes-help{margin-top:.5rem}.booking-interface .booking-status{min-height:1.6em;margin-block:1rem}.booking-interface .booking-period{border:1px solid var(--color-line);background:var(--color-sky);overflow-wrap:anywhere;border-radius:6px;padding:1rem}.booking-interface .booking-period dl>div:last-child{border-bottom:0}.booking-interface .booking-period p{font-size:.95rem}.booking-interface dl{margin:0}.booking-interface dl>div{border-bottom:1px solid var(--color-line);justify-content:space-between;gap:1rem;padding-block:.75rem;display:flex}.booking-interface dd{text-align:right;margin:0;font-weight:700}.booking-interface .booking-notice{background:var(--color-sky);border-left:4px solid var(--color-ink);margin-block:1.5rem;padding:1rem;font-weight:700}.booking-interface button[type=submit]:disabled{color:#555;cursor:not-allowed;background:#eee;border-color:#ccc;width:100%}.booking-interface #submit-help{margin-top:.5rem}.booking-interface .booking-validate{margin-top:1rem}.booking-interface :focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}@media (width<=540px){.booking-interface .booking-fields{grid-template-columns:1fr}.booking-interface .booking-days{gap:4px}.booking-interface .booking-days button{min-height:48px;font-size:1rem}.booking-interface dl>div{flex-direction:column;gap:.1rem}.booking-interface dd{text-align:left}}.page-width{width:min(1160px,100% - 3rem);margin-inline:auto}.site-header{z-index:5;background:#fff;border-bottom:1px solid #183e5214;position:relative}.header-inner{justify-content:space-between;align-items:center;width:min(1240px,100% - 3rem);min-height:78px;margin-inline:auto;display:flex;position:relative}.brand,.site-nav,.site-nav a{align-items:center;display:flex}.brand{text-decoration:none}.brand-name,.footer-brand{font-weight:800}.brand-name{font-size:1.05rem}.site-nav{border:1px solid var(--color-line);opacity:0;visibility:hidden;background:#fff;border-radius:6px;flex-direction:column;align-items:stretch;width:min(360px,100%);max-height:calc(100dvh - 90px);padding:.75rem;transition:opacity .16s,transform .16s,visibility .16s;display:flex;position:absolute;top:calc(100% + 1px);right:0;overflow-y:auto;transform:translateY(-6px);box-shadow:0 12px 20px #287e9114}.site-nav.is-open{opacity:1;visibility:visible;transform:translateY(0)}.site-nav a{min-height:48px;color:var(--color-muted);padding:.65rem .75rem;font-size:.93rem;font-weight:700;text-decoration:none;transition:background-color .16s}.site-nav a+a{border-top:1px solid var(--color-line)}.site-nav a:hover,.site-nav a.active{background:#f3fcfd}.menu-toggle{border:1px solid var(--color-line);cursor:pointer;background:#fff;border-radius:6px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;display:flex}.menu-toggle span{background:var(--color-blue-deep);border-radius:2px;width:18px;height:2px;transition:transform .16s,opacity .16s}.menu-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:last-child{transform:translateY(-7px)rotate(-45deg)}.hero-section{background-color:var(--color-sky);background-image:linear-gradient(120deg,#ffffffe6,#f3fcfd8c 55%,#bdedf3a6);min-height:610px;padding:5rem 0 5.75rem;position:relative;overflow:hidden}.hero-inner{grid-template-columns:.92fr 1.08fr;align-items:center;gap:clamp(2rem,6vw,5rem);min-height:460px;display:grid}.hero-copy{z-index:1;max-width:510px;padding-bottom:1rem;position:relative}.eyebrow,.section-kicker{color:var(--color-blue);letter-spacing:0;text-transform:uppercase;align-items:center;gap:.55rem;margin-bottom:1.1rem;font-size:.8rem;font-weight:800;display:flex}.eyebrow span{background:var(--color-coral);border-radius:50%;width:8px;height:8px}.hero-copy h1{letter-spacing:0;max-width:550px;margin-bottom:1.25rem;font-size:clamp(3.1rem,5vw,4.6rem)}.hero-description{max-width:430px;color:var(--color-muted);font-size:1.15rem;line-height:1.7}.button{border-radius:6px;justify-content:center;align-items:center;gap:1rem;min-height:52px;margin-top:1.75rem;padding:.75rem 1.2rem;font-size:.95rem;font-weight:800;text-decoration:none;transition:background-color .16s,transform .16s,box-shadow .16s;display:inline-flex}.button-primary{background:var(--color-blue);color:#fff;box-shadow:0 8px 18px #147ca629}.button-primary:hover{background:var(--color-blue-deep);transform:translateY(-2px);box-shadow:0 11px 22px #147ca638}.button span{font-size:1.25rem;line-height:1}.hero-footnote{color:var(--color-muted);margin-top:1.2rem;font-size:.85rem}.hero-image{aspect-ratio:1.2;object-fit:cover;object-position:center;border-radius:8px;width:100%;max-height:430px;box-shadow:0 24px 55px #23759121}.content-section{padding-block:var(--space-section)}.section-layout,.kiosk-layout,.contact-layout{grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(2rem,8vw,7rem);display:grid}.section-intro{max-width:460px}.section-kicker{color:var(--color-blue);margin-bottom:.8rem;font-size:.76rem}.section-intro h2,.section-intro h1{letter-spacing:0;margin-bottom:1rem;font-size:clamp(2rem,3.4vw,2.8rem)}.section-intro>p:not(.section-kicker){color:var(--color-muted);line-height:1.75}.placeholder-panel{background:#f3fcfd;border:1px dashed #bdedf3;border-radius:8px;align-items:center;gap:1.2rem;min-height:190px;padding:clamp(1.3rem,3vw,2rem);display:flex}.placeholder-icon{background:var(--color-sky-strong);border-radius:12px;flex:none;width:48px;height:48px;display:block;position:relative}.calendar-icon:before{border:2px solid var(--color-blue);content:"";border-radius:3px;position:absolute;inset:13px 12px 11px}.calendar-icon:after{border-top:2px solid var(--color-blue);content:"";position:absolute;top:19px;left:13px;right:13px}.calendar-icon span:before,.calendar-icon span:after{z-index:1;background:var(--color-blue);content:"";border-radius:2px;width:2px;height:7px;position:absolute;top:10px}.calendar-icon span:before{left:19px}.calendar-icon span:after{right:19px}.placeholder-title{color:var(--color-ink);margin-bottom:.3rem;font-weight:800}.booking-placeholder>div>p:last-child{color:var(--color-muted);font-size:.93rem}.coming-soon{color:var(--color-blue-deep);white-space:nowrap;background:#bdedf3;border-radius:4px;margin-left:auto;padding:.35rem .6rem;font-size:.72rem;font-weight:800}.kiosk-section{background:#f3fcfd}.menu-placeholder{background-color:#ffffffb3;background-image:radial-gradient(#bdedf347 .75px,#0000 .75px);background-size:14px 14px;border:1px solid #bdedf3;border-radius:8px;justify-content:center;align-items:center;gap:1.2rem;min-height:220px;display:flex}.menu-placeholder>p{color:var(--color-muted);font-size:.95rem;font-weight:800}.menu-sheet{background:#fff;border:1px solid #bdedf3;border-radius:4px;flex-direction:column;justify-content:center;gap:7px;width:54px;height:68px;padding:0 10px;display:flex;transform:rotate(-5deg);box-shadow:0 5px 10px #694b1814}.menu-sheet span{background:#19b7cf;border-radius:2px;height:2px}.menu-sheet span:nth-child(2){width:70%}.menu-sheet span:nth-child(3){width:85%}.contact-section{background:#f3fcfd}.contact-location{color:var(--color-blue-deep);background:#bdedf3;border-radius:4px;margin-top:1.3rem;padding:.45rem .7rem;font-size:.85rem;font-weight:800;display:inline-flex}.contact-list{border-top:1px solid var(--color-line);margin:0}.contact-row{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(120px,.8fr) 1.2fr;gap:1rem;padding:1rem 0;display:grid}.contact-row dt{color:var(--color-ink);font-size:.93rem;font-weight:800}.contact-row dd{color:var(--color-muted);margin:0;font-size:.93rem}.site-footer{background:var(--color-blue-deep);color:#ffffffc7;padding-block:2rem}.footer-inner{grid-template-columns:1fr auto;align-items:center;gap:.45rem 2rem;padding-right:3.5rem;display:grid;position:relative}.footer-brand{color:#fff;font-size:1.05rem;text-decoration:none}.footer-inner>p{grid-column:1/2;font-size:.87rem}.footer-details{border-top:1px solid #fff3;grid-column:1/-1;gap:1.5rem;margin-top:.8rem;padding-top:1rem;font-size:.75rem;display:flex}.back-to-top{color:#fff;border:1px solid #ffffff73;border-radius:6px;place-items:center;width:42px;height:42px;font-size:1.2rem;text-decoration:none;transition:background-color .16s;display:grid;position:absolute;top:0;right:0}.back-to-top:hover{background:#ffffff24}@media (width<=1000px){.header-inner{width:min(100% - 2.5rem,600px);min-height:70px}}@media (width<=760px){.page-width{width:min(100% - 2.5rem,600px)}.hero-section{min-height:auto;padding:4rem 0 4.5rem}.hero-inner{grid-template-columns:1fr;gap:2.5rem;min-height:auto}.hero-copy{padding-bottom:0}.hero-copy h1{max-width:480px;font-size:clamp(2.8rem,11vw,4rem)}.hero-description{max-width:500px;font-size:1.05rem}.hero-image{aspect-ratio:auto;justify-self:center;width:min(100%,500px);height:clamp(245px,65vw,340px)}.section-layout,.kiosk-layout,.contact-layout{grid-template-columns:1fr;gap:2rem}.section-intro{max-width:560px}.placeholder-panel{min-height:160px}}@media (width<=480px){.brand-name{font-size:.98rem}.hero-section{padding-top:3.25rem}.hero-copy h1{font-size:2.8rem}.booking-placeholder{flex-wrap:wrap;gap:.85rem}.booking-placeholder>div{flex:calc(100% - 4rem)}.coming-soon{margin-left:4rem}.contact-row{grid-template-columns:1fr;gap:.2rem}.footer-inner{gap:.45rem 1rem}.footer-details{flex-direction:column;gap:.35rem}}#root{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1}.site-main:focus{outline:none}.standalone-intro h1{font-size:clamp(2rem,3.4vw,2.8rem)}
