:root{--ink:#262322;--cream:#f7f3ed;--white:#fff;--rose:#b98c86;--muted:#716a65;--line:#ddd4ca}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif;line-height:1.65}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}
.site-header{height:86px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(247,243,237,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(38,35,34,.08)}
.brand{display:flex;flex-direction:column;letter-spacing:.18em;font-family:"Playfair Display",serif;font-weight:600}.brand small{font-family:"DM Sans";font-size:.55rem;letter-spacing:.42em;color:var(--rose);margin-top:-3px}
nav{display:flex;gap:28px;align-items:center;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}.nav-cta{border-bottom:1px solid var(--ink);padding-bottom:3px}
.hero{min-height:calc(100vh - 86px);position:relative;display:flex;align-items:flex-end}.hero>img{position:absolute;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,17,.72),rgba(20,18,17,.18) 65%,rgba(20,18,17,.05))}
.hero-copy{position:relative;color:white;max-width:760px;padding:8vw 8vw 9vw}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:600;margin:0 0 18px;color:var(--rose)}.hero .eyebrow{color:#ead1cc}
h1,h2,h3{font-family:"Playfair Display",serif;font-weight:500;line-height:1.05;margin:0}h1{font-size:clamp(3.7rem,7vw,7rem)}h1 em,h2 em{font-weight:500}.hero-copy>p:not(.eyebrow){font-size:1.08rem;max-width:620px;margin:28px 0 34px}
.button{display:inline-block;padding:15px 24px;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:600}.button.light{border:1px solid white}.button.dark{background:var(--ink);color:white}
.intro{padding:110px 8vw;max-width:1100px;margin:auto;text-align:center}.intro h2,.section-heading h2,.about h2,.inquire h2{font-size:clamp(2.6rem,5vw,4.8rem)}.intro>p:last-child{max-width:780px;margin:30px auto 0;color:var(--muted)}
.packages{padding:100px 7vw;background:white}.section-heading{max-width:900px;margin-bottom:70px}.section-heading>p:last-child{color:var(--muted);max-width:720px}
.package-card{display:grid;grid-template-columns:70px 1.1fr 1fr;gap:38px;border-top:1px solid var(--line);padding:55px 0;position:relative}.package-card.featured{background:var(--cream);margin:0 -3vw;padding:55px 3vw}.package-number{font-family:"Playfair Display";font-size:1.2rem;color:var(--rose)}.package-card h3{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:12px}.lead{font-family:"Playfair Display";font-style:italic;font-size:1.25rem}.package-card p:not(.eyebrow):not(.lead){color:var(--muted);max-width:620px}.package-card ul{margin:30px 0 45px;padding:0;list-style:none;columns:1}.package-card li{padding:8px 0 8px 24px;position:relative;border-bottom:1px solid rgba(38,35,34,.08);font-size:.92rem}.package-card li:before{content:"♡";position:absolute;left:0;color:var(--rose)}.text-link{position:absolute;bottom:24px;left:108px;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:4px}.pill{display:inline-block;background:var(--ink);color:white;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;padding:7px 10px;margin-bottom:16px}
.photo-break{height:72vh;min-height:560px;position:relative}.photo-break:after{content:"";position:absolute;inset:0;background:rgba(20,18,17,.25)}.photo-break blockquote{position:absolute;z-index:2;left:7vw;bottom:8vw;color:white;font-family:"Playfair Display";font-size:clamp(2.8rem,5vw,5rem);line-height:1.1;margin:0}
.about{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.about-image{min-height:650px}.about-copy{padding:9vw 8vw;background:var(--cream);display:flex;flex-direction:column;justify-content:center}.about-copy p{color:var(--muted)}.about-copy .signature{font-family:"Playfair Display";font-size:1.35rem;font-style:italic;color:var(--ink);margin-top:20px}
.gallery{display:grid;grid-template-columns:1.1fr .9fr 1.1fr;height:560px;gap:8px;background:white;padding:8px}
.inquire{text-align:center;padding:120px 8vw;background:white}.inquire>p:not(.eyebrow):not(.small){max-width:700px;margin:28px auto 34px;color:var(--muted)}.inquire .small{font-size:.82rem;color:var(--muted);margin-top:25px}
footer{padding:55px 7vw;background:var(--ink);color:white;display:flex;align-items:end;justify-content:space-between;gap:30px}footer p{font-size:.75rem;color:#cfc7c1;margin:0}
@media(max-width:800px){
 .site-header{height:72px}.site-header nav a:not(.nav-cta){display:none}
 .hero{min-height:78vh}.hero-copy{padding:60px 7vw}.hero-shade{background:linear-gradient(0deg,rgba(20,18,17,.7),rgba(20,18,17,.12))}
 .intro{padding:80px 7vw}.packages{padding:75px 7vw}.section-heading{margin-bottom:45px}
 .package-card,.package-card.featured{grid-template-columns:1fr;margin:0;padding:42px 0 72px;gap:5px}.package-number{margin-bottom:10px}.package-card.featured{margin:0 -7vw;padding:42px 7vw 72px}.text-link{left:0;bottom:30px}.package-card.featured .text-link{left:7vw}
 .photo-break{height:60vh;min-height:480px}.photo-break blockquote{left:7vw;bottom:10vw}
 .about{grid-template-columns:1fr}.about-image{min-height:500px}.about-copy{padding:80px 7vw}
 .gallery{grid-template-columns:1fr 1fr;height:620px}.gallery img:first-child{grid-column:1/-1;height:310px}
 .inquire{padding:85px 7vw}footer{align-items:flex-start;flex-direction:column}
}
