:root{--ivory:#f8f4ec;--sand:#efe6d6;--palm:#17332c;--palm-deep:#0f241f;--gold:#a9853f;--champ:#d9bc8c;--ink:#221f18;--muted:#7b7263;--line:rgba(34,31,24,.16);--serif:"Cormorant",serif;--sans:"Outfit",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font:300 15px/1.65 var(--sans);overflow-x:hidden}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:#fff;padding:12px;z-index:20}header{height:96px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;background:var(--ivory)}.brand{font-weight:400;letter-spacing:.16em;line-height:.85}.brand i{font:italic 23px var(--serif);letter-spacing:.02em;color:var(--gold)}.brand small{display:block;font-size:10px;letter-spacing:.26em;margin-top:8px;color:var(--muted)}nav{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.06em}nav .book{background:var(--palm);color:var(--champ);padding:15px 20px}.menu{display:none}
.hero{display:grid;grid-template-columns:.88fr 1.12fr;min-height:820px}.hero-copy{padding:110px 5vw 100px 8vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy>p,.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;color:var(--gold)}.hero h1{font:500 clamp(66px,7.6vw,124px)/.88 var(--serif);letter-spacing:-.03em;margin:58px 0 38px;color:var(--palm)}.hero h1 em{font-style:italic;font-weight:500;color:var(--gold)}.hero-copy>span{max-width:420px;color:var(--muted);font-size:17px}.hero-copy>a{display:flex;justify-content:space-between;align-items:center;width:280px;background:var(--palm);color:var(--champ);padding:18px 20px;margin-top:44px;font-size:12px;letter-spacing:.08em}.hero-image{position:relative}.hero-image img{height:100%}.badge{position:absolute;left:-58px;bottom:58px;width:136px;height:136px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--palm);color:var(--champ);font:italic 16px/1.3 var(--serif);box-shadow:0 15px 40px rgba(15,36,31,.25)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats div{padding:38px 30px;border-left:1px solid var(--line)}.stats div:first-child{border-left:0}.stats b{display:block;font:500 46px/1 var(--serif);color:var(--palm)}.stats span{display:block;margin-top:10px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}
.promise{padding:150px 8vw}.promise h2,.venues-head h2,.exp-copy h2,.gallery-head h2,.booking h2{font:500 clamp(48px,5.6vw,86px)/.98 var(--serif);color:var(--palm);margin:38px 0 0;letter-spacing:-.02em}.promise h2{margin-bottom:48px}.promise>div{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-left:33%;color:var(--muted)}
.venues{padding:130px 5vw;background:var(--sand)}.venues-head{display:flex;justify-content:space-between;align-items:end;gap:40px}.venues-head>p{max-width:360px;color:var(--muted)}.venue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:70px}.venue-grid article{background:var(--ivory);display:flex;flex-direction:column}.venue-img{position:relative}.venue-img img{height:330px}.venue-img span{position:absolute;top:16px;left:16px;background:var(--ivory);color:var(--palm);padding:8px 11px;font-size:10px;letter-spacing:.14em}.venue-grid h3{font:500 30px var(--serif);color:var(--palm);margin:28px 28px 0}.venue-grid p{color:var(--muted);font-size:13px;margin:12px 28px 0}.venue-grid small{margin:22px 28px 0;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.14em}.venue-grid button{border:0;border-top:1px solid var(--line);background:transparent;text-align:left;padding:18px 28px 24px;margin-top:24px;cursor:pointer;color:var(--palm);font-size:13px}
.experience{display:grid;grid-template-columns:1.1fr .9fr;background:var(--palm)}.experience>div,.hero>div{min-width:0}.exp-image img{height:100%;min-height:760px}.exp-copy{padding:110px 7vw}.exp-copy .eyebrow{color:var(--champ)}.exp-copy h2{color:#fdf9f1}.experience ol{list-style:none;padding:0;margin:65px 0 0}.experience li{display:grid;grid-template-columns:44px 1fr;border-top:1px solid rgba(217,188,140,.28);padding:24px 0}.experience li>span{font-size:10px;color:var(--champ)}.experience h3{font:500 25px var(--serif);margin:0;color:var(--champ)}.experience li p{margin:6px 0;color:#c3cbc3;font-size:12.5px}
.gallery{padding:130px 5vw}.gallery-head{display:grid;grid-template-columns:1fr 2fr;align-items:end}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:70px}.gallery-grid img{height:480px;filter:saturate(.85)}.quote{background:var(--sand);padding:46px;display:flex;flex-direction:column;justify-content:space-between;grid-column:span 2}.quote blockquote{font:italic 34px/1.2 var(--serif);margin:0;color:var(--palm)}.quote span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);margin-top:30px}
.booking{padding:130px 8vw;background:var(--palm-deep);color:#fdf9f1;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.booking .eyebrow{color:var(--champ)}.booking h2{color:#fdf9f1}.booking>div>p:last-child{color:#b8c1b8;max-width:420px;margin-top:32px}.booking form{align-content:center;display:grid;grid-template-columns:1fr 1fr;gap:24px}.booking label{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--champ)}.booking input,.booking select{width:100%;display:block;height:54px;margin-top:8px;border:0;border-bottom:1px solid rgba(217,188,140,.4);background:transparent;color:#fff;border-radius:0}.booking select option{color:#222}.booking label:first-child{grid-column:1/3}.booking button{grid-column:1/3;border:0;background:var(--champ);color:var(--palm-deep);height:58px;padding:0 22px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;letter-spacing:.06em}.status{grid-column:1/3;color:#d9e0d8;min-height:24px;margin:0}
.visit{padding:110px 8vw;background:var(--champ);display:grid;grid-template-columns:1fr 1fr}.visit .eyebrow{color:var(--palm)}.visit h2{font:500 46px/1.1 var(--serif);color:var(--palm-deep);margin:30px 0 0}.visit>div:last-child{display:grid;grid-template-columns:1fr 1fr;align-content:end;color:#4c3f22}.visit a{grid-column:1/3;border-top:1px solid rgba(15,36,31,.3);padding-top:18px;margin-top:20px;color:var(--palm-deep)}footer{background:var(--ink);color:#c9c2b2;padding:35px 5vw;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.14em}footer a{color:#fff}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;box-shadow:0 0 0 5px #fff}.booking :focus-visible,.experience :focus-visible{outline-color:var(--champ);box-shadow:0 0 0 5px var(--palm-deep)}
@media(max-width:900px){header{height:76px}.menu{display:grid;place-content:center;gap:6px;width:48px;height:48px;border:0;background:transparent}.menu span{width:24px;height:1px;background:var(--palm)}.menu b{position:absolute;left:-9999px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--ivory);z-index:5;padding:25px;flex-direction:column;align-items:stretch}nav.open{display:flex}nav a{display:flex;align-items:center;min-height:44px;padding:10px 4px}nav .book{padding:15px 20px}.hero{grid-template-columns:1fr}.hero-copy{padding:80px 22px}.hero-image{height:560px}.badge{left:20px}.stats{grid-template-columns:1fr 1fr}.stats div{border-left:0;border-top:1px solid var(--line)}.stats div:nth-child(-n+2){border-top:0}.promise,.venues,.gallery,.booking,.visit{padding-left:22px;padding-right:22px}.promise>div{margin-left:0;grid-template-columns:1fr}.venues-head{display:block}.venue-grid{grid-template-columns:1fr}.experience{grid-template-columns:1fr}.exp-image img{min-height:520px}.exp-copy{padding:80px 22px}.gallery-head{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:440px}.quote{grid-column:auto;min-height:340px}.booking{grid-template-columns:1fr}.visit{grid-template-columns:1fr}.visit>div:last-child{margin-top:35px}footer{display:block}footer p+p{margin-top:20px}input,select,textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
