@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');
:root{--forest:#123a2d;--deep:#09281f;--gold:#b79b5e;--goldlight:#e8d6ad;--cream:#faf8f2;--sand:#f2ece2;--ink:#23372e;--muted:#65756e;--line:#d9dfd7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.7 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #bd9b50;outline-offset:3px}.container{width:min(1220px,calc(100% - 58px));margin:auto}.topbar{background:var(--deep);color:#fff;font-size:12px;letter-spacing:.3px}.topbar-inner{min-height:35px;display:flex;justify-content:space-between;align-items:center;gap:18px}.topbar-inner a:hover{color:var(--goldlight)}.top-separator{opacity:.4;margin:0 15px}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.98);border-bottom:1px solid #f1eee8;box-shadow:0 1px 15px rgba(16,37,28,.05)}.nav-inner{min-height:95px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand img{width:268px;height:70px;object-fit:contain;object-position:left}.primary-nav{display:flex;align-items:center;gap:25px}.nav-item{font-size:13px;font-weight:700;color:#42534a;text-transform:uppercase;letter-spacing:.5px;transition:color .2s}.nav-item:hover,.nav-item.active{color:#9f7933}.nav-book{background:var(--forest);color:#fff!important;padding:13px 19px;border-radius:4px;font-weight:700;font-size:13px;white-space:nowrap}.nav-book:hover{background:#225541}.menu-toggle{display:none}.home-hero{position:relative;min-height:620px;background:var(--deep);display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;left:42%}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#09251edc 0%,#09251ed2 34%,#09251e4f 63%,#09251e18 100%)}.hero-content{position:relative;z-index:2;color:#fff;padding-top:72px;padding-bottom:70px}.hero-content h1{font:500 clamp(48px,6.3vw,88px)/1.12 'Playfair Display',Georgia,serif;max-width:660px;letter-spacing:-2px;margin:20px 0 25px}.hero-content h1 em,.intro-content h2 em,.section h2 em,.two-tone h2 em,.contact-strip h2 em,.story h2 em{color:var(--goldlight);font-weight:400}.hero-content p{max-width:510px;font-size:18px;line-height:1.9;color:#eee8dc}.eyebrow{display:block;font-size:12px;letter-spacing:3px;font-weight:700;color:#aa8a4c;text-transform:uppercase}.eyebrow.light{color:#e8c582}.hero-actions,.actions-row,.strip-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 22px;font-size:13px;font-weight:700;letter-spacing:.3px;border-radius:3px;border:1px solid transparent;cursor:pointer;transition:transform .15s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:#9d7f40}.btn-dark{background:var(--forest);color:#fff}.btn-dark:hover{background:var(--deep)}.btn-outline-light{border-color:#ffffffa6;color:#fff;background:#fff0}.btn-outline-dark{border-color:var(--forest);color:var(--forest);background:#fff0}.hero-eyeline{margin-top:46px;color:#eee0bf;font-size:11px;letter-spacing:2px}.trust-band{background:#f4f1e8;border-bottom:1px solid #e8e3d7}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid>div{min-height:107px;padding:28px 20px;display:flex;gap:19px;align-items:center;border-right:1px solid #e4dfd5}.trust-grid>div:last-child{border:0}.trust-grid b{font:italic 28px Georgia;color:#bd9c58}.trust-grid span{color:#4d6056;font-size:13px;font-weight:600;line-height:1.6}.section{padding:100px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.image-frame{position:relative;border-radius:5px;overflow:hidden}.image-frame img{width:100%;height:530px;object-fit:cover}.image-frame.tall img{height:590px}.image-tag{position:absolute;bottom:26px;right:-1px;background:#fff;padding:21px 45px;box-shadow:0 5px 25px #0001}.image-tag span{display:block;font:26px Georgia;color:var(--forest);letter-spacing:5px}.image-tag small{font-size:11px;letter-spacing:1px;color:#9d834e}.intro-content h2,.section h2,.two-tone h2,.contact-strip h2,.story h2{font:400 clamp(36px,4vw,57px)/1.18 'Playfair Display',Georgia,serif;letter-spacing:-1px;color:var(--forest);margin:18px 0 24px}.intro-content h2 em,.section h2 em,.story h2 em{color:#a88b52}.intro-content p,.story p{font-size:15px;color:#627169;line-height:2}.small-checks{display:flex;gap:22px;margin-top:24px;color:#547460;font-size:12px}.services-section,.soft-section{background:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:37px}.section-head h2{margin:10px 0}.section-head p{margin:0;color:var(--muted);font-size:14px}.text-link{font-weight:700;color:var(--forest);border-bottom:1px solid var(--gold);padding:0 0 8px;white-space:nowrap;font-size:13px}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.service-card{background:#fff;border:1px solid #e9e8e2;border-radius:5px;overflow:hidden;transition:box-shadow .2s,transform .2s}.service-card:hover{box-shadow:0 15px 35px #132e261a;transform:translateY(-3px)}.photo-link{display:block;overflow:hidden;background:#ddd}.photo-link img{width:100%;height:235px;object-fit:cover;transition:transform .3s}.service-card:hover img{transform:scale(1.045)}.service-card-body{padding:24px 26px 26px}.mini-kicker{font-size:10px;letter-spacing:2px;color:#b59a61;font-weight:700;text-transform:uppercase}.service-card h3{font:500 27px/1.3 'Playfair Display',Georgia;margin:9px 0 12px;color:var(--forest)}.service-card p{font-size:13px;color:#718077;line-height:1.8;min-height:70px;margin:0 0 15px}.section-center{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:35px}.two-tone{background:var(--deep);overflow:hidden}.two-tone-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.two-tone-grid>div{padding:95px 0}.two-tone h2{color:#fff}.two-tone h2 em{color:#e4c891}.two-tone p{color:#e1e7e0;font-size:15px;max-width:540px}.two-tone-grid>img{width:100%;height:440px;object-fit:cover}.gallery-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery-preview img{width:100%;height:245px;object-fit:cover}.review-section{background:#f5f3ea}.review-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:65px;align-items:center}.quote-card{background:#fff;padding:55px;box-shadow:0 15px 45px #152c220c;border:1px solid #eee6d4;border-radius:5px}.quote-card.large{margin-top:25px}.stars{color:#c5a25b;font-size:23px;letter-spacing:7px}.quote-card blockquote{margin:22px 0;font:italic 25px/1.6 'Playfair Display',Georgia;color:var(--forest)}.quote-card strong,.quote-card small{display:block}.quote-card small{color:#849089;font-size:11px}.contact-strip{background:var(--forest);padding:65px 0}.contact-strip-inner{display:flex;justify-content:space-between;gap:30px;align-items:center}.contact-strip h2{color:#fff;font-size:36px;margin:7px 0}.contact-strip p{color:#cedbd3;margin:0;font-size:13px}.site-footer{background:#0b2a20;color:#dfe5df}.footer-top{padding:78px 0 52px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px}.footer-brand img{width:235px;filter:brightness(0) invert(1);margin-left:-5px}.footer-brand p{font-size:13px;max-width:320px;color:#afc2b5}.foot-tel{font-weight:700;color:#dec48e}.footer-col h4{text-transform:uppercase;letter-spacing:2px;font-size:12px;color:#e8d5b3;margin:12px 0 25px}.footer-col a{display:block;color:#b8c5b9;font-size:13px;margin:9px 0}.footer-col a:hover{color:#fff}.footer-contact{display:flex;flex-wrap:wrap;gap:30px;padding:25px 0;border-top:1px solid #ffffff21;border-bottom:1px solid #ffffff21;font-size:11px;color:#b0c2b5}.footer-bottom{display:flex;justify-content:space-between;padding:22px 0 28px;font-size:10px;letter-spacing:1px;color:#9fb6aa}.page-hero{height:350px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--deep)}.page-hero-photo{position:absolute;inset:0}.page-hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}.page-hero-cover{position:absolute;inset:0;background:linear-gradient(90deg,#071f18f2,#071f18bf 65%,#071f1877)}.page-hero-text{z-index:2;color:white}.page-hero-text h1{font:400 clamp(35px,4.5vw,58px)/1.1 'Playfair Display',Georgia;margin:10px 0 17px;max-width:950px}.page-hero-text p{color:#e6ece6;max-width:770px;font-size:14px;margin:0}.breadcrumbs{color:#d7d6c6;font-size:11px;margin-bottom:27px}.breadcrumbs a{color:#edcf96}.breadcrumbs span{margin:0 8px}.inner-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:80px;align-items:start}.story h2{margin-top:14px}.story .lead{font-size:19px;line-height:1.8;color:#355a49}.story h3{font:400 30px 'Playfair Display',Georgia;color:var(--forest);margin:35px 0 8px}.checklist{list-style:none;padding:0;display:grid;gap:15px}.checklist li{position:relative;padding-left:31px;line-height:1.8;color:#5f7066;font-size:14px}.checklist li:before{content:'✧';position:absolute;left:0;color:#b59455;font-size:18px}.reference-note{background:#f4f3ee;border-left:3px solid var(--gold);padding:15px 20px;font-size:12px!important}.detail-aside .image-frame img{border-radius:5px}.aside-mini{padding:29px 32px;margin-top:17px;background:var(--cream);display:grid;gap:5px}.aside-mini span{color:#b2955a;text-transform:uppercase;letter-spacing:2px;font-size:11px}.aside-mini strong{font:28px 'Playfair Display',Georgia;color:var(--forest)}.aside-mini a{font-weight:700;color:var(--forest)}.info-triple{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.info-triple article{background:white;padding:35px;border:1px solid #e9e8e2}.info-triple b{color:var(--gold);font:italic 31px Georgia}.info-triple h3{font:27px Georgia;color:var(--forest)}.info-triple p{color:#6c776f;font-size:13px}.centered-head{text-align:center;max-width:780px;margin:0 auto 40px}.centered-head .eyebrow{margin:auto}.centered-head h2{margin:10px 0 16px}.centered-head p{font-size:14px;color:var(--muted)}.soft-note{margin:38px auto 0;background:#f3f4ee;padding:22px 30px;border-left:3px solid #bba066;color:#566b5e;font-size:13px}.soft-note a{font-weight:700;text-decoration:underline}.soft-note.warning{background:#f9efe4;border-color:#b18b4e}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery-grid img{width:100%;height:255px;object-fit:cover;border-radius:3px}.narrow{width:min(760px,calc(100% - 58px))}.faq-stack details{margin:12px 0;background:#faf9f6;border:1px solid #ece8de;padding:17px 22px}.faq-stack summary{cursor:pointer;font-weight:700;color:var(--forest);list-style:none;display:flex;justify-content:space-between}.faq-stack summary:after{content:'+';color:#a88b52;font-size:19px}.faq-stack details[open] summary:after{content:'−'}.faq-stack p{color:#69776d;font-size:14px}.contact-stack{display:grid;gap:20px;margin:35px 0}.contact-stack>div{border-left:3px solid var(--gold);padding:6px 22px;background:#f9f8f3}.contact-stack small,.contact-stack strong,.contact-stack span{display:block}.contact-stack small{color:#a78c5d;font-size:10px;letter-spacing:2px}.contact-stack strong{color:#344e40;font-size:16px;margin-top:8px}.contact-stack span{font-size:11px;color:#808a84}.booking-layout{display:grid;grid-template-columns:1fr .85fr;gap:90px}.booking-layout h2{font:400 48px 'Playfair Display',Georgia;color:var(--forest)}.booking-layout .lead{font-size:15px;color:#617168}.booking-form{display:grid;gap:9px;margin-top:26px}.booking-form label{font-size:12px;font-weight:700;color:var(--forest)}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #d7dfd7;background:#fff;padding:14px 15px;border-radius:2px;margin-bottom:11px;color:var(--forest)}.booking-form button{width:fit-content}.booking-form p{font-size:12px;color:#728078}.booking-form p a{text-decoration:underline}.booking-side img{width:100%;height:400px;object-fit:cover}.booking-side>div{background:#f7f4ed;padding:30px}.booking-side h3{font:29px 'Playfair Display',Georgia;margin:0 0 12px;color:var(--forest)}.booking-side p{color:#67776b}.booking-side a{color:var(--forest);font-weight:700}.hours-box{background:#f5f3ec;text-align:center;padding:60px 40px;border:1px solid #e5e0d4}.hours-box span{display:block;letter-spacing:2px;color:#8d8059;text-transform:uppercase}.hours-box strong{display:block;font:45px 'Playfair Display',Georgia;color:var(--forest);margin:15px 0}.hours-box small{display:block;color:#6b776f}.policy-text{font-size:15px;color:#576c60;line-height:2;margin-top:30px}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.journal-card{background:#f7f5ee;padding-bottom:26px}.journal-card img{height:205px;width:100%;object-fit:cover}.journal-card span{font-size:10px;letter-spacing:2px;color:#b29961;font-weight:700;margin:20px 22px 0;display:block}.journal-card h3{font:26px 'Playfair Display',Georgia;color:var(--forest);margin:9px 22px}.journal-card p{font-size:12px;color:#738277;margin:0 22px}.legal-notice{padding:10px 22px;text-align:center;font-size:11px;background:#f8f1e2;color:#5b4e36}
@media(max-width:1050px){.primary-nav{gap:14px}.brand img{width:235px}.nav-item{font-size:12px}.intro-grid,.two-tone-grid,.inner-grid{gap:40px}.footer-top{gap:24px}.container{width:min(100% - 40px,1200px)}}
@media(max-width:850px){.topbar-inner>span{display:none}.topbar-inner{justify-content:center}.nav-inner{min-height:76px}.brand img{width:215px;height:64px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:transparent;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:25px;height:2px;background:var(--forest)}.primary-nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:20px 6vw 25px;box-shadow:0 15px 28px #091e1a20;gap:0}.primary-nav.open{display:flex}.primary-nav a{padding:12px 10px}.hero-content h1{max-width:610px}.hero-image{left:10%}.hero-shade{background:linear-gradient(90deg,#071d17e8,#071d17c2 65%,#071d1788)}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-grid>div:nth-child(2){border-right:0}.trust-grid>div{min-height:93px}.cards-grid,.journal-grid{grid-template-columns:repeat(2,1fr)}.intro-grid,.inner-grid,.booking-layout,.two-tone-grid,.review-layout{grid-template-columns:1fr}.two-tone-grid>div{padding:60px 0 0}.two-tone-grid>img{height:360px}.footer-top{grid-template-columns:1.7fr 1fr 1fr}.footer-col:last-child{grid-column:2/4}.gallery-preview{grid-template-columns:repeat(2,1fr)}.contact-strip-inner{flex-direction:column;align-items:flex-start}}
@media(max-width:580px){.container,.narrow{width:calc(100% - 32px)}.topbar{font-size:10px}.topbar-inner{justify-content:center;text-align:center;min-height:30px}.topbar-inner>div>span:last-child{display:none}.home-hero{min-height:560px}.hero-content{padding-top:55px;padding-bottom:55px}.hero-content h1{font-size:46px;letter-spacing:-1px}.hero-content p{font-size:15px}.hero-eyeline{letter-spacing:.5px;font-size:10px}.trust-grid>div{padding:17px 12px;gap:11px}.trust-grid b{font-size:23px}.trust-grid span{font-size:11px}.section{padding:62px 0}.intro-grid,.inner-grid{gap:28px}.image-frame img,.image-frame.tall img{height:330px}.intro-content h2,.section h2,.story h2{font-size:37px}.section-head{align-items:start;flex-direction:column}.cards-grid,.journal-grid{grid-template-columns:1fr;gap:15px}.service-card img{height:220px}.service-card p{min-height:0}.gallery-preview,.gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}.gallery-preview img,.gallery-grid img{height:150px}.review-layout{gap:20px}.quote-card{padding:30px}.quote-card blockquote{font-size:21px}.contact-strip h2{font-size:30px}.page-hero{height:auto;min-height:300px;padding:42px 0}.page-hero-text h1{font-size:38px}.page-hero-text p{font-size:12px}.footer-top{grid-template-columns:repeat(2,1fr);gap:20px;padding:50px 0 28px}.footer-brand{grid-column:1/-1}.footer-col:last-child{grid-column:auto}.footer-contact{gap:10px}.footer-bottom{gap:12px;flex-direction:column}.booking-layout{gap:25px}.booking-layout h2{font-size:40px}.booking-side img{height:260px}.info-triple{grid-template-columns:1fr}.small-checks{flex-wrap:wrap}.hours-box strong{font-size:36px}}
