:root{--bg:#f7f4ed;--surface:#efece3;--ink:#292b25;--muted:#6f7066;--gold:#9a7d48;--line:#d9d6cb;--header:#f7f4ed;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',sans-serif;color-scheme:light}html[data-theme=dark]{--bg:#20231f;--surface:#292d27;--ink:#f1eee4;--muted:#bcbdb0;--gold:#c0a473;--line:#44483f;--header:#20231f;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.7}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}a,button{transition:background .2s,color .2s,opacity .2s,transform .2s}a:hover{color:var(--gold)}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04}em{font-weight:400}h2{font-size:clamp(40px,4.4vw,64px);letter-spacing:-1.5px}h3{font-size:38px}p{color:var(--muted)}.sample-banner{padding:10px 55px 10px 25px;background:#e8e2d5;text-align:center;position:relative;font-size:11px;line-height:1.6;color:#464639}.sample-banner p{color:inherit}.sample-banner a{text-decoration:underline;text-underline-offset:3px}.sample-banner button{position:absolute;right:20px;top:50%;transform:translateY(-50%);border:0;background:none;font-size:24px;color:inherit;padding:0 8px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 5%;background:var(--header);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:32px;line-height:1;white-space:nowrap;letter-spacing:-.7px}.wordmark span{display:block;font:8px var(--sans);letter-spacing:3px;text-align:center;margin-top:9px}.site-header nav{display:flex;gap:27px;font-size:12px}.header-actions{display:flex;gap:20px;align-items:center}.theme-toggle{width:32px;height:36px;border:0;background:transparent;color:var(--ink);font-size:24px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;padding:16px 24px;background:var(--ink);color:var(--bg);border:1px solid var(--ink);font-size:12px;line-height:1.4;font-weight:500}.button:hover{background:var(--gold);border-color:var(--gold);color:var(--bg)}.button-small{padding:12px 18px;font-size:11px}.hero{position:relative;min-height:710px;height:calc(100svh - 140px);max-height:1000px;background:#393b2f;color:#fff;display:flex;align-items:center}.hero-image{height:100%;position:absolute;inset:0;object-position:60% 48%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,27,20,.72),rgba(20,27,20,.23) 58%,rgba(20,27,20,.06)),linear-gradient(0deg,rgba(20,27,20,.35),transparent 30%)}.hero-content{position:relative;padding:65px 8% 90px;max-width:780px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:500;margin-bottom:24px;color:var(--gold)}.hero .eyebrow{color:#e2d6b9}.hero h1{font-size:clamp(64px,7.1vw,108px);letter-spacing:-2.6px}.hero h1 em{color:#e4d7b8}.hero-description{color:#f2f0e6;max-width:370px;line-height:1.8;margin-top:24px;font-size:13px}.hero-buttons{display:flex;align-items:center;gap:32px;margin-top:30px}.button-cream{background:#f7f4ed;border-color:#f7f4ed;color:#292b25}.text-link{display:inline-flex;gap:25px;align-items:center;font-size:12px;border-bottom:1px solid currentColor;padding-bottom:6px}.hero .text-link{color:#fff}.booking{font-size:10px;letter-spacing:.6px;color:#eee9da;margin-top:27px;display:flex;align-items:center;gap:8px}.booking span{width:5px;height:5px;border-radius:50%;background:#d0b579}.hero-foot{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.6px;color:#eee9da}.intro-strip{padding:32px 8%;display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);gap:30px}.intro-strip p{position:relative;padding-left:35px;font-size:11px}.intro-strip strong{display:block;color:var(--ink);font-size:13px;font-weight:500}.intro-strip p>span{position:absolute;left:0;top:2px;font-size:10px;color:var(--gold)}.section{padding:105px 8%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-heading>p{font-size:12px;max-width:320px;margin-bottom:6px}.gallery-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:28px}.small-label{font-size:9px;letter-spacing:1.5px;color:var(--muted)}.filters{display:flex;gap:8px}.filters button{background:none;border:0;color:var(--muted);padding:6px 15px;font-size:11px}.filters button.active{background:var(--ink);color:var(--bg)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 24px}.gallery-grid figure[hidden]{display:none}.photo-button{padding:0;border:0;background:var(--surface);width:100%;position:relative;overflow:hidden;display:block}.photo-button img{height:360px;transition:transform .6s}.photo-button:hover img{transform:scale(1.04)}.photo-button>span{position:absolute;right:14px;bottom:14px;border-radius:50%;background:var(--bg);color:var(--ink);width:32px;height:32px;display:grid;place-items:center;opacity:0;transition:opacity .2s}.photo-button:hover>span,.photo-button:focus-visible>span{opacity:1}.gallery-grid figcaption{padding-top:14px}.gallery-grid figcaption>span{font-family:var(--serif);font-size:24px;display:block;line-height:1.3}.gallery-grid small{font-size:8px;letter-spacing:1.3px;color:var(--muted)}.gallery-note,.package-note{font-size:10px;color:var(--muted);margin-top:30px;text-align:center}.about{background:var(--surface);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about-photo{position:relative;padding:0 20px 20px 0}.about-photo:after{content:'';position:absolute;inset:22px 0 0 22px;border:1px solid var(--gold);pointer-events:none}.about-photo img{height:520px;object-position:52% center}.about-photo>span{display:block;position:relative;z-index:1;padding-top:15px;font-size:8px;letter-spacing:2px}.about-copy h2{margin-bottom:28px}.about-copy>p:not(.eyebrow){font-size:13px;margin-bottom:20px}.about-copy .text-link{margin-top:10px}.signature{font-family:var(--serif);font-style:italic;font-size:42px;color:var(--gold);margin-top:22px}.center-heading{text-align:center;margin-bottom:50px}.center-heading>p:last-child{margin-top:20px;font-size:13px}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.package{border:1px solid var(--line);padding:35px 28px;display:flex;flex-direction:column;box-shadow:0 7px 25px #00000003}.package.featured{background:var(--surface);border-top:3px solid var(--gold);padding-top:33px}.package .eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:22px}.price{font-family:var(--serif);font-size:39px;color:var(--ink);margin:19px 0 13px;line-height:1.2}.price small{font:italic 19px var(--serif)}.price span{font:9px var(--sans);color:var(--muted)}.package>p:not(.eyebrow):not(.price){font-size:12px;min-height:40px}.package ul{list-style:none;padding:22px 0 30px;margin:0;font-size:11px;color:var(--muted)}.package li{padding:7px 0;border-bottom:1px solid var(--line)}.package li:before{content:'+';color:var(--gold);margin-right:10px}.package .button{margin-top:auto;padding:14px 15px;font-size:10px;gap:8px}.button-outline{background:transparent;color:var(--ink);border-color:var(--line)}.testimonials{background:var(--surface);text-align:center;padding-top:70px;padding-bottom:75px}.quotes{display:grid;grid-template-columns:1fr 1fr;gap:80px}.quotes blockquote{font-family:var(--serif);font-size:30px;line-height:1.35;margin:0 0 25px}.quotes figcaption{font-size:9px;letter-spacing:1px}.quotes figcaption span{display:block;color:var(--muted);font-size:8px;margin-top:4px}.faq{display:grid;grid-template-columns:1fr 1.35fr;gap:70px}.faq summary{cursor:pointer;list-style:none;padding:22px 30px 22px 0;font-family:var(--serif);font-size:25px;position:relative;line-height:1.3}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:0;color:var(--gold);font-family:var(--sans);font-size:18px}.faq details[open] summary:after{content:'−'}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq details p{padding:0 25px 22px 0;font-size:12px}.contact{background:var(--surface);display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.contact-copy>p:not(.eyebrow){max-width:315px;margin-top:25px;font-size:13px}.contact-note{display:block;font-size:9px;line-height:1.9;letter-spacing:.6px;color:var(--muted);margin-top:36px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{display:block;font-size:11px;margin-bottom:23px}label>span{color:var(--muted);font-size:9px}input,select,textarea{display:block;width:100%;max-width:100%;min-width:0;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;color:var(--ink);padding:12px 0;font-size:11px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}textarea{resize:vertical}select option{background:var(--bg);color:var(--ink)}.form-success{border-left:2px solid var(--gold);padding:12px 15px;margin-top:20px;color:var(--ink);font-size:12px}.form-success[hidden]{display:none}footer{padding:48px 5% 25px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:35px}.footer-top p{font-family:var(--serif);font-style:italic;font-size:21px;text-align:center}.footer-top p span{font:9px var(--sans);display:block;margin-top:8px}.back-top{font-size:8px;letter-spacing:1.2px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:9px}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}dialog{border:0;padding:45px 35px 20px;background:var(--bg);color:var(--ink);max-width:94vw;max-height:94svh;box-shadow:0 20px 90px #0006}dialog::backdrop{background:#10130fed}dialog img{width:auto;max-width:85vw;height:auto;max-height:75svh;object-fit:contain}dialog p{font-size:12px;text-align:center;margin-top:12px}.lightbox-close{position:absolute;right:10px;top:2px;background:none;border:0;font-size:30px;color:var(--ink);width:40px;height:40px}body.lightbox-open{overflow:hidden}.skip{position:fixed;top:10px;left:10px;transform:translateY(-150%);z-index:100;background:var(--bg);padding:12px}.skip:focus{transform:none}
@media(min-width:1450px){.section,.intro-strip{padding-left:max(8%,calc((100% - 1280px)/2));padding-right:max(8%,calc((100% - 1280px)/2))}}@media(max-width:1050px){.site-header{gap:18px;padding:20px 4%}.site-header nav{gap:16px}.header-actions{gap:10px}.section{padding:80px 6%}.photo-button img{height:300px}.package{padding:27px 20px}.package.featured{padding-top:25px}.package h3{font-size:32px}.contact{gap:40px}.hero-content{padding-left:7%}.about{gap:7%}.intro-strip{padding:28px 6%}}@media(max-width:760px){html{scroll-padding-top:130px}.site-header{flex-wrap:wrap;padding:15px 5%;gap:15px}.wordmark{font-size:28px}.site-header nav{order:3;justify-content:space-between;width:100%;gap:10px;border-top:1px solid var(--line);padding-top:12px;font-size:11px}.header-actions{margin-left:auto}.button-small{padding:10px 12px;font-size:10px}.hero{height:740px;min-height:0;max-height:none}.hero-image{object-position:63% center}.hero-shade{background:linear-gradient(90deg,#171f18b8,#171f1855),linear-gradient(0deg,#171f1866,transparent)}.hero-content{padding:65px 6% 95px}.hero h1{font-size:76px}.hero-description{font-size:12px;max-width:310px}.hero .eyebrow{font-size:8px;letter-spacing:1.7px}.hero-foot{font-size:7px;letter-spacing:.9px}.hero-foot>span{max-width:160px}.hero-buttons{gap:23px}.intro-strip{grid-template-columns:1fr;gap:20px;padding:30px 7%}.intro-strip p{padding-left:38px}.section{padding:65px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:24px}h2{font-size:45px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.photo-button img{height:290px}.gallery-grid figcaption>span{font-size:23px}.gallery-grid small{font-size:7px;letter-spacing:.6px}.small-label{font-size:7px;letter-spacing:.8px}.filters{gap:2px}.filters button{font-size:10px;padding:6px 9px}.about{grid-template-columns:1fr;gap:40px}.about-photo{max-width:460px;width:100%}.about-photo img{height:420px}.about-copy{max-width:500px}.package-grid{grid-template-columns:1fr;gap:20px}.package{padding:30px}.package.featured{padding-top:28px}.package h3{font-size:38px}.package>p:not(.eyebrow):not(.price){min-height:0}.package .button{font-size:12px}.quotes{grid-template-columns:1fr;gap:45px}.quotes blockquote{font-size:29px}.faq,.contact{grid-template-columns:1fr;gap:35px}.faq summary{font-size:24px}.contact-note{margin-top:22px}.footer-top{flex-direction:column;text-align:center;gap:25px}.footer-bottom{flex-direction:column;text-align:center;gap:15px}.center-heading h2{max-width:400px;margin:auto}.photo-button>span{opacity:1;width:26px;height:26px;font-size:12px}}@media(max-width:400px){.header-actions{gap:3px}.theme-toggle{width:27px}.wordmark{font-size:25px}.wordmark span{font-size:7px}.hero h1{font-size:65px}.hero-buttons{gap:18px}.hero-buttons .button{padding:15px 17px}.hero-buttons .text-link{font-size:11px;gap:12px}.photo-button img{height:235px}.gallery-grid figcaption>span{font-size:20px}.form-row{grid-template-columns:1fr;gap:0}.hero-foot{font-size:6px}.sample-banner{font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
