@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.notice{text-align:center;background:var(--ink);color:white;font-size:10px;letter-spacing:1.1px;padding:9px}header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;gap:18px}.logo{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:12px;font-family:'Playfair Display',Georgia,serif;font-size:23px}.logo-mark{font-size:31px;color:var(--accent)}.logo small{display:block;font:9px 'DM Sans',Arial,sans-serif;letter-spacing:2.5px;margin-top:5px}nav{display:flex;gap:30px}nav a{font-size:13px;color:inherit;text-decoration:none}.navcta,.hero-button,.booking-strip button,.feature button,.confirm{background:var(--accent);color:#181818;border:0;padding:16px 26px;font-size:12px;font-weight:700;letter-spacing:.5px}.hero{position:relative;min-height:570px;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center}.hero-copy{position:relative;z-index:1;color:white;margin:0 9vw;max-width:680px}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:700;color:var(--accent)}.hero h1{font:normal clamp(57px,7vw,110px)/1.02 'Playfair Display',Georgia,serif;margin:20px 0}.hero p{font-size:19px;line-height:1.7;max-width:540px}.hero-button{margin-top:20px}.hero-button span{margin-left:24px}.hero-index{position:absolute;right:5vw;bottom:35px;color:white;font-size:11px;letter-spacing:2px}.booking-strip{position:relative;z-index:2;max-width:1150px;margin:-35px auto 0;background:white;display:grid;grid-template-columns:1fr 1fr .8fr auto;align-items:center;padding:18px 20px;box-shadow:0 18px 60px #00000017}.booking-strip>div{padding:4px 20px;border-right:1px solid #e9e5df}.booking-strip span{display:block;font-size:10px;letter-spacing:1.6px;color:#777;margin-bottom:9px}.booking-strip input,.booking-strip select{width:100%;border:0;background:transparent;color:#222;font-size:14px}.intro{text-align:center;padding:130px 20px 105px}.dark{color:var(--accent)}h2{font:normal clamp(34px,4vw,57px)/1.2 'Playfair Display',Georgia,serif;margin:14px 0 20px}.intro em{font-weight:400}.intro p{max-width:620px;margin:auto;color:#777;line-height:1.9}.rooms{padding:0 6vw 110px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px}.section-head p{color:#777}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.room{background:white;box-shadow:0 5px 20px #0000000a}.room img{width:100%;height:245px;object-fit:cover}.room-body{padding:25px}.room-kicker{font-size:10px;letter-spacing:2px;color:var(--accent)}.room h3{font:normal 29px 'Playfair Display',Georgia,serif;margin:12px 0}.room p{font-size:12px;color:#888;min-height:32px}.room-foot{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:20px}.room-foot span{font-size:12px}.room-foot b{font-size:20px}.room-foot button{border:0;background:var(--ink);color:white;padding:12px;font-size:11px}.feature{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;min-height:420px}.feature-copy{padding:75px 10vw}.feature-copy p{line-height:1.8;color:#ddd}.feature img{width:100%;height:100%;object-fit:cover;max-height:490px}footer{display:flex;justify-content:space-between;align-items:center;padding:50px 6vw;gap:20px;font-size:12px}footer strong{font:25px 'Playfair Display',Georgia,serif}footer a{color:inherit}dialog{border:0;padding:0;max-width:520px;width:calc(100% - 30px);box-shadow:0 30px 90px #0005}dialog::backdrop{background:#0b1215b8}.modal{padding:34px;background:white;position:relative}.modal h2{font-size:40px}.close{position:absolute;right:16px;top:14px;border:0;background:transparent;font-size:20px}.sub{font-size:13px;color:#777;line-height:1.6}.modal label{display:block;font-size:12px;margin-top:18px;font-weight:700}.modal input,.modal select{display:block;width:100%;border:1px solid #ddd;padding:12px;margin-top:7px;background:white}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.total{display:flex;justify-content:space-between;background:#f4f4f2;padding:17px;margin:22px 0;font-size:13px}.total strong{font-size:20px}.confirm{width:100%;background:var(--ink);color:white}#result{font-size:13px;line-height:1.6;margin-top:16px}.theme-split .hero{min-height:630px}.theme-split .hero-photo{left:42%}.theme-split .hero{background:var(--ink)}.theme-split .hero-copy{margin-left:6vw;max-width:36%}.theme-frame .hero{margin:0 3vw;border:14px solid var(--bg);min-height:610px}.theme-bold .hero h1{font-family:'DM Sans',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:-5px}.theme-minimal header{background:#fff}.theme-minimal .hero{min-height:650px}.theme-minimal .hero h1{font-family:'DM Sans',sans-serif;font-weight:500;letter-spacing:-6px}.theme-organic .hero{border-radius:0 0 90px 90px}.theme-organic .room{border-radius:18px;overflow:hidden}.theme-heritage .hero h1{font-style:italic}.theme-romantic .hero-copy{text-align:center;margin:auto}.theme-romantic .hero-photo{background-position:center}.theme-alpine .hero{min-height:690px}.theme-alpine .hero-copy{margin-top:170px}.theme-lodge .hero{margin:0 4vw;min-height:650px;border-radius:10px}.theme-lodge .hero-copy{margin-left:6vw}@media(max-width:800px){header{height:75px;padding:0 18px}nav{display:none}.logo{font-size:18px}.navcta{padding:12px}.hero{min-height:540px!important;margin:0!important;border:0!important;border-radius:0!important}.hero-copy,.theme-split .hero-copy{margin:0 25px;max-width:90%}.theme-split .hero-photo{left:0}.hero h1{font-size:55px!important;letter-spacing:-1px!important}.hero p{font-size:16px}.booking-strip{margin:0;grid-template-columns:1fr 1fr;padding:14px}.booking-strip>div{padding:12px}.booking-strip button{grid-column:1/-1}.intro{padding:80px 25px}.rooms{padding:0 20px 70px}.room-grid{grid-template-columns:1fr}.section-head{display:block}.feature{grid-template-columns:1fr}.feature-copy{padding:55px 30px}.feature img{max-height:280px}footer{flex-direction:column;align-items:start}.hero-index{font-size:9px}}