:root{--green:#123f36;--ink:#193c34;--cream:#f9f8f2;--aqua:#dff4ef;--yellow:#f5d976;--line:#ccdad1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,video:focus-visible{outline:3px solid #d0a42e;outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em;line-height:1.04}h1{font-size:clamp(4.4rem,7.8vw,7.6rem)}h2{font-size:clamp(2.7rem,4.6vw,4.5rem)}h1 em,h2 em{font-weight:400;color:#297c68}p{color:#5b6c62}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:10}.brand img{width:76px;height:76px;mix-blend-mode:multiply}nav{display:flex;gap:34px;font-size:14px}nav a{padding:12px 0}nav a:hover,.text-link:hover{color:#2b8d75}.btn{border:0;border-radius:50px;padding:18px 26px;display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--green);color:#fff;transition:transform .25s,background .25s;font-size:15px;line-height:1.4}.btn:hover{background:#286553;transform:translateY(-3px)}.btn span{font-size:22px}.btn.small{padding:12px 22px;font-size:14px}.eyebrow{font-size:12px;letter-spacing:.16em;line-height:1.6;font-weight:600;margin-bottom:25px;color:#39705e}.hero{padding:50px 5.5% 0;background:linear-gradient(130deg,#f9f8f2 25%,#e9f4ed);position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 6%}.hero-top{padding:23px 0 45px}.intro{margin:25px 0 30px;font-size:18px}.hero-actions{display:flex;gap:27px;align-items:center;flex-wrap:wrap}.text-link{font-size:14px;border-bottom:1px solid #91a197;padding-bottom:5px;display:inline-flex;gap:24px;align-items:center}.hero-photo{position:relative;min-height:530px;margin-top:12px;margin-bottom:44px}.hero-photo>img{width:100%;height:100%;position:absolute;inset:0;border-radius:220px 220px 10px 10px;object-position:55% center}.hero-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0a372ab3);border-radius:0 0 10px 10px;pointer-events:none}.photo-label{position:absolute;z-index:1;bottom:25px;left:28px;color:white;display:flex;flex-direction:column}.photo-label span:first-child{font-family:Georgia,serif;font-style:italic;font-size:23px}.photo-label span:last-child{font-size:12px;letter-spacing:.06em}.video-badge{position:absolute;z-index:2;top:30px;right:-18px;width:152px;height:152px;border-radius:50%;background:var(--yellow);display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:13px;transform:rotate(8deg);box-shadow:0 10px 35px #0c483219;transition:transform .3s}.video-badge:hover{transform:rotate(0) scale(1.04)}.video-badge>span{font-size:25px;margin-bottom:5px}.video-badge small{font-size:11px}.hero-bottom{grid-column:1/-1;border-top:1px solid #bdcfc3;display:flex;justify-content:space-between;padding:22px 0;font-size:12px;letter-spacing:.05em;color:#52695b}.wrap{max-width:1400px;padding-left:5.5%;padding-right:5.5%;margin:auto}.about{padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1fr;gap:8%}.about-copy{padding-top:20px}.about-copy p+p{margin-top:20px}.about-copy .text-link{margin-top:27px}.amenities{background:var(--aqua);padding:85px 0 40px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:40px}.section-heading p:not(.eyebrow){font-size:15px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.image-wrap{position:relative;overflow:hidden;border-radius:6px}.feature img{width:100%;height:235px;transition:transform .6s}.feature:hover img{transform:scale(1.04)}.number{position:absolute;left:15px;top:15px;display:grid;place-items:center;width:36px;height:36px;background:var(--cream);border-radius:50%;font-size:12px}.feature h3{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.2;margin:23px 0 14px;letter-spacing:-.025em}.feature p{font-size:15px}.amenity-strip{display:flex;gap:20px;justify-content:space-between;border-top:1px solid #adcfc1;margin-top:45px;padding-top:25px;flex-wrap:wrap;font-size:14px}.amenity-strip span:before{content:'✓';margin-right:10px;color:#24715a}.video-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:11%;padding-top:110px;padding-bottom:110px}.video-frame{background:#dbeae0;border-radius:180px 180px 6px 6px;overflow:hidden;text-align:center;padding-top:34px;max-width:420px;justify-self:center;width:100%}.video-frame video{display:block;width:270px;max-width:100%;height:475px;object-fit:contain;margin:auto;background:#102e26}.video-copy p:not(.eyebrow){max-width:420px;margin:26px 0}.handwritten{display:block;font-family:Georgia,serif;font-style:italic;font-size:21px;color:#49826b;transform:rotate(-5deg);margin-top:40px}.gallery-section{padding-bottom:100px}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery a{border:0;background:none;padding:0;overflow:hidden;border-radius:5px;position:relative}.gallery a:first-child{grid-column:span 2;grid-row:span 2}.gallery img{width:100%;height:190px;transition:transform .5s}.gallery a:first-child img{height:100%;min-height:396px}.gallery a:hover img{transform:scale(1.05)}.gallery a:after{content:'↗';position:absolute;bottom:12px;right:12px;background:#ffffffeb;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--green)}.gallery a[hidden]{display:none}.outline{border:1px solid #a8baad;border-radius:40px;background:transparent;padding:14px 25px;display:flex;margin:30px auto 0;gap:35px;align-items:center;color:var(--green);font-size:14px}.outline:hover{background:#e8eee6}.contact{background:var(--green);color:white;padding:90px 0}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact .eyebrow{color:#b7d4bb}.contact h2 em{color:var(--yellow)}.contact p{color:#bed0c5;margin:25px 0;max-width:400px}.yellow{background:var(--yellow);color:var(--green)}.yellow:hover{background:#ffe794}.contact-details>a{display:block;padding:22px 34px 25px 0;border-bottom:1px solid #4b6d5e;position:relative}.contact-details small{font-size:11px;color:#b6d0bf;letter-spacing:.12em;display:block;margin-bottom:7px}.contact-details strong{font-weight:400;font-size:24px}.contact-details>a>span{position:absolute;right:0;top:44px}.contact-details p{font-size:14px;margin:5px 0 0}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 5.5%;font-size:12px}footer>a{font-family:Georgia,serif;font-size:25px}footer p{font-size:13px}dialog{padding:50px;border:0;background:var(--cream);color:var(--green);border-radius:18px;max-width:560px;width:calc(100% - 30px);max-height:90dvh;overflow:auto}dialog::backdrop{background:#062b25b8;backdrop-filter:blur(6px)}dialog h2{font-size:43px}dialog>p:not(.eyebrow){font-size:15px;margin:24px 0}body:has(dialog[open]){overflow:hidden}.close{position:absolute;top:12px;right:16px;border:0;background:transparent;font-size:30px;color:inherit;line-height:1;width:40px;height:40px}.booking-options{display:grid;gap:10px}.booking-option{display:flex;gap:16px;padding:18px 15px;border:1px solid #c2d3c8;border-radius:9px;align-items:center;transition:background .2s}.booking-option:hover{background:#e2f0e6}.option-icon{font-size:25px;width:35px;text-align:center}.booking-option strong{display:block;font-size:16px;font-weight:500}.booking-option small{display:block;font-size:12px;color:#617568}.booking-option>span:last-child{margin-left:auto}.booking-note{display:block;font-size:12px;color:#617568;margin-top:20px}#lightbox{background:#102a22;max-width:1150px;width:calc(100% - 30px);color:white;padding:50px}#large-photo{max-height:75dvh;width:100%;object-fit:contain}#photo-count{text-align:center;margin:12px 0 0;color:white;font-size:13px}.gallery-prev,.gallery-next{position:absolute;top:45%;background:#f9f8f2;border:0;color:var(--green);font-size:35px;width:40px;height:50px;border-radius:25px}.gallery-prev{left:7px}.gallery-next{right:7px}.skip{position:fixed;left:20px;top:-100px;padding:15px;background:white;z-index:100}.skip:focus{top:10px}.reveal{animation:appear .8s both}@keyframes appear{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@supports(animation-timeline:view()){.reveal{animation-timeline:view();animation-range:entry 0% entry 20%}}@media(min-width:1500px){.hero{padding-left:max(5.5%,calc((100vw - 1250px)/2));padding-right:max(5.5%,calc((100vw - 1250px)/2))}}@media(max-width:1000px){nav{gap:20px}.hero{gap:4%}.hero-photo{min-height:490px}.hero-actions{gap:20px}.btn{padding:16px 20px;gap:20px}.feature img{height:180px}.gallery img{height:150px}.gallery a:first-child img{min-height:316px}.video-section{gap:6%}.video-frame{max-width:350px}.contact-details strong{font-size:21px}}@media(max-width:700px){header{height:80px;padding:0 6%}nav{display:none}.brand img{width:65px;height:65px}.hero{grid-template-columns:1fr;padding:28px 6% 0}.hero-top{padding:10px 0 30px}.eyebrow{font-size:11px;letter-spacing:.12em;margin-bottom:20px}h1{font-size:clamp(3.6rem,13vw,5.5rem)}.intro{font-size:16px;margin:22px 0}.hero-photo{min-height:370px;margin:10px 0 20px}.hero-photo>img{border-radius:150px 150px 6px 6px;object-position:center}.video-badge{width:120px;height:120px;right:-5px;top:14px;font-size:11px}.video-badge small{font-size:10px}.video-badge>span{font-size:22px}.hero-bottom{font-size:10px;gap:15px}.hero-bottom>span:last-child{max-width:130px;text-align:right}.wrap{padding-left:6%;padding-right:6%}.about{padding-top:65px;padding-bottom:65px;grid-template-columns:1fr;gap:24px}.about-copy{padding-top:0}.amenities{padding:60px 0 30px}.section-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:30px}.section-heading h2{font-size:2.7rem}.cards{grid-template-columns:1fr;gap:35px}.feature img{height:auto;aspect-ratio:1.65}.feature h3{margin-top:18px}.amenity-strip{gap:16px 24px;font-size:13px;margin-top:30px}.video-section{padding-top:65px;padding-bottom:65px;grid-template-columns:1fr;gap:35px}.video-frame{max-width:310px;grid-row:2}.video-frame video{width:240px;height:425px}.video-copy .handwritten{margin:28px 0 8px}.gallery{grid-template-columns:repeat(2,1fr);gap:10px}.gallery a:first-child{grid-column:span 2;grid-row:auto}.gallery a:first-child img{min-height:0;height:220px}.gallery img{height:135px}.gallery-section{padding-bottom:60px}.contact{padding:60px 0}.contact-inner{grid-template-columns:1fr;gap:30px}.contact-details strong{font-size:22px}footer{flex-wrap:wrap;padding:25px 6%;gap:10px 20px}footer>span{flex-basis:100%;font-size:11px}dialog{padding:45px 22px 25px}dialog h2{font-size:36px}#lightbox{padding:50px 35px 25px}.gallery-prev,.gallery-next{width:30px;height:40px;font-size:27px}.gallery-prev{left:3px}.gallery-next{right:3px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Celebrations and stays */
.occasion-intro{font-size:13px;line-height:1.8;color:var(--green);margin:-12px 0 26px;font-weight:600}.celebrations{background:var(--green);color:var(--cream);padding:85px 0}.celebrations .eyebrow{color:#c4d9bd}.celebrations h2 em{color:var(--yellow)}.celebrations .section-heading>p{max-width:350px;color:#ccddd1;font-size:16px}.celebration-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:stretch}.celebration-photo{margin:0;position:relative;min-height:460px;overflow:hidden;border-radius:7px}.celebration-photo img{width:100%;height:100%;position:absolute;inset:0;object-position:50% center}.celebration-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#102e25dc);pointer-events:none}.celebration-photo figcaption{position:absolute;bottom:24px;left:25px;right:25px;z-index:1;font-family:Georgia,serif;font-size:23px;font-style:italic;line-height:1.3;color:white}.occasion-list{display:grid}.occasion-list article{display:flex;gap:20px;align-items:flex-start;padding:21px 0;border-bottom:1px solid #45695b}.occasion-list article:first-child{padding-top:0}.occasion-list article:last-child{border-bottom:0;padding-bottom:0}.occasion-number{font-size:12px;line-height:2.5;color:var(--yellow)}.occasion-list h3{font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.2;margin-bottom:8px}.occasion-list p{font-size:15px;color:#c5d8ca;line-height:1.6}.celebration-cta{border-top:1px solid #45695b;margin-top:38px;padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:25px}.celebration-cta p{font-size:18px;color:var(--cream)}.celebration-cta p span{font-size:14px;color:#c5d8ca}@media(max-width:1000px){nav{gap:15px;font-size:13px}.celebration-layout{gap:30px;grid-template-columns:1fr 1fr}.celebration-cta .btn{max-width:310px;text-align:left}}@media(max-width:700px){.occasion-intro{font-size:12px;margin:-8px 0 22px}.celebrations{padding:60px 0}.celebration-layout{grid-template-columns:1fr;gap:28px}.celebration-photo{min-height:0;aspect-ratio:1.35}.celebration-photo figcaption{font-size:21px;left:20px;bottom:20px}.occasion-list article{padding:20px 0}.occasion-list h3{font-size:26px}.celebration-cta{align-items:flex-start;flex-direction:column}.celebration-cta .btn{max-width:100%}}

/* A compact photographic overview below the hero */
.offer-preview{padding-top:55px;padding-bottom:20px}.offer-heading{margin-bottom:27px}.offer-heading .eyebrow{margin-bottom:12px}.offer-heading h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.15}.offer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.offer-card{position:relative;border:0;padding:0;overflow:hidden;border-radius:9px;min-height:280px;background:var(--green);text-align:left;color:white;isolation:isolate;transition:transform .3s}.offer-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.offer-card.wedding img{object-position:50% 32%}.offer-card.birthday img{object-position:45% center}.offer-card:after{content:'';position:absolute;inset:20% 0 0;background:linear-gradient(transparent,#082d25ed);z-index:1}.offer-label{position:absolute;left:18px;right:14px;bottom:20px;z-index:2}.offer-label strong{display:block;font:400 27px/1.2 Georgia,serif;margin-bottom:7px}.offer-label small{display:block;font-size:12px;line-height:1.5;color:#f2f6ed}.offer-arrow{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f9f8f2eb;color:var(--green);z-index:2}.offer-card:hover{transform:translateY(-5px)}.offer-card:hover img{transform:scale(1.04)}.offer-note{font-size:14px;margin-top:20px}.offer-preview+.about{padding-top:65px}@media(max-width:1000px){.offer-grid{gap:11px}.offer-card{min-height:245px}.offer-label{left:12px;right:10px}.offer-label strong{font-size:23px}}@media(max-width:700px){.offer-preview{padding-top:40px;padding-bottom:0}.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.offer-card{min-height:225px}.offer-card:last-child{grid-column:1/-1;min-height:200px}.offer-card:last-child img{object-position:50% 43%}.offer-label{left:16px;bottom:18px}.offer-label strong{font-size:25px}.offer-label small{font-size:12px}.offer-note{font-size:13px}.offer-preview+.about{padding-top:55px}}

/* Search-friendly content and service pages */
.hero h1{font-size:clamp(3rem,5.7vw,5.6rem)}
.gallery a{display:block}.gallery img{object-fit:cover}[hidden]{display:none!important}
.faq{padding-top:65px;padding-bottom:65px;max-width:1100px}.faq h2{margin-bottom:30px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-weight:600;cursor:pointer}.faq details p{margin-top:15px;max-width:850px}.faq summary:focus-visible{outline:3px solid #d0a42e;outline-offset:5px}
.related{padding-top:55px;padding-bottom:55px}.related h2{font-size:2.5rem}.related-links{display:flex;flex-wrap:wrap;gap:15px}.related .outline{margin:20px 0 0}
.detail-hero{padding-top:35px;padding-bottom:45px}.detail-hero .eyebrow{margin-top:35px}.detail-hero h1{font-size:clamp(2.8rem,6vw,5.5rem);max-width:1000px}.detail-lead{max-width:760px;margin:25px 0;font-size:18px}.detail-hero>img{width:100%;height:480px;border-radius:12px;margin-top:35px;object-position:center 40%}.detail-copy{max-width:1000px;padding-top:10px}.detail-copy section{margin-bottom:45px}.detail-copy h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.15;margin-bottom:20px}.detail-copy p+p{margin-top:15px}
@media(max-width:700px){.hero h1{font-size:clamp(2.8rem,10.5vw,4.5rem)}.detail-hero>img{height:320px}.detail-lead{font-size:16px}.related-links{display:grid}.related .outline{margin-top:5px}.faq{padding-top:45px;padding-bottom:45px}}
