:root{--primary:#2D3E2E;--primary-deep:#1E2B1F;--accent:#8B6F47;--accent-soft:#A88A63;--ink:#1F1B16;--ink-soft:#5A5248;--bg:#F7F3EC;--bg-warm:#EFE9DD;--line:rgba(31,27,22,.12);--font-display:"Fraunces",Georgia,serif;--font-body:"Inter",-apple-system,sans-serif;--radius:2px;--section:clamp(80px,12vw,160px);--container:1340px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);font-size:16px;line-height:1.7;font-weight:400;overflow-x:hidden}img{max-width:100%;display:block;height:auto}a{color:inherit;text-decoration:none;transition:color .3s ease}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em;line-height:1.1;color:var(--ink)}.container{max-width:var(--container);margin:0 auto;padding:0 clamp(24px,5vw,60px)}header.site.scrolled,header.site.solid{background:#f7f3ecf5;backdrop-filter:blur(12px);padding:14px 0;box-shadow:0 1px 0 var(--line)}.logo-link img{height:52px;width:auto;transition:height .4s ease}header.site.scrolled .logo-link img,header.site.solid .logo-link img{height:42px}.logo-text{font-family:var(--font-display);font-size:18px;letter-spacing:.04em;color:var(--ink);font-weight:500}nav.primary{display:flex;align-items:center;gap:32px}nav.primary a{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);font-weight:400;position:relative;padding:6px 0;transition:color .3s ease}nav.primary a:hover{color:var(--accent)}.burger{display:none;background:none;border:none;font-size:24px;color:var(--ink);cursor:pointer}.page-hero{position:relative;height:62vh;min-height:480px;display:flex;align-items:flex-end;overflow:hidden;background:var(--primary-deep)}.page-hero-bg{position:absolute;inset:0;z-index:1}.page-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center;animation:slowZoom 14s ease-out forwards}.page-hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1e2b1f59,#1e2b1f26 40%,#1e2b1fbf)}@keyframes slowZoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.page-hero-content{position:relative;z-index:2;width:100%;padding-bottom:clamp(60px,9vw,110px);color:#fff}.hero-eyebrow{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:#ffffffd9;margin-bottom:24px;opacity:0;animation:fadeUp 1s .3s ease-out forwards}.hero-eyebrow:before{content:"";display:inline-block;width:36px;height:1px;background:var(--accent-soft);vertical-align:middle;margin-right:16px}.page-hero h1{font-size:clamp(48px,8vw,108px);color:#fff;font-weight:300;line-height:1.02;letter-spacing:-.025em;max-width:1100px;opacity:0;animation:fadeUp 1.2s .5s ease-out forwards}.page-hero h1 em{font-style:italic;color:var(--accent-soft);font-weight:300}.hero-lead{margin-top:28px;font-size:clamp(16px,1.4vw,19px);max-width:620px;color:#ffffffe0;font-weight:300;line-height:1.7;opacity:0;animation:fadeUp 1.2s .8s ease-out forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.crumb{padding:28px 0 0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.crumb a:hover{color:var(--accent)}.crumb span{margin:0 10px;opacity:.5}.intro{padding:clamp(70px,9vw,120px) 0 clamp(40px,6vw,80px)}.intro-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(40px,8vw,120px);align-items:start}.intro-label{font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-weight:500}.intro-label:before{content:"";display:inline-block;width:30px;height:1px;background:var(--accent);vertical-align:middle;margin-right:14px}.intro h2{font-size:clamp(34px,4.4vw,58px);font-weight:300;margin-top:24px;line-height:1.08}.intro h2 em{font-style:italic;color:var(--accent);font-weight:300}.intro-body p{font-size:17px;line-height:1.85;color:var(--ink-soft);margin-bottom:22px;font-weight:300}.intro-body p:first-child:first-letter{font-family:var(--font-display);font-size:64px;float:left;line-height:.85;padding:6px 14px 0 0;color:var(--accent);font-weight:400}.rooms{padding:clamp(40px,6vw,80px) 0 var(--section)}.room-block{margin-bottom:clamp(80px,12vw,160px);opacity:0;transform:translateY(40px);transition:all 1.1s cubic-bezier(.22,.61,.36,1)}.room-block.visible{opacity:1;transform:translateY(0)}.room-block:last-child{margin-bottom:0}.room-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}.room-block:nth-child(2n) .room-inner{grid-template-columns:1fr 1.15fr}.room-block:nth-child(2n) .room-image{order:2}.room-block:nth-child(2n) .room-info{order:1}.room-image{position:relative;overflow:hidden;background:var(--bg-warm)}.room-image .main{aspect-ratio:4/5;overflow:hidden;position:relative}.room-image .main img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.22,.61,.36,1)}.room-block:hover .room-image .main img{transform:scale(1.05)}.room-image .number{position:absolute;top:24px;left:24px;z-index:2;font-family:var(--font-display);font-size:14px;color:#fff;letter-spacing:.18em;mix-blend-mode:difference}.room-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.room-thumbs img{aspect-ratio:1/1;object-fit:cover;opacity:.85;transition:opacity .4s ease;cursor:pointer}.room-thumbs img:hover{opacity:1}.room-info{padding:20px 0}.room-cat{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:18px}.room-cat:before{content:"";display:inline-block;width:24px;height:1px;background:var(--accent);vertical-align:middle;margin-right:12px}.room-info h3{font-size:clamp(34px,4vw,52px);font-weight:300;line-height:1.05;letter-spacing:-.025em;margin-bottom:24px}.room-info h3 em{font-style:italic;color:var(--accent);font-weight:300}.room-desc{font-size:16px;line-height:1.8;color:var(--ink-soft);margin-bottom:32px;font-weight:300;max-width:520px}.room-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px}.spec{display:flex;flex-direction:column;gap:6px}.spec-label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;opacity:.75}.spec-val{font-family:var(--font-display);font-size:20px;font-weight:400;color:var(--ink);line-height:1.2}.room-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:12px;padding:16px 34px;background:var(--primary);color:#fff;border-radius:100px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:all .4s ease}.btn-primary:hover{background:var(--accent);transform:translateY(-2px);box-shadow:0 12px 30px #8b6f4747}.btn-primary svg{width:14px;height:14px;transition:transform .3s ease}.btn-primary:hover svg{transform:translate(4px)}.btn-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:500;padding:6px 0;position:relative}.btn-link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--ink);transition:background .3s ease}.btn-link:hover{color:var(--accent)}.btn-link:hover:after{background:var(--accent)}.intermission{position:relative;height:70vh;min-height:520px;overflow:hidden;background:var(--primary-deep)}.intermission-bg{position:absolute;inset:0}.intermission-bg img{width:100%;height:100%;object-fit:cover;object-position:center}.intermission-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1e2b1f73,#1e2b1fa6)}.intermission-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 24px}.intermission .mark{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:28px}.intermission h3{color:#fff;font-size:clamp(32px,4.8vw,62px);font-weight:300;max-width:880px;line-height:1.15;font-style:italic}.intermission h3 em{color:var(--accent-soft);font-style:italic}.intermission .sig{margin-top:32px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#ffffffb3}.concierge{padding:var(--section) 0;background:var(--bg-warm)}.concierge-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center}.concierge-text .intro-label{margin-bottom:0}.concierge-text h2{font-size:clamp(32px,4vw,52px);font-weight:300;margin:20px 0 28px;line-height:1.08}.concierge-text h2 em{font-style:italic;color:var(--accent);font-weight:300}.concierge-text p{font-size:16px;line-height:1.85;color:var(--ink-soft);font-weight:300;margin-bottom:18px}.concierge-list{margin-top:36px;display:grid;gap:16px}.concierge-list li{list-style:none;padding:14px 0;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:18px;font-size:14px}.concierge-list li:last-child{border-bottom:1px solid var(--line)}.concierge-list span{font-family:var(--font-display);color:var(--accent);font-size:14px;letter-spacing:.05em}.concierge-img{aspect-ratio:4/5;overflow:hidden}.concierge-img img{width:100%;height:100%;object-fit:cover;transition:transform 2s ease}.concierge-img:hover img{transform:scale(1.04)}footer.site{background:#1a1f1a;color:#ffffffbf;padding:clamp(70px,9vw,120px) 0 40px;font-size:14px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:60px;margin-bottom:70px}.footer-brand img{height:54px;width:auto;margin-bottom:22px;filter:brightness(0) invert(1);opacity:.92}.footer-brand p{color:#fff9;line-height:1.8;font-weight:300;max-width:340px;font-size:14px}footer.site h4{color:#fff;font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:24px;font-family:var(--font-body);font-weight:500}.footer-col ul{list-style:none;display:grid;gap:13px}.footer-col a{color:#ffffffa6;transition:color .3s ease;font-size:14px}.footer-col p{color:#ffffffa6;line-height:1.85;font-size:14px;margin-bottom:8px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;color:#ffffff73;font-size:12px;letter-spacing:.08em}.footer-social{display:flex;gap:18px}.footer-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ffffffb3;transition:all .3s ease}.footer-social a:hover{border-color:var(--accent-soft);color:var(--accent-soft);transform:translateY(-2px)}@media(max-width:960px){nav.primary{display:none}.burger{display:block}.room-inner,.room-block:nth-child(2n) .room-inner,.intro-grid,.concierge-grid{grid-template-columns:1fr;gap:40px}.room-block:nth-child(2n) .room-image{order:initial}.room-block:nth-child(2n) .room-info{order:initial}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}}@media(max-width:600px){.page-hero{height:58vh;min-height:420px}.footer-grid{grid-template-columns:1fr}.room-specs{grid-template-columns:repeat(3,1fr);gap:12px}.spec-val{font-size:16px}.intro-body p:first-child:first-letter{font-size:52px}}header.site{position:fixed;top:0;left:0;right:0;z-index:100;padding:24px 0;transition:all .4s ease;background:transparent}header.site.scrolled{background:#f7f3ecf5;backdrop-filter:blur(12px);padding:14px 0;box-shadow:0 1px 0 var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.logo-link{display:flex;align-items:center;gap:14px;flex-shrink:0}.logo-link img{height:52px;width:auto;transition:height .4s ease;filter:brightness(0) invert(1)}header.site.scrolled .logo-link img{height:42px;filter:none}.logo-text{font-family:var(--font-display);font-size:18px;letter-spacing:.04em;color:#fff;transition:color .4s ease;font-weight:500}header.site.scrolled .logo-text{color:var(--ink)}nav.primary{display:flex;align-items:center;gap:36px}nav.primary a{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fff;font-weight:400;position:relative;padding:6px 0;transition:color .3s ease}header.site.scrolled nav.primary a{color:var(--ink)}nav.primary a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .35s ease}nav.primary a:hover:after{width:100%}nav.primary a:hover{color:var(--accent-soft)}header.site.scrolled nav.primary a:hover{color:var(--accent)}.nav-cta{padding:12px 26px;background:var(--primary);color:#fff!important;border-radius:100px;font-size:12px;letter-spacing:.12em}.nav-cta:after{display:none}.nav-cta:hover{background:var(--accent);color:#fff!important}header.site.scrolled .burger{color:var(--ink)}.wellness-header{max-width:760px;margin-bottom:80px}.rooms-header{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:80px}footer.site{background:var(--primary-deep);color:#ffffffbf;padding:100px 0 40px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:60px;margin-bottom:80px}.footer-brand img{height:60px;width:auto;filter:brightness(0) invert(1);margin-bottom:24px}.footer-brand p{font-size:14px;line-height:1.7;color:#fff9;max-width:300px}.footer-col h5{font-family:var(--font-display);color:#fff;font-size:15px;letter-spacing:.04em;margin-bottom:24px;font-weight:400}.footer-col ul{list-style:none}.footer-col li{margin-bottom:12px}.footer-col a{font-size:14px;color:#ffffffa6;transition:color .3s ease}.footer-col a:hover{color:var(--accent-soft)}.footer-contact{font-size:14px;line-height:1.9;color:#ffffffa6}.footer-contact a:hover{color:var(--accent-soft)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;font-size:12px;color:#ffffff80;letter-spacing:.04em}nav.primary{display:none}.essence-grid,.rooms-grid,.rooms-header,.loc-grid{grid-template-columns:1fr;gap:48px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-grid{grid-template-columns:1fr}
