:root{--ivory:#F7F0E6;--champ:#E8D3B2;--gold:#B08A45;--brown:#2A1C16;--choc:#3A241B;--olive:#596044;--serif:'Cormorant Garamond',Georgia,serif;--script:'Great Vibes',cursive;--sans:'DM Sans',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--ivory);color:var(--brown);line-height:1.7}body.lock{overflow:hidden}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.1}h1{font-size:clamp(2.4rem,7vw,5rem)}h2{font-size:clamp(2rem,4.5vw,3.4rem);margin-bottom:20px}h3{font-size:1.5rem}
p{margin-bottom:14px;max-width:62ch}.center{text-align:center}.center p,.center ul{margin-left:auto;margin-right:auto}
.script{font-family:var(--script);color:var(--gold);font-weight:400}.big{font-size:clamp(2rem,4vw,3rem);line-height:1.3}
.eyebrow{letter-spacing:.28em;font-size:.72rem;text-transform:uppercase;color:var(--gold)}
.wrap{max-width:1200px;margin:auto;padding:0 24px}.narrow{max-width:800px}section{padding:96px 0}
.dark{background:var(--brown);color:var(--ivory)}.choc{background:var(--choc);color:var(--ivory)}.champ{background:var(--champ)}
.btn{display:inline-block;padding:14px 28px;border:1px solid var(--gold);font:500 .78rem var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;background:transparent;color:inherit;transition:.3s}
.btn.gold{background:var(--gold);color:#fff;}.btn:hover{background:var(--olive);border-color:var(--olive);color:#fff}
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px; justify-content: center;}.center .btns{justify-content:center}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
#nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 32px;color:var(--ivory);transition:.4s}
#nav.scrolled,#nav.solid{background:rgba(247,240,230,.96);color:var(--brown);padding:12px 32px;box-shadow:0 1px 0 rgba(176,138,69,.3)}
.logo{font:600 1.5rem var(--serif);letter-spacing:.12em;line-height:1}.logo small{display:block;font:.52rem var(--sans);letter-spacing:.32em;color:var(--gold)}
#menu{display:flex;gap:22px;font-size:.78rem;letter-spacing:.08em}#menu a:hover{color:var(--gold)}.nav-cta{padding:10px 18px}
.burger{display:none;background:none;border:0;width:36px;height:30px;position:relative;z-index:60;cursor:pointer}.burger span{position:absolute;left:4px;right:4px;height:2px;background:currentColor}.burger span:first-child{top:10px}.burger span:last-child{top:18px}
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;color:var(--ivory);overflow:hidden;background:var(--choc)}
.hero-bg,.grain{position:absolute;inset:-5%;background-size:cover;background-position:center}.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,28,22,.55),rgba(42,28,22,.35) 40%,rgba(42,28,22,.85))}
.grain{opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}
.hero-in{position:relative;padding:120px 24px 90px}.hero-in p{margin-left:auto;margin-right:auto}.lets{font-family:var(--serif);font-size:1.4rem;font-style:italic}
.scroll{position:absolute;bottom:28px;left:50%;width:1px;height:50px;background:linear-gradient(var(--gold),transparent)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.pad{padding-top:60px}
.portrait{background:var(--champ);aspect-ratio:4/5;position:relative;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover}.portrait figcaption{position:absolute;inset:auto 0 0;padding:20px;background:linear-gradient(transparent,rgba(42,28,22,.85));color:var(--ivory)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.card{background:#fffaf2;border:1px solid rgba(176,138,69,.35);padding:32px;position:relative}
.svc .ico{font-size:1.8rem;color:var(--gold)}.svc small{float:right;color:var(--gold)}.svc h3{margin:14px 0 8px}.svc a,.dest a{color:var(--gold);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--gold)}.svc:hover{background:var(--champ);transform:translateY(-4px);transition:.4s}
.masonry{columns:3;column-gap:16px;margin:36px 0}.g{display:block;width:100%;margin-bottom:16px;padding:0;border:0;background:var(--champ);cursor:zoom-in;overflow:hidden;break-inside:avoid;aspect-ratio:3/4}.g:nth-child(3n+2){aspect-ratio:4/5}.g:nth-child(3n){aspect-ratio:1}.g img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.g:hover img{transform:scale(1.06)}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}.filters button{padding:8px 18px;border:1px solid var(--gold);background:none;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;cursor:pointer;color:inherit}.filters .on{background:var(--gold);color:#fff}
.lb{position:fixed;inset:0;z-index:100;background:rgba(20,12,9,.95);display:grid;place-items:center}.lb[hidden]{display:none}.lb figure{max-width:90vw;color:#fff;text-align:center}.lb img{max-height:80vh;margin:auto}.lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;padding:16px}.lb .x{top:10px;right:16px}.lb .pv{left:8px}.lb .nx{right:8px}
.dest{position:relative;aspect-ratio:3/4;background:linear-gradient(160deg,var(--olive),var(--choc));overflow:hidden;color:var(--ivory)}.dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dest div{position:absolute;inset:auto 0 0;padding:24px;background:linear-gradient(transparent,rgba(42,28,22,.9))}
.huge{font-size:clamp(3rem,10vw,7rem)}.chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:30px 0}.chips li{border:1px solid var(--gold);padding:8px 16px;font-size:.85rem}
.pkg h3{font-size:2rem}.pkg .price{font:600 2.4rem var(--serif);color:var(--gold);margin:6px 0}.pkg .ev{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}.pkg.featured{border:2px solid var(--gold);background:#fff}.badge{position:absolute;top:-13px;left:24px;background:var(--gold);color:#fff;padding:3px 14px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.pkg summary{cursor:pointer;color:var(--gold);margin:8px 0}.pkg li{padding:8px 0;border-bottom:1px solid rgba(176,138,69,.25);font-size:.9rem}.pkg li b{display:block}.pkg li span{opacity:.75;font-size:.82rem}.pkg .btn{margin-top:18px;display:block;text-align:center}
.sub{margin-top:70px}.scrollx{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:560px;background:#fffaf2}th,td{padding:12px 16px;border-bottom:1px solid rgba(176,138,69,.3);text-align:center;font-size:.9rem}th:first-child,td:first-child{text-align:left}th{font:600 1.2rem var(--serif);color:var(--gold)}
.why small{font-size:2.2rem}.why h3{margin:6px 0}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.timeline li{border-top:1px solid var(--gold);padding-top:16px}.timeline span{font:2rem var(--script);color:var(--gold)}
video{width:100%;max-width:960px;margin:30px auto 0;background:var(--choc);aspect-ratio:16/9}
.slides{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;margin:28px 0}.slide{flex:0 0 min(420px,85%);scroll-snap-align:start}.slide p{font:italic 1.4rem var(--serif)}
.social{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:30px}.social img{aspect-ratio:1;object-fit:cover;width:100%;background:var(--ivory)}
details{border-bottom:1px solid rgba(176,138,69,.4);padding:16px 0}summary{cursor:pointer;font:1.35rem var(--serif)}details p{margin-top:10px}
.note{font-size:.82rem;opacity:.8}
.page-hero{padding:170px 0 70px;background:var(--champ)}.page-hero h1{max-width:18ch}
.steps{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px;counter-reset:s}.steps li{counter-increment:s;font-size:.8rem;letter-spacing:.08em}.steps li::before{content:counter(s);display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid var(--gold);border-radius:50%;margin-right:8px;color:var(--gold)}
.bgrid{display:grid;grid-template-columns:2fr 1fr;gap:28px;align-items:start}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}.fields .full{grid-column:1/-1}
label{display:flex;flex-direction:column;font-size:.8rem;letter-spacing:.06em;gap:4px}input,select,textarea{font:1rem var(--sans);padding:12px;border:1px solid rgba(42,28,22,.25);background:#fff;color:var(--brown);width:100%}
.sticky{position:sticky;top:90px}dl{display:grid;grid-template-columns:1fr auto;gap:8px 12px;font-size:.9rem}dd{font-weight:500;text-align:right}.pay{margin-top:28px}#qr{display:grid;place-items:center;min-height:210px}#utr{max-width:420px}
.map{background:var(--champ);min-height:280px;display:grid;place-items:center;text-align:center;padding:24px;border:1px dashed var(--gold)}
footer{padding:64px 0 90px}.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}footer a{display:block}footer h4{color:var(--gold);margin-bottom:8px}.copy{text-align:center;margin:40px 0 0;font-size:.8rem;max-width:none;opacity:.8}
.wa-float{position:fixed;right:20px;bottom:24px;z-index:40;background:var(--olive);color:#fff;padding:12px 20px;border-radius:40px;font-size:.8rem;letter-spacing:.1em;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.mbar{display:none}.totop{position:fixed;right:20px;bottom:84px;z-index:40;width:42px;height:42px;border:1px solid var(--gold);background:var(--ivory);color:var(--gold);cursor:pointer;opacity:0;pointer-events:none;transition:.3s}.totop.show{opacity:1;pointer-events:auto}
