@font-face{font-family:Editorial;src:url('assets/editorial.woff') format('woff');font-display:swap}
@font-face{font-family:Interface;src:url('assets/interface.woff') format('woff');font-display:swap}
:root{--paper:#f8f6f0;--stone:#eae5da;--ink:#2d2d27;--muted:#6b6b62;--line:#cfc9bb;--gold:#a69270;--display:Editorial,Georgia,serif;--sans:Interface,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid #af915e;outline-offset:7px}.skip{position:fixed;left:20px;top:-100px;z-index:30;background:var(--paper);padding:10px 20px}.skip:focus{top:15px}
.header{height:112px;padding:0 4.8%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;background:var(--paper);border-bottom:1px solid #d9d3c7}.brand{width:270px}.brand img{filter:brightness(0);opacity:.88}.header-left{display:flex;gap:30px}.header-left a,.header-reservation{font-size:10px;letter-spacing:.11em;text-transform:uppercase;line-height:1.5;padding:10px 0}.header-left a:hover{color:#927953}.header-reservation{justify-self:end;border-bottom:1px solid #90826b}.header-reservation:hover{border-color:var(--ink)}
.hero{height:calc(100svh - 112px);min-height:660px;max-height:900px;position:relative;background:#786951;overflow:hidden;color:#fffdf5}.hero-photo{position:absolute;inset:0;overflow:hidden}.hero-photo img{height:100%;object-fit:cover;object-position:50% 56%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,20,15,.6),rgba(20,20,15,0) 52%)}.hero-copy{position:absolute;z-index:1;bottom:65px;left:5%;right:5%;text-align:center}.hero .location{font:10px/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px;color:#eee8dc}.hero h1{font-family:var(--display);font-size:clamp(48px,5.4vw,82px);line-height:1.06;letter-spacing:-.035em}.hero h1 span{white-space:nowrap}.introduction{padding:70px 20px 60px;text-align:center}.introduction p{font:25px/1.48 var(--display);max-width:560px;margin:auto;letter-spacing:-.01em}
.experiences{max-width:1500px;margin:0 auto;padding:12px 5.5% 100px}.feature{display:grid;align-items:center;gap:7.5%}.signature{grid-template-columns:1.25fr .75fr}.feature-photo{overflow:hidden;background:#ddd5c7}.feature-photo img{height:100%;object-fit:cover}.signature .feature-photo{aspect-ratio:1.22}.signature .feature-photo img{object-position:57% 50%}.feature-copy{padding:15px 0}.feature h2{font:46px/1.02 var(--display);letter-spacing:-.03em}.title-button{padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;line-height:inherit;text-align:left;transition:color .2s}.title-button:hover{color:#9b8059}.title-button span{display:block}.title-prefix{display:block;font:10px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.18em;margin-bottom:25px;color:#917d5e}.feature p{font:14px/1.85 var(--sans);color:var(--muted);margin-top:27px;max-width:290px}.tablet{grid-template-columns:.75fr 1.25fr;gap:9%;padding:80px 0 0}.tablet .feature-photo{grid-column:2;grid-row:1;aspect-ratio:1.6}.tablet .feature-copy{grid-column:1;grid-row:1;padding-left:16%}.tablet .feature-photo img{object-position:50% 66%}.tablet h2{font-size:43px}.tablet p{max-width:240px}
.support{background:#eae5db;padding:55px 5.5% 60px}.support-grid{max-width:1335px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:23px}.support-photo{aspect-ratio:1.1;overflow:hidden;background:#e0d9cb}.support-photo img{height:100%;object-fit:cover}.lounge-photo img{object-position:50% 56%}.games-photo img{object-fit:contain;padding:10px}.support-copy{padding-top:23px}.support-heading{display:flex;align-items:center;gap:9px;min-height:42px;margin-bottom:12px}.support-heading svg{width:21px;height:21px;flex:0 0 21px;fill:none;stroke:#8a795f;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}.support h3{font:21px/1.15 var(--display);letter-spacing:-.015em;max-width:150px}.support p{font-size:12px;line-height:1.8;color:var(--muted)}
.location-section{max-width:1500px;margin:auto;padding:80px 5.5%;display:grid;grid-template-columns:.75fr 1.25fr;gap:7.5%;align-items:center}.section-label{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#917d5e;margin-bottom:23px}.location-section h2{font:45px/1.03 var(--display);letter-spacing:-.025em}.location-section address{font-size:14px;line-height:1.75;font-style:normal;margin-top:24px}.location-note{font-size:12px;color:var(--muted);line-height:1.8;max-width:250px;margin-top:15px}.directions{display:inline-block;margin-top:23px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;border-bottom:1px solid #9a8a70;padding:8px 0}.directions:hover{color:#8b6c40}.location-map{position:relative;background:var(--stone)}.location-map iframe{display:block;border:0;width:100%;height:330px;filter:grayscale(1);transition:filter .3s}.location-map:hover iframe,.location-map:focus-within iframe{filter:grayscale(0)}.map-link{display:block;font-size:10px;letter-spacing:.08em;padding:11px 17px;text-align:right;border-top:1px solid #d7d1c5}.map-link:hover{text-decoration:underline}
.reservation{background:#32332b;color:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:60px;padding:63px 8% 62px}.reservation h2{font:45px/1.05 var(--display);letter-spacing:-.025em}.reservation-contact{display:flex;flex-direction:column;align-items:flex-start;min-width:280px}.phone{font:31px/1.25 var(--display);letter-spacing:.01em}.email{font-size:14px;margin-top:12px;color:#d4d1c8}.contact-options{display:flex;gap:28px;margin-top:24px}.contact-options a{font-size:10px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid #a89a7e;padding:3px 0 7px}.contact-options a:hover{border-color:#fff}.footer{background:#32332b;color:var(--paper);border-top:1px solid #ffffff1a;padding:30px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-brand{width:190px}.footer-brand img{filter:brightness(0) invert(1);opacity:.85}.footer p{font-size:10px;letter-spacing:.04em;color:#b9b7ab}
.detail{position:fixed;inset:0;margin:auto;padding:0;border:0;width:min(780px,calc(100vw - 56px),calc(100dvh - 56px));height:auto;aspect-ratio:1;max-width:none;max-height:calc(100dvh - 56px);background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 100px #0005}.detail::backdrop{background:#171912b8;backdrop-filter:blur(7px)}.detail[open]{animation:appear .2s ease-out}.close{position:absolute;right:16px;top:12px;width:40px;height:40px;padding:0 0 4px;border:0;border-radius:0;background:var(--paper);font:31px/1 var(--sans);color:var(--ink);z-index:5}.close:hover{background:var(--stone)}.detail-layout{height:100%;min-height:100%;display:grid;grid-template-columns:52% 48%;align-items:stretch}.detail-visual{background:#d9c6af;overflow:hidden;display:flex;align-items:center}.detail-visual img{height:100%;object-fit:cover;object-position:50% 50%}.detail-copy{align-self:center;padding:62px 12% 50px}.detail h2{font-family:var(--display);font-size:31px;line-height:1.18;letter-spacing:-.04em;margin-bottom:28px}.detail .title-prefix{margin-bottom:15px}.detail p{font-size:15px;line-height:1.8;color:var(--muted)}.challenge-detail .detail-visual img{object-fit:cover}.challenge-detail .detail-visual{background:#b2987b}.experience-detail .detail-layout{grid-template-columns:42% 58%}.experience-detail .detail-visual img{object-position:50% 65%}.experience-detail .detail-copy{padding:56px 11% 38px}.experience-detail h2{font-size:30px;margin-bottom:24px}.experience-description{border-top:1px solid var(--line);padding:17px 0}.experience-description:last-child{padding-bottom:0}.experience-description h3{font-size:16px;line-height:1.2;margin-bottom:8px}.experience-description p{font-size:13px;line-height:1.65}
.detail h2{font-size:39px;line-height:1.03;letter-spacing:-.025em}.experience-detail h2{font-size:35px}.experience-description h3{font:22px/1.2 var(--display)}
@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.hero{max-height:940px}.hero-photo img{object-position:center 56%}}
@media(max-width:1050px){.header{height:100px;padding:0 5%}.brand{width:240px}.header-left{gap:20px}.header-left a,.header-reservation{font-size:9px}.hero{height:calc(90svh - 100px);min-height:580px}.hero h1{font-size:64px}.hero-copy{bottom:55px}.introduction{padding:55px 20px}.introduction p{font-size:24px;max-width:500px}.experiences{padding:5px 5% 70px}.feature{gap:6%}.feature h2{font-size:38px}.feature p{font-size:13px}.tablet{padding-top:60px}.tablet .feature-copy{padding-left:6%}.tablet h2{font-size:37px}.support{padding:42px 5% 47px}.support-grid{gap:16px}.support h3{font-size:19px}.support-heading{gap:6px}.support-heading svg{width:17px;height:17px;flex-basis:17px}.support p{font-size:11.5px}.location-section{padding:65px 5%}.location-section h2{font-size:39px}.location-map iframe{height:310px}}
@media(max-width:760px){html{scroll-padding-top:24px}.header{height:91px;display:flex;justify-content:space-between;padding:0 6%;gap:20px}.header-left{display:none}.brand{width:205px}.header-reservation{font-size:9px;letter-spacing:.08em}.hero{height:70svh;min-height:490px;max-height:720px}.hero-photo img{object-position:50% 50%}.hero:after{background:linear-gradient(0deg,#161812a1,transparent 65%)}.hero-copy{bottom:35px;left:7%;right:7%;text-align:left}.hero h1{font-size:48px;line-height:1;letter-spacing:-.035em;max-width:320px}.hero h1 span{display:block}.hero .location{font-size:8px;letter-spacing:.16em;margin-bottom:17px}.introduction{padding:42px 8% 40px}.introduction p{font-size:22px;line-height:1.45;max-width:330px}.experiences{padding:0 6% 50px}.feature{display:flex;flex-direction:column;gap:0;align-items:stretch}.signature .feature-photo{aspect-ratio:1.36}.feature-copy{padding:27px 0 0}.title-prefix{font-size:9px;margin-bottom:14px}.feature h2{font-size:36px;max-width:330px}.feature p{font-size:13px;line-height:1.85;max-width:320px;margin-top:19px}.tablet{padding-top:43px}.tablet .feature-photo{aspect-ratio:1.4}.tablet .feature-copy{padding:24px 0 0}.tablet h2{font-size:36px}.tablet h2 br{display:none}.tablet p{max-width:300px}.support{padding:8px 6% 10px}.support-grid{display:block}.support-item{display:grid;grid-template-columns:34% 1fr;gap:20px;padding:25px 0;border-bottom:1px solid #c8c0b180;align-items:start}.support-item:last-child{border:0}.support-photo{aspect-ratio:1}.support-copy{padding-top:0}.support-heading{min-height:0;gap:8px;align-items:center;margin-bottom:9px}.support h3{font-size:21px;max-width:none;line-height:1.1}.support p{font-size:12px;line-height:1.75}.games-photo img{padding:5px}.location-section{display:block;padding:46px 6%}.section-label{font-size:9px;margin-bottom:18px}.location-section h2{font-size:36px}.location-section h2 br{display:none}.location-section address{margin-top:21px}.location-note{max-width:285px}.directions{margin-top:16px}.location-map{margin-top:29px}.location-map iframe{height:260px}.reservation{display:block;padding:43px 7%}.reservation h2{font-size:37px}.reservation-contact{min-width:0;margin-top:26px}.phone{font-size:29px}.email{font-size:13px}.contact-options{margin-top:22px}.footer{padding:25px 7%}.footer-brand{width:155px}.footer p{font-size:9px}.detail{width:calc(100vw - 28px);max-height:calc(100dvh - 28px);height:fit-content;aspect-ratio:auto}.detail-layout,.experience-detail .detail-layout{height:auto;min-height:0;display:block}.detail-visual{height:48svh;min-height:220px;max-height:450px;justify-content:center}.challenge-detail .detail-visual img{width:auto;max-width:100%;object-fit:contain}.detail-copy,.experience-detail .detail-copy{padding:28px 8% 32px}.detail h2,.experience-detail h2{font-size:32px;margin-bottom:20px}.detail p{font-size:14px;line-height:1.75}.close{position:sticky;float:right;top:8px;right:8px;margin:8px 8px -48px 0;width:36px;height:36px;font-size:28px}.experience-detail .detail-visual{height:33svh;min-height:180px}.experience-detail .detail-visual img{object-position:50% 62%}.experience-description{padding:15px 0}.experience-description p{font-size:13px}.experience-description h3{font-size:22px}}
@media(max-width:360px){.brand{width:175px}.header-reservation{font-size:8px}.hero h1{font-size:43px}.feature h2,.tablet h2{font-size:32px}.support-item{gap:15px;grid-template-columns:31% 1fr}.support h3{font-size:19px}.footer-brand{width:135px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
