@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;1,400;1,500&display=swap');
:root{--cream:#f5f0e6;--ink:#233b2e;--wood:#a86e40;--gold:#ddbb81;--line:#d5d4c6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12}h1{font-size:clamp(48px,6.5vw,98px);letter-spacing:-2px}h2{font-size:clamp(36px,4vw,60px);letter-spacing:-1.5px}h3{font-size:29px}em{font-weight:400;color:var(--wood)}p{margin-top:24px;max-width:540px}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:8px 5%;background:var(--cream);position:relative;z-index:20;border-bottom:1px solid var(--line)}.brand img{width:130px;height:82px;object-fit:contain}nav{display:flex;gap:28px;align-items:center;font-size:13px}nav a:hover,.line-link:hover{color:var(--wood)}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;background:var(--wood);color:white;padding:16px 25px;border:1px solid transparent;font-size:13px;font-weight:600;transition:background .2s}.button:hover{background:#82502c;color:white}.button.small{padding:12px 20px}#menu{display:none}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:700;display:block;margin-bottom:23px}.hero{min-height:720px;height:calc(100svh - 98px);max-height:1000px;position:relative;background:#273a2a;color:#fff;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-position:center 40%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,29,19,.86),rgba(15,28,19,.4) 45%,rgba(15,28,19,.08)),linear-gradient(0deg,rgba(10,25,15,.65),transparent 35%)}.hero-content{position:relative;padding:75px 7% 110px;max-width:900px}.hero h1 em{color:#e2bf88}.hero p{font-size:16px;color:#eee4d4;line-height:1.8}.actions{display:flex;align-items:center;gap:30px;margin-top:35px;flex-wrap:wrap}.text-link{border-bottom:1px solid #c8cbb9;padding:9px 0;font-size:13px}.hero-foot{position:absolute;bottom:30px;left:7%;right:7%;display:flex;justify-content:space-between;letter-spacing:1.5px;font-size:10px;border-top:1px solid #ffffff45;padding-top:22px}.ribbon{display:flex;justify-content:space-around;align-items:center;background:#263d30;color:#e5d7bd;padding:24px 5%;font-family:Georgia,serif;font-size:20px}.ribbon i{font-size:18px;color:var(--gold)}.section{padding:100px 7%;max-width:1600px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.intro-image{position:relative;padding:0 0 30px 30px}.intro-image:before{content:'';position:absolute;left:0;bottom:0;width:75%;height:85%;border:1px solid #b9a47d;z-index:-1}.intro-image img{height:520px}.intro-image figcaption{position:absolute;bottom:5px;right:20px;font-family:Georgia;font-style:italic}.line-link{display:inline-block;border-bottom:1px solid #9b9c85;padding:10px 0;margin-top:22px;font-size:13px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}.section-heading p{max-width:330px;color:#667063}.experiences{background:#eaeade;max-width:none}.experience-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%}.experience-layout figure{position:relative;min-height:640px}.experience-layout figure img{height:100%;position:absolute}.experience-layout figcaption{position:absolute;bottom:25px;left:30px;color:white;font-family:Georgia;font-size:25px;text-shadow:0 1px 10px #000}.experience-list article{display:flex;gap:25px;padding:23px 0;border-top:1px solid #c7cbbd}.experience-list article>span{font-size:12px;color:var(--wood);padding-top:8px}.experience-list p{margin-top:12px;font-size:14px}.experience-list a{font-size:12px;font-weight:600;display:block;margin-top:12px}.celebrate{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--cream)}.celebrate-image img{height:100%;min-height:680px}.celebrate-copy{padding:80px 12%}.celebrate em{color:var(--gold)}.celebrate p{color:#ccd1c4}.occasion-grid{display:grid;grid-template-columns:1fr 1fr;margin:30px 0;gap:0 25px}.occasion-grid a{border-bottom:1px solid #657060;padding:17px 0;font-size:13px;display:flex;justify-content:space-between}.celebrate small{display:block;color:#c0c9bb;font-size:11px;margin-top:20px}.filters{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.filters button{border:1px solid #cbd0c0;background:transparent;padding:9px 20px;border-radius:30px;font-size:12px;color:var(--ink)}.filters button.active{background:var(--ink);color:white}.gallery{columns:4;column-gap:18px}.gallery button{border:0;background:none;padding:0;margin:0 0 18px;width:100%;display:block;break-inside:avoid;position:relative;overflow:hidden}.gallery img{transition:transform .5s;min-height:180px}.gallery button:hover img{transform:scale(1.04)}.gallery button span{position:absolute;bottom:0;left:0;right:0;color:white;text-align:left;font-size:11px;padding:35px 15px 12px;background:linear-gradient(transparent,#0009)}.visit{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.visit-image{position:relative}.visit-image img{height:450px}.visit-image span{position:absolute;bottom:30px;left:30px;color:white;font-size:10px;letter-spacing:2px;text-shadow:0 1px 8px black}.visit-image strong{display:block;font-family:Georgia;font-size:45px;font-weight:400;letter-spacing:-1px}.booking{background:#e6e8db;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:8%}.contact{margin-top:35px;border-left:2px solid var(--wood);padding-left:20px}.contact small{font-size:9px;letter-spacing:2px}.contact h3{margin:8px 0 12px}.contact a{display:block;font-size:14px;overflow-wrap:anywhere}.fine{font-size:12px;color:#5f6c5a;max-width:400px}form{background:#f9f7f0;padding:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:11px;font-weight:600;display:block;margin-bottom:17px}input,select,textarea{width:100%;border:0;border-bottom:1px solid #b5bcaa;background:transparent;padding:12px 0;color:var(--ink);border-radius:0;font-size:13px}textarea{resize:vertical}form>.button{width:100%}.email-button{border:0;background:none;color:var(--ink);padding:15px 5px;width:100%;font-size:12px;text-decoration:underline}form small{display:block;font-size:10px;color:#626b5c;line-height:1.6}#form-status{font-size:12px;margin-top:10px}.faq{max-width:1000px}.faq h2{font-size:42px;margin-bottom:30px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:15px}details p{font-size:14px;max-width:none;margin:15px 0}footer{background:#1e3328;color:#d9dfcf;padding:50px 7% 25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:35px}.footer-top .brand{background:#f5f0e6;padding:5px 15px}.footer-top p{font-size:13px;margin:0}.footer-bottom{border-top:1px solid #52604d;padding-top:25px;display:flex;justify-content:space-between;gap:20px;font-size:10px}.footer-bottom div{display:flex;gap:20px;flex-wrap:wrap}.floating{position:fixed;right:22px;bottom:20px;background:#263e2f;color:white;padding:12px 20px;border:1px solid #d5bd92;border-radius:30px;font-size:12px;box-shadow:0 4px 20px #0003;z-index:25}dialog{width:min(1100px,95vw);max-height:95svh;background:#17271f;color:white;border:0;padding:20px}dialog::backdrop{background:#000d}dialog>img{max-height:75svh;object-fit:contain}dialog>div{display:flex;justify-content:space-between;align-items:center;gap:15px}dialog p{margin:10px;font-size:13px}dialog button{background:transparent;color:white;border:1px solid #aaa7;padding:5px 15px;font-size:25px}#close{position:absolute;top:10px;right:10px;background:#15291f;z-index:1}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:0}:focus-visible{outline:3px solid #bc8c42;outline-offset:5px}[hidden]{display:none!important}@media(min-width:1600px){.hero-content{margin-left:calc((100vw - 1600px)/2)}}@media(max-width:1000px){nav{gap:16px}.section{padding:70px 5%}.hero-content{padding-left:6%}.celebrate-copy{padding:60px 8%}.gallery{columns:3}.intro{gap:5%}.form-grid{grid-template-columns:1fr}form{padding:25px}.booking{gap:5%}.footer-top{flex-wrap:wrap}}@media(max-width:720px){header{height:82px;padding:5px 5%}.brand img{width:110px;height:70px}#menu{display:block;background:transparent;border:1px solid #afb49f;padding:8px 13px;color:var(--ink);font-size:12px}nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--cream);padding:20px 7%;box-shadow:0 15px 20px #0002}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:16px}.hero{min-height:690px;height:calc(100svh - 82px);max-height:900px}.hero-photo{object-position:53% 40%}.hero-shade{background:linear-gradient(90deg,#13251dde,#13251d65),linear-gradient(0deg,#13251daa,transparent)}.hero-content{padding:70px 7% 100px}.hero h1{font-size:58px;letter-spacing:-2px}.hero p{font-size:14px}.hero .eyebrow{font-size:8px;letter-spacing:1.6px}.hero-foot{font-size:8px;gap:20px}.hero-foot a{display:none}.actions{gap:20px}.ribbon{font-size:14px;gap:15px;flex-wrap:wrap;padding:20px}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.section{padding:65px 7%}.intro,.experience-layout,.celebrate,.visit,.booking{grid-template-columns:1fr;gap:40px}.intro-image img{height:400px}.section-heading{display:block;margin-bottom:30px}.section-heading p{max-width:100%;font-size:14px}.experience-layout figure{min-height:380px}.celebrate-image img{height:400px;min-height:0}.celebrate-copy{padding:15px 7% 60px}.gallery{columns:2;column-gap:10px}.gallery button{margin-bottom:10px}.filters{gap:7px}.filters button{padding:8px 12px;font-size:11px}.visit-image img{height:330px}.form-grid{grid-template-columns:1fr 1fr;gap:12px}form{padding:25px 20px}.booking{gap:30px}.faq h2{font-size:34px}.footer-top{display:block}.footer-top .brand{display:inline-block;margin-bottom:25px}.footer-top .line-link{margin-bottom:15px}.footer-bottom{display:block;padding-bottom:45px}.footer-bottom div{margin-top:20px;gap:15px}.floating{right:14px;bottom:12px;font-size:11px;padding:10px 16px}h2{font-size:40px}h3{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Continuous entrance photograph, with a dark veil for legibility. */
body{background:#13251d;color:#f5f0e6;isolation:isolate}body:before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(rgba(9,22,15,.78),rgba(9,22,15,.82)),url('assets/photo1.webp') center 40%/cover no-repeat;pointer-events:none}.hero{background:transparent}.hero-photo,.hero-shade{display:none}header{background:rgba(20,35,25,.86);border-color:#ffffff30}header .brand{background:#f5f0e6;padding:0 10px}.section,.experiences,.celebrate,.booking,.ribbon,footer{background:transparent}.experiences,.booking,.celebrate{background:rgba(10,24,16,.27)}em,.eyebrow,.experience-list article>span{color:#e2bf88}.section-heading p,.fine,.celebrate p,.celebrate small{color:#e0e4d8}.intro-image{isolation:isolate}.intro-image:before{z-index:0}.intro-image img{position:relative}.filters button{color:#f5f0e6;border-color:#d4d9c380}.filters button.active{background:#ddbb81;color:#1e3328}form{color:#233b2e;background:rgba(249,247,240,.95)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}.price-card{padding:30px;border:1px solid #cfb78070;background:#13251db3}.price-card h3{font-size:27px}.price-card p{font-size:13px}.price-row{display:flex;justify-content:space-between;gap:15px;padding:18px 0;border-bottom:1px solid #ffffff25;font-size:13px}.price-row strong{color:#e2bf88;font-size:12px;text-align:right}.price-card small{display:block;margin-top:15px;color:#d3d9cb}.event-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.event-strip img{height:270px}.event-strip figcaption{font-size:12px;margin-top:10px}@media(max-width:720px){nav{background:#172b20}#menu{color:#f5f0e6}.price-grid{grid-template-columns:1fr}.event-strip{grid-template-columns:1fr}.event-strip img{height:300px}}

.packages{grid-template-columns:repeat(4,minmax(0,1fr))}.package-rate{font-family:Georgia,serif;font-size:42px;color:var(--gold)}.package-rate small{font-family:'DM Sans',sans-serif;font-size:12px;margin-top:0}.copy-payment{background:transparent;color:var(--gold);border:1px solid #cfb78070;padding:10px 16px;margin-top:18px}.price-card{min-width:0;overflow-wrap:anywhere}#booking-total{padding:15px 0;margin:0 0 18px;border-top:1px solid #b5bcaa;border-bottom:1px solid #b5bcaa;font-size:13px}#payments>.button{margin-top:20px}@media(max-width:1100px){.packages{grid-template-columns:repeat(2,minmax(0,1fr))}nav{gap:13px}}@media(max-width:720px){.packages{grid-template-columns:1fr}}
.checkout-form{max-width:850px;margin-top:30px}.payment-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-choices label,.availability{display:flex;gap:12px;align-items:center;font-size:13px}.payment-choices input,.availability input{width:auto}.unavailable{opacity:.55}fieldset{border:1px solid #b5bcaa;padding:18px;margin:15px 0}legend{font-weight:600;padding:0 8px}#checkout-method,#receipt-method{padding:18px 0;line-height:1.8;font-size:14px}#checkout-summary{font-size:19px;margin:15px 0}.availability{margin:20px 0}button:disabled{opacity:.55;cursor:not-allowed}#checkout-receipt{margin-top:30px;max-width:850px}#transfer-form{margin-top:25px}@media(max-width:720px){.payment-choices{grid-template-columns:1fr}}
