:root{--green:#123b35;--deep:#0b2925;--gold:#b59254;--cream:#f5f0e7;--ink:#182522;--line:#d9d6ce}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:15px 'DM Sans',sans-serif;background:#fff;line-height:1.6}h1,h2,h3,.brand,blockquote{font-family:'Playfair Display',serif;font-weight:500;line-height:1.04;margin:0}h1{font-size:clamp(54px,7.4vw,116px);letter-spacing:-.05em}h2{font-size:clamp(42px,4.8vw,72px);letter-spacing:-.045em}h3{font-size:30px;letter-spacing:-.035em}i,em{font-style:italic}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:600;margin:0 0 22px;color:#757c78}.light{color:#e7e1d7}.button{display:inline-flex;align-items:center;gap:35px;padding:16px 21px;border:0;text-decoration:none;font:600 11px 'DM Sans';letter-spacing:.1em;text-transform:uppercase;transition:.3s;cursor:pointer}.button span{font-size:19px}.cream{background:var(--cream);color:var(--deep)}.gold{background:var(--gold);color:#fff}.outline{border:1px solid #eee6d8;background:transparent;color:white}.button:hover{transform:translateY(-3px);filter:brightness(1.08)}header{height:86px;position:absolute;z-index:2;top:0;left:0;right:0;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid #ffffff29}.brand{font-size:21px;letter-spacing:.12em;line-height:.75;color:inherit;text-decoration:none}.brand em{font-weight:500}.brand small{display:block;font:7px 'DM Sans';letter-spacing:.28em;margin-top:10px;text-align:center}nav{display:flex;align-items:center;gap:31px}nav a,.text-link{color:inherit;text-decoration:none;text-transform:uppercase;font:600 10px 'DM Sans';letter-spacing:.12em;background:none;border:0;cursor:pointer}.book-link{border-bottom:1px solid #fff;padding-bottom:5px}.nav-toggle{display:none}.hero{height:100vh;min-height:650px;color:#fff;position:relative;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1539650116574-75c0c6d73f6e?auto=format&fit=crop&w=2200&q=90') center/cover;animation:zoom 16s ease-out both}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#10261eaf,transparent 72%),linear-gradient(0deg,#081b1666,transparent 40%)}@keyframes zoom{from{transform:scale(1.1)}to{transform:scale(1)}}.hero-copy{position:absolute;left:10%;bottom:17%;max-width:850px}.hero-copy .eyebrow{margin-bottom:23px}.hero-description{max-width:410px;margin:28px 0 35px;font-size:16px}.scroll{position:absolute;bottom:38px;left:5.5%;font-size:9px;letter-spacing:.17em}.scroll b{display:inline-block;width:45px;height:1px;background:#fff;margin:0 0 4px 12px}.hero-place{position:absolute;right:5.5%;bottom:37px;font-size:10px;letter-spacing:.15em}.booking{padding:52px 9%;display:flex;align-items:center;justify-content:space-between;background:var(--cream)}.booking h2{font-size:42px}.booking .eyebrow{margin-bottom:8px}.booking form{display:flex;align-items:end;gap:25px}.booking label{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#757c78;display:grid;gap:7px}.booking input,.booking select{border:0;border-bottom:1px solid #aaa;background:transparent;padding:0 0 10px;color:var(--ink);font:15px 'DM Sans';min-width:142px}.intro{padding:145px 10%;display:grid;grid-template-columns:1.05fr 1fr;gap:10%;align-items:center;position:relative}.intro-image{height:600px;overflow:hidden}.intro img{width:100%;height:100%;object-fit:cover}.intro-copy{max-width:470px}.intro-copy p:not(.eyebrow){color:#61706b;margin:30px 0}.underlink{display:inline-block;color:inherit;text-decoration:none;font-size:10px;font-weight:600;letter-spacing:.13em;border-bottom:1px solid var(--ink);padding-bottom:8px}.underlink span{margin-left:22px;font-size:16px}.quote{position:absolute;bottom:115px;left:5%;background:var(--green);color:#fff;padding:27px;width:240px;font:italic 18px/1.35 'Playfair Display'}.quote small{display:block;font:8px 'DM Sans';letter-spacing:.12em;margin-top:16px;font-style:normal}.rooms{background:#f7f7f4;padding:130px 7%}.section-head{display:flex;justify-content:space-between;align-items:end;margin:0 3% 58px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.room-card{background:#fff;transition:.35s}.room-card:hover{transform:translateY(-8px);box-shadow:0 18px 45px #132d2018}.room-card img{width:100%;height:390px;object-fit:cover;display:block}.room-card>div{padding:22px 25px 27px}.room-card p,.room-card span{font-size:9px;letter-spacing:.13em;color:#777}.room-card h3{margin:8px 0 16px}.room-card span b{float:right;color:var(--green);font-size:20px}.dining{display:grid;grid-template-columns:1.1fr .9fr;background:var(--green);color:#fff}.dining-image{height:680px;position:relative}.dining-image img{height:100%;width:100%;object-fit:cover}.stamp{position:absolute;right:-48px;bottom:50px;border:1px solid #fff;border-radius:50%;width:130px;height:130px;display:grid;place-content:center;text-align:center;font:600 10px/1.65 'DM Sans';letter-spacing:.15em;background:var(--green)}.dining-copy{padding:16% 15%;align-self:center}.dining-copy p:not(.eyebrow){color:#d9e3dc;margin:30px 0}.numbers{padding:70px 8%;display:grid;grid-template-columns:repeat(4,1fr);background:#e6dfd2;text-align:center}.numbers>div+div{border-left:1px solid #bdb5a8}.numbers strong{font:49px 'Playfair Display';display:block}.numbers sup{font:15px 'DM Sans'}.numbers span{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.experiences{padding:140px 10%}.narrow{max-width:270px;color:#64706c}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.experience-grid article img{height:390px;width:100%;object-fit:cover}.experience-grid article div{padding:20px 0}.experience-grid span{font:10px 'DM Sans';color:var(--gold)}.experience-grid h3{margin:8px 0;font-size:27px}.experience-grid p{font-size:13px;color:#66736e;margin:0}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:310px 310px;gap:15px;padding:0 6% 130px}.gallery img{width:100%;height:100%;object-fit:cover}.gallery-intro{grid-row:span 2;background:var(--cream);padding:25% 14%}.gallery-intro h2{font-size:47px;margin-bottom:40px}.g1{grid-row:span 2}.testimonial{background:#f5f0e7;text-align:center;padding:125px 20%}.leaf{font-size:32px;color:var(--gold);margin-bottom:30px}.testimonial blockquote{font-size:clamp(29px,3.8vw,57px);letter-spacing:-.04em;line-height:1.15}.testimonial p{font:600 10px 'DM Sans';letter-spacing:.15em;margin:32px}.dots>*{display:inline-block;width:6px;height:6px;border-radius:50%;background:#bfb8ad;margin:4px}.dots b{background:var(--green)}.offers{padding:130px 10%;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:50px}.offers article{border-top:1px solid var(--ink);padding-top:20px}.offers article span{font-size:9px;letter-spacing:.15em;color:var(--gold)}.offers h3{margin:18px 0}.offers p{color:#66736e;font-size:13px}.offers a{font:600 10px 'DM Sans';letter-spacing:.12em;color:var(--ink);text-decoration:none}.newsletter{background:linear-gradient(#0b302bd9,#0b302bd9),url('https://images.unsplash.com/photo-1511497584788-876760111969?auto=format&fit=crop&w=1700&q=85') center/cover;color:#fff;text-align:center;padding:130px 20%}.newsletter h2{margin-bottom:34px}.newsletter form{border-bottom:1px solid #fff;max-width:430px;margin:auto;display:flex}.newsletter input{background:none;border:0;padding:15px 0;color:#fff;flex:1;font:15px 'DM Sans';outline:0}.newsletter input::placeholder{color:#d7dfdb}.newsletter button{background:none;border:0;color:#fff;font-size:25px;cursor:pointer}.newsletter small{display:block;font-size:9px;color:#c5d0cb;margin-top:13px}footer{background:var(--deep);color:#f5f0e7;padding:65px 6%;display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr;gap:25px;position:relative}footer p,footer a{font-size:12px;color:#cdd3cf;margin:0;display:block;text-decoration:none;line-height:1.8}footer>small{position:absolute;bottom:20px;left:6%;font-size:8px;letter-spacing:.1em;color:#9ca9a4}.loader{position:fixed;z-index:99;inset:0;background:var(--deep);color:#fff;display:grid;place-content:center;font:24px 'Playfair Display';letter-spacing:.17em;transition:opacity .8s,visibility .8s}.loader i{height:1px;width:0;background:var(--gold);display:block;margin-top:20px;animation:load .8s ease forwards}@keyframes load{to{width:190px}}.loader.done{opacity:0;visibility:hidden}.toast{position:fixed;z-index:20;bottom:30px;right:30px;padding:18px 25px;background:var(--green);color:#fff;box-shadow:0 10px 40px #0003;transform:translateY(140px);transition:.35s;font-size:13px}.toast.show{transform:none}
/* dashboard */.hidden{display:none}.admin{min-height:100vh;background:#f4f4f1;display:flex;color:#172622}.admin aside{width:250px;background:var(--deep);color:#e9e6de;padding:38px 23px;display:flex;flex-direction:column;gap:8px}.admin-user{border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;padding:23px 0;margin:30px 0 12px;font:20px 'Playfair Display';display:flex;gap:12px}.admin-user span{font:12px 'DM Sans';line-height:1.3}.admin aside>a,.admin aside button{color:#afbeb7;padding:10px 13px;border:0;text-align:left;background:none;font:13px 'DM Sans';text-decoration:none}.admin aside a.active{background:#ffffff16;color:#fff}.admin aside b{float:right;background:var(--gold);padding:0 6px;border-radius:10px;color:#fff;font-size:10px}.admin aside button{margin-top:auto}.dashboard{padding:55px;flex:1}.dash-head{display:flex;justify-content:space-between;align-items:center}.dash-head h1{font-size:41px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:45px 0 30px}.metrics article,.dash-grid section{background:#fff;padding:25px}.metrics span{display:block;font-size:9px;letter-spacing:.14em;color:#74817c}.metrics strong{display:block;font:31px 'Playfair Display';margin:8px 0}.metrics sup{font:12px 'DM Sans'}.metrics em{font:10px 'DM Sans';color:#5b9a70;font-style:normal}.dash-grid{display:grid;grid-template-columns:1.5fr .7fr;gap:20px}.list-head{display:flex;justify-content:space-between;align-items:center}.dash-grid h2{font-size:25px}.list-head a{font-size:11px;color:var(--green)}table{width:100%;border-collapse:collapse;margin-top:20px;font-size:12px}th{text-align:left;font-size:9px;letter-spacing:.12em;color:#87918d;padding:10px 0}td{border-top:1px solid #eee;padding:15px 0}td small{display:block;color:#89938e}.confirmed,.pending{padding:4px 8px;font-size:9px;border-radius:20px}.confirmed{background:#e3f1e7;color:#36834a}.pending{background:#f9edcf;color:#a57c1e}.occupancy{min-height:310px}.chart{height:180px;display:flex;gap:13px;align-items:end;padding:20px 5px 5px;border-bottom:1px solid #ddd}.chart span{background:var(--gold);width:25px}.days{word-spacing:11px;font-size:9px;color:#8a938f;margin-top:8px}
@media(max-width:850px){header{padding:0 7%}nav{display:none}.nav-toggle{display:block;color:#fff;background:none;border:0;font-size:22px}.booking{display:block;padding:38px 7%}.booking form{margin-top:24px;flex-wrap:wrap}.intro,.dining{grid-template-columns:1fr}.intro{padding:80px 8%;gap:50px}.quote{display:none}.intro-image{height:420px}.rooms,.experiences{padding:80px 7%}.room-grid,.experience-grid,.offers,.metrics{grid-template-columns:1fr}.room-card img{height:300px}.section-head{margin:0 0 40px}.dining-image{height:450px}.dining-copy{padding:90px 12%}.stamp{right:20px}.numbers{grid-template-columns:repeat(2,1fr);gap:30px}.numbers>div:nth-child(3){border-left:0}.gallery{padding:0 4% 70px;grid-template-columns:1fr 1fr;grid-template-rows:auto 250px 250px}.gallery-intro{grid-column:span 2;grid-row:auto;padding:55px 12%}.g1{grid-row:span 1}.testimonial{padding:80px 10%}.offers{padding:80px 8%;gap:35px}footer{grid-template-columns:1fr 1fr;padding-bottom:80px}.admin aside{display:none}.dashboard{padding:30px 18px}.dash-grid{grid-template-columns:1fr}.dash-head{align-items:start;gap:20px}.dash-head .button{padding:12px;font-size:8px}.metrics{gap:10px}.metrics article{padding:16px}.metrics strong{font-size:24px}}
