:root{
--cream:#fbf6ef; --charcoal:#2b2420; --terracotta:#c1673a;
--terracotta-dark:#a24f2a; --gold:#c99a5b; --line:#e7dccb;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Georgia',serif;background:var(--cream);color:var(--charcoal);line-height:1.6;}
h1,h2,h3{font-family:'Georgia',serif;font-weight:400;letter-spacing:.5px;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.container{max-width:1080px;margin:0 auto;padding:0 20px;}
header.site{position:sticky;top:0;background:rgba(251,246,239,.96);z-index:50;border-bottom:1px solid var(--line);backdrop-filter:blur(4px);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:1080px;margin:0 auto;flex-wrap:wrap;gap:10px;}
.nav .logo img{height:52px;width:auto;}
.nav ul{list-style:none;display:flex;gap:22px;flex-wrap:wrap;font-size:.95rem;text-transform:uppercase;letter-spacing:1px;}
.nav ul a:hover{color:var(--terracotta);}
.btn-wa{background:var(--terracotta);color:#fff !important;padding:10px 20px;border-radius:30px;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;}
.btn-wa:hover{background:var(--terracotta-dark);}
.hero{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:top center;overflow:hidden;}
.hero-bg::after{content:"";position:absolute;inset:0;background:rgba(30,20,15,.48);z-index:1;}
.hero-bg-slide{position:absolute;inset:0;background-size:cover;background-position:top center;opacity:0;transition:opacity 1.8s ease-in-out;}
.hero-bg-slide.active{opacity:1;}
.hero-content{position:relative;z-index:2;max-width:720px;padding:20px;}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:18px;}
.hero p{font-size:1.15rem;margin-bottom:26px;}
.cta{display:inline-block;background:var(--terracotta);color:#fff;padding:14px 32px;border-radius:30px;text-transform:uppercase;letter-spacing:1.5px;font-size:.9rem;}
.cta:hover{background:var(--terracotta-dark);}
.cta.outline{background:transparent;border:1px solid #fff;}
section{padding:70px 0;}
section.alt{background:#f3e9db;}
.center{text-align:center;}
.lead{max-width:680px;margin:0 auto 40px;text-align:center;color:#5a4f45;}
.eyebrow{color:var(--terracotta);text-transform:uppercase;letter-spacing:2px;font-size:.8rem;display:block;margin-bottom:10px;text-align:center;}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;margin-top:40px;}
.step .num{font-size:2rem;color:var(--gold);margin-bottom:8px;}
.pkg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px;margin-top:40px;}
.pkg{background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px 26px;text-align:center;}
.pkg.featured{border-color:var(--terracotta);box-shadow:0 8px 24px rgba(193,103,58,.15);transform:translateY(-6px);}
.pkg h3{font-size:1.3rem;margin-bottom:6px;}
.pkg .price{font-size:1.8rem;color:var(--terracotta);margin:14px 0;}
.pkg ul{list-style:none;margin:18px 0;text-align:left;font-size:.92rem;color:#4a4038;}
.pkg ul li{padding:6px 0;border-bottom:1px dashed var(--line);}
.pkg .cta{margin-top:10px;width:100%;}
.extras{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:30px;}
.extra-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px;}
.extra-card .amt{color:var(--terracotta);font-weight:bold;margin-top:8px;}
.faq{max-width:760px;margin:40px auto 0;}
.faq details{border-bottom:1px solid var(--line);padding:16px 0;}
.faq summary{cursor:pointer;font-size:1.05rem;list-style:none;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";float:right;color:var(--terracotta);}
.faq details[open] summary::after{content:"\2212";}
.faq p{margin-top:10px;color:#5a4f45;}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;}
.gallery-grid .ph img{width:100%;height:220px;object-fit:cover;border-radius:4px;transition:transform .3s;}
.gallery-grid .ph:hover img{transform:scale(1.03);}
.marquee-section{padding:20px 0 70px;}
.marquee-wrap{overflow:hidden;width:100%;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.marquee-track{display:flex;gap:16px;width:max-content;animation:marquee-scroll 45s linear infinite;}
.marquee-track img{height:280px;width:auto;border-radius:10px;flex-shrink:0;box-shadow:0 6px 18px rgba(43,36,32,.15);cursor:pointer;transition:transform .25s ease;position:relative;z-index:1;}
.marquee-track img:hover{transform:scale(1.08);z-index:3;box-shadow:0 12px 28px rgba(43,36,32,.3);}
.marquee-track.static img{cursor:default;}
.marquee-track.static img:hover{transform:scale(1.04);z-index:3;box-shadow:0 10px 24px rgba(43,36,32,.25);}
@keyframes marquee-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.lightbox-overlay{position:fixed;inset:0;background:rgba(20,15,12,.94);z-index:500;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease;touch-action:pan-y;}
.lightbox-overlay.active{opacity:1;pointer-events:auto;}
.lightbox-overlay img{max-width:88vw;max-height:85vh;object-fit:contain;border-radius:6px;box-shadow:0 10px 50px rgba(0,0,0,.55);cursor:zoom-out;}
.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#fff;opacity:.55;cursor:pointer;padding:16px;line-height:0;transition:opacity .2s;z-index:2;}
.lightbox-arrow svg{width:30px;height:30px;stroke:#fff;stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.lightbox-arrow:hover{opacity:.9;}
.lightbox-prev{left:6px;} .lightbox-next{right:6px;}
@media(max-width:640px){
.nav ul{width:100%;justify-content:center;order:3;}
.hero{min-height:70vh;}
.marquee-track img{height:180px;}
.lightbox-arrow{opacity:.28;padding:10px;}
.lightbox-arrow svg{width:20px;height:20px;stroke-width:1;}
.lightbox-arrow:active{opacity:.6;}
}