:root{--pine:#18241f;--deep:#15221b;--paper:#fcfaf5;--cream:#f5f2eb;--rust:#b5704c;--peach:#d49a69;--ink:#17221d;--muted:#58645c;--line:#d8dcd2;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}
a{color:inherit}
img{display:block;max-width:100%}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--peach);outline-offset:4px}
.wrap{width:min(100% - 64px,1240px);margin-inline:auto}
.site-header{position:relative;z-index:20;background:var(--pine);color:#f8f5ee}
.header-inner{min-height:86px;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:13px;text-decoration:none;line-height:1}
.brand-logo{width:78px;height:78px;object-fit:contain;flex:none}
.brand-wordmark{font:22px var(--serif);letter-spacing:-.035em;white-space:nowrap}
.header-nav{display:flex;gap:26px;align-items:center;margin-left:auto}
.header-nav a{text-decoration:none;font-size:14px;font-weight:650;letter-spacing:.015em;transition:color .2s}
.header-nav a:hover,.header-nav a[aria-current=page]{color:#eab78c}
.header-book{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:0 18px;border:1px solid #c88a5f;color:#f7ebe0!important;white-space:nowrap}
.menu-button{display:none;margin-left:auto;border:1px solid #ffffff60;background:transparent;color:#fff;padding:8px 12px;border-radius:3px}
.eyebrow{margin:0 0 16px;color:var(--rust);text-transform:uppercase;letter-spacing:.22em;font-size:12px;line-height:1.5;font-weight:800}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400}
.page-hero{position:relative;isolation:isolate;min-height:500px;display:grid;align-items:end;color:#fff;background:var(--pine);overflow:hidden}
.page-hero img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 55%}
.page-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102019dc 2%,#10201990 48%,#10201932),linear-gradient(0deg,#1020197c,transparent 65%)}
.page-hero .wrap{padding:104px 0 85px}
.page-hero .eyebrow{color:#e4ac83}
.page-hero h1{font-size:clamp(58px,7.3vw,104px);letter-spacing:-.065em;line-height:1.02;margin:0 0 20px;max-width:800px}
.page-hero p:last-child{font-size:19px;color:#f2f1e9;line-height:1.7;max-width:640px;margin:0}
.jump-bar{background:#e9e8df;border-bottom:1px solid var(--line)}
.jump-inner{display:flex;align-items:center;gap:12px 28px;flex-wrap:wrap;padding:20px 0}
.jump-inner span{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#69746b;margin-right:6px}
.jump-inner a{font-size:13px;text-decoration:none;font-weight:700;border-bottom:1px solid transparent}
.jump-inner a:hover{border-color:currentColor}
section[id]{scroll-margin-top:24px}
.section{padding:clamp(76px,8vw,118px) 0}
.section:nth-of-type(even){background:var(--cream)}
.section-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:end;margin-bottom:35px}
.section-intro h2{font-size:clamp(43px,5.2vw,72px);letter-spacing:-.055em;line-height:1.08;margin:0}
.section-intro>p{font-size:17px;line-height:1.7;color:#4d5a50;max-width:550px;margin:0 0 4px}
.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.place-card{min-height:290px;border:1px solid #d6d7cc;background:#fff;display:flex;flex-direction:column;padding:25px 24px 21px;transition:transform .2s,box-shadow .2s}
.place-card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #18241f15}
.place-card .ordinal{font:25px var(--serif);color:var(--rust);line-height:1}
.place-card h3{font-size:27px;letter-spacing:-.038em;line-height:1.18;margin:35px 0 12px}
.place-card p{color:#506055;font-size:14px;line-height:1.65;margin:0 0 25px}
.place-card a{margin-top:auto;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.035em;color:#854b30;align-self:flex-start;border-bottom:1px solid currentColor;padding-bottom:3px}
.place-card a:hover{color:var(--ink)}
.travel-note{display:flex;gap:20px;align-items:flex-start;border-left:4px solid var(--rust);background:#eaece4;padding:25px 30px;margin-top:30px}
.travel-note strong{font-family:var(--serif);font-size:24px;font-weight:400;min-width:170px}
.travel-note p{margin:0;color:#46554b;font-size:14px}
.travel-note a{font-weight:750}
.feature-band{position:relative;isolation:isolate;background:var(--pine);color:#fff;min-height:330px;display:grid;align-items:center;overflow:hidden}
.feature-band img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.feature-band:after{content:"";position:absolute;z-index:-1;inset:0;background:#102019b8}
.feature-band .wrap{padding:55px 0}
.feature-band h2{font-size:clamp(37px,5vw,65px);letter-spacing:-.05em;line-height:1.1;max-width:750px;margin:0 0 15px}
.feature-band p{color:#e4e9df;max-width:620px;margin:0 0 23px}
.feature-band a{display:inline-block;color:#fff;font-size:14px;font-weight:700;text-underline-offset:5px}
.footer{background:var(--deep);color:#e7ece4;padding:45px 0 35px}
.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:start;padding-bottom:35px}
.footer .brand-wordmark{font-size:25px}
.footer .brand-logo{width:112px;height:112px}
.footer-description{color:#adbbb0;font-size:14px;margin:15px 0 0;max-width:350px}
.footer-links{display:flex;gap:24px;flex-wrap:wrap}
.footer-links a{font-size:14px;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid #516056;display:flex;justify-content:space-between;gap:20px;padding-top:25px;color:#adbbb0;font-size:12px}
.instruction-layout{display:grid;grid-template-columns:270px 1fr;gap:clamp(45px,7vw,110px);padding-top:96px;padding-bottom:116px}
.side-nav{position:sticky;top:25px;align-self:start;border-top:1px solid var(--line);padding-top:18px}
.side-nav p{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--rust);margin-bottom:14px}
.side-nav a{display:block;padding:9px 0;text-decoration:none;font-size:14px;font-weight:700;color:#4b5a50}
.side-nav a:hover{text-decoration:underline}
.instruction-main{max-width:830px}
.wifi-instruction{background:#fff;border:1px solid var(--line);border-left:5px solid var(--rust);box-shadow:0 16px 40px #18241f12;padding:34px 38px 38px;margin-bottom:30px}
.wifi-instruction .eyebrow{margin-bottom:7px}
.wifi-instruction h2{font-size:clamp(34px,4vw,44px);letter-spacing:-.05em;line-height:1.12;margin:0 0 10px}
.wifi-instruction p:not(.eyebrow){color:#4a584e;margin:0}
.wifi-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;counter-reset:wifi;list-style:none;padding:0;margin:24px 0 0}
.wifi-steps li{position:relative;counter-increment:wifi;background:var(--cream);border:1px solid var(--line);padding:17px 17px 18px 54px;min-width:0}
.wifi-steps li:before{content:counter(wifi);position:absolute;top:18px;left:17px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--pine);color:#fff;font-size:13px;font-weight:800}
.wifi-steps span{display:block;color:#58645c;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}
.wifi-steps strong{display:block;margin-top:4px;color:var(--ink);font-size:clamp(18px,2.2vw,24px);line-height:1.35;overflow-wrap:anywhere}
.welcome-note{background:#e9e8df;padding:32px 36px;margin-bottom:24px;border-left:4px solid var(--rust)}
.welcome-note h2{font-size:34px;letter-spacing:-.045em;margin:0 0 7px}
.welcome-note p{margin:0;color:#425147}
.instruction-block{border-bottom:1px solid var(--line);padding:44px 0}
.instruction-block:first-of-type{border-top:1px solid var(--line)}
.instruction-block .eyebrow{margin-bottom:12px}
.instruction-block h2{font-size:clamp(35px,4vw,50px);letter-spacing:-.05em;line-height:1.12;margin:0 0 18px}
.instruction-block p{color:#4a584e;max-width:680px;margin-bottom:16px}
.instruction-block ul,.instruction-block ol{padding-left:22px;margin:0;color:#405046}
.instruction-block li{padding-left:6px;margin:10px 0}
.instruction-block a{color:#8c4b2c;font-weight:700;text-underline-offset:3px}
.equipment-instructions{scroll-margin-top:24px;border-top:1px solid var(--line);margin-top:34px;padding-top:6px}
.equipment-instructions h3{font-size:clamp(27px,3vw,34px);letter-spacing:-.045em;line-height:1.2;margin:24px 0 14px}
.equipment-instructions ol{max-width:650px}
.equipment-guide{max-width:600px;margin:26px 0 0;padding:12px 12px 16px;background:var(--cream);border:1px solid var(--line)}
.equipment-guide--timer,.equipment-guide--games,.equipment-guide--keypad{max-width:480px}
.equipment-guide img{width:100%;height:auto}
.equipment-guide figcaption{font-size:14px;line-height:1.5;color:#4a584e;margin:12px 6px 0}
.door-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:760px;margin:26px 0 0}
.door-photo-grid .equipment-guide{max-width:none;margin:0;padding:10px 10px 16px;background:#fff;box-shadow:0 16px 40px #18241f12}
.door-photo-grid figcaption strong{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
.equipment-guide--pizza{max-width:760px;padding:10px 10px 17px;background:#fff;box-shadow:0 16px 40px #18241f12}
.pizza-photo{position:relative;overflow:hidden;background:var(--pine)}
.pizza-pin{position:absolute;display:grid;place-items:center;width:34px;height:34px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;background:var(--pine);color:#fff;box-shadow:0 3px 13px #1020198c;font-size:14px;font-weight:800;line-height:1}
.pizza-pin--left{left:53%;top:52%}
.pizza-pin--right{left:82.5%;top:53%}
.pizza-pin--timer{left:56%;top:69%}
.pizza-key{display:flex;flex-wrap:wrap;gap:9px 20px;font-size:13px;font-weight:750;color:var(--ink)}
.pizza-key span{display:inline-flex;align-items:center;gap:7px}
.pizza-key b{display:grid;place-items:center;flex:none;width:21px;height:21px;border-radius:50%;background:var(--pine);color:#fff;font-size:11px}
.pizza-caption-note{display:block;margin-top:10px;color:#58645c}
.equipment-guide--power{max-width:760px;padding:10px 10px 17px;background:#fff;box-shadow:0 16px 40px #18241f12}
.panel-photo{position:relative;overflow:hidden;background:var(--pine)}
.panel-pin{position:absolute;display:grid;place-items:center;width:34px;height:34px;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;background:var(--pine);color:#fff;box-shadow:0 3px 13px #1020198c;font-size:14px;font-weight:800;line-height:1}
.panel-pin--one{left:31%;top:35%}
.panel-pin--two{left:59.5%;top:42%}
.panel-key{display:flex;flex-wrap:wrap;gap:9px 20px;font-size:13px;font-weight:750;color:var(--ink)}
.panel-key span{display:inline-flex;align-items:center;gap:7px}
.panel-key b{display:grid;place-items:center;flex:none;width:21px;height:21px;border-radius:50%;background:var(--pine);color:#fff;font-size:11px}
.panel-caption-note{display:block;margin-top:10px;color:#58645c}
.instruction-block .equipment-note{border-left:3px solid var(--rust);padding-left:17px;margin-top:22px;max-width:680px}
.instruction-callout{background:var(--pine);color:#f7f4ed;padding:30px 34px;margin:35px 0}
.instruction-callout strong{display:block;font:30px var(--serif);letter-spacing:-.04em;margin-bottom:9px}
.instruction-callout p{color:#dce5d9;margin:0}
.instruction-callout a{color:#f2b98a}
@media(max-width:1100px){.header-nav{gap:16px}.header-nav a{font-size:13px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.place-card{min-height:245px}}
@media(max-width:800px){.wrap{width:min(100% - 36px,1240px)}.header-inner{min-height:71px}.brand-logo{width:62px;height:62px}.brand-wordmark{font-size:20px}.menu-button{display:block}.header-nav{display:none;position:absolute;top:71px;left:0;right:0;background:var(--pine);padding:18px;flex-direction:column;align-items:stretch;margin:0;border-top:1px solid #ffffff38}.header-nav.open{display:flex}.header-nav a{padding:8px 5px}.header-book{text-align:center}.page-hero{min-height:430px}.page-hero .wrap{padding:86px 0 65px}.section-intro{grid-template-columns:1fr;gap:16px}.instruction-layout{grid-template-columns:1fr;padding-top:62px;padding-bottom:75px;gap:28px}.side-nav{position:static;display:flex;gap:5px 20px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px}.side-nav p{width:100%;margin-bottom:3px}.side-nav a{padding:4px 0}.footer-top,.footer-bottom{flex-direction:column}}
@media(max-width:520px){.page-hero h1{font-size:58px}.page-hero p:last-child{font-size:16px}.wifi-instruction{padding:26px 24px}.wifi-steps{grid-template-columns:1fr}.jump-inner{gap:9px 17px}.jump-inner span{width:100%}.card-grid,.door-photo-grid{grid-template-columns:1fr}.place-card{min-height:0}.place-card h3{margin-top:24px}.travel-note{display:block;padding:22px}.travel-note strong{display:block;margin-bottom:8px}.instruction-block{padding:36px 0}.welcome-note,.instruction-callout{padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
