*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--paper:#faf6f0;--paper-2:#f3ede3;--ink:#2a241c;--ink-soft:#6a6258;--gold:#b59056;--gold-deep:#8a6a3d;--terra:#c75f3e;--hairline:#e6dfd2;--ring:#b5905666;--shadow-md:0 18px 40px -18px #2a241c4d;--shadow-lg:0 40px 80px -30px #2a241c66;--ease:cubic-bezier(.22, 1, .36, 1);--duration:.32s}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;line-height:1.65}h1,h2,h3,h4{letter-spacing:-.005em;font-family:Cormorant Garamond,Georgia,serif;font-weight:500}.container{max-width:1240px;margin:0 auto;padding:0 24px}nav{z-index:1000;width:100%;transition:background-color var(--duration) var(--ease), border-color var(--duration) var(--ease);background:0 0;border-bottom:1px solid #0000;padding:1.25rem 0;position:fixed;top:0}nav.scrolled{-webkit-backdrop-filter:saturate(160%)blur(14px);border-bottom-color:var(--hairline);background:#faf6f0eb}.nav-content{justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo{color:var(--paper);letter-spacing:.02em;transition:color var(--duration) var(--ease);font-family:Cormorant Garamond,serif;font-size:1.75rem}nav.scrolled .logo{color:var(--ink)}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:#ffffffe6;text-transform:uppercase;letter-spacing:.18em;transition:color var(--duration) var(--ease);font-size:.85rem;font-weight:500;text-decoration:none;position:relative}nav.scrolled .nav-links a{color:var(--ink)}.nav-links a:after{content:"";background:var(--gold);width:0;height:1px;transition:width var(--duration) var(--ease);position:absolute;bottom:-6px;left:0}.nav-links a:hover:after{width:100%}.nav-links a:hover{color:var(--gold)}.nav-links a:focus-visible{box-shadow:0 0 0 4px var(--ring);border-radius:2px;outline:none}.nav-cta{background:var(--gold);color:var(--ink);text-transform:uppercase;letter-spacing:.18em;transition:background-color var(--duration) var(--ease), transform var(--duration) var(--ease);align-items:center;gap:.4rem;padding:.55rem 1.1rem;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.nav-cta:hover{background:var(--gold-deep);color:var(--paper);transform:translateY(-1px)}.nav-cta:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}.hero{color:#fff;background:linear-gradient(#2a241c40,#2a241c99),url(https://images.unsplash.com/photo-1566073771259-6a8506099945?w=1920&q=80) 50%/cover no-repeat;align-items:center;min-height:100vh;display:flex;position:relative}.hero-content{z-index:1;max-width:760px;margin:0 auto;padding:8rem 24px 5rem;position:relative}.hero-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);opacity:0;animation:heroIn .7s var(--ease) 0s forwards;align-items:center;gap:.85rem;margin-bottom:2rem;font-size:.82rem;font-weight:500;display:inline-flex;transform:translateY(14px)}.hero-eyebrow:before,.hero-eyebrow:after{content:"";background:var(--gold);opacity:.6;width:32px;height:1px}.hero h1{opacity:0;animation:heroIn .9s var(--ease) .15s forwards;margin-bottom:1.5rem;font-size:clamp(3rem,1.8rem + 5vw,5.5rem);line-height:1.02;transform:translateY(20px)}.hero h1 em{color:var(--gold);font-style:italic}.hero-lead{color:#ffffffd1;opacity:0;max-width:520px;animation:heroIn .9s var(--ease) .28s forwards;margin-bottom:2.5rem;font-size:clamp(1.05rem,.95rem + .4vw,1.2rem);transform:translateY(18px)}.booking-widget{-webkit-backdrop-filter:blur(10px);max-width:720px;box-shadow:var(--shadow-lg);opacity:0;animation:heroIn .9s var(--ease) .4s forwards;background:#faf6f0f2;border:1px solid #ffffff80;border-radius:14px;grid-template-columns:1fr 1fr 1fr auto;gap:0;padding:.5rem;display:grid;transform:translateY(20px)}.booking-field{border-right:1px solid var(--hairline);text-align:left;padding:.75rem 1.1rem}.booking-field:last-of-type{border-right:none}.booking-field label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.25rem;font-size:.68rem;font-weight:600;display:block}.booking-field input,.booking-field select{color:var(--ink);background:0 0;border:none;outline:none;width:100%;font-family:Cormorant Garamond,serif;font-size:1.05rem}.booking-cta{background:var(--ink);color:var(--paper);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background-color var(--duration) var(--ease);border:none;border-radius:10px;align-items:center;gap:.5rem;padding:0 1.5rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:600;display:inline-flex}.booking-cta:hover{background:var(--gold-deep)}.booking-cta:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}@keyframes heroIn{to{opacity:1;transform:translateY(0)}}section{padding:clamp(5rem,4rem + 4vw,8rem) 0}.section-eyebrow{text-align:center;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.85rem;font-size:.78rem;font-weight:600;display:block}.section-title{text-align:center;color:var(--ink);margin-bottom:3.5rem;font-size:clamp(2.25rem,1.4rem + 3vw,3.5rem);line-height:1.1}.section-title em{color:var(--gold-deep);font-style:italic}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(20px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.rooms{background:var(--paper)}.rooms-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:1.5rem;display:grid}.room-card{border:1px solid var(--hairline);transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);background:#fff;overflow:hidden}.room-card:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.room-img{aspect-ratio:4/3;background-position:50%;background-size:cover;position:relative;overflow:hidden}.room-img img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.room-card:hover .room-img img{transform:scale(1.05)}.room-tag{-webkit-backdrop-filter:blur(8px);color:var(--ink);letter-spacing:.12em;text-transform:uppercase;background:#faf6f0eb;border-radius:999px;padding:.3rem .7rem;font-size:.72rem;font-weight:600;position:absolute;top:14px;left:14px}.room-info{padding:1.5rem 1.5rem 1.75rem}.room-info h3{margin-bottom:.45rem;font-size:1.5rem}.room-info p{color:var(--ink-soft);margin-bottom:1.1rem;font-size:.92rem}.room-meta{border-top:1px solid var(--hairline);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.room-price{color:var(--ink);font-family:Cormorant Garamond,serif;font-size:1.6rem}.room-price span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.12em;margin-left:.25rem;font-family:Inter,sans-serif;font-size:.78rem}.room-link{text-transform:uppercase;letter-spacing:.18em;color:var(--gold-deep);transition:gap var(--duration) var(--ease);align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;text-decoration:none;display:inline-flex}.room-link:hover{gap:.85rem}.story{background:var(--paper-2)}.story-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.story-visual{aspect-ratio:4/5;position:relative;overflow:hidden}.story-visual img{object-fit:cover;width:100%;height:100%}.story-visual:after{content:"";pointer-events:none;border:1px solid #ffffff8c;position:absolute;inset:16px}.story-text>.section-eyebrow,.story-text>.section-title{text-align:left}.story-text>.section-title{margin-bottom:1.25rem}.story-text>p{color:var(--ink-soft);margin-bottom:1.25rem;font-size:1.05rem}.story-stats{border-top:1px solid var(--hairline);grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem;padding-top:2rem;display:grid}.story-stat strong{color:var(--gold-deep);font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:500;line-height:1;display:block}.story-stat span{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-size:.78rem;font-weight:600}.amenities{background:var(--paper)}.amenities-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;display:grid}.amenity{border:1px solid var(--hairline);text-align:left;transition:border-color var(--duration) var(--ease), transform var(--duration) var(--ease);background:#fff;padding:1.85rem}.amenity:hover{border-color:var(--gold);transform:translateY(-4px)}.amenity i{color:var(--gold-deep);margin-bottom:1rem;font-size:1.3rem;display:block}.amenity h3{margin-bottom:.4rem;font-size:1.25rem}.amenity p{color:var(--ink-soft);font-size:.92rem}.contact{color:var(--paper);text-align:center;background:linear-gradient(#2a241ca6,#2a241cd9),url(https://images.unsplash.com/photo-1551882547-ff40c63fe5fa?w=1920&q=80) 50%/cover no-repeat}.contact .section-eyebrow{color:var(--gold)}.contact .section-title{color:var(--paper)}.contact-info{color:#ffffffd1;margin-bottom:2rem;font-size:1.05rem}.contact-info p+p{color:var(--paper);margin-top:.6rem;font-family:Cormorant Garamond,serif;font-size:1.85rem}.contact-btn{background:var(--gold);color:var(--ink);text-transform:uppercase;letter-spacing:.16em;transition:background-color var(--duration) var(--ease), transform var(--duration) var(--ease);align-items:center;gap:.6rem;padding:1rem 2rem;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.contact-btn:hover{background:var(--paper);transform:translateY(-2px)}.contact-btn:focus-visible{box-shadow:0 0 0 4px var(--ring);outline:none}footer{background:var(--ink);color:#faf6f099;text-align:center;letter-spacing:.04em;padding:2rem 0;font-size:.88rem}@media (max-width:900px){.story-grid{grid-template-columns:1fr;gap:2.5rem}.story-visual{aspect-ratio:16/12}.booking-widget{grid-template-columns:1fr 1fr}.booking-cta{grid-column:1/-1;padding:.85rem}.booking-field{border-right:none;border-bottom:1px solid var(--hairline)}}@media (max-width:768px){.nav-links{display:none}.story-stats{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
