
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --cream:#F7F3EE;--warm-white:#FDFAF6;
  --gold:#C8A96E;--gold-light:#E2C99A;
  --charcoal:#2C2825;--brown:#5A4A3A;
  --muted:#9C8C7C;--border:rgba(200,169,110,0.25);
}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;font-size:18px;background:var(--cream);color:var(--charcoal);overflow-x:hidden;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;padding:22px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(247,243,238,0.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.9rem;font-weight:400;letter-spacing:0.04em;color:var(--charcoal);flex-shrink:0;}
.nav-links{display:flex;gap:36px;list-style:none;flex-shrink:0;}
.nav-links a{font-size:0.9rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--brown);text-decoration:none;font-weight:400;}
.nav-links a:hover{color:var(--gold);}
.nav-cta{background:#2C2825;color:#FDFAF6;padding:12px 28px;border:none;cursor:pointer;font-family:'Jost',sans-serif;font-size:0.85rem;letter-spacing:0.14em;text-transform:uppercase;flex-shrink:0;white-space:nowrap;text-decoration:none;display:inline-block;}
.nav-cta:hover{background:#3D3530;}

/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:140px 48px 80px;position:relative;overflow:hidden;}
#slideshow{position:absolute;inset:0;z-index:0;}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;}
.slide.active{opacity:1;}
.slide img{width:100%;height:100%;object-fit:cover;object-position:center;}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(20,17,15,0.82) 40%,rgba(20,17,15,0.25) 100%);pointer-events:none;}
.slide-dots{position:absolute;bottom:30px;left:48px;display:flex;gap:12px;z-index:10;}
.dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,0.35);cursor:pointer;border:none;padding:0;}
.dot.active{background:#C8A96E;transform:scale(1.3);}
.hero-inner{position:relative;z-index:10;max-width:820px;}
.hero-eyebrow{font-size:0.9rem;letter-spacing:0.2em;text-transform:uppercase;color:#E2C99A;font-weight:400;margin-bottom:28px;display:flex;align-items:center;gap:14px;}
.hero-eyebrow::before{content:'';display:block;width:40px;height:1px;background:#E2C99A;}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3.5rem,6vw,6rem);font-weight:300;line-height:1.08;color:#ffffff;}
.hero-h1 em{font-style:italic;color:#E2C99A;}
.hero-sub{margin-top:28px;font-size:1.2rem;font-weight:300;color:rgba(255,255,255,0.88);line-height:1.7;max-width:520px;}
.hero-actions{margin-top:44px;display:flex;gap:16px;align-items:center;position:relative;z-index:10;}
.btn-hero-primary{display:inline-block;padding:18px 40px;background:#C8A96E;color:#2C2825;border:none;cursor:pointer;font-family:'Jost',sans-serif;font-size:0.95rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:500;}
.btn-hero-primary:hover{background:#E2C99A;}
.btn-hero-ghost{display:inline-block;padding:18px 32px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.6);cursor:pointer;font-family:'Jost',sans-serif;font-size:0.95rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:400;}
.btn-hero-ghost:hover{border-color:#C8A96E;color:#C8A96E;}

/* SECTION BUTTONS */
.btn-primary{background:var(--charcoal);color:var(--cream);padding:16px 40px;border:none;cursor:pointer;font-family:'Jost',sans-serif;font-size:0.95rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:400;text-decoration:none;display:inline-block;}
.btn-primary:hover{background:var(--gold);}
.btn-ghost{background:transparent;color:var(--brown);padding:16px 32px;border:1px solid var(--border);cursor:pointer;font-family:'Jost',sans-serif;font-size:0.95rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:400;text-decoration:none;display:inline-block;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}

/* PROBLEM */
.section{padding:100px 48px;}
.problem{background:var(--charcoal);color:var(--cream);padding:100px 48px;position:relative;overflow:hidden;}
.problem-inner{max-width:900px;margin:0 auto;text-align:center;}
.problem-num{font-family:'Cormorant Garamond',serif;font-size:clamp(5rem,14vw,11rem);font-weight:300;color:rgba(200,169,110,0.15);line-height:1;position:absolute;top:20px;left:50%;transform:translateX(-50%);pointer-events:none;white-space:nowrap;}
.problem-inner h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,4vw,3.6rem);font-weight:300;line-height:1.25;position:relative;z-index:1;}
.problem-inner h2 em{font-style:italic;color:var(--gold-light);}
.problem-inner p{margin-top:24px;font-size:1.1rem;font-weight:300;color:rgba(253,250,246,0.7);line-height:1.8;max-width:560px;margin-inline:auto;position:relative;z-index:1;}

/* HOW IT WORKS */
.section-label{font-size:0.85rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:400;display:flex;align-items:center;gap:14px;}
.section-label::before{content:'';display:block;width:40px;height:1px;background:var(--gold);}
.section-h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,3.8vw,3.5rem);font-weight:300;line-height:1.15;color:var(--charcoal);margin-bottom:60px;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;}
.step{padding:40px 32px;border:1px solid var(--border);background:var(--warm-white);}
.step:hover{border-color:var(--gold);}
.step-num{font-family:'Cormorant Garamond',serif;font-size:4.5rem;font-weight:300;color:var(--border);line-height:1;margin-bottom:20px;}
.step h3{font-family:'Cormorant Garamond',serif;font-size:1.75rem;font-weight:400;margin-bottom:14px;color:var(--charcoal);}
.step p{font-size:1rem;font-weight:300;color:var(--brown);line-height:1.75;}

/* PACKAGES */
.packages-section{background:var(--warm-white);padding:100px 48px;}
.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.package{padding:48px 36px;border:1px solid var(--border);background:var(--cream);position:relative;}
.package:hover{border-color:var(--gold);}
.package.featured{background:var(--charcoal);border-color:var(--charcoal);}
.package-badge{position:absolute;top:20px;right:20px;background:var(--gold);color:var(--charcoal);font-size:0.75rem;letter-spacing:0.16em;text-transform:uppercase;padding:6px 12px;font-weight:500;}
.pkg-tag{font-size:0.85rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-weight:400;}
.pkg-name{font-family:'Cormorant Garamond',serif;font-size:2.25rem;font-weight:400;color:var(--charcoal);margin-bottom:4px;}
.package.featured .pkg-name{color:var(--cream);}
.pkg-tagline{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;color:var(--muted);margin-bottom:28px;}
.package.featured .pkg-tagline{color:rgba(253,250,246,0.6);}
.pkg-divider{height:1px;background:var(--border);margin-bottom:24px;}
.package.featured .pkg-divider{background:rgba(200,169,110,0.3);}
.pkg-price{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:var(--charcoal);line-height:1;margin-bottom:6px;}
.package.featured .pkg-price{color:var(--gold-light);}
.pkg-price-note{font-size:0.875rem;color:var(--muted);margin-bottom:28px;font-weight:300;}
.package.featured .pkg-price-note{color:rgba(253,250,246,0.5);}
.pkg-features{list-style:none;margin-bottom:36px;}
.pkg-features li{font-size:1rem;font-weight:300;color:var(--brown);padding:10px 0;border-bottom:1px solid rgba(200,169,110,0.12);display:flex;align-items:flex-start;gap:10px;line-height:1.5;}
.package.featured .pkg-features li{color:rgba(253,250,246,0.75);border-color:rgba(200,169,110,0.2);}
.pkg-features li::before{content:'—';color:var(--gold);flex-shrink:0;font-size:0.9rem;margin-top:2px;}
.pkg-btn{width:100%;padding:16px;border:1px solid var(--charcoal);background:transparent;cursor:pointer;font-family:'Jost',sans-serif;font-size:0.875rem;letter-spacing:0.16em;text-transform:uppercase;font-weight:400;color:var(--charcoal);}
.pkg-btn:hover{background:var(--charcoal);color:var(--cream);}
.package.featured .pkg-btn{border-color:var(--gold);color:var(--gold);}
.package.featured .pkg-btn:hover{background:var(--gold);color:var(--charcoal);}

/* ADDONS */
.addons{margin-top:48px;padding:36px;background:var(--cream);border:1px solid var(--border);}
.addons h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;margin-bottom:20px;color:var(--charcoal);}
.addon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;}
.addon-item{padding:14px 18px;border:1px solid var(--border);background:var(--warm-white);display:flex;justify-content:space-between;align-items:center;}
.addon-item:hover{border-color:var(--gold);}
.addon-name{font-size:0.95rem;color:var(--brown);font-weight:300;}
.addon-price{font-size:0.95rem;color:var(--gold);font-weight:400;}

/* TESTIMONIALS */
.testimonials{padding:100px 48px;}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testi{padding:36px 32px;border:1px solid var(--border);background:var(--warm-white);position:relative;}
.testi:hover{border-color:var(--gold);}
.testi-quote{font-family:'Cormorant Garamond',serif;font-size:3.75rem;color:var(--gold-light);line-height:1;position:absolute;top:20px;left:28px;opacity:0.5;}
.testi p{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-style:italic;font-weight:300;color:var(--charcoal);line-height:1.75;margin-bottom:20px;padding-top:28px;}
.testi-author{font-size:0.875rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.testi-occasion{font-size:0.85rem;color:var(--gold);margin-top:4px;}

/* ABOUT */
.about{background:var(--charcoal);padding:100px 48px;}
.about-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.about-text .section-label{color:var(--gold-light);}
.about-text .section-label::before{background:var(--gold-light);}
.about h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,3.6vw,3.25rem);font-weight:300;color:var(--cream);line-height:1.2;margin-bottom:24px;}
.about h2 em{font-style:italic;color:var(--gold-light);}
.about p{font-size:1rem;font-weight:300;color:rgba(253,250,246,0.7);line-height:1.85;margin-bottom:16px;}
.about-card{border:1px solid rgba(200,169,110,0.25);padding:48px;background:rgba(200,169,110,0.05);}
.about-stat{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid rgba(200,169,110,0.2);}
.about-stat:last-child{margin-bottom:0;padding-bottom:0;border:none;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:3.75rem;font-weight:300;color:var(--gold-light);line-height:1;}
.stat-label{font-size:0.9rem;color:rgba(253,250,246,0.5);letter-spacing:0.1em;margin-top:4px;}

/* FINAL CTA */
.final-cta{padding:120px 48px;text-align:center;background:var(--cream);position:relative;overflow:hidden;}
.cta-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(200,169,110,0.12),transparent 70%);pointer-events:none;}
.final-cta-inner{position:relative;z-index:1;max-width:640px;margin:0 auto;}
.final-cta h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,4.5vw,4.25rem);font-weight:300;color:var(--charcoal);line-height:1.15;margin-bottom:20px;}
.final-cta h2 em{font-style:italic;color:var(--gold);}
.final-cta p{font-size:1.1rem;font-weight:300;color:var(--brown);line-height:1.75;margin-bottom:40px;}
.cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.cta-note{margin-top:20px;font-size:0.875rem;color:var(--muted);}

/* FOOTER */
footer{background:var(--charcoal);padding:56px 48px 32px;border-top:1px solid rgba(200,169,110,0.15);}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid rgba(200,169,110,0.15);}
.footer-brand .nav-logo{color:var(--cream);font-size:2rem;}
.footer-brand p{font-size:0.95rem;color:rgba(253,250,246,0.45);margin-top:10px;max-width:240px;line-height:1.7;font-weight:300;}
.footer-col h4{font-size:0.85rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:400;}
.footer-col a,.footer-col p{display:block;font-size:0.95rem;color:rgba(253,250,246,0.5);text-decoration:none;margin-bottom:10px;font-weight:300;}
.footer-col a:hover{color:var(--gold-light);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;}
.footer-bottom p{font-size:0.85rem;color:rgba(253,250,246,0.3);font-weight:300;}

/* TABLET */
@media(max-width:1024px){
  nav{padding:18px 32px;} .nav-links{gap:20px;}
  .hero{padding:130px 32px 80px;}
  .section,.packages-section,.testimonials,.about,.final-cta{padding:80px 32px;}
  .problem{padding:80px 32px;} .steps{gap:20px;}
  .packages{grid-template-columns:1fr;max-width:480px;margin-inline:auto;}
  .testi-grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto;}
  .about-inner{gap:48px;} footer{padding:48px 32px 28px;}
}
/* MOBILE */
@media(max-width:768px){
  nav{padding:16px 20px;} .nav-links{display:none;}
  .nav-cta{padding:10px 20px;font-size:0.8rem;}
  .hero{padding:110px 20px 70px;min-height:100svh;}
  .hero-sub{max-width:100%;}
  .hero-actions{flex-direction:column;align-items:flex-start;gap:12px;}
  .btn-hero-primary,.btn-hero-ghost{width:100%;text-align:center;}
  .slide-dots{left:20px;bottom:20px;}
  .section{padding:64px 20px;} .section-h2{margin-bottom:36px;}
  .problem{padding:64px 20px;}
  .steps{grid-template-columns:1fr;gap:16px;} .step{padding:28px 24px;}
  .packages-section{padding:64px 20px;}
  .packages{grid-template-columns:1fr;max-width:100%;gap:16px;} .package{padding:36px 24px;}
  .addons{padding:24px 20px;} .addon-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .addon-item{padding:10px 12px;}
  .testimonials{padding:64px 20px;}
  .testi-grid{grid-template-columns:1fr;max-width:100%;gap:16px;} .testi{padding:28px 24px;}
  .about{padding:64px 20px;} .about-inner{grid-template-columns:1fr;gap:36px;} .about-card{padding:32px 24px;}
  .final-cta{padding:80px 20px;}
  .cta-actions{flex-direction:column;align-items:center;gap:12px;}
  .cta-actions a{width:100%;max-width:320px;text-align:center;}
  footer{padding:48px 20px 24px;}
  .footer-top{flex-direction:column;gap:32px;} .footer-col{width:100%;}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center;}
}
@media(max-width:380px){
  .nav-logo{font-size:1.5rem;} .nav-cta{padding:8px 14px;font-size:0.75rem;}
  .addon-grid{grid-template-columns:1fr;}
}

/* ── SOLUTION SECTION ────────────────────────────────────────────── */
.solution-section{padding:100px 48px;background:var(--cream);}
.solution-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.solution-text p{font-size:1rem;font-weight:300;color:var(--brown);line-height:1.8;margin-bottom:12px;}
.solution-diffs{margin-top:32px;display:flex;flex-direction:column;gap:16px;}
.diff-item{display:flex;gap:16px;align-items:flex-start;padding:16px 20px;border:1px solid var(--border);}
.diff-item:first-child{background:rgba(200,169,110,0.05);}
.diff-item:last-child{background:var(--warm-white);border-color:var(--gold);}
.diff-icon{font-size:1.1rem;font-weight:600;flex-shrink:0;margin-top:2px;}
.diff-item:first-child .diff-icon{color:var(--muted);}
.diff-item:last-child .diff-icon{color:var(--gold);}
.diff-item div{font-size:0.95rem;font-weight:300;color:var(--brown);line-height:1.6;}
.diff-item strong{color:var(--charcoal);}
.solution-stat-card{border:1px solid var(--border);padding:40px;background:var(--warm-white);display:flex;flex-direction:column;gap:32px;}
.solution-stat{display:flex;flex-direction:column;gap:6px;padding-bottom:32px;border-bottom:1px solid var(--border);}
.solution-stat:last-child{padding-bottom:0;border:none;}
.sol-num{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;color:var(--charcoal);line-height:1;}
.sol-label{font-size:0.9rem;font-weight:300;color:var(--muted);}

/* ── OCCASIONS SECTION ───────────────────────────────────────────── */
.occasions-section{padding:100px 48px;background:var(--charcoal);}
.occasions-section .section-label{color:var(--gold-light);}
.occasions-section .section-label::before{background:var(--gold-light);}
.occasions-section .section-h2{color:var(--cream);}
.occasions-section .section-h2 em{color:var(--gold-light);}
.occasions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:0;}
.occasion-card{padding:36px 28px;border:1px solid rgba(200,169,110,0.2);background:rgba(200,169,110,0.04);transition:border-color 0.2s,background 0.2s;}
.occasion-card:hover{border-color:var(--gold);background:rgba(200,169,110,0.08);}
.occasion-icon{font-size:2rem;margin-bottom:16px;}
.occasion-card h3{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--cream);margin-bottom:12px;}
.occasion-card p{font-size:0.9rem;font-weight:300;color:rgba(253,250,246,0.65);line-height:1.75;}

/* ── BREADCRUMB ──────────────────────────────────────────────────── */
.breadcrumb{background:#FDFAF6;border-bottom:1px solid rgba(200,169,110,0.25);padding:10px 48px;margin-top:70px;}
.breadcrumb-inner{max-width:1100px;margin:0 auto;font-size:0.8rem;color:var(--muted);font-weight:300;}
.breadcrumb a{color:#9C8C7C;text-decoration:none;}
.breadcrumb a:hover{color:#C8A96E;}
.breadcrumb span{color:#2C2825;}

/* ── FAQ ACCORDION (blog) ────────────────────────────────────────── */
.faq-q{width:100%;background:none;border:none;border-bottom:1px solid var(--border);padding:16px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:'Jost',sans-serif;font-size:0.95rem;font-weight:400;color:var(--charcoal);text-align:left;}
.faq-q:hover{color:var(--gold);}
.faq-icon{font-size:1.2rem;flex-shrink:0;margin-left:12px;transition:transform 0.2s;}
.faq-a{display:none;padding:14px 0 20px;}
.faq-a p{font-size:0.95rem;font-weight:300;color:var(--brown);line-height:1.8;margin:0;}
.faq-a.open{display:block;}
.faq-icon.open{transform:rotate(45deg);}

/* ── RESPONSIVE ──────────────────────────────────────────────────── */
@media(max-width:1024px){
  .solution-inner{grid-template-columns:1fr;gap:48px;}
  .occasions-grid{grid-template-columns:repeat(2,1fr);}
  .solution-section,.occasions-section{padding:80px 32px;}
  .breadcrumb{padding:10px 32px;}
}
@media(max-width:768px){
  .solution-section,.occasions-section{padding:64px 20px;}
  .occasions-grid{grid-template-columns:1fr;}
  .solution-stat-card{padding:28px 24px;}
  .breadcrumb{padding:10px 20px;margin-top:60px;}
}
