
:root{--ink:#171717;--paper:#fffdf9;--cream:#f5efe7;--lav:#ddd3eb;--yellow:#f3df9c;--rose:#d9aaaa;--line:rgba(23,23,23,.13);--muted:#6e6963}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;background:var(--paper);color:var(--ink)}
a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.site-header{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;background:rgba(255,253,249,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-weight:700}.brand-mark{width:38px;height:38px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:12px}.brand-text{font-family:"Playfair Display",serif;font-size:20px}
nav{display:flex;gap:24px;font-size:13px}.nav-cta,.btn{border-radius:999px;padding:12px 18px;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.hero{height:84svh;min-height:640px;position:relative;overflow:hidden;color:#fff}.hero-slider,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;transition:.7s}.hero-slide.active{opacity:1}.hero-slide img,.hero-slide video{width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.1))}
.hero-content{position:absolute;z-index:3;left:7vw;top:50%;transform:translateY(-50%);max-width:760px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em}.hero h1,.page-hero h1,.section h2,.quote{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.025em}.hero h1{font-size:clamp(54px,7vw,98px);line-height:.95;margin:15px 0 20px}.hero p{max-width:600px;line-height:1.7}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:28px}.hero .btn{background:#fff;color:var(--ink)}
.slider-controls{position:absolute;z-index:4;right:5vw;bottom:35px;display:flex;gap:10px}.slider-controls button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.2);color:#fff}
.section{padding:100px 7vw}.section.alt{background:var(--cream)}.section h2{font-size:clamp(42px,5vw,70px);line-height:1.03;margin:0 0 28px}.lead{font-size:19px;line-height:1.8;max-width:760px;color:#514d48}
.page-hero{padding:110px 7vw 80px;background:var(--cream)}.page-hero h1{font-size:clamp(54px,7vw,90px);line-height:.98;margin:10px 0 22px}.page-hero p{max-width:720px;font-size:19px;line-height:1.7}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.two-col img{width:100%;border-radius:24px;min-height:520px;object-fit:cover}
.feature-grid,.package-grid,.review-grid,.gallery-grid{display:grid;gap:18px}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature-card,.package-card,.review-card{border:1px solid var(--line);border-radius:22px;padding:28px;background:#fff}.feature-card h3,.package-card h3{font-family:"Playfair Display",serif;font-size:30px;margin:0 0 12px}
.package-grid{grid-template-columns:repeat(3,1fr)}.package-card.featured{background:var(--lav)}.package-price{font-weight:700}.package-card ul{padding-left:18px;line-height:2}.gallery-grid{grid-template-columns:repeat(12,1fr)}.gallery-item{grid-column:span 6;min-height:360px;overflow:hidden;border-radius:20px}.gallery-item:nth-child(3n+1){grid-column:span 7}.gallery-item:nth-child(3n+2){grid-column:span 5}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover}
.review-grid{grid-template-columns:repeat(2,1fr)}.quote{font-size:34px;line-height:1.15}.faq-list{max-width:900px}.faq-item{border-bottom:1px solid var(--line);padding:22px 0}.faq-q{font-weight:700}.faq-a{color:var(--muted);line-height:1.7}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700}.contact-form input,.contact-form textarea,.contact-form select{border:0;border-bottom:1px solid var(--line);padding:12px 0;background:transparent}.contact-form .full{grid-column:1/-1}
footer{padding:50px 7vw;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center}.footer-links{display:flex;gap:18px;font-size:13px}
@media(max-width:900px){nav{display:none}.package-grid,.review-grid,.two-col,.contact-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr}.gallery-item:nth-child(n){grid-column:span 12}.contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}footer{grid-template-columns:1fr}}
