*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#111;background:#fff;margin:0;font-family:Arial,Helvetica,sans-serif}button{font:inherit;cursor:pointer}.app{min-height:100vh}.navbar{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:18px 6%;display:flex;position:sticky;top:0}.logo{font-size:20px;font-weight:800}.nav-book-button{color:#fff;background:#111;border:none;border-radius:999px;padding:10px 20px;font-weight:700;transition:transform .2s,opacity .2s}.nav-book-button:hover{opacity:.85;transform:translateY(-2px)}.hero{color:#fff;background:radial-gradient(circle at 80% 20%,#444 0,#181818 35%,#050505 75%);align-items:center;min-height:720px;padding:80px 6%;display:flex;position:relative;overflow:hidden}.hero-content{z-index:1;max-width:760px;position:relative}.hero-label,.section-label{letter-spacing:.2em;text-transform:uppercase;opacity:.65;margin:0 0 18px;font-size:12px;font-weight:800}.hero h1{letter-spacing:-.05em;margin:0;font-size:clamp(56px,9vw,110px);line-height:.95}.hero-description{color:#ccc;max-width:520px;margin:30px 0;font-size:18px;line-height:1.7}.hero-button{color:#111;background:#fff;border:none;border-radius:999px;padding:15px 28px;font-weight:800;transition:transform .2s,box-shadow .2s}.hero-button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #00000040}.section-container{width:min(1200px,88%);margin:0 auto}.intro{padding:130px 0}.intro h2,.rooms-section h2,.booking-cta h2{letter-spacing:-.04em;margin:0;font-size:clamp(38px,6vw,70px);line-height:1}.intro-text{color:#666;max-width:650px;margin-top:30px;font-size:18px;line-height:1.8}.rooms-section{background:#f5f5f5;padding:100px 0}.section-heading{margin-bottom:50px}.rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.room-card{background:#fff;border:2px solid #0000;border-radius:24px;transition:transform .25s,box-shadow .25s,border-color .25s;overflow:hidden}.room-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px #0000001a}.room-card-selected{border-color:#111}.room-image{color:#fff;text-transform:uppercase;letter-spacing:.1em;background:linear-gradient(135deg,#222,#555);justify-content:center;align-items:center;height:300px;font-size:14px;font-weight:700;display:flex}.room-content{padding:28px}.room-content h3{margin:0;font-size:28px}.room-content p{color:#666;min-height:55px;margin:12px 0 25px;line-height:1.6}.room-bottom{justify-content:space-between;align-items:center;gap:20px;display:flex}.price-label{color:#888;margin-bottom:4px;font-size:12px;display:block}.price-bottom{align-items:baseline;display:flex}.room-bottom strong{font-size:28px}.price-unit{color:#888;margin-left:4px;font-size:13px}.room-button{color:#fff;background:#111;border:none;border-radius:999px;padding:12px 18px;font-weight:700}.booking-cta{color:#fff;background:#111;padding:140px 0}.booking-cta .section-label{color:#fff}.booking-cta h2{max-width:700px;margin-bottom:40px}.footer{color:#fff;background:#050505;padding:40px 0}.footer .section-container{justify-content:space-between;align-items:center;gap:20px;display:flex}.footer p{color:#888;margin:0;font-size:14px}@media (width<=800px){.navbar{padding:15px 5%}.hero{min-height:620px;padding:70px 5%}.rooms-grid{grid-template-columns:1fr}.room-image{height:250px}.footer .section-container{flex-direction:column;align-items:flex-start}}@media (width<=500px){.nav-book-button{padding:9px 14px;font-size:13px}.hero h1{font-size:58px}.room-bottom{flex-direction:column;align-items:flex-start}.room-button{width:100%}}.booking-section{background:#fff;padding:120px 0}.booking-header{margin-bottom:40px}.booking-header h2{letter-spacing:-.04em;margin:0;font-size:clamp(40px,6vw,70px);line-height:1}.booking-panel{background:#f5f5f5;border-radius:24px;max-width:900px;padding:35px}.booking-field{margin-bottom:30px}.booking-field label{text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:13px;font-weight:800;display:block}.booking-field input,.booking-field select{background:#fff;border:1px solid #ddd;border-radius:12px;width:100%;padding:15px 16px;font-size:16px}.booking-field input:focus,.booking-field select:focus{outline-offset:2px;outline:2px solid #111}.time-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.time-button{color:#111;background:#fff;border:1px solid #ddd;border-radius:10px;padding:13px 10px;font-weight:700;transition:background .2s,color .2s,transform .2s}.time-button:hover{transform:translateY(-2px)}.time-button-selected{color:#fff;background:#111;border-color:#111}.booking-summary{border-top:1px solid #ddd;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:40px;padding-top:30px;display:grid}.booking-summary div{flex-direction:column;gap:5px;display:flex}.booking-summary span{color:#888;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.booking-summary strong{font-size:16px}.booking-summary .summary-total{border-top:1px solid #ddd;grid-column:1/-1;margin-top:10px;padding-top:20px}.summary-total strong{font-size:32px}.continue-button{color:#fff;background:#111;border:none;border-radius:999px;width:100%;margin-top:30px;padding:17px;font-weight:800;transition:opacity .2s,transform .2s}.continue-button:not(:disabled):hover{transform:translateY(-2px)}.continue-button:disabled{opacity:.35;cursor:not-allowed}@media (width<=600px){.booking-panel{padding:22px}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-summary{grid-template-columns:1fr}.booking-summary .summary-total{grid-column:auto}}.room-image img{object-fit:cover;width:100%;height:100%;display:block}.room-gallery{background:#222;height:300px;position:relative;overflow:hidden}.room-gallery-image{object-fit:cover;width:100%;height:100%;transition:opacity .25s;display:block}.room-image-placeholder{color:#fff;text-transform:uppercase;letter-spacing:.1em;justify-content:center;align-items:center;width:100%;height:100%;font-size:14px;font-weight:700;display:flex}.gallery-arrow{color:#fff;opacity:0;background:#000000a6;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.room-gallery:hover .gallery-arrow{opacity:1}.gallery-arrow:hover{transform:translateY(-50%)scale(1.08)}.gallery-arrow-left{left:15px}.gallery-arrow-right{right:15px}.gallery-dots{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;border-radius:999px;gap:7px;padding:7px 10px;display:flex;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.gallery-dot{background:#ffffff8c;border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:transform .2s,background .2s}.gallery-dot-active{background:#fff;transform:scale(1.3)}@media (width<=600px){.room-gallery{height:250px}.gallery-arrow{opacity:1;width:36px;height:36px}}.jam-welcome-overlay{z-index:11000;background:#000000c7;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0;overflow-y:auto}.jam-welcome-modal{color:#fff;text-align:center;background:#171719;border:1px solid #facc15;border-radius:14px;flex-direction:column;align-items:center;gap:12px;width:min(100%,620px);max-height:calc(100vh - 36px);padding:22px;display:flex;overflow-y:auto;box-shadow:0 24px 70px #00000073}.jam-welcome-brand{color:#facc15;letter-spacing:.08em;font-size:.82rem;font-weight:800}.jam-welcome-modal h2{margin:0;font-size:clamp(1.6rem,5vw,2rem)}.jam-welcome-subtitle{color:#e5e5e5;margin:-4px 0 2px}.jam-welcome-image{object-fit:cover;background:#262626;border-radius:9px;width:100%;max-height:42vh;display:block}.jam-welcome-band{color:#fff;font-size:1.1rem;font-weight:700}.jam-welcome-booking{color:#e5e5e5;border-top:1px solid #444;flex-direction:column;gap:4px;width:100%;padding:10px 12px;font-size:.9rem;display:flex}.jam-welcome-booking strong{color:#facc15}.jam-welcome-button{color:#171717;cursor:pointer;width:100%;font:inherit;letter-spacing:.02em;background:#facc15;border:0;border-radius:9px;padding:14px 18px;font-weight:800;transition:background .2s,transform .2s}.jam-welcome-button:hover{background:#eab308;transform:translateY(-1px)}.jam-welcome-button:focus-visible{outline-offset:3px;outline:3px solid #fff}@media (width<=520px){.jam-welcome-modal{padding:16px}.jam-welcome-image{max-height:36vh}}@media print{.jam-welcome-overlay{display:none!important}}
