:root{--bg:#17130f;--panel:#211c16;--panel2:#292219;--gold:#d8b46c;--gold-light:#efd69b;--text:#f2ede3;--muted:#b5aa97;--border:#d8b46c33;--serif:Georgia,'Times New Roman',serif;color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15}h1{font-size:clamp(36px,4.5vw,64px)}h2{font-size:clamp(28px,3vw,42px)}h3{font-size:25px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold-light);outline-offset:5px}img{max-width:100%;display:block}small{display:block;font-size:11px;color:var(--muted);line-height:1.7}button{color:inherit}.header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--border);background:var(--bg)}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);color:var(--gold);letter-spacing:3px;font-size:25px;line-height:1.1}.brand small{font:8px Arial;letter-spacing:3.5px;color:var(--gold);margin-top:10px}.brand-mark{font-size:41px;line-height:1}.header-actions{display:flex;align-items:center;gap:24px}.header select{border:0;background:transparent;color:var(--gold-light);font-size:12px;max-width:140px}.header option{background:var(--panel)}.header form{margin:0}.text-button{background:transparent;border:0;color:var(--gold);font-size:12px;padding:8px 0}.text-button:hover{color:var(--gold-light)}.eyebrow{color:var(--gold);letter-spacing:2.7px;font-size:10px;font-weight:600;line-height:1.8;margin-bottom:16px}.login{display:grid;grid-template-columns:55% 45%;min-height:calc(100svh - 98px)}.login-photo{position:relative;min-height:740px;overflow:hidden}.login-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:35% center}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#100e0a11,#100e0a44 35%,#100e0ae8)}.login-story{position:absolute;bottom:65px;left:9%;right:8%}.login-story h1{max-width:600px;font-size:clamp(40px,4.8vw,68px);margin:24px 0}.login-story>p:not(.eyebrow){max-width:370px;color:#e5dfd1;font-size:14px;line-height:1.9}.location-badge{display:block;border-top:1px solid #d8b46c55;padding-top:25px;margin-top:35px;font-size:9px;color:var(--gold-light);letter-spacing:2px}.login-panel{padding:30px 12% 55px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#2b2115,var(--bg) 70%)}.logo-art{width:185px;margin:0 auto 20px;border-radius:4px}.login-form{width:100%;max-width:400px}.login-form h2{font-size:34px;margin:15px 0 30px}.login-form label,.admin label{display:block;font-size:12px;font-weight:500;margin:20px 0 8px}input{display:block;width:100%;min-height:52px;padding:13px 16px;margin:8px 0 10px;border:1px solid #8a765750;background:#100e0a77;border-radius:3px;color:var(--text)}input:focus{border-color:var(--gold);outline:1px solid var(--gold)}.gold-button{display:flex;justify-content:space-between;gap:15px;align-items:center;background:linear-gradient(110deg,#b89049,#e8c984);color:#21180d;border:0;border-radius:3px;padding:16px 21px;font-size:12px;font-weight:600;line-height:1.6;margin-top:25px;min-height:52px}.login-form .gold-button,.admin form .gold-button{width:100%}.gold-button:hover{background:var(--gold-light)}.login-note{border-top:1px solid var(--border);padding-top:23px;margin:20px 0;color:var(--muted);font-size:11px;line-height:1.8}.contact-link{display:inline-block;color:var(--gold);font-size:11px;margin-top:6px}.error{color:#ffb6a6;font-size:12px;line-height:1.8}.success{color:#cedcb3;font-size:13px}.footer{padding:32px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--border);font-family:var(--serif);letter-spacing:2px;color:var(--gold);font-size:20px}.footer small{font-family:Arial;font-size:8px;letter-spacing:2px;margin-top:4px}.footer>a{font:11px Arial;letter-spacing:.5px;color:var(--muted);overflow-wrap:anywhere}.guide{max-width:1400px;margin:auto;padding:35px 5% 50px}.preview-banner{background:#342c1a;padding:10px 20px;font-size:12px;border:1px solid var(--border);margin-bottom:20px}.preview-banner a{color:var(--gold);text-decoration:underline}.welcome-hero{height:490px;position:relative;overflow:hidden;border-radius:5px}.welcome-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.welcome-hero>div:last-child{position:absolute;bottom:44px;left:5%;right:5%}.welcome-hero h1{max-width:660px;margin:14px 0 20px}.welcome-hero p:last-child{color:#e6decc;font-size:13px}.stay-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 35px;background:var(--panel);border:1px solid var(--border);border-top:0}.stay-bar>span:first-child{font-size:9px;letter-spacing:2px;color:var(--gold)}.stay-bar strong{display:block;font-weight:normal;font-size:14px;margin-top:5px}.stay-bar .arrow{color:var(--gold)}.intro{max-width:850px;margin:60px auto 45px;text-align:center}.intro>p:last-child{font:22px/1.8 var(--serif);color:#d5cab7}.navigation{display:flex;justify-content:center;gap:8px;padding:15px 0;position:sticky;top:0;z-index:10;background:#17130ff5;border-top:1px solid var(--border);border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}.navigation a{font-size:12px;color:var(--gold-light);padding:9px 20px;border-radius:3px;white-space:nowrap}.navigation a:hover{background:var(--panel2)}.section{margin-top:80px;scroll-margin-top:95px}.section-heading{display:flex;gap:22px;align-items:flex-start}.number{font-size:11px;color:#8b7655;padding-top:5px;white-space:nowrap}.section-heading h2{margin-bottom:20px}.section-heading .eyebrow{margin-bottom:10px}.section-description{color:var(--muted);font-size:13px;line-height:1.9;max-width:700px;margin-bottom:30px}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.room-card{background:var(--panel);border:1px solid var(--border);border-radius:5px;overflow:hidden}.room-card>h3{padding:24px 26px;margin:0;color:var(--gold-light);font-size:27px}.hotspot-photo{position:relative;isolation:isolate}.hotspot-photo>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:44px;height:44px;border:0;padding:0;background:transparent;display:grid;place-items:center;z-index:2;border-radius:50%}.hotspot>span:first-child{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--gold-light);color:#34240c;font-size:10px;font-weight:bold;border:2px solid #fff5;box-shadow:0 0 0 5px #bd8b4150,0 0 20px #f6ce7a;animation:glow 2.6s infinite}.hotspot.selected>span:first-child{background:white;box-shadow:0 0 0 6px #d8b46caa,0 0 24px #f6ce7a}.tooltip{position:absolute;bottom:45px;left:50%;transform:translateX(-50%);max-width:185px;width:max-content;padding:7px 11px;border:1px solid var(--gold);background:#17130ff2;border-radius:4px;color:var(--text);font-size:10px;line-height:1.5;pointer-events:none;display:none;box-shadow:0 3px 10px #0006}.hotspot:hover,.hotspot:focus{z-index:5}.hotspot:hover .tooltip,.hotspot:focus-visible .tooltip{display:block}.point-buttons{display:flex;flex-wrap:wrap;gap:7px;padding:19px 22px 0}.point-buttons button{background:transparent;border:1px solid #d8b46c40;color:var(--muted);font-size:10px;border-radius:30px;padding:7px 11px;line-height:1.5}.point-buttons button.selected{color:var(--gold-light);border-color:var(--gold);background:#d8b46c14}.point-info{padding:18px 24px 24px;min-height:118px}.point-info strong{font-size:13px;color:var(--gold-light);font-weight:500}.point-info p{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.8}[hidden]{display:none!important}@keyframes glow{0%,100%{box-shadow:0 0 0 4px #bd8b4133,0 0 12px #f6ce7a}50%{box-shadow:0 0 0 8px #bd8b4166,0 0 22px #f6ce7a}}.wifi-card{margin-top:28px;padding:32px 36px;border:1px solid var(--gold);border-radius:5px;background:linear-gradient(130deg,#302619,#211b13);display:flex;align-items:center;justify-content:space-between;gap:25px}.wifi-card h2{font-size:27px;margin:0}.wifi-card .eyebrow{margin-bottom:10px}.wifi-card strong{display:block;font-size:16px;margin:7px 0;letter-spacing:.3px}.wifi-card .copy{display:inline-block}.route-layout{display:grid;grid-template-columns:43% 57%;border:1px solid var(--border);border-radius:5px;overflow:hidden;margin-top:15px}.route-text{padding:34px;background:var(--panel)}.route-step{display:flex;gap:19px;position:relative;padding-bottom:23px}.route-step>span{border:1px solid var(--gold);color:var(--gold);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:10px;flex-shrink:0}.route-step strong{font-size:14px;font-weight:500}.route-step p,.route-text>p{font-size:12px;color:var(--muted);line-height:1.9;margin:4px 0 0}.route-text>.gold-button{font-size:11px}.map-container{background:radial-gradient(ellipse at center,#3a3425,#17130f);min-height:420px;position:relative;display:grid;place-items:center}.map-placeholder{text-align:center;max-width:370px;padding:40px 25px}.map-placeholder p{font-size:11px;color:var(--muted);line-height:1.9;margin:20px 0 0}.map-icon{font-size:70px;color:var(--gold);line-height:1;display:block;margin-bottom:20px}.map-placeholder h3{font-size:28px;color:var(--gold-light)}.outline-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;color:var(--gold-light);border:1px solid var(--gold);padding:13px 18px;border-radius:3px;background:transparent;font-size:12px;line-height:1.6}.outline-button:hover{background:#d8b46c18}.map-container iframe{width:100%;height:100%;min-height:420px;border:0;position:absolute;inset:0}.places{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.place{border:1px solid var(--border);padding:28px 24px;display:flex;flex-direction:column;background:var(--panel);border-radius:4px}.place-icon{color:var(--gold);font:50px/1.2 var(--serif);margin-bottom:28px}.place .eyebrow{font-size:8px;letter-spacing:1.8px;min-height:27px}.place h3{font-size:25px;color:var(--gold-light);min-height:60px;margin-bottom:18px}.place>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);flex:1}.place>a{font-size:11px;color:var(--gold);margin-top:20px}.weather-section{background:var(--panel);border:1px solid var(--border);padding:40px;border-radius:5px}.weather-section>p{font-size:12px;color:var(--muted);max-width:780px}.weather-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:28px 0 20px;max-height:680px;overflow:auto}.weather-day{padding:20px 12px;background:#17130f77;border:1px solid var(--border);border-radius:3px;text-align:center}.weather-day p{font-size:11px;color:var(--muted);margin-bottom:15px}.weather-icon{font-size:30px;color:var(--gold);display:block;line-height:1.2;margin-bottom:12px}.weather-day strong{font-size:19px;font-weight:400;display:block;color:var(--gold-light)}.weather-day small{font-size:10px;margin-top:8px}.attribution{font-size:9px!important;margin:18px 0 0}.attribution a{text-decoration:underline;text-underline-offset:3px}.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:15px}.rules article{padding:30px;border:1px solid var(--border);display:flex;align-items:center;gap:24px;border-radius:4px}.rules span{font:36px var(--serif);color:var(--gold)}.rules h3{font:14px/1.7 Arial;margin:0}.waste{margin-top:22px;border:1px solid var(--border);border-radius:4px;padding:22px 28px}.waste summary{font-size:14px;cursor:pointer;color:var(--gold-light);display:flex;justify-content:space-between}.waste summary span{font-size:22px;line-height:1}.waste p{font-size:12px;color:var(--muted);margin-top:20px}.waste img{max-width:850px;width:100%;border-radius:4px;margin:auto}.checkout{display:grid;grid-template-columns:32% 1fr;background:var(--panel);border:1px solid var(--border);border-radius:5px;overflow:hidden;margin-top:28px}.checkout>img{width:100%;height:100%;max-height:470px;object-fit:cover}.checkout>div{padding:45px 50px}.checkout h2{font-size:36px;max-width:600px}.checkout p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted)}.key-code{border-top:1px solid var(--border);margin-top:25px;padding-top:20px}.key-code strong{font:34px var(--serif);letter-spacing:9px;color:var(--gold-light);display:block;margin-top:9px}.contact{text-align:center;margin:90px auto 65px}.contact p:not(.eyebrow){font-size:13px;color:var(--muted)}.contact>a{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:8px;color:var(--gold);margin-top:20px;font-size:17px;overflow-wrap:anywhere}.privacy{font-size:11px;color:var(--muted);border-top:1px solid var(--border);padding-top:20px}.privacy summary{cursor:pointer}.privacy p{max-width:800px;line-height:1.9;margin-top:15px}.admin{max-width:1100px;padding:55px 30px 80px;margin:auto}.admin.narrow{max-width:600px}.admin h1{font-size:45px;margin-top:12px}.admin>p,.admin-card>p,.admin.narrow>p{font-size:13px;color:var(--muted)}.admin .eyebrow{margin-top:30px;color:var(--gold)}.back-link{font-size:12px;color:var(--gold)}.admin-login{max-width:420px}.notice{border:1px solid var(--gold);background:var(--panel);padding:22px 26px;margin:30px 0;font-size:12px;color:var(--muted);line-height:1.9;border-radius:4px}.notice strong{color:var(--gold-light);font-size:14px}.notice p{margin:9px 0 0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:30px 0}.admin-card{padding:28px;border:1px solid var(--border);background:var(--panel);border-radius:4px}.admin-card h2{font-size:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.calendar-blocks{display:grid;gap:10px;max-height:350px;overflow:auto;margin-top:20px}.calendar-block{border:1px solid var(--border);background:var(--bg);border-radius:4px;text-align:left;padding:14px;font-size:12px}.calendar-block strong{font-weight:400;color:var(--gold-light)}.reservation-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-top:1px solid var(--border);font-size:12px}.status-pill{font-size:10px;border:1px solid var(--border);padding:4px 9px;color:var(--gold-light);border-radius:30px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(max-width:1000px){.places{grid-template-columns:repeat(2,1fr)}.login-panel{padding:30px 8%}.login-story h1{font-size:48px}.wifi-card{flex-wrap:wrap}.wifi-card>div:first-child{width:100%}.checkout>div{padding:35px}.route-layout{grid-template-columns:1fr 1fr}.stay-bar{padding:24px}.stay-bar>span:first-child{display:none}.rules article{padding:22px;gap:15px}}@media(max-width:700px){.header{height:80px;padding:0 20px}.brand{font-size:19px;letter-spacing:2px;gap:7px}.brand-mark{font-size:32px}.brand small{font-size:6px;letter-spacing:2px}.header-actions{gap:12px}.header select{max-width:100px;font-size:10px}.header .text-button{font-size:0}.header .text-button:after{content:'↗';font-size:22px}.login{grid-template-columns:1fr}.login-photo{min-height:430px}.login-story{bottom:32px;left:7%;right:7%}.login-story h1{font-size:43px;margin:20px 0}.login-story>p:not(.eyebrow){font-size:13px;max-width:300px}.location-badge{padding-top:18px;margin-top:24px;font-size:8px}.login-panel{padding:20px 26px 40px}.logo-art{width:125px;margin:0 auto 10px}.login-form h2{font-size:29px;margin:12px 0 24px}.login-form .eyebrow{font-size:9px}.footer{padding:28px 24px;align-items:flex-start;flex-direction:column;font-size:18px}.footer>a{font-size:10px}.guide{padding:20px 20px 35px}.welcome-hero{height:420px}.welcome-hero h1{font-size:38px}.welcome-hero>div:last-child{left:7%;right:7%;bottom:30px}.welcome-hero .eyebrow{font-size:8px}.stay-bar{flex-wrap:wrap;justify-content:space-between;padding:20px 18px;gap:12px}.stay-bar>small{width:100%;text-align:center;font-size:9px}.stay-bar strong{font-size:12px}.stay-bar .arrow{font-size:12px}.intro{margin:40px 0 30px}.intro .eyebrow{font-size:7px;letter-spacing:1.5px}.intro>p:last-child{font-size:18px;line-height:1.85}.navigation{justify-content:flex-start;overflow:auto;gap:0;padding:12px 0}.navigation a{padding:7px 13px;font-size:11px}.section{margin-top:55px;scroll-margin-top:85px}.section-heading{gap:13px}.section-heading h2{font-size:30px}.section-heading .eyebrow{font-size:9px;letter-spacing:1.8px}.section-description{font-size:12px}.room-grid{grid-template-columns:1fr;gap:20px}.room-card>h3{font-size:25px;padding:20px}.point-buttons{padding:16px 16px 0;gap:6px}.point-buttons button{font-size:10px;padding:7px 10px}.point-info{padding:16px 20px 22px;min-height:110px}.hotspot{width:36px;height:36px}.hotspot>span:first-child{width:22px;height:22px}.tooltip{font-size:9px;max-width:135px}.wifi-card{padding:26px 24px;display:grid;gap:20px}.wifi-card h2{font-size:27px}.wifi-card strong{font-size:17px}.route-layout{grid-template-columns:1fr}.route-text{padding:26px}.map-container,.map-container iframe{min-height:360px}.places{gap:12px}.place{padding:22px 17px}.place-icon{font-size:37px;margin-bottom:20px}.place .eyebrow{font-size:7px;letter-spacing:1px;min-height:26px}.place h3{font-size:23px;min-height:55px}.place>p:not(.eyebrow){font-size:11px}.weather-section{padding:25px 20px}.weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-day{padding:18px 10px}.rules{grid-template-columns:1fr;gap:10px}.rules article{padding:20px 24px}.rules span{width:32px}.waste{padding:20px}.waste summary{font-size:12px}.checkout{grid-template-columns:1fr}.checkout>img{height:280px;object-position:center 57%}.checkout>div{padding:28px 24px}.checkout h2{font-size:30px}.contact{margin:60px 0 45px}.contact h2{font-size:32px}.contact>a{font-size:14px}.admin{padding:35px 22px}.admin h1{font-size:36px}.admin-grid{grid-template-columns:1fr}.admin-card{padding:23px}.reservation-row{flex-wrap:wrap}.form-grid{gap:10px}.admin input{padding:12px;font-size:14px}.outline-button{font-size:11px}}
