:root{
  --maroon:#951F44;
  --maroon-deep:#2B2226;
  --wine:#951F44;
  --gold:#d69c47;
  --gold-light:#E9b472;
  --gold-deep:#906221;
  --cream:#FFFFFF;
  --ivory:#FFFFFF;
  --ink:#2B2226;
  --orange:#f19329;
  --rose:#b8325a;
  --teal:#906221;
  --lavender:#d69c47;
  --navy:#6f1735;
  --line-gold:rgba(214,156,71,0.55);
  --display:'Playfair Display', Georgia, serif;
  --sans:'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px;}
.rule{height:1px;background:linear-gradient(90deg, transparent, var(--gold), transparent);border:none;margin:0;}

/* Nav */
header{position:fixed;top:0;left:0;right:0;z-index:50;padding:18px 0;background:rgba(37,5,16,0.96);border-bottom:1px solid var(--line-gold);transition:padding .3s ease, background .3s ease, box-shadow .3s ease;}
header.on-hero{background:linear-gradient(180deg, rgba(37,5,16,0.85), transparent);border-bottom-color:transparent;}
header.scrolled{padding:9px 0;background:rgba(37,5,16,0.97);border-bottom-color:var(--line-gold);box-shadow:0 8px 24px rgba(0,0,0,0.3);}
header .wrap{display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;}
.brand img{height:56px;width:56px;object-fit:cover;border-radius:50%;border:2px solid var(--gold);flex-shrink:0;}
.brand .brand-text{font-family:var(--display);font-weight:700;font-size:1.5rem;color:var(--gold-light);letter-spacing:0.02em;line-height:1.1;}
.brand .brand-text span{display:block;font-family:var(--sans);font-size:0.6rem;letter-spacing:0.2em;color:var(--gold);margin-top:5px;font-weight:500;text-transform:uppercase;}
nav ul{list-style:none;display:flex;align-items:center;gap:28px;margin:0;padding:0;}
nav a{color:var(--cream);text-decoration:none;font-size:0.92rem;padding-bottom:5px;border-bottom:1px solid transparent;transition:all .25s ease;}
nav a:hover, nav a:focus-visible{color:var(--gold-light);border-color:var(--gold);}
nav a.current{color:var(--gold-light);border-color:var(--gold);}

/* Mobile nav toggle */
.nav-toggle{display:none;position:relative;z-index:40;background:none;border:none;cursor:pointer;padding:8px;margin:-8px 0;flex-shrink:0;}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--gold-light);margin:5px 0;border-radius:2px;transition:transform .3s ease, opacity .3s ease;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.nav-backdrop{display:none;}

/* Hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;background:var(--maroon-deep);overflow:hidden;}
.hero-slideshow{position:absolute;inset:0;z-index:0;}
.hero-slideshow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:heroFade 24s infinite;}
@keyframes heroFade{
  0%{opacity:0;}
  2%{opacity:0.55;}
  6%{opacity:0.55;}
  16%{opacity:0.55;}
  20%{opacity:0;}
  100%{opacity:0;}
}
@media (prefers-reduced-motion: reduce){
  .hero-slideshow img{animation:none;opacity:0;}
  .hero-slideshow img:first-child{opacity:0.55;}
}
.hero::after{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 20%, rgba(149,31,68,0.5), transparent 55%),
             linear-gradient(180deg, rgba(37,5,16,0.92) 0%, rgba(37,5,16,0.65) 45%, rgba(37,5,16,0.95) 100%);}
.hero-content{position:relative;z-index:2;padding-top:110px;width:100%;text-align:center;}
.hero-badge{width:130px;height:130px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);margin:0 auto 30px;box-shadow:0 0 0 6px rgba(214,156,71,0.15);}
.kicker{color:var(--gold-light);font-size:0.85rem;letter-spacing:0.22em;text-transform:uppercase;margin:0 0 18px;font-weight:500;}
h1.hero-title{font-family:var(--display);font-weight:700;color:var(--ivory);font-size:clamp(2.6rem, 6vw, 4.6rem);line-height:1.08;margin:0 auto 22px;max-width:820px;}
h1.hero-title em{font-style:italic;color:var(--gold-light);}
.hero-sub{color:rgba(255,248,239,0.82);font-size:1.1rem;line-height:1.7;max-width:560px;margin:0 auto 40px;font-weight:300;}
.cta-row{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:center;margin-bottom:70px;}
.hero-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-gold);}
.hero-strip div{padding:26px 20px;text-align:center;border-right:1px solid var(--line-gold);}
.hero-strip div:last-child{border-right:none;}
.hero-strip strong{display:block;font-family:var(--display);color:var(--gold-light);font-size:1.15rem;margin-bottom:4px;}
.hero-strip span{color:rgba(255,248,239,0.65);font-size:0.82rem;}

/* Buttons */
.btn{display:inline-block;padding:16px 36px;font-family:var(--sans);font-size:0.92rem;font-weight:500;letter-spacing:0.02em;text-decoration:none;border-radius:4px;transition:all .3s ease;}
.btn-solid{background:linear-gradient(135deg, #f19329, #d69c47);color:var(--maroon-deep);}
.btn-solid:hover{filter:brightness(1.08);box-shadow:0 8px 20px rgba(241,147,41,0.35);}
.btn-ghost{border:1px solid var(--gold);color:var(--gold-light);}
.btn-ghost:hover{background:rgba(214,156,71,0.12);}
.btn-ghost-dark{border:1px solid var(--wine);color:var(--wine);}
.btn-ghost-dark:hover{background:rgba(149,31,68,0.08);}

/* Section shells */
section{padding:100px 0;}
.section-light{background:var(--cream);}
.section-dark{background:var(--maroon);color:var(--ivory);}
.eyebrow{font-family:var(--sans);letter-spacing:0.2em;text-transform:uppercase;color:var(--wine);font-size:0.78rem;font-weight:600;margin:0 0 14px;}
.section-dark .eyebrow{color:var(--gold-light);}
h2.section-title{font-family:var(--display);font-weight:700;font-size:clamp(2rem,3.4vw,2.9rem);margin:0 0 28px;line-height:1.16;max-width:620px;color:var(--maroon);}
.section-dark h2.section-title{color:var(--ivory);}
.lede{font-size:1.05rem;line-height:1.75;max-width:540px;color:#4d4347;font-weight:300;}
.section-dark .lede{color:rgba(255,248,239,0.8);}

.space-intro{display:flex;justify-content:space-between;gap:60px;flex-wrap:wrap;margin-bottom:50px;align-items:flex-end;}
.space-intro .lede{margin-bottom:0;}
.teaser-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.teaser-gallery figure{margin:0;overflow:hidden;aspect-ratio:4/3;border-radius:6px;border:2px solid var(--gold);cursor:zoom-in;}
.teaser-gallery img{width:100%;height:100%;object-fit:cover;}

/* Occasion color cards */
.occ-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.occ-card{border-radius:10px;padding:32px 24px;position:relative;overflow:hidden;}
.occ-card h3{font-family:var(--display);font-size:1.4rem;margin:0 0 12px;color:var(--ivory);}
.occ-card p{font-size:0.92rem;line-height:1.6;color:rgba(255,255,255,0.85);margin:0;font-weight:300;}
.occ-wed{background:linear-gradient(145deg, var(--rose), #6f1735);}
.occ-bday{background:linear-gradient(145deg, var(--teal), #5e3e12);}
.occ-anniv{background:linear-gradient(145deg, var(--lavender), #906221);}
.occ-corp{background:linear-gradient(145deg, var(--navy), #3B0A1A);}

/* Gallery grid */
/* Uniform gallery: every photo is the same size */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.gallery figure{margin:0;overflow:hidden;position:relative;background:#111;border-radius:6px;aspect-ratio:4/3;cursor:zoom-in;}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.gallery figure:hover img{transform:scale(1.05);}
figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 22px 16px;font-family:var(--display);font-style:italic;color:#fff;font-size:1.02rem;background:linear-gradient(0deg, rgba(0,0,0,0.65), transparent);}

/* Quote strip */
.quote-strip{padding:90px 0;background:linear-gradient(135deg, var(--wine), var(--maroon));color:var(--ivory);text-align:center;}
.quote-strip blockquote{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(1.5rem,3vw,2.2rem);max-width:820px;margin:0 auto 20px;line-height:1.45;}
.quote-strip cite{font-style:normal;font-size:0.85rem;letter-spacing:0.08em;color:var(--gold-light);text-transform:uppercase;}

/* CTA band */
.cta-band{background:var(--maroon-deep);color:var(--ivory);padding:80px 0;text-align:center;}
.cta-band h2{font-family:var(--display);font-weight:700;font-size:clamp(1.8rem,3.2vw,2.6rem);margin:0 0 26px;}

/* Footer */
footer{background:var(--maroon-deep);color:var(--ivory);padding:70px 0 40px;border-top:1px solid var(--line-gold);}
.foot-cols{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;}
.foot-brand{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.foot-brand img{height:50px;width:50px;object-fit:cover;border-radius:50%;border:2px solid var(--gold);}
.foot-brand .brand-text{font-family:var(--display);font-weight:700;font-size:1.3rem;color:var(--gold-light);}
.foot-cols h3{font-family:var(--sans);font-weight:600;font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;margin:0 0 16px;color:var(--gold);}
.foot-cols ul{list-style:none;padding:0;margin:0;}
.foot-cols li{margin-bottom:10px;font-size:0.95rem;color:rgba(255,248,239,0.75);}
.foot-cols a{text-decoration:none;}
.foot-cols a:hover{color:var(--gold-light);}
.foot-bottom{margin-top:60px;padding-top:24px;border-top:1px solid var(--line-gold);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:0.82rem;color:rgba(255,248,239,0.5);}

/* Page banner */
.page-banner{background:linear-gradient(135deg, var(--maroon-deep), var(--maroon));color:var(--ivory);padding:150px 0 64px;border-bottom:1px solid var(--line-gold);}
.page-banner .eyebrow{color:var(--gold-light);}
.page-banner h1{font-family:var(--display);font-weight:700;font-size:clamp(2.2rem,4.4vw,3.4rem);margin:0 0 14px;}
.page-banner p{max-width:560px;color:rgba(255,248,239,0.8);line-height:1.7;font-size:1.05rem;margin:0;}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;}
.contact-details{display:flex;flex-direction:column;gap:24px;margin-top:14px;}
.contact-item{display:flex;gap:18px;align-items:flex-start;padding:18px 20px;background:var(--ivory);border-radius:8px;border:1px solid var(--line-gold);}
.contact-item .label{font-size:0.76rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--wine);min-width:100px;padding-top:3px;font-weight:600;}
.contact-item .value{font-size:1.05rem;color:var(--ink);line-height:1.5;}
.contact-item a{text-decoration:none;border-bottom:1px solid var(--wine);}
.contact-item a:hover{color:var(--wine);}
.foot-form{background:var(--ivory);border:2px solid var(--gold);border-radius:10px;padding:40px;}
.foot-form p.form-title{margin:0 0 24px;font-family:var(--display);font-weight:700;font-size:1.3rem;color:var(--wine);}
.foot-form label{display:block;font-size:0.8rem;letter-spacing:0.03em;color:#766a6e;margin-bottom:7px;}
.foot-form input, .foot-form select, .foot-form textarea{width:100%;background:#fff;border:1px solid rgba(149,31,68,0.25);border-radius:5px;color:var(--ink);font-family:var(--sans);font-size:0.98rem;padding:11px 12px;margin-bottom:20px;}
.foot-form input:focus, .foot-form select:focus, .foot-form textarea:focus{outline:none;border-color:var(--wine);}
.foot-form textarea{resize:vertical;min-height:64px;}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} .gallery img{transition:none;} }

@media (max-width: 900px){
  .occ-grid{grid-template-columns:repeat(2,1fr);}
  .hero-strip{grid-template-columns:repeat(2,1fr);}
  .hero-strip div:nth-child(2){border-right:none;}
  .contact-grid{grid-template-columns:1fr;gap:50px;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .teaser-gallery{grid-template-columns:repeat(2,1fr);}

  /* Slide-in mobile nav */
  header .wrap{position:relative;}
  .nav-toggle{display:block;}
  header nav{position:fixed;top:0;right:-85vw;bottom:0;width:min(85vw,340px);height:100vh;
    background:var(--maroon-deep);z-index:38;padding:110px 34px 40px;
    box-shadow:-10px 0 30px rgba(0,0,0,0.35);transition:right .35s ease;overflow-y:auto;}
  header nav.open{right:0;}
  header nav ul{flex-direction:column;align-items:flex-start;gap:6px;}
  header nav ul li{width:100%;}
  header nav a{display:block;width:100%;padding:14px 2px;font-size:1.05rem;border-bottom:1px solid rgba(214,156,71,0.18);}
  .nav-backdrop{display:block;position:fixed;inset:0;background:rgba(37,5,16,0.55);z-index:36;
    opacity:0;pointer-events:none;transition:opacity .3s ease;}
  .nav-backdrop.open{opacity:1;pointer-events:auto;}
  body.nav-open-lock{overflow:hidden;}
}
@media (max-width: 600px){
  .gallery, .teaser-gallery{gap:12px;}
  .wrap{padding:0 22px;}
  section{padding:70px 0;}
  .occ-grid{grid-template-columns:1fr;}
  .hero-strip{grid-template-columns:1fr 1fr;}
  .brand img{height:42px;width:42px;}
  .brand .brand-text{font-size:1.1rem;}
  .brand .brand-text span{font-size:0.52rem;letter-spacing:0.14em;margin-top:3px;}
}


/* Lightbox popup */
.lb{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(37,5,16,0.97);padding:56px 64px;}
.lb.open{display:flex;}
.lb-figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center;gap:14px;}
.lb-figure img{max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;border:2px solid var(--gold);border-radius:6px;background:#111;}
.lb-cap{color:var(--cream);font-family:var(--display);font-style:italic;font-size:1rem;text-align:center;min-height:1.4em;}
.lb-count{position:absolute;top:22px;left:26px;color:var(--gold-light);font-size:0.85rem;letter-spacing:0.1em;}
.lb button{position:absolute;background:rgba(59,10,26,0.7);border:1px solid var(--gold);color:var(--gold-light);cursor:pointer;border-radius:50%;width:46px;height:46px;font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s ease;}
.lb button:hover{background:var(--wine);}
.lb-close{top:16px;right:20px;}
.lb-prev{left:14px;top:50%;transform:translateY(-50%);}
.lb-next{right:14px;top:50%;transform:translateY(-50%);}
body.lb-lock{overflow:hidden;}
@media (max-width:600px){
  .lb{padding:60px 12px 70px;}
  .lb-prev, .lb-next{top:auto;bottom:16px;transform:none;}
  .lb-prev{left:calc(50% - 56px);}
  .lb-next{right:calc(50% - 56px);}
}

/* Floating WhatsApp button */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,0.35);text-decoration:none;transition:transform .2s ease, box-shadow .2s ease;}
.wa-float:hover{transform:scale(1.08);box-shadow:0 8px 22px rgba(0,0,0,0.45);}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:waPulse 2.2s ease-out infinite;}
@keyframes waPulse{0%{transform:scale(1);opacity:0.7;}100%{transform:scale(1.6);opacity:0;}}
@media (prefers-reduced-motion: reduce){ .wa-float::before{animation:none;display:none;} }
@media (max-width:600px){ .wa-float{right:16px;bottom:16px;width:54px;height:54px;} }


/* =====================================================================
   Redesign layer: preloader, reveal, icons, sections, blog, footer
   ===================================================================== */
.ico{flex-shrink:0;}
html{scroll-padding-top:90px;}
.btn-sm{padding:10px 22px;font-size:0.85rem;border-bottom:none !important;color:var(--maroon-deep) !important;}
nav a.btn-sm:hover{color:var(--maroon-deep);}

/* Preloader + scroll progress */
.preloader{position:fixed;inset:0;z-index:999;background:var(--maroon-deep);display:flex;align-items:center;justify-content:center;transition:opacity .5s ease, visibility .5s ease;}
.preloader.done{opacity:0;visibility:hidden;}
.preloader img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:2px solid var(--gold);}
.pl-ring{position:absolute;width:130px;height:130px;border-radius:50%;border:3px solid rgba(214,156,71,0.18);border-top-color:var(--gold);animation:plSpin 1s linear infinite;}
@keyframes plSpin{to{transform:rotate(360deg);}}
html.no-js .preloader{display:none;}
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:998;background:linear-gradient(90deg,#f19329,#951F44,#d69c47);}

/* Scroll reveal */
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease, transform .8s ease;}
.js .reveal.in{opacity:1;transform:none;}
.js .reveal.from-left{transform:translateX(-40px);}
.js .reveal.from-right{transform:translateX(40px);}
.js .reveal.zoom{transform:scale(.94);}
.js .reveal.in.from-left,.js .reveal.in.from-right,.js .reveal.in.zoom{transform:none;}
@media (prefers-reduced-motion: reduce){ .js .reveal{opacity:1;transform:none;transition:none;} .pl-ring{animation:none;} }

/* Hero extras */
.hero-greet{display:inline-block;color:var(--gold-light);transition:opacity .35s ease, transform .35s ease;}
.hero-greet.swap{opacity:0;transform:translateY(8px);}
.hero-down{position:absolute;left:50%;bottom:118px;transform:translateX(-50%);z-index:3;color:var(--gold-light);animation:bob 2s ease-in-out infinite;}
@keyframes bob{50%{transform:translate(-50%,8px);}}
@media (max-width:900px){ .hero-down{display:none;} }

/* Ticker */
.ticker{overflow:hidden;background:linear-gradient(90deg,#f19329,#d69c47,#f19329);color:var(--maroon-deep);padding:14px 0;white-space:nowrap;}
.ticker-track{display:inline-flex;gap:46px;animation:tick 32s linear infinite;padding-left:46px;}
.ticker-track span{display:inline-flex;align-items:center;gap:12px;font-family:var(--display);font-weight:700;font-size:1.05rem;}
.ticker:hover .ticker-track{animation-play-state:paused;}
@keyframes tick{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){ .ticker-track{animation:none;} }
.ticker-top{border-bottom:1px solid var(--maroon-deep);}

/* Home about */
.home-about{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.about-imgs{position:relative;padding:0 0 60px;}
.about-imgs .img-a{width:78%;aspect-ratio:4/5;object-fit:cover;border-radius:10px;border:2px solid var(--gold);}
.about-imgs .img-b{position:absolute;right:0;bottom:0;width:52%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:6px solid var(--cream);box-shadow:0 14px 34px rgba(59,10,26,0.3);}
.since-badge{position:absolute;left:-14px;top:38px;background:linear-gradient(135deg,var(--wine),var(--maroon));color:var(--gold-light);border:2px solid var(--gold);border-radius:50%;width:112px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 10px 26px rgba(0,0,0,0.3);}
.since-badge strong{font-family:var(--display);font-size:1.9rem;line-height:1;}
.since-badge span{font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;margin-top:4px;}
.icon-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0 34px;}
.icon-box{background:var(--ivory);border:1px solid var(--line-gold);border-radius:10px;padding:18px 14px;text-align:center;transition:transform .3s ease, box-shadow .3s ease;}
.icon-box:hover{transform:translateY(-6px);box-shadow:0 14px 28px rgba(59,10,26,0.15);}
.icon-box .ico{color:var(--wine);margin-bottom:8px;}
.icon-box strong{display:block;font-family:var(--display);font-size:1.5rem;color:var(--wine);}
.icon-box span{font-size:0.78rem;color:#4d4347;line-height:1.35;display:block;}

/* Occasion image cards */
.sec-head{text-align:center;margin-bottom:50px;}
.sec-head .section-title{margin-left:auto;margin-right:auto;}
.sec-head .lede{margin:0 auto;}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.svc-card{position:relative;border-radius:12px;overflow:hidden;background:var(--maroon-deep);border:1px solid var(--line-gold);transition:transform .35s ease, box-shadow .35s ease;}
.svc-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,0.4);}
.svc-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s ease;opacity:.85;}
.svc-card:hover img{transform:scale(1.07);}
.svc-card .svc-body{position:absolute;inset:auto 0 0 0;padding:70px 22px 22px;background:linear-gradient(0deg,rgba(37,5,16,0.96),transparent);}
.svc-card .svc-ico{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#f19329,#d69c47);color:var(--maroon-deep);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.svc-card h3{font-family:var(--display);font-size:1.35rem;margin:0 0 6px;color:var(--ivory);}
.svc-card p{margin:0;font-size:0.88rem;line-height:1.55;color:rgba(255,248,239,0.8);}

/* Why choose us */
.wcu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.wcu{background:var(--ivory);padding:34px 24px;text-align:center;border:5px solid transparent;border-image:linear-gradient(to right,#f19329,#951F44,#d69c47) 1;transition:transform .3s ease, box-shadow .3s ease;}
.wcu:hover{transform:translateY(-8px);box-shadow:0 18px 36px rgba(59,10,26,0.18);}
.wcu .ico{color:var(--wine);margin-bottom:14px;}
.wcu h3{font-family:var(--display);font-size:1.2rem;margin:0 0 8px;color:var(--maroon);}
.wcu p{margin:0;font-size:0.9rem;line-height:1.6;color:#4d4347;}

/* Counter band */
.counter-band{background:linear-gradient(135deg,var(--maroon),var(--maroon-deep));padding:70px 0;border-top:1px solid var(--line-gold);border-bottom:1px solid var(--line-gold);}
.counter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
.counter-grid .ico{color:var(--gold);margin-bottom:8px;}
.counter-grid strong{display:block;font-family:var(--display);font-size:clamp(2rem,4vw,3rem);color:var(--gold-light);line-height:1.1;}
.counter-grid span{color:rgba(255,248,239,0.72);font-size:0.9rem;}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.blog-card{background:var(--ivory);border:1px solid var(--line-gold);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s ease, box-shadow .35s ease;}
.blog-card[hidden]{display:none;}
.blog-card:hover{transform:translateY(-8px);box-shadow:0 20px 38px rgba(59,10,26,0.2);}
.blog-thumb{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;}
.blog-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.blog-card:hover .blog-thumb img{transform:scale(1.07);}
.blog-tag{position:absolute;left:14px;top:14px;background:var(--maroon-deep);color:var(--gold-light);border:1px solid var(--gold);font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;padding:5px 12px;border-radius:99px;font-weight:500;}
.blog-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1;}
.blog-meta{display:flex;gap:16px;font-size:0.78rem;color:#766a6e;margin-bottom:10px;}
.blog-meta span{display:inline-flex;align-items:center;gap:6px;}
.blog-card h3{font-family:var(--display);font-size:1.25rem;line-height:1.3;margin:0 0 10px;color:var(--maroon);}
.blog-card h3 a{text-decoration:none;}
.blog-card h3 a:hover{color:var(--wine);}
.blog-card p{margin:0 0 18px;font-size:0.92rem;line-height:1.65;color:#4d4347;flex:1;}
.read-more{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:500;font-size:0.9rem;color:var(--wine);}
.read-more .ico{transition:transform .25s ease;}
.read-more:hover .ico{transform:translateX(5px);}
.blog-tools{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;margin-bottom:34px;}
.chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{font:inherit;font-size:0.88rem;padding:9px 18px;border-radius:99px;border:1px solid var(--line-gold);background:transparent;color:var(--maroon);cursor:pointer;transition:all .2s ease;}
.chip:hover{border-color:var(--wine);}
.chip[aria-pressed="true"]{background:var(--wine);color:var(--ivory);border-color:var(--wine);}
.search-box{position:relative;min-width:240px;}
.search-box .ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--wine);}
.search-box input{width:100%;padding:11px 14px 11px 42px;border-radius:99px;border:1px solid var(--line-gold);background:#fff;font:inherit;font-size:0.92rem;color:var(--ink);}
.search-box input:focus{outline:none;border-color:var(--wine);}
.blog-empty{text-align:center;padding:50px 0;color:#4d4347;}
.blog-empty[hidden]{display:none;}
.blog-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border:1px solid var(--line-gold);border-radius:14px;overflow:hidden;background:var(--maroon);color:var(--ivory);margin-bottom:50px;}
.blog-feature img{width:100%;height:100%;object-fit:cover;min-height:320px;}
.blog-feature .bf-body{padding:44px 40px;display:flex;flex-direction:column;justify-content:center;}
.blog-feature .eyebrow{color:var(--gold-light);}
.blog-feature h2{font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0 0 14px;line-height:1.25;}
.blog-feature h2 a{text-decoration:none;}
.blog-feature p{color:rgba(255,248,239,0.8);line-height:1.7;margin:0 0 22px;}
.blog-feature .blog-meta{color:rgba(255,248,239,0.65);}
.blog-feature .read-more{color:var(--gold-light);}

/* Blog post */
.post-hero{padding:150px 0 50px;background:linear-gradient(135deg,var(--maroon-deep),var(--maroon));color:var(--ivory);border-bottom:1px solid var(--line-gold);}
.post-hero .blog-meta{color:rgba(255,248,239,0.7);}
.post-hero h1{font-family:var(--display);font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.18;margin:12px 0 16px;max-width:820px;}
.crumbs{font-size:0.82rem;color:rgba(255,248,239,0.65);margin-bottom:6px;}
.crumbs a{text-decoration:none;color:var(--gold-light);}
.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:60px;align-items:start;}
.post-cover{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:2px solid var(--gold);margin-bottom:34px;}
.post-content{font-size:1.05rem;line-height:1.85;color:#3b3236;font-weight:300;}
.post-content h2{font-family:var(--display);font-size:1.6rem;color:var(--maroon);margin:38px 0 12px;}
.post-content ul{padding-left:1.2em;}
.post-content li{margin-bottom:10px;}
.post-content strong{font-weight:600;color:var(--maroon);}
.post-share{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:44px 0 0;padding-top:24px;border-top:1px solid var(--line-gold);}
.post-share>span{font-weight:500;color:var(--maroon);display:inline-flex;gap:8px;align-items:center;}
.btn-pill{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:0.85rem;padding:9px 18px;border-radius:99px;border:1px solid var(--wine);color:var(--wine);background:transparent;text-decoration:none;cursor:pointer;transition:all .2s ease;}
.btn-pill:hover{background:var(--wine);color:var(--ivory);}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px;}
.post-nav a{display:block;padding:18px 20px;border:1px solid var(--line-gold);border-radius:10px;text-decoration:none;background:var(--ivory);transition:border-color .2s ease, transform .2s ease;}
.post-nav a:hover{border-color:var(--wine);transform:translateY(-3px);}
.post-nav small{display:block;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--wine);margin-bottom:4px;font-weight:600;}
.post-nav .next{text-align:right;}
.sidebar{position:sticky;top:100px;display:flex;flex-direction:column;gap:24px;}
.side-card{background:var(--ivory);border:1px solid var(--line-gold);border-radius:12px;padding:26px;}
.side-card h3{font-family:var(--display);font-size:1.15rem;margin:0 0 14px;color:var(--wine);}
.side-card.dark{background:linear-gradient(160deg,var(--wine),var(--maroon-deep));border-color:var(--gold);color:var(--ivory);}
.side-card.dark h3{color:var(--gold-light);}
.side-card.dark p{font-size:0.92rem;line-height:1.6;color:rgba(255,248,239,0.85);margin:0 0 16px;}
.side-list{list-style:none;margin:0;padding:0;}
.side-list li{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line-gold);}
.side-list li:first-child{border-top:none;padding-top:0;}
.side-list img{width:64px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0;}
.side-list a{text-decoration:none;font-size:0.9rem;line-height:1.4;color:var(--maroon);}
.side-list a:hover{color:var(--wine);}
.cat-links{display:flex;flex-wrap:wrap;gap:8px;}
.cat-links a{font-size:0.8rem;padding:6px 14px;border-radius:99px;border:1px solid var(--line-gold);text-decoration:none;color:var(--maroon);}
.cat-links a:hover{background:var(--wine);color:var(--ivory);border-color:var(--wine);}

/* Page banner upgrade */
.page-banner{position:relative;overflow:hidden;}
.page-banner::before{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;border-radius:50%;border:1px solid var(--line-gold);box-shadow:0 0 0 40px rgba(214,156,71,0.05), 0 0 0 80px rgba(214,156,71,0.03);}
.page-banner .wrap{position:relative;}

/* Footer upgrade */
footer{padding:0;}
.foot-main{padding-top:70px;padding-bottom:40px;}
.foot-cols{display:grid;grid-template-columns:1.4fr .8fr 1.3fr 1.4fr;gap:40px;}
.foot-about p{color:rgba(255,248,239,0.6);font-size:0.9rem;max-width:280px;line-height:1.65;}
.foot-social{display:flex;gap:10px;margin-top:18px;}
.foot-social a{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-gold);display:flex;align-items:center;justify-content:center;color:var(--gold-light);transition:all .25s ease;}
.foot-social a:hover{background:var(--gold);color:var(--maroon-deep);transform:translateY(-3px);}
.foot-posts li a{line-height:1.45;display:block;}
.foot-contact li{display:flex;gap:12px;align-items:flex-start;}
.foot-contact .ico{color:var(--gold);margin-top:3px;}
.foot-bottom a{text-decoration:none;display:inline-flex;gap:6px;align-items:center;color:var(--gold-light);}
.to-top{position:fixed;right:24px;bottom:94px;z-index:60;width:46px;height:46px;border-radius:50%;border:1px solid var(--gold);background:var(--maroon);color:var(--gold-light);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .3s ease;}
.to-top.show{opacity:1;visibility:visible;transform:none;}
.to-top:hover{background:var(--wine);}

/* Misc pages */
.map-frame{width:100%;height:340px;border:2px solid var(--gold);border-radius:12px;margin-top:30px;filter:saturate(.9);}
.timeline{position:relative;max-width:760px;margin:0 auto;padding-left:34px;}
.timeline::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--gold),transparent);}
.tl-item{position:relative;padding:0 0 34px;}
.tl-item::before{content:"";position:absolute;left:-34px;top:6px;width:18px;height:18px;border-radius:50%;background:var(--maroon);border:3px solid var(--gold);}
.tl-item h3{font-family:var(--display);color:var(--gold-light);margin:0 0 6px;font-size:1.2rem;}
.tl-item p{margin:0;color:rgba(255,248,239,0.78);line-height:1.65;font-size:0.95rem;}
.pkg-card{transition:transform .3s ease, box-shadow .3s ease;}
.pkg-card:hover{box-shadow:0 18px 36px rgba(59,10,26,0.2);}
.contact-item{transition:transform .25s ease, border-color .25s ease;}
.contact-item:hover{transform:translateX(6px);border-color:var(--wine);}

@media (max-width:1000px){
  .svc-grid,.wcu-grid{grid-template-columns:repeat(2,1fr);}
  .blog-grid{grid-template-columns:repeat(2,1fr);}
  .foot-cols{grid-template-columns:1fr 1fr;}
  .post-layout{grid-template-columns:1fr;}
  .sidebar{position:static;}
}
@media (max-width:900px){
  .home-about{grid-template-columns:1fr;gap:40px;}
  .counter-grid{grid-template-columns:repeat(2,1fr);row-gap:34px;}
  .blog-feature{grid-template-columns:1fr;}
  .blog-feature img{min-height:220px;max-height:280px;}
  header nav ul li.nav-cta{margin-top:14px;}
  header nav a.btn-sm{text-align:center;border-bottom:none;}
}
@media (max-width:600px){
  .svc-grid,.wcu-grid,.blog-grid{grid-template-columns:1fr;}
  .icon-boxes{grid-template-columns:1fr;}
  .foot-cols{grid-template-columns:1fr;}
  .post-nav{grid-template-columns:1fr;}
  .blog-feature .bf-body{padding:28px 22px;}
  .to-top{right:18px;bottom:82px;}
  .since-badge{width:92px;height:92px;left:-6px;}
  .since-badge strong{font-size:1.5rem;}
}


/* =====================================================================
   LIGHT THEME (orange #f19329 / crimson #951F44 / gold #d69c47 on white)
   ===================================================================== */
:root{--tint:#FFF5E6;--tint-2:#FFE9C7;--muted:#5b4f54;}
body{background:#fff;color:var(--ink);}

/* Header */
header,header.on-hero{background:rgba(255,255,255,0.96);border-bottom:1px solid rgba(214,156,71,0.35);}
header.on-hero{background:rgba(255,255,255,0.88);}
header.scrolled{background:rgba(255,255,255,0.98);box-shadow:0 6px 22px rgba(43,34,38,0.12);}
.brand .brand-text{color:var(--wine);}
.brand .brand-text span{color:var(--gold-deep);}
nav a{color:var(--ink);}
nav a:hover,nav a:focus-visible,nav a.current{color:var(--wine);border-color:var(--orange);}
.nav-toggle span{background:var(--wine);}
.btn-sm{color:var(--ink) !important;}
nav a.btn-sm:hover{color:var(--ink);}

/* Hero: light overlay so the photos stay visible */
.hero{background:#fff;}
.hero-slideshow img{filter:saturate(1.05);}
@keyframes heroFade{0%{opacity:0;}2%{opacity:1;}6%{opacity:1;}16%{opacity:1;}20%{opacity:0;}100%{opacity:0;}}
@media (prefers-reduced-motion: reduce){.hero-slideshow img:first-child{opacity:1;}}
.hero::after{background:radial-gradient(ellipse at 30% 20%, rgba(241,147,41,0.22), transparent 55%),
  linear-gradient(180deg, rgba(255,255,255,0.90) 0%, rgba(255,250,242,0.80) 50%, rgba(255,255,255,0.94) 100%);}
.kicker,.hero-greet{color:var(--wine);}
h1.hero-title{color:var(--ink);}
h1.hero-title em{color:var(--wine);}
.hero-sub{color:var(--muted);}
.hero-badge{box-shadow:0 0 0 6px rgba(241,147,41,0.18);}
.hero-strip{border-top:1px solid var(--line-gold);background:rgba(255,255,255,0.7);}
.hero-strip strong{color:var(--wine);}
.hero-strip span{color:var(--muted);}
.hero-down{color:var(--wine);}
.btn-ghost{border:1px solid var(--wine);color:var(--wine);background:rgba(255,255,255,0.6);}
.btn-ghost:hover{background:rgba(149,31,68,0.08);}
.btn-solid{color:var(--ink);}

/* Sections */
.section-light{background:#fff;}
.section-dark{background:var(--tint);color:var(--ink);}
.section-dark .eyebrow{color:var(--wine);}
h2.section-title,.section-dark h2.section-title{color:var(--ink);}
.lede,.section-dark .lede{color:var(--muted);}
.eyebrow{color:var(--wine);}
.teaser-gallery figure{border-color:var(--gold);}

/* Occasion cards: image on top, white text panel below */
.svc-card{background:#fff;border:1px solid var(--line-gold);box-shadow:0 10px 26px rgba(43,34,38,0.08);}
.svc-card:hover{box-shadow:0 18px 38px rgba(43,34,38,0.16);}
.svc-card img{aspect-ratio:4/3;opacity:1;}
.svc-card .svc-body{position:relative;inset:auto;padding:0 22px 24px;background:#fff;}
.svc-card .svc-ico{margin:-23px 0 12px;border:3px solid #fff;box-shadow:0 4px 12px rgba(241,147,41,0.4);color:var(--ink);}
.svc-card h3{color:var(--ink);}
.svc-card p{color:var(--muted);}

/* Why choose us */
.wcu{background:#fff;}
.wcu h3{color:var(--ink);}
.wcu p{color:var(--muted);}
.wcu .ico,.icon-box .ico{color:var(--orange);}
.icon-box{background:#fff;box-shadow:0 8px 22px rgba(43,34,38,0.08);}
.icon-box strong{color:var(--wine);}
.icon-box span{color:var(--muted);}
.since-badge{background:linear-gradient(135deg,var(--wine),#b8325a);color:#fff;border-color:#fff;box-shadow:0 10px 26px rgba(149,31,68,0.35);}
.about-imgs .img-b{border-color:#fff;box-shadow:0 14px 34px rgba(43,34,38,0.25);}

/* Counters */
.counter-band{background:linear-gradient(135deg,var(--tint),var(--tint-2));border-color:var(--line-gold);}
.counter-grid .ico{color:var(--orange);}
.counter-grid strong{color:var(--wine);}
.counter-grid span{color:var(--muted);}

/* Quote + CTA */
.quote-strip{background:linear-gradient(135deg,var(--tint),var(--tint-2));color:var(--ink);}
.quote-strip blockquote{color:var(--wine);}
.quote-strip cite{color:var(--gold-deep);}
.cta-band{background:#fff;color:var(--ink);}

/* Page banners */
.page-banner,.post-hero{background:linear-gradient(135deg,var(--tint),var(--tint-2));color:var(--ink);border-bottom:1px solid var(--line-gold);}
.page-banner .eyebrow{color:var(--wine);}
.page-banner h1,.post-hero h1{color:var(--ink);}
.page-banner p{color:var(--muted);}
.page-banner::before{border-color:rgba(241,147,41,0.5);box-shadow:0 0 0 40px rgba(241,147,41,0.08),0 0 0 80px rgba(241,147,41,0.05);}
.post-hero .blog-meta,.crumbs{color:var(--muted);}
.crumbs a{color:var(--wine);}

/* Blog */
.blog-tag{background:var(--wine);color:#fff;border-color:transparent;}
.blog-card{background:#fff;box-shadow:0 8px 24px rgba(43,34,38,0.07);}
.blog-card:hover{box-shadow:0 20px 38px rgba(43,34,38,0.16);}
.blog-card h3{color:var(--ink);}
.blog-card h3 a:hover,.read-more{color:var(--wine);}
.chip{color:var(--ink);}
.blog-feature{background:linear-gradient(135deg,var(--tint),var(--tint-2));color:var(--ink);}
.blog-feature .eyebrow,.blog-feature .read-more{color:var(--wine);}
.blog-feature p{color:var(--muted);}
.blog-feature .blog-meta{color:var(--muted);}
.post-content h2,.post-content strong,.post-share>span{color:var(--ink);}
.side-card{background:#fff;}
.side-card.dark{background:linear-gradient(160deg,var(--tint-2),#FFD9A0);border-color:var(--gold);color:var(--ink);}
.side-card.dark h3{color:var(--wine);}
.side-card.dark p{color:var(--muted);}
.side-list a,.cat-links a{color:var(--ink);}
.post-nav a{color:var(--ink);background:#fff;}

/* Footer */
footer{background:var(--tint);color:var(--ink);border-top:1px solid var(--line-gold);}
.foot-brand .brand-text{color:var(--wine);}
.foot-about p{color:var(--muted);}
.foot-cols h3{color:var(--wine);}
.foot-cols li{color:var(--muted);}
.foot-cols a:hover{color:var(--wine);}
.foot-social a{color:var(--wine);border-color:var(--gold);background:#fff;}
.foot-social a:hover{background:var(--orange);color:var(--ink);border-color:var(--orange);}
.foot-contact .ico{color:var(--orange);}
.foot-bottom{color:#766a6e;border-top-color:var(--line-gold);}
.foot-bottom a{color:var(--wine);}
.to-top{background:var(--wine);color:#fff;border-color:#fff;box-shadow:0 6px 16px rgba(149,31,68,0.35);}
.to-top:hover{background:var(--orange);color:var(--ink);}

/* Misc */
.tl-item::before{background:#fff;border-color:var(--orange);}
.pkg-card:hover{box-shadow:0 18px 36px rgba(43,34,38,0.16);}
.preloader{background:#fff;}
.pl-ring{border-color:rgba(241,147,41,0.2);border-top-color:var(--orange);}
.preloader img{border-color:var(--gold);}
.scroll-progress{background:linear-gradient(90deg,#f19329,#951F44,#d69c47);}
.nav-backdrop{background:rgba(43,34,38,0.45);}

/* Lightbox (light) */
.lb{background:rgba(255,250,242,0.97);}
.lb-cap{color:var(--ink);}
.lb-count{color:var(--wine);}
.lb button{background:#fff;border-color:var(--orange);color:var(--wine);}
.lb button:hover{background:var(--orange);color:var(--ink);}
.lb-figure img{background:#fff;border-color:var(--gold);}

@media (max-width:900px){
  header nav{background:#fff;box-shadow:-10px 0 30px rgba(43,34,38,0.2);}
  header nav a{border-bottom:1px solid rgba(214,156,71,0.3);}
}

/* Hero: no overlay - photos show at full strength, text carries its own shadow */
.hero::after{display:none;}
.hero-slideshow img{opacity:0;}
.hero-badge{border-color:#fff;box-shadow:0 0 0 6px rgba(255,255,255,0.35),0 8px 24px rgba(0,0,0,0.35);}
.kicker,.hero-greet{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,0.7);}
h1.hero-title{color:#fff;text-shadow:0 3px 14px rgba(0,0,0,0.75),0 1px 3px rgba(0,0,0,0.6);}
h1.hero-title em{color:#FFD08A;}
.hero-sub{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,0.8),0 1px 3px rgba(0,0,0,0.6);font-weight:400;}
.hero-down{color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,0.7));}
.btn-ghost{border:2px solid #fff;color:#fff;background:rgba(0,0,0,0.15);text-shadow:0 1px 4px rgba(0,0,0,0.6);}
.btn-ghost:hover{background:rgba(255,255,255,0.2);}
.hero .btn-solid{box-shadow:0 6px 18px rgba(0,0,0,0.3);}
.hero-strip{background:rgba(255,255,255,0.92);border-top:1px solid var(--line-gold);}
@keyframes heroFade{0%{opacity:0;}2%{opacity:1;}6%{opacity:1;}16%{opacity:1;}20%{opacity:0;}100%{opacity:0;}}
@media (prefers-reduced-motion: reduce){.hero-slideshow img:first-child{opacity:1;}}

/* Hero background video */
.hero-video-wrap{position:absolute;inset:0;z-index:0;overflow:hidden;background:#222;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-slideshow{display:none;}
.hero-badge,.kicker,h1.hero-title,.hero-sub{position:relative;}
h1.hero-title{text-shadow:0 3px 16px rgba(0,0,0,0.9),0 1px 4px rgba(0,0,0,0.8);}
.hero-sub,.kicker,.hero-greet{text-shadow:0 2px 12px rgba(0,0,0,0.95),0 1px 4px rgba(0,0,0,0.85);}
@media (prefers-reduced-motion: reduce){.hero-video{display:none;}.hero-video-wrap{background:#222 url(../video/hero-poster.jpg) center/cover no-repeat;}}

/* Hero: strip sits flush at the bottom, no empty video below it */
.hero{align-items:stretch;}
.hero-content{display:flex;flex-direction:column;min-height:100vh;padding-top:96px;}
.hero-content>.wrap{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding-bottom:30px;}
.hero-content .cta-row{margin-bottom:0;}
.hero-content .hero-strip{margin-top:auto;}
.hero-down{bottom:104px;}
@media (max-width:900px){.hero-content{min-height:100svh;}}

/* Contact pop-up */
.pop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .3s ease;}
.pop[hidden]{display:none;}
.pop.show{opacity:1;}
.pop-backdrop{position:absolute;inset:0;background:rgba(43,34,38,0.55);}
.pop-card{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;width:min(860px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:16px;border-top:5px solid var(--orange);box-shadow:0 30px 70px rgba(0,0,0,0.35);transform:translateY(24px) scale(.97);transition:transform .35s ease;}
.pop.show .pop-card{transform:none;}
.pop-close{position:absolute;right:12px;top:8px;z-index:3;width:38px;height:38px;border-radius:50%;border:none;background:#fff;color:var(--wine);font-size:1.7rem;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.2);}
.pop-close:hover{background:var(--orange);color:var(--ink);}
.pop-side{position:relative;min-height:100%;}
.pop-side img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pop-side-text{position:absolute;left:0;right:0;bottom:0;padding:50px 22px 22px;background:linear-gradient(0deg,rgba(0,0,0,0.7),transparent);color:#fff;display:flex;flex-direction:column;gap:4px;}
.pop-side-text strong{font-family:var(--display);font-size:1.3rem;}
.pop-side-text span{font-size:0.88rem;opacity:.92;}
.pop-body{padding:34px 34px 30px;}
.pop-body h2{font-family:var(--display);font-size:1.7rem;margin:0 0 18px;color:var(--ink);}
.pop-body label{display:block;font-size:0.78rem;color:#766a6e;margin-bottom:5px;}
.pop-body input,.pop-body select,.pop-body textarea{width:100%;border:1px solid rgba(149,31,68,0.25);border-radius:6px;padding:10px 12px;font-family:var(--sans);font-size:0.95rem;color:var(--ink);background:#fff;margin-bottom:14px;}
.pop-body input:focus,.pop-body select:focus,.pop-body textarea:focus{outline:none;border-color:var(--wine);box-shadow:0 0 0 3px rgba(241,147,41,0.25);}
.pop-body textarea{resize:vertical;min-height:56px;}
.pop-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.pop-submit{width:100%;border:none;cursor:pointer;text-align:center;}
.pop-err{color:#b3261e;font-size:0.85rem;margin:0 0 12px;}
.pop-err[hidden],.pop-note[hidden]{display:none;}
.pop-note{margin:12px 0 0;font-size:0.85rem;color:var(--wine);}
body.pop-lock{overflow:hidden;}
@media (max-width:700px){
  .pop-card{grid-template-columns:1fr;}
  .pop-side{display:none;}
  .pop-body{padding:30px 22px 24px;}
  .pop-row{grid-template-columns:1fr;gap:0;}
}
@media (prefers-reduced-motion: reduce){.pop,.pop-card{transition:none;}}
.hero{padding:0;}
