
:root{--ink:#171313;--muted:#756d69;--paper:#fffdfb;--cream:#f7f0eb;--blush:#ead8d2;--rose:#b8786b;--deep:#6a4943;--line:#eadfd9;--white:#fff;--dark:#201a19;--shadow:0 24px 70px rgba(69,44,38,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1180px,92%);margin:auto}.eyebrow{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);margin-bottom:16px}h1,h2,h3{font-family:'Playfair Display',serif;margin:0;font-weight:600}h1{font-size:clamp(3.2rem,7vw,6.8rem);line-height:.92;letter-spacing:-.045em}h2{font-size:clamp(2.3rem,4.5vw,4.5rem);line-height:1.02;letter-spacing:-.035em}h3{font-size:1.55rem}p{line-height:1.75;color:var(--muted)}.lead{font-size:1.08rem;max-width:640px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid transparent;border-radius:999px;padding:14px 22px;font-weight:800;transition:.25s;cursor:pointer}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{transform:translateY(-2px);background:#000}.btn-light{background:#fff;color:var(--ink)}.btn-outline{border-color:var(--ink);background:transparent}.btn-outline:hover{background:var(--ink);color:#fff}.reveal{opacity:0;transform:translateY(28px);transition:.75s ease}.reveal.show{opacity:1;transform:none}
header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,253,251,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(234,223,217,.8)}nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.04em}.brand-mark{width:36px;height:36px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:600 1.2rem 'Playfair Display',serif}.navlinks{display:flex;gap:24px;align-items:center;font-size:.92rem}.navlinks a{position:relative}.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--rose);transition:.25s}.navlinks a:hover:after,.navlinks a.active:after{right:0}.menu-btn{display:none;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:50%;font-size:1.15rem}.mobile-menu{position:fixed;inset:76px 0 0 0;background:var(--paper);z-index:49;padding:32px 5%;display:none}.mobile-menu.open{display:block}.mobile-menu a{display:block;padding:17px 0;border-bottom:1px solid var(--line);font:600 1.55rem 'Playfair Display',serif}
.hero{min-height:100vh;padding-top:76px;display:grid;grid-template-columns:1.02fr .98fr}.hero-copy{display:flex;align-items:center;padding:72px 7vw}.hero-copy p{max-width:620px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-media{position:relative;min-height:650px;overflow:hidden}.hero-media img{transform:scale(1.03);animation:slowzoom 12s ease-in-out infinite alternate}.hero-card{position:absolute;left:28px;bottom:28px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);padding:16px 18px;border-radius:18px;box-shadow:var(--shadow);max-width:290px}.hero-card strong{display:block;margin-bottom:4px}@keyframes slowzoom{to{transform:scale(1.11)}}
.page-hero{padding:160px 0 90px;background:var(--cream);text-align:center}.page-hero p{max-width:700px;margin:20px auto 0}.page-hero h1{font-size:clamp(3.4rem,7vw,6.2rem)}
.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;background:#fff}.trust-row{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.trust-row span{display:flex;gap:8px;align-items:center}
section{padding:108px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:48px}.section-head p{max-width:520px;margin:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;transition:.3s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--cream);font-size:1.2rem;margin-bottom:24px}.service-card h3{margin-bottom:10px}.service-card p{font-size:.95rem}.service-card a{font-weight:800;display:inline-block;margin-top:7px}.editorial{background:var(--cream)}.split{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:stretch}.photo-card{min-height:630px;border-radius:28px;overflow:hidden}.content-card{background:#fff;border-radius:28px;padding:52px;display:flex;flex-direction:column;justify-content:center}.checks{display:grid;gap:16px;margin:26px 0}.check{display:flex;gap:12px}.check b{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:var(--blush);font-size:.8rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}.stat{padding:20px;border:1px solid var(--line);border-radius:18px}.stat strong{font:600 1.6rem 'Playfair Display',serif;display:block}.stat span{font-size:.82rem;color:var(--muted)}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature{padding:24px;border-top:1px solid var(--ink)}.feature p{font-size:.94rem}.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pkg{border:1px solid var(--line);border-radius:24px;padding:30px;background:#fff;position:relative}.pkg.featured{background:var(--dark);color:#fff;transform:translateY(-8px);border-color:var(--dark)}.pkg.featured p,.pkg.featured li{color:#d8cfcb}.tag{position:absolute;right:20px;top:18px;color:var(--rose);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800}.pkg.featured .tag{color:#f0c7be}.price{font-weight:800;font-size:1.9rem;margin:16px 0}.pkg ul{padding-left:18px;line-height:2;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:245px;gap:14px}.gallery-grid figure{margin:0;border-radius:20px;overflow:hidden;position:relative;cursor:pointer}.gallery-grid figure:first-child{grid-row:span 2}.gallery-grid img{transition:.5s}.gallery-grid figure:hover img{transform:scale(1.06)}.gallery-grid figcaption{position:absolute;inset:auto 14px 14px 14px;color:#fff;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.marquee{overflow:hidden;background:var(--dark);color:#fff;padding:18px 0}.marquee-track{display:flex;width:max-content;gap:44px;animation:marquee 28s linear infinite;font-family:'Playfair Display',serif;font-size:1.3rem}.marquee-track span{white-space:nowrap}@keyframes marquee{to{transform:translateX(-50%)}}
.testimonials{background:var(--dark);color:#fff}.testimonials .section-head p,.quote p{color:#d7cfcb}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote{padding:28px;border:1px solid #433b38;border-radius:22px}.stars{color:#efc0b6;letter-spacing:.12em;margin-bottom:12px}
.booking-band{background:var(--cream)}.booking-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}.panel{background:#fff;border-radius:26px;padding:42px}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form input,.form select,.form textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:15px 16px}.form textarea{grid-column:1/-1;min-height:120px}.form .full{grid-column:1/-1}.info-list{display:grid;gap:16px;margin-top:28px}.info-item{padding-bottom:16px;border-bottom:1px solid var(--line)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:26px;border:1px solid var(--line);border-radius:20px}.step .n{font-weight:800;color:var(--rose);font-size:.8rem;letter-spacing:.12em}.step h3{margin:14px 0 8px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.team-card{border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line)}.team-photo{height:390px}.team-copy{padding:20px 22px}.team-copy p{margin:6px 0 0}.faq{display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.faq-q{width:100%;background:none;border:0;text-align:left;padding:20px 22px;font-weight:800;display:flex;justify-content:space-between;cursor:pointer}.faq-a{display:none;padding:0 22px 20px}.faq-item.open .faq-a{display:block}
footer{background:#111;color:#fff;padding:46px 0}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:30px}.footer-grid p,.footer-grid a{color:#a89e9a}.footer-links{display:grid;gap:9px}.footer-bottom{border-top:1px solid #302a28;margin-top:30px;padding-top:22px;color:#918884;font-size:.85rem}.floating-wa{position:fixed;right:18px;bottom:18px;z-index:40;background:var(--ink);color:#fff;border-radius:999px;padding:14px 18px;font-weight:800;box-shadow:var(--shadow)}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.93);display:none;place-items:center;z-index:100;padding:26px}.lightbox.open{display:grid}.lightbox img{max-width:90vw;max-height:86vh;width:auto;height:auto;border-radius:16px}.lightbox-close{position:absolute;right:24px;top:18px;color:#fff;font-size:2rem;cursor:pointer}
@media(max-width:940px){.navlinks,.nav-cta{display:none}.menu-btn{display:block}.hero{grid-template-columns:1fr}.hero-media{min-height:58vh}.services-grid,.packages,.quotes,.feature-grid,.timeline,.team-grid{grid-template-columns:1fr 1fr}.split,.booking-wrap{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid figure:first-child{grid-row:auto;grid-column:span 2}.footer-grid{grid-template-columns:1fr 1fr}.pkg.featured{transform:none}}
@media(max-width:620px){nav{height:68px}.mobile-menu{inset:68px 0 0 0}.hero{padding-top:68px}.hero-copy{padding:60px 5vw 42px}.hero h1{font-size:3.6rem}.hero-media{min-height:52vh}.hero-card{left:14px;right:14px;bottom:14px}.services-grid,.packages,.quotes,.feature-grid,.timeline,.team-grid,.stats,.form,.footer-grid{grid-template-columns:1fr}.form textarea,.form .full{grid-column:auto}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.gallery-grid figure:first-child{grid-column:auto}.photo-card{min-height:480px}.content-card,.panel{padding:30px}.floating-wa{left:14px;right:14px;text-align:center}.trust-row{display:grid;grid-template-columns:1fr 1fr}.hero-actions .btn{flex:1 1 100%}}
