:root{--maroon:#8e0f3a;--maroon-d:#6b0a2b;--gold:#c9952b;--cream:#fdf7ef;--pink:#fbe9ee;--text:#3a2a2a;}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;color:var(--text);background:var(--cream);line-height:1.6}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.mr{font-family:'Baloo 2',sans-serif}
.container{width:min(1240px,94%);margin:auto}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--maroon);color:#fff;padding:12px 24px;border-radius:6px;font-weight:600;font-size:15px;transition:.25s}
.btn:hover{background:var(--maroon-d);transform:translateY(-2px)}
.btn-sm{padding:8px 16px;font-size:13px}
.btn-white{background:#fff;color:var(--maroon)}.btn-white:hover{background:#ffe9ef}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* HEADER */
.header{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:88px;gap:20px}
.logo img{height:78px}
.nav{display:flex;gap:34px}
.nav a{font-size:14px;font-weight:500;position:relative;padding:6px 0}
.nav a.active,.nav a:hover{color:var(--maroon)}
.nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--maroon)}
.btn-call{background:var(--maroon);color:#fff;padding:12px 22px;border-radius:8px;font-weight:600;font-size:14px;display:flex;gap:10px;align-items:center}
.menu-toggle{display:none;background:none;border:0;font-size:24px;color:var(--maroon);cursor:pointer}

/* HERO */
.hero{position:relative;display:grid;grid-template-columns:42% 36% 22%;min-height:460px;background:radial-gradient(circle at 20% 30%,#fff6e3,#f7e3c6 70%);overflow:hidden}
.hero-text{padding:50px 0 40px 8%;z-index:2}
.hero h1{color:var(--maroon);line-height:1.15;font-size:38px;font-weight:800}
.hero h1 span{display:block}
.hero h1 .big{font-size:72px;line-height:1}
.hero h1 .dark{color:#2b1a1a}
.hero h1 em{font-style:normal;color:var(--maroon)}
.flourish{display:flex;align-items:center;gap:8px;color:var(--maroon);margin:16px 0;max-width:330px}
.flourish span{flex:1;height:1px;background:var(--maroon)}
.hero h2{font-family:'Playfair Display',serif;font-size:32px;font-weight:600;color:#3a1d1d}
.hero-text p{font-size:18px;margin-bottom:22px}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero-panel{background:linear-gradient(160deg,#5a1a1f,#3a0e12);color:#fff;padding:30px 24px;display:flex;flex-direction:column;justify-content:space-between;position:relative}
.hero-panel ul{list-style:none}
.hero-panel li{padding:9px 0;font-size:15px;display:flex;gap:14px;align-items:center}
.hero-panel li i{color:#e8c48a;font-size:20px}
.hero-panel p{margin:20px -24px -30px;padding:22px 20px;background:#fdf1e0;color:var(--maroon);font-size:22px;font-weight:700;text-align:center;line-height:1.3;border-top-left-radius:60px}

/* SECTIONS */
.section{padding:22px 0}
.title{text-align:center;font-size:24px;font-weight:600;color:#2b1a1a;margin-bottom:18px}
.title span{color:var(--maroon);margin:0 10px}
.cat-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.cat{position:relative;border-radius:10px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.cat img{aspect-ratio:115/150;object-fit:cover;width:100%;transition:.4s}
.cat:hover img{transform:scale(1.06)}
.cat span{position:absolute;inset:auto 0 0;padding:28px 6px 10px;text-align:center;color:#fff;font-weight:600;font-size:15px;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.featured{background:#fffaf5}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.feat{background:#fbf1e9;border-radius:6px;overflow:hidden;text-align:center;padding-bottom:12px}
.feat img{width:100%;aspect-ratio:212/141;object-fit:cover}
.feat h4{font-size:16px;margin-top:10px;color:#2b1a1a}
.feat p{font-size:13px;color:#6b5555;line-height:1.4}
.banners{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.banner{display:flex;justify-content:space-between;align-items:stretch;border-radius:6px;overflow:hidden;min-height:150px}
.banner>div{padding:24px 30px;align-self:center}
.banner h3{font-family:'Playfair Display',serif;font-size:30px;font-weight:500}
.banner p{margin-bottom:14px}
.banner img{width:42%;object-fit:cover}
.banner-wedding{background:linear-gradient(90deg,#7a0e2f,#9b1a43);color:#fff}
.banner-festive{background:linear-gradient(90deg,#fde7ec,#fbd3dc)}
.banner-festive h3{color:var(--maroon)}
.features{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:26px}
.features div{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}
.features i{grid-row:span 2;font-size:34px;color:var(--maroon)}
.features b{font-size:15px}.features small{color:#6b5555;font-size:12px}
.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.store-grid img{width:100%;aspect-ratio:290/155;object-fit:cover;border-radius:4px}
.about{display:grid;grid-template-columns:34% 1fr 22%;align-items:center;gap:20px;background:#fff8f0;margin-top:14px}
.about>img{height:100%;width:100%;object-fit:cover}
.about-text h3{color:var(--maroon);font-size:24px;margin-bottom:8px}
.about-text p{font-size:14px;margin-bottom:8px;max-width:70ch}
.about-quote{text-align:center;color:var(--maroon);font-size:22px;font-weight:700;line-height:1.35}
.about-quote span{color:var(--gold);font-size:30px}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testi{background:#fff;padding:22px;border-radius:6px;display:flex;gap:16px;align-items:flex-start;box-shadow:0 2px 12px rgba(0,0,0,.05)}
.testi img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}
.stars{color:#f2a614;letter-spacing:3px;font-size:18px}
.testi p{font-size:14px}.testi small{font-size:13px}
.footer{background:linear-gradient(90deg,#7a0d2e,#8e1240);color:#fff;padding:24px 0;margin-top:18px}
.footer-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:center}
.footer-logo{max-width:300px;border-right:1px solid rgba(255,255,255,.3);padding-right:30px}
.contact h4{font-size:20px;margin-bottom:8px}
.contact p{display:flex;gap:14px;font-size:14px;margin:6px 0}
.contact i{width:18px;margin-top:4px}
.map{background:#fff;border-radius:6px;padding:6px;position:relative}
.map iframe{width:100%;height:140px;border:0;display:block}
.map .btn{position:absolute;right:16px;bottom:14px}
.wa-float{position:fixed;right:20px;bottom:20px;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:28px;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:60}

/* RESPONSIVE */
@media(max-width:1024px){
  .nav{position:absolute;top:88px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:10px 6%;display:none;box-shadow:0 8px 16px rgba(0,0,0,.1)}
  .nav.open{display:flex}.nav a{padding:12px 0;border-bottom:1px solid #f1e4e4}
  .menu-toggle{display:block}.btn-call{display:none}
  .hero{grid-template-columns:1fr 1fr}.hero-panel{grid-column:span 2}
  .cat-grid{grid-template-columns:repeat(4,1fr)}
  .features{grid-template-columns:repeat(3,1fr);row-gap:20px}
  .about{grid-template-columns:1fr 1fr}.about-quote{grid-column:span 2;padding-bottom:20px}
}
@media(max-width:680px){
  .header-inner{height:72px}.logo img{height:60px}.nav{top:72px}
  .hero{grid-template-columns:1fr}.hero-panel{grid-column:auto}.hero-img{max-height:380px}
  .hero h1 .big{font-size:56px}.hero h1{font-size:30px}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .feat-grid,.banners,.testi-grid,.store-grid,.footer-inner{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr 1fr}
  .banner{flex-direction:column}.banner img{width:100%;height:200px}
  .features{grid-template-columns:1fr 1fr}
  .about{grid-template-columns:1fr}.about-quote{grid-column:auto}.about-text{padding:0 4%}
  .footer-logo{border:0;padding:0}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
