@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:wght@500;600&display=swap");
:root{--ink:#20342d;--forest:#263f35;--moss:#809279;--cream:#f3efe6;--paper:#faf8f2;--gold:#b69a68;--line:rgba(32,52,45,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.08}h1{max-width:780px;margin-bottom:24px;font-size:clamp(3.4rem,7.4vw,7.6rem);letter-spacing:-.045em}h2{margin-bottom:26px;font-size:clamp(2.7rem,5vw,5rem);letter-spacing:-.035em}h3{font-size:1.45rem}
.site-header{position:absolute;z-index:10;top:0;left:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;padding:28px 4vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.28)}.brand{display:flex;align-items:center;gap:12px;font-size:.96rem;letter-spacing:.03em}.brand strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:1.35rem;line-height:1}.brand-mark{display:grid;place-items:center;width:44px;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;font-family:"Playfair Display",Georgia,serif;font-size:.95rem}nav{display:flex;gap:34px;font-size:.86rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}nav a,.text-link,.header-cta{transition:opacity .2s ease}nav a:hover,.text-link:hover,.header-cta:hover{opacity:.65}.header-cta{justify-self:end;padding-bottom:3px;border-bottom:1px solid;font-size:.86rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--forest)}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{animation:reveal 1.2s ease both}.hero-shade{background:linear-gradient(90deg,rgba(15,30,25,.72),rgba(15,30,25,.35) 58%,rgba(15,30,25,.12)),linear-gradient(0deg,rgba(13,28,23,.45),transparent 50%)}.hero-copy{position:relative;z-index:2;width:min(1100px,86vw);padding:210px 0 90px 8vw;animation:rise .9s .15s ease both}.hero-lead{max-width:630px;margin-bottom:36px;font-size:clamp(1.08rem,1.8vw,1.35rem)}.eyebrow{margin-bottom:22px;color:var(--moss);font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.eyebrow.light{color:#d8d2c3}.hero-actions{display:flex;align-items:center;gap:34px}.button{display:inline-block;padding:15px 25px;border:0;font:600 .82rem "DM Sans",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.button-light{color:var(--ink);background:var(--cream)}.button-dark{color:#fff;background:var(--forest)}.text-link{font-size:.83rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.text-link span{padding-left:8px}.hero-note{position:absolute;z-index:2;right:4vw;bottom:45px;display:flex;align-items:center;gap:16px;padding-left:24px;border-left:1px solid rgba(255,255,255,.45)}.hero-note span{font-family:"Playfair Display",Georgia,serif;font-size:2.2rem}.hero-note p{margin:0;font-size:.76rem;letter-spacing:.07em;line-height:1.45;text-transform:uppercase}
.section{padding:120px 8vw}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;border-bottom:1px solid var(--line)}.intro-copy{max-width:700px;columns:2;column-gap:48px}.intro-copy .large-copy{columns:auto;column-span:all;margin-bottom:32px;font-family:"Playfair Display",Georgia,serif;font-size:1.7rem;line-height:1.35}.section-heading{max-width:700px;margin-bottom:70px}.section-heading.row{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.section-heading.row>p{max-width:360px;margin-bottom:30px}.features{background:var(--cream)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.feature{min-height:280px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.feature>span{display:block;margin-bottom:42px;color:var(--gold);font-size:.76rem;letter-spacing:.12em}.feature p{margin-bottom:0;color:#53635c}
.rooms{display:grid;grid-template-columns:1.2fr .8fr;min-height:760px;background:var(--forest);color:#fff}.rooms-image{min-height:600px}.rooms-copy{display:flex;flex-direction:column;justify-content:center;padding:90px 7vw}.rooms-copy>p:not(.eyebrow){max-width:540px;color:#d9dedb}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.22)}.stats strong,.stats span{display:block}.stats strong{font-family:"Playfair Display",Georgia,serif;font-size:2.2rem;font-weight:500}.stats span{color:#c2ccc7;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:330px 330px;gap:16px}.gallery-item{margin:0;overflow:hidden;background:#ddd}.gallery-item-1{grid-row:1/3}.gallery-item-2{grid-column:2/4}.gallery-item img{transition:transform .6s ease}.gallery-item:hover img{transform:scale(1.025)}
.inquiry{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;color:#fff;background:#172b24}.inquiry-intro>p:not(.eyebrow){max-width:500px;color:#c9d0cd}.inquiry address{display:flex;flex-direction:column;margin-top:44px;padding-left:24px;border-left:1px solid rgba(255,255,255,.24);font-style:normal}.inquiry address a{width:max-content;margin-top:10px;border-bottom:1px solid}.inquiry-form{display:grid;gap:22px;padding:42px;background:var(--paper);color:var(--ink)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-row:has(label:nth-child(3)){grid-template-columns:repeat(3,1fr)}label{display:grid;gap:8px;font-size:.76rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font:400 1rem "DM Sans",Arial,sans-serif}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.consent{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;text-transform:none;letter-spacing:0;font-weight:400}.consent input{width:auto;margin-top:5px}.honeypot{position:absolute;left:-9999px}.form-note{margin:0;color:#68766f;font-size:.78rem}
footer{display:grid;grid-template-columns:1fr auto auto;gap:50px;align-items:center;padding:34px 4vw;color:#bec9c4;background:#10221c;font-size:.76rem}footer p{margin:0}.footer-brand{color:#fff}
@keyframes reveal{from{transform:scale(1.05);opacity:.6}to{transform:scale(1);opacity:1}}@keyframes rise{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}nav{display:none}.hero-note{display:none}.hero-copy{padding-left:6vw;padding-right:6vw}.intro,.rooms,.inquiry{grid-template-columns:1fr}.intro-copy{columns:1}.feature-grid{grid-template-columns:repeat(2,1fr)}.rooms-image{min-height:520px}footer{grid-template-columns:1fr;gap:18px}}
@media(max-width:600px){h1{font-size:3.25rem}h2{font-size:2.7rem}.site-header{padding:20px 5vw}.brand>span:last-child{display:none}.hero{min-height:760px}.hero-copy{padding-bottom:64px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.section{padding:84px 6vw}.feature-grid{grid-template-columns:1fr}.feature{min-height:auto}.rooms-image{min-height:380px}.rooms-copy{padding:74px 6vw}.stats{gap:10px}.stats strong{font-size:1.8rem}.section-heading.row{align-items:flex-start;flex-direction:column}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:390px 220px 220px}.gallery-item-1{grid-column:1/3;grid-row:auto}.gallery-item-2{grid-column:1/3}.inquiry-form{padding:26px}.form-row,.form-row:has(label:nth-child(3)){grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
