/*
  Mandy Eventique – Theme Styles
  Palette drawn from the logo: terracotta, blush, cream, deep brown, sand.
  Designed for performance: small file, modern CSS, responsive first.
*/

:root{
  --clr-bg:#F7F3EF; /* cream */
  --clr-text:#332821; /* deep brown */
  --clr-muted:#6e5b50;
  --clr-brand:#C67641; /* terracotta */
  --clr-brand-2:#E8B26C; /* honey gold */
  --clr-accent:#E3B2A8; /* blush */
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --max:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--clr-text); background:var(--clr-bg);
  line-height:1.6; text-rendering:optimizeLegibility;
}
/* Prevent horizontal scroll on mobile due to any overflowing child */
html,body{width:100%; overflow-x:hidden}

.script{font-family:'Allura', cursive; font-weight:400; letter-spacing:.5px}
h1,h2,h3,h4{font-family:'Cormorant Garamond', Georgia, 'Times New Roman', serif; line-height:1.2; margin:0 0 .5rem}
h1{font-size:clamp(2.2rem,5vw,4rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h3{font-size:clamp(1.25rem,2.2vw,1.6rem)}
h4{font-size:1.1rem}
p{margin:.5rem 0 1rem}

.container{max-width:var(--max); margin:0 auto; padding:0 20px}
.section{padding:72px 0}
.subhead{margin-top:2.5rem}
.eyebrow{letter-spacing:.14em; text-transform:uppercase; color:var(--clr-muted); font-size:.78rem}
.note{margin-top:1rem; color:var(--clr-muted)}
.tiny{font-size:.85rem; color:var(--clr-muted)}
.hidden{position:absolute; left:-9999px}

/* Header */
.site-header{position:fixed; top:0; left:0; right:0; z-index:40; background:rgba(247,243,239,.7); backdrop-filter:saturate(140%) blur(8px); border-bottom:1px solid #e9dfd7}
.site-header + main{padding-top:80px}
/* Prevent anchor targets from hiding under the fixed header */
.section{scroll-margin-top:90px}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; min-height:64px}
.brand img{display:block; width:70px; height:auto}
.menu{display:flex; gap:22px; list-style:none; margin:0; padding:0; align-items:center}
.menu a{color:var(--clr-text); text-decoration:none; font-weight:500}
.menu a:hover{color:var(--clr-brand)}
.lang-switcher{display:flex; align-items:center; gap:6px; margin-left:8px}
.lang-switcher .sep{color:var(--clr-muted); opacity:.6}
.lang-link{color:var(--clr-text); text-decoration:none; font-weight:600; padding:.25rem .5rem; border-radius:8px; transition:all .25s ease}
.lang-link:hover{color:var(--clr-brand)}
.lang-link.active{color:#fff; background:linear-gradient(135deg, var(--clr-brand), var(--clr-brand-2)); box-shadow:0 2px 8px rgba(198,118,65,.25)}
.nav-toggle{
  display:none; 
  background:transparent; 
  border:2px solid var(--clr-brand); 
  padding:.65rem; 
  border-radius:12px;
  cursor:pointer;
  transition:all .3s ease;
  position:relative;
  overflow:hidden;
}
.nav-toggle:hover{
  background:linear-gradient(135deg, rgba(198,118,65,.08), rgba(232,178,108,.1));
  transform:scale(1.05);
  box-shadow:0 4px 12px rgba(198,118,65,.15);
}
.nav-toggle:active{
  transform:scale(0.98);
}

/* Hamburger Icon */
.hamburger-icon{
  display:flex;
  flex-direction:column;
  gap:5px;
  width:24px;
  height:18px;
  position:relative;
}
.hamburger-icon span{
  display:block;
  width:100%;
  height:2.5px;
  background:var(--clr-brand);
  border-radius:2px;
  transition:all .3s cubic-bezier(.4,0,.2,1);
  transform-origin:center;
}
.nav.open .hamburger-icon span:nth-child(1){
  transform:translateY(7.5px) rotate(45deg);
}
.nav.open .hamburger-icon span:nth-child(2){
  opacity:0;
  transform:scaleX(0);
}
.nav.open .hamburger-icon span:nth-child(3){
  transform:translateY(-7.5px) rotate(-45deg);
}

/* Buttons */
.btn{
  display:inline-block; 
  padding:.85rem 1.5rem; 
  border-radius:999px; 
  text-decoration:none; 
  font-weight:600; 
  border:2px solid transparent;
  transition:all .35s cubic-bezier(.4,0,.2,1);
  position:relative;
  overflow:hidden;
  letter-spacing:.02em;
}
.btn-primary{
  background:linear-gradient(135deg,var(--clr-brand) 0%, var(--clr-brand-2) 100%); 
  color:#fff; 
  box-shadow:0 4px 15px rgba(198,118,65,.25), 0 2px 5px rgba(198,118,65,.15);
  border-color:transparent;
}
.btn-primary::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.15) 0%, transparent 50%, rgba(232,178,108,.2) 100%);
  opacity:0;
  transition:opacity .35s ease;
}
.btn-primary:hover{
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 8px 25px rgba(198,118,65,.35), 0 4px 12px rgba(198,118,65,.2);
  background:linear-gradient(135deg,#d17f4a 0%, #ebb970 100%);
}
.btn-primary:hover::before{
  opacity:1;
}
.btn-primary:active{
  transform:translateY(0) scale(1);
  transition-duration:.15s;
}
.btn-ghost{
  border-color:var(--clr-brand); 
  color:var(--clr-brand); 
  background:transparent;
  box-shadow:0 0 0 rgba(198,118,65,0);
}
.btn-ghost::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg,var(--clr-brand), var(--clr-brand-2));
  opacity:0;
  transition:opacity .35s ease;
  z-index:-1;
  border-radius:999px;
}
.btn-ghost:hover{
  color:#fff;
  border-color:var(--clr-brand-2);
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 6px 20px rgba(198,118,65,.2);
}
.btn-ghost:hover::before{
  opacity:1;
}
.btn-ghost:active{
  transform:translateY(0) scale(1);
  transition-duration:.15s;
}

/* Hero */
.hero{position:relative; min-height:100vh; min-height:100svh; display:grid; align-items:center}
.hero-media{position:absolute; inset:0; overflow:hidden; border-bottom:1px solid #eadfd8; background-position:center; background-size:cover; background-repeat:no-repeat; background-color:var(--clr-bg)}
.hero-ambient{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; opacity:1}
.hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:1; transition:opacity .6s ease; z-index:3; pointer-events:none}
.overlay{position:absolute; inset:0; background:linear-gradient(180deg, rgba(247,243,239,.0), rgba(247,243,239,.85) 60%, var(--clr-bg)); z-index:1}
.hero-content{position:relative; padding:0; text-align:left; z-index:2; opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease}
.hero.in .hero-content{opacity:1; transform:none}
.hero.in .cta-row{transition-delay:.08s}
.hero h1{font-weight:700; margin-bottom:1rem}
.hero h1 .script{font-size:clamp(2.7rem,7vw,5rem); color:var(--clr-brand); margin-right:.3rem}
.hero .eyebrow{margin-bottom:.8rem}
.sub{max-width:720px; line-height:1.6}
.cta-row{display:flex; gap:14px; margin-top:1.5rem; flex-wrap:wrap}
/* When video isn't available, hide it and rely on background image */
.hero.no-video .hero-video{display:none}
.hero-video.intro-hide{opacity:0}

/* Wave Dividers */
.wave-divider{
  position:relative;
  width:100%;
  overflow:hidden;
  line-height:0;
}
.wave-divider svg{
  position:relative;
  display:block;
  width:calc(100% + 1.3px);
  height:80px;
}
.wave-divider .shape-fill{
  fill:var(--clr-bg);
}
/* Wave variations for different sections */
.wave-top{
  transform:rotate(180deg);
}
.wave-flip{
  transform:scaleY(-1);
}
.wave-cream{fill:#F7F3EF}
.wave-white{fill:#fff}
.wave-gradient{fill:url(#wave-gradient)}

/* About */
.grid-2{display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:center}
.about-media img{width:100%; height:auto; border-radius:var(--radius); box-shadow:var(--shadow)}
.checks{list-style:none; padding-left:0}
.checks li{display:flex; align-items:flex-start; gap:10px; margin:.5rem 0}
.checks li i{color:var(--clr-brand); font-size:16px; line-height:1; margin-top:.2rem}
.checks li span{display:block}
.about-cta{margin-top:12px}

/* About – festive ribbons + confetti background (full-bleed, subtle) */
.about{
	position:relative;
	overflow:hidden;
}
.about::before{
	content:'';
	position:absolute;
	left:0; right:0; top:0; bottom:0;
	/* Layered sweeps that read like soft ribbons using conic/radial gradients */
	background:
		/* top and bottom fades for seamless blend with wave dividers */
		linear-gradient(to bottom, var(--clr-bg) 0, rgba(247,243,239,.98) 40px, rgba(247,243,239,0) 120px),
		linear-gradient(to top, var(--clr-bg) 0, rgba(247,243,239,.98) 40px, rgba(247,243,239,0) 120px),
		/* large ribbon-like arcs */
		conic-gradient(from 210deg at 14% 32%, rgba(198,118,65,.12), transparent 58%),
		conic-gradient(from 30deg at 86% 64%, rgba(232,178,108,.10), transparent 56%),
		conic-gradient(from 305deg at 58% 18%, rgba(227,178,168,.10), transparent 54%),
		/* soft radial swells to widen sweeps */
		radial-gradient(800px 360px at -10% 58%, rgba(198,118,65,.10), transparent 62%),
		radial-gradient(820px 360px at 110% 42%, rgba(232,178,108,.10), transparent 62%),
		radial-gradient(900px 380px at 50% 50%, rgba(227,178,168,.08), transparent 65%);
	z-index:0;
	pointer-events:none;
}
.about::after{
	content:'';
	position:absolute;
	left:0; right:0; top:0; bottom:0;
	/* Scattered confetti pieces (dots + little strips) placed across the field */
	background:
		radial-gradient(#C67641 60%, transparent 61%) 8% 18% / 8px 8px no-repeat,
		radial-gradient(#E8B26C 60%, transparent 61%) 22% 28% / 7px 7px no-repeat,
		radial-gradient(#E3B2A8 60%, transparent 61%) 34% 22% / 6px 6px no-repeat,
		radial-gradient(#C67641 60%, transparent 61%) 74% 16% / 7px 7px no-repeat,
		radial-gradient(#E8B26C 60%, transparent 61%) 88% 30% / 8px 8px no-repeat,
		radial-gradient(#E3B2A8 60%, transparent 61%) 14% 66% / 7px 7px no-repeat,
		radial-gradient(#C67641 60%, transparent 61%) 40% 72% / 8px 8px no-repeat,
		radial-gradient(#E8B26C 60%, transparent 61%) 64% 78% / 7px 7px no-repeat,
		radial-gradient(#E3B2A8 60%, transparent 61%) 86% 62% / 6px 6px no-repeat,
		/* little ribbon strips */
		linear-gradient(#C67641,#C67641) 18% 42% / 6px 16px no-repeat,
		linear-gradient(#E8B26C,#E8B26C) 28% 58% / 6px 16px no-repeat,
		linear-gradient(#E3B2A8,#E3B2A8) 52% 36% / 6px 16px no-repeat,
		linear-gradient(#C67641,#C67641) 66% 54% / 6px 16px no-repeat,
		linear-gradient(#E8B26C,#E8B26C) 78% 40% / 6px 16px no-repeat,
		linear-gradient(#E3B2A8,#E3B2A8) 12% 84% / 6px 16px no-repeat,
		linear-gradient(#C67641,#C67641) 32% 86% / 6px 16px no-repeat,
		linear-gradient(#E8B26C,#E8B26C) 58% 90% / 6px 16px no-repeat,
		linear-gradient(#E3B2A8,#E3B2A8) 82% 84% / 6px 16px no-repeat;
	opacity:.18; /* keep subtle so content remains readable */
	z-index:0;
	pointer-events:none;
}
.about > *{position:relative; z-index:1}

/* Services */
.services{background:#fff; position:relative; overflow:hidden}
/* Curved, theme-colored background accents for Services (kept away from top/bottom) */
.services::before{
  content:'';
  position:absolute;
  left:0; right:0;
  top:90px; bottom:36px; /* increased top clearance to blend with divider */
  background:
    /* Large side sweeps */
    radial-gradient(900px 420px at 0% 34%, rgba(198,118,65,.14), transparent 64%),
    radial-gradient(900px 440px at 100% 66%, rgba(232,178,108,.14), transparent 65%),
    /* Broad center band */
    radial-gradient(1100px 380px at 50% 46%, rgba(227,178,168,.14), transparent 66%),
    /* Distributed accents across the field */
    radial-gradient(520px 240px at 50% 22%, rgba(232,178,108,.12), transparent 60%),
    radial-gradient(560px 260px at 50% 78%, rgba(198,118,65,.12), transparent 60%),
    radial-gradient(420px 210px at 18% 56%, rgba(198,118,65,.12), transparent 62%),
    radial-gradient(420px 210px at 82% 42%, rgba(232,178,108,.12), transparent 62%),
    radial-gradient(360px 190px at 32% 36%, rgba(227,178,168,.12), transparent 60%),
    radial-gradient(360px 190px at 68% 64%, rgba(232,178,108,.10), transparent 60%);
  z-index:0;
  pointer-events:none;
}
.services::after{
  content:'';
  position:absolute;
  left:0; right:0;
  top:90px; bottom:36px; /* same safe margins (with larger top blend) */
  background:
    /* Top fade to ensure pure white at the top edge for seamless divider blend */
    linear-gradient(to bottom, #fff 0, rgba(255,255,255,.98) 40px, rgba(255,255,255,0) 140px),
    /* Bottom fade for seamless blend into bottom divider */
    linear-gradient(to top, #fff 0, rgba(255,255,255,.98) 40px, rgba(255,255,255,0) 140px),
    conic-gradient(from 210deg at 20% 40%, rgba(227,178,168,.10), transparent 55%),
    conic-gradient(from 20deg at 80% 60%, rgba(198,118,65,.07), transparent 58%),
    conic-gradient(from 300deg at 50% 70%, rgba(232,178,108,.07), transparent 55%);
  z-index:0;
  pointer-events:none;
}
.services > *{position:relative; z-index:1}

/* Featured Service Card */
.service-featured{
  display:grid; 
  grid-template-columns:1fr 1.2fr; 
  gap:32px; 
  background:#fff; 
  border:2px solid var(--clr-brand); 
  border-radius:18px; 
  overflow:hidden; 
  box-shadow:0 8px 30px rgba(198,118,65,.15); 
  margin-bottom:32px;
  transition:transform .35s ease, box-shadow .35s ease;
}
.service-featured:hover{
  transform:translateY(-4px); 
  box-shadow:0 16px 45px rgba(198,118,65,.25);
}
.service-featured .featured-media{
  position:relative; 
  background:#f6f1ec;
  min-height:400px;
}
.service-featured .featured-media img{
  width:100%; 
  height:100%; 
  object-fit:cover; 
  display:block;
}
.service-featured .icon-badge{
  position:absolute; 
  left:16px; 
  top:16px; 
  width:56px; 
  height:56px; 
  border-radius:999px; 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  color:#fff; 
  background:linear-gradient(135deg,var(--clr-brand),var(--clr-brand-2)); 
  box-shadow:var(--shadow);
}
.service-featured .icon-badge i{
  font-size:24px; 
  line-height:1;
}
.service-featured .featured-content{
  padding:32px 32px 32px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.service-featured .featured-content .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  align-self:center;
}
.service-featured h3{
  font-size:clamp(1.6rem,2.5vw,2rem);
  margin:0 0 1rem;
  color:var(--clr-brand);
}
.service-featured p{
  color:var(--clr-text);
  line-height:1.7;
  margin-bottom:.9rem;
}
.featured-highlights{
  list-style:none; 
  padding-left:0; 
  margin:1.2rem 0 1.5rem;
}
.featured-highlights li{
  display:flex; 
  align-items:flex-start; 
  gap:10px; 
  margin:.65rem 0;
}
.featured-highlights li i{
  color:var(--clr-brand); 
  font-size:16px; 
  line-height:1; 
  margin-top:.3rem;
  flex-shrink:0;
}
.featured-highlights li span{
  display:block;
}

/* Service Grid (2x2) */
.service-grid{
  display:grid; 
  grid-template-columns:repeat(2,minmax(0,1fr)); 
  gap:22px;
}
.service-card{
  background:#fff; 
  border:1px solid #efe5de; 
  border-radius:18px; 
  overflow:hidden; 
  box-shadow:0 2px 14px rgba(0,0,0,.04); 
  transition:transform .25s ease, box-shadow .25s ease;
}
.service-card:hover{
  transform:translateY(-6px); 
  box-shadow:0 16px 40px rgba(0,0,0,.08);
}
.service-card .card-media{
  position:relative; 
  aspect-ratio:16/10; 
  background:#f6f1ec;
}
.service-card .card-media img{
  width:100%; 
  height:100%; 
  object-fit:cover; 
  display:block;
}
.icon-badge{
  position:absolute; 
  left:12px; 
  top:12px; 
  width:42px; 
  height:42px; 
  border-radius:999px; 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  color:#fff; 
  background:linear-gradient(135deg,var(--clr-brand),var(--clr-brand-2)); 
  box-shadow:var(--shadow);
}
.icon-badge i{
  font-size:18px; 
  line-height:1;
}
.service-card .card-content{
  padding:16px 16px 18px;
}
.service-card h3{
  margin:.2rem 0 .35rem;
}
.services-cta{
  margin-top:28px; 
  padding:18px 20px; 
  border-radius:18px; 
  border:1px solid #efdccd; 
  background:linear-gradient(135deg,rgba(198,118,65,.08), rgba(232,178,108,.10)); 
  display:flex; 
  align-items:center; 
  justify-content:space-between; 
  gap:16px; 
  box-shadow:var(--shadow);
}
.services-cta .cta-copy h3{
  margin:0;
}
.services-cta .cta-copy p{
  margin:.25rem 0 0; 
  color:var(--clr-muted);
}

/* Pricing / Packages */
.pricing{
  position:relative;
  overflow:hidden;
}
.pricing::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url('https://ik.imagekit.io/sabbierablog/Mandy%20Eventique/images/party-package-background-2.png?updatedAt=1762268635644');
  background-size:contain;
  background-position:top center;
  background-repeat:no-repeat;
  background-color:var(--clr-bg);
  opacity:.9;
  z-index:0;
}
.pricing > *{
  position:relative;
  z-index:1;
}
.section-header{text-align:center; max-width:800px; margin:0 auto 48px}
.section-subtitle{font-size:1.05rem; color:var(--clr-muted); margin-top:.5rem; line-height:1.65}
.candy-section{
  position:relative;
  padding:64px 0; /* internal spacing so background remains full-bleed */
  overflow:hidden;
}
.candy-section::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url('https://ik.imagekit.io/sabbierablog/Mandy%20Eventique/images/candy-background-5.png?updatedAt=1762267443287');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:.9; /* slight fade on image only */
  z-index:0;
}
.candy-section::after{content:none}
.candy-section > *{
  position:relative;
  z-index:1; /* ensure content sits above background & overlay */
}

/* Party Package Cards */
.package-grid{
  display:grid; 
  grid-template-columns:repeat(3,minmax(0,1fr)); 
  gap:28px; 
  margin-bottom:32px;
}
.package-card{
  position:relative;
  background:#fff; 
  border-radius:20px; 
  overflow:hidden; 
  box-shadow:0 8px 30px rgba(0,0,0,.06);
  transition:all .4s cubic-bezier(.4,0,.2,1);
  border:2px solid transparent;
}
.package-card:hover{
  transform:translateY(-8px) scale(1.02);
  box-shadow:0 20px 60px rgba(198,118,65,.2);
  border-color:rgba(198,118,65,.3);
}
.package-featured{
  border-color:var(--clr-brand);
  box-shadow:0 12px 40px rgba(198,118,65,.2);
}
.package-featured:hover{
  box-shadow:0 24px 70px rgba(198,118,65,.3);
}

/* Package Image */
.package-image{
  position:relative; 
  height:280px; 
  background:#f6f1ec;
  overflow:hidden;
}
.package-image img{
  width:100%; 
  height:100%; 
  object-fit:cover;
  transition:transform .5s cubic-bezier(.4,0,.2,1);
}
/* Slightly raise the Premium (featured) package image (~15% from top) */
.package-card.package-featured .package-image img{object-position:center 15%}
.package-card:hover .package-image img{
  transform:scale(1.08);
}
.package-image::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(0,0,0,.6));
  opacity:0;
  transition:opacity .4s ease;
}
.package-card:hover .package-image::after{
  opacity:.4;
}

/* Package Badge */
.package-badge{
  position:absolute;
  top:16px;
  right:16px;
  background:linear-gradient(135deg, rgba(255,255,255,.95), rgba(255,255,255,.85));
  backdrop-filter:blur(10px);
  padding:8px 16px;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:6px;
  box-shadow:0 4px 20px rgba(0,0,0,.15);
  font-size:.85rem;
  font-weight:600;
  color:var(--clr-text);
  z-index:2;
}
.package-badge i{
  color:var(--clr-brand);
  font-size:14px;
}
.featured-badge{
  background:linear-gradient(135deg, var(--clr-brand), var(--clr-brand-2));
  color:#fff;
}
.featured-badge i{
  color:#fff;
}

/* Package Content */
.package-content{
  padding:28px 24px 32px;
  display:flex;
  flex-direction:column;
}
.package-header{
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:2px solid #f6f1ec;
}
.package-header h3{
  font-size:1.65rem;
  margin:0 0 8px;
  color:var(--clr-text);
  font-weight:700;
}
.package-tagline{
  font-size:.95rem;
  color:var(--clr-muted);
  margin:0;
  font-style:italic;
}

/* Package Features */
.package-features{
  list-style:none;
  padding:0;
  margin:0 0 24px;
  flex-grow:1;
}
.package-features li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
  font-size:.95rem;
  line-height:1.5;
}
.package-features li i{
  color:var(--clr-brand);
  font-size:16px;
  margin-top:2px;
  flex-shrink:0;
}
.package-features li span{
  display:block;
}
.package-cta{
  width:100%;
  text-align:center;
  margin-top:auto;
}

/* Packages Note */
.packages-note{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:20px 24px;
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(198,118,65,.15);
  margin-bottom:48px;
  position:relative;
  z-index:2;
}
.packages-note i{
  color:var(--clr-brand);
  font-size:20px;
  margin-top:2px;
  flex-shrink:0;
}
.packages-note p{
  margin:0;
  color:var(--clr-text);
  line-height:1.6;
}

/* Candy Cart Cards */
.candy-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
}
.candy-card{
  position:relative;
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  border:2px solid #efe5de;
  box-shadow:0 4px 20px rgba(0,0,0,.05);
  transition:all .35s cubic-bezier(.4,0,.2,1);
  display:flex;
  flex-direction:column;
}
.candy-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 45px rgba(198,118,65,.18);
  border-color:var(--clr-brand);
}
.candy-featured{
  border-color:var(--clr-brand);
  box-shadow:0 8px 30px rgba(198,118,65,.15);
}
.candy-featured:hover{
  box-shadow:0 20px 55px rgba(198,118,65,.25);
}

/* Candy Image */
.candy-image{
  position:relative;
  height:220px;
  background:#f6f1ec;
  overflow:hidden;
}
.candy-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s cubic-bezier(.4,0,.2,1);
}
/* Zoom hint icon for Sweet & Simple image */
.candy-grid .candy-card:first-child .zoom-indicator{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:14px;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
  pointer-events:none;
  transition:transform .2s ease, background .2s ease;
}
.candy-grid .candy-card:first-child:hover .zoom-indicator{background:rgba(0,0,0,.6); transform:scale(1.05)}
/* Lower the image crop for the first candy card (Sweet & Simple) */
.candy-grid .candy-card:first-child .candy-image img{object-position:center 15%}
.candy-card:hover .candy-image img{
  transform:scale(1.1) rotate(2deg);
}

/* Candy Icon */
.candy-icon{
  position:absolute;
  bottom:16px;
  left:16px;
  width:50px;
  height:50px;
  border-radius:50%;
  background:linear-gradient(135deg, #fff, rgba(255,255,255,.95));
  backdrop-filter:blur(10px);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 25px rgba(0,0,0,.2);
  border:2px solid rgba(255,255,255,.8);
  z-index:2;
}
.candy-icon i{
  font-size:22px;
  color:var(--clr-brand);
}
.featured-icon{
  background:linear-gradient(135deg, var(--clr-brand), var(--clr-brand-2));
}
.featured-icon i{
  color:#fff;
}

/* Candy Badge */
.candy-badge{
  position:absolute;
  top:16px;
  right:16px;
  background:linear-gradient(135deg, var(--clr-brand-2), var(--clr-brand));
  color:#fff;
  padding:6px 14px;
  border-radius:999px;
  font-size:.8rem;
  font-weight:600;
  box-shadow:0 4px 15px rgba(198,118,65,.4);
  z-index:2;
}

/* Candy Content */
.candy-content{
  padding:22px 18px 24px;
  display:flex;
  flex-direction:column;
  flex-grow:1;
}
.candy-content h4{
  font-size:1.25rem;
  margin:0 0 6px;
  color:var(--clr-text);
  font-weight:700;
}
.candy-description{
  font-size:.88rem;
  color:var(--clr-muted);
  margin:0 0 16px;
  line-height:1.4;
  font-style:italic;
}

/* Candy Features */
.candy-features{
  list-style:none;
  padding:0;
  margin:0 0 20px;
  flex-grow:1;
}
.candy-features li{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-bottom:10px;
  font-size:.88rem;
  line-height:1.5;
}
.candy-features li i{
  color:var(--clr-brand);
  font-size:14px;
  margin-top:2px;
  flex-shrink:0;
}
.candy-features li span{
  display:block;
}
.candy-cta{
  width:100%;
  text-align:center;
  margin-top:auto;
  padding:.75rem 1.2rem;
  font-size:.9rem;
}

/* Gallery */
.gallery .media-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px}
.gallery img,.grid-video{width:100%; height:100%; object-fit:cover; border-radius:14px; border:1px solid #efe5de; background:#f9f6f3}
.lightbox::backdrop{background:rgba(0,0,0,.65)}
.lightbox{border:none; padding:0; border-radius:14px; overflow:hidden}
.lightbox-content img,.lightbox-content video{max-width:85vw; max-height:80vh}
.lightbox-close{position:absolute; top:8px; right:10px; background:#fff; border:1px solid #ddd; border-radius:999px; width:34px; height:34px}
/* Image-only lightbox (used on mobile and desktop for carousel media) */
.image-only-lightbox{border-radius:0; width:100vw; height:100vh; background:transparent; padding:0; overflow:visible}
.image-only-lightbox[open]{display:flex; align-items:center; justify-content:center}
.image-only-lightbox .lightbox-content{display:flex; align-items:center; justify-content:center; max-width:100vw; max-height:100vh; position:relative}
.image-only-lightbox .lightbox-content img,
.image-only-lightbox .lightbox-content video{max-width:100vw; max-height:100vh}
.image-only-lightbox .lightbox-close{position:absolute; top:12px; right:12px; z-index:3}

/* Infinite Carousel (2 rows, 3 items visible per row on desktop) */
.infinite-carousel{position:relative; --gap:12px; --items-visible:3; --item-height:340px;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  cursor:grab;
}
.infinite-carousel.dragging{cursor:grabbing}
.carousel-row{overflow:hidden; position:relative}
.carousel-row + .carousel-row{margin-top:14px}
.carousel-track{display:flex; gap:var(--gap); will-change:transform}
.carousel-item{flex:0 0 auto; min-width:calc((100% - (var(--items-visible) - 1) * var(--gap)) / var(--items-visible)); height:var(--item-height); border-radius:14px; overflow:hidden; border:1px solid #efe5de; background:#f9f6f3}
.carousel-item img,.carousel-item video{width:100%; height:100%; object-fit:cover; display:block}

/* Contact */
.contact{background:linear-gradient(180deg, #fff 0%, #faf6f3 50%, #fff 100%)}
.contact-wrapper{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:40px;
  margin-top:48px;
}

/* Contact Info Cards */
.contact-info{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.contact-card{
  background:#fff;
  border:2px solid #efe5de;
  border-radius:18px;
  padding:24px;
  display:flex;
  align-items:center;
  gap:20px;
  box-shadow:0 4px 20px rgba(0,0,0,.05);
  transition:all .35s cubic-bezier(.4,0,.2,1);
  position:relative;
  overflow:hidden;
}
.contact-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:4px;
  height:100%;
  background:linear-gradient(180deg, var(--clr-brand), var(--clr-brand-2));
  opacity:0;
  transition:opacity .35s ease;
}
.contact-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 35px rgba(198,118,65,.15);
  border-color:var(--clr-brand);
}
.contact-card:hover::before{
  opacity:1;
}
.contact-card-icon{
  width:60px;
  height:60px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--clr-brand), var(--clr-brand-2));
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 6px 20px rgba(198,118,65,.25);
  transition:transform .35s ease;
}
.contact-card:hover .contact-card-icon{
  transform:scale(1.1) rotate(5deg);
}
.contact-card-icon i{
  font-size:24px;
  color:#fff;
}
.contact-card-content{
  flex:1;
}
.contact-card-content h3{
  font-size:1.15rem;
  margin:0 0 6px;
  color:var(--clr-text);
  font-weight:700;
}
.contact-card-content p{
  margin:0;
  color:var(--clr-muted);
  line-height:1.6;
}
.contact-card-content a{
  color:var(--clr-brand);
  text-decoration:none;
  transition:color .25s ease;
  font-weight:500;
}
.contact-card-content a:hover{
  color:var(--clr-brand-2);
  text-decoration:underline;
}

/* Contact Hours/Info Box */
.contact-hours{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:20px;
  background:linear-gradient(135deg, rgba(198,118,65,.08), rgba(232,178,108,.12));
  border-radius:16px;
  border:2px solid rgba(198,118,65,.15);
  margin-top:8px;
}
.contact-hours i{
  color:var(--clr-brand);
  font-size:22px;
  margin-top:2px;
  flex-shrink:0;
}
.contact-hours strong{
  display:block;
  color:var(--clr-text);
  margin-bottom:4px;
  font-size:1rem;
}
.contact-hours p{
  margin:0;
  color:var(--clr-muted);
  font-size:.92rem;
  line-height:1.5;
}

/* Contact Form Wrapper */
.contact-form-wrapper{
  background:#fff;
  border:2px solid #efe5de;
  border-radius:20px;
  padding:36px;
  box-shadow:0 8px 30px rgba(0,0,0,.06);
  position:relative;
  overflow:hidden;
}
.contact-form-wrapper::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:4px;
  background:linear-gradient(90deg, var(--clr-brand), var(--clr-brand-2), var(--clr-brand));
}
.contact-form{
  position:relative;
}

/* Form Fields */
.field-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:20px;
}
.field{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:20px;
}
.field-row .field{
  margin-bottom:0;
}
label{
  font-weight:600;
  color:var(--clr-text);
  font-size:.95rem;
  letter-spacing:.01em;
}
.required{
  color:var(--clr-brand);
  margin-left:2px;
}
input,select,textarea{
  border:2px solid #e2d7cf;
  border-radius:12px;
  padding:.85rem 1rem;
  background:#fff;
  font:inherit;
  color:var(--clr-text);
  transition:all .25s ease;
  font-size:.95rem;
}
input::placeholder,textarea::placeholder{
  color:#b5a79c;
}
input:hover,select:hover,textarea:hover{
  border-color:#d4c5ba;
}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:var(--clr-brand);
  box-shadow:0 0 0 3px rgba(198,118,65,.12);
  background:#fffcfa;
}
select{
  cursor:pointer;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23C67641' d='M4 6l4 4 4-4z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  padding-right:40px;
}
textarea{
  resize:vertical;
  min-height:120px;
  line-height:1.6;
}

/* Submit Button */
.btn-submit{
  width:100%;
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:1rem;
  padding:1rem 1.5rem;
}
.btn-submit i{
  font-size:16px;
  transition:transform .35s ease;
}
.btn-submit:hover i{
  transform:translateX(4px);
}

/* Footer */
.site-footer{
  position:relative; 
  background:linear-gradient(135deg, #2e251f 0%, #453831 50%, #2e251f 100%); 
  color:#efe7e1; 
  padding:64px 0 32px;
  overflow:hidden;
}
.site-footer::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:linear-gradient(90deg, transparent, var(--clr-brand), var(--clr-brand-2), var(--clr-brand), transparent);
  opacity:.6;
}
.site-footer::after{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  width:800px;
  height:800px;
  background:radial-gradient(circle, rgba(198,118,65,.08) 0%, transparent 70%);
  pointer-events:none;
}

/* Footer content */
.footer-content{position:relative; z-index:1}
.footer-grid{
  display:grid; 
  grid-template-columns:1.3fr 1fr 1fr 1.2fr; 
  gap:48px; 
  padding:48px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
}

/* Footer columns */
.footer-col h4{
  font-size:1.1rem;
  color:#fff;
  margin:0 0 20px;
  font-weight:600;
  letter-spacing:.03em;
  position:relative;
  padding-bottom:10px;
}
.footer-col h4::after{
  content:'';
  position:absolute;
  bottom:0;
  left:0;
  width:32px;
  height:2px;
  background:linear-gradient(90deg, var(--clr-brand), var(--clr-brand-2));
  border-radius:2px;
}

/* Brand column */
.footer-brand img{
  width:90px;
  height:auto;
  margin-bottom:16px;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.2));
}
.footer-tagline{
  font-size:1.35rem;
  color:#fff;
  margin:0 0 12px;
  line-height:1.3;
}
.footer-tagline .script{
  font-size:1.6rem;
  color:var(--clr-brand-2);
}
.footer-brand p{
  color:rgba(239,231,225,.85);
  line-height:1.65;
  margin-bottom:24px;
  max-width:320px;
}

/* Social icons */
.footer-social{
  display:flex;
  gap:12px;
  margin-top:20px;
}
.footer-social a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#efe7e1;
  text-decoration:none;
  transition:all .35s cubic-bezier(.4,0,.2,1);
  border:1px solid rgba(255,255,255,.1);
  position:relative;
  overflow:hidden;
}
.footer-social a::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, var(--clr-brand), var(--clr-brand-2));
  opacity:0;
  transition:opacity .35s ease;
  border-radius:50%;
}
.footer-social a:hover{
  transform:translateY(-4px) scale(1.08);
  border-color:var(--clr-brand-2);
  box-shadow:0 8px 20px rgba(198,118,65,.3);
}
.footer-social a:hover::before{
  opacity:1;
}
.footer-social a i{
  font-size:18px;
  position:relative;
  z-index:1;
}
.footer-social a:hover i{
  color:#fff;
}

/* Footer menu lists */
.footer-menu{
  list-style:none; 
  margin:0; 
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer-menu li{
  position:relative;
  padding-left:0;
}
.footer-menu a{
  color:rgba(239,231,225,.85);
  text-decoration:none;
  display:inline-block;
  transition:all .25s ease;
  position:relative;
  padding-left:16px;
}
.footer-menu a::before{
  content:'→';
  position:absolute;
  left:0;
  opacity:0;
  transform:translateX(-8px);
  transition:all .25s ease;
  color:var(--clr-brand-2);
}
.footer-menu a:hover{
  color:#fff;
  padding-left:20px;
}
.footer-menu a:hover::before{
  opacity:1;
  transform:translateX(0);
}

/* Contact list */
.footer-contact{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.footer-contact li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  color:rgba(239,231,225,.85);
  line-height:1.6;
}
.footer-contact i{
  color:var(--clr-brand-2);
  font-size:16px;
  margin-top:4px;
  flex-shrink:0;
}
.footer-contact a{
  color:rgba(239,231,225,.85);
  text-decoration:none;
  transition:color .25s ease;
}
.footer-contact a:hover{
  color:#fff;
}

/* Footer CTA button */
.footer-cta{
  margin-top:24px;
}
.btn-sm{
  padding:.65rem 1.2rem;
  font-size:.9rem;
}

/* Footer bottom */
.footer-bottom{
  padding-top:28px;
}
.footer-bottom-content{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
}
.copyright{
  margin:0;
  color:rgba(239,231,225,.7);
  font-size:.9rem;
}
.footer-accent{
  display:flex;
  align-items:center;
  gap:12px;
  color:rgba(239,231,225,.6);
  font-size:.85rem;
  font-style:italic;
}
.footer-accent{margin:0 auto}
.accent-dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:linear-gradient(135deg, var(--clr-brand), var(--clr-brand-2));
  box-shadow:0 0 8px rgba(198,118,65,.5);
}
.accent-text{
  letter-spacing:.03em;
}

/* Site credit (bottom-right) */
.site-credit{
  margin:0;
  color:rgba(239,231,225,.7);
  font-size:.9rem;
}
.site-credit a{
  color:var(--clr-brand-2);
  text-decoration:none;
}
.site-credit a:hover{
  color:#fff;
  text-decoration:underline;
}

/* Accessibility */
.skip-link{position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden}
.skip-link:focus{left:10px; top:10px; width:auto; height:auto; background:#000; color:#fff; padding:.5rem .8rem; border-radius:8px}

/* Responsive */
@media (max-width: 1024px){
  .service-featured{
    grid-template-columns:1fr;
    gap:0;
  }
  .service-featured .featured-media{
    min-height:320px;
  }
  .service-featured .featured-content{
    padding:24px;
  }
  
  /* Responsive packages */
  .package-grid{grid-template-columns:1fr; gap:24px}
  .candy-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px}
  .candy-image{height:200px}
  .package-image{height:260px}
}
@media (max-width: 800px){
  /* Hero tablet/medium mobile adjustments */
  .hero-content{
    text-align:center;
  }
  .cta-row{
    justify-content:center;
  }
  
  .grid-2{grid-template-columns:1fr}
  .gallery .media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .infinite-carousel{--items-visible:1; --item-height:300px; --gap:3px; -webkit-mask-image:none; mask-image:none; touch-action:pan-y}
  /* One-row carousel on mobile */
  .infinite-carousel .row-bottom{display:none}
  /* Ensure full image is visible (no crop) on mobile */
  .infinite-carousel .carousel-item{min-width:auto}
  .infinite-carousel .carousel-item img,
  .infinite-carousel .carousel-item video{object-fit:contain; width:auto; height:100%}
  /* Remove card chrome on mobile (images standalone) */
  .infinite-carousel .carousel-item{border:none; border-radius:0; background:transparent; overflow:visible}
  .infinite-carousel img,
  .infinite-carousel video{border:none; border-radius:0; background:transparent}
  /* Mobile lightbox fullscreen */
  .lightbox{border-radius:0; width:100vw; height:100vh; background:transparent; padding:0}
  .lightbox[open]{display:flex; align-items:center; justify-content:center}
  .lightbox-content{display:flex; align-items:center; justify-content:center; max-width:100vw; max-height:100vh; position:relative}
  .lightbox-content img,
  .lightbox-content video{max-width:100vw; max-height:100vh}
  /* Position close button at top-right of the media on mobile */
  .mobile-lightbox .lightbox-close{position:absolute; top:8px; right:8px; z-index:3}
  .menu{display:none}
  .nav-toggle{display:inline-block}
  /* Enhanced dropdown menu */
  .nav.open .menu{
    display:flex; 
    position:absolute; 
    left:20px; 
    right:20px; 
    top:68px; 
    background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(247,243,239,.98));
    backdrop-filter:blur(20px);
    border:2px solid rgba(198,118,65,.2); 
    border-radius:18px; 
    padding:16px; 
    flex-direction:column; 
    gap:4px; 
    box-shadow:0 12px 40px rgba(0,0,0,.12), 0 4px 15px rgba(198,118,65,.15);
    animation:slideDown .35s cubic-bezier(.4,0,.2,1);
    z-index:50;
  }
  .nav.open .menu .lang-switcher{margin-top:6px}
  /* Keep language links side-by-side on mobile inside the dropdown */
  .nav.open .menu .lang-switcher{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:6px 0;
  }
  .nav.open .menu .lang-switcher .lang-link{
    display:inline-flex; /* override block links in mobile menu */
    padding:6px 10px;
  }
  .nav.open .menu .lang-switcher .sep{
    display:inline-block;
    opacity:.6;
  }
  @keyframes slideDown{
    from{
      opacity:0;
      transform:translateY(-10px);
    }
    to{
      opacity:1;
      transform:translateY(0);
    }
  }
  .nav.open .menu li{
    margin:0;
  }
  .nav.open .menu a{
    display:block;
    padding:12px 16px;
    border-radius:12px;
    transition:all .25s ease;
    position:relative;
  }
  .nav.open .menu a:not(.btn){
    color:var(--clr-text);
  }
  .nav.open .menu a:not(.btn):hover{
    background:linear-gradient(135deg, rgba(198,118,65,.08), rgba(232,178,108,.12));
    color:var(--clr-brand);
    transform:translateX(4px);
    box-shadow:0 2px 8px rgba(198,118,65,.1);
  }
  .nav.open .menu a.btn{
    margin-top:8px;
    text-align:center;
    justify-content:center;
  }
  .services-cta{flex-direction:column; text-align:center}
  
  /* Contact responsive */
  .contact-wrapper{
    grid-template-columns:1fr;
    gap:32px;
  }
  .field-row{
    grid-template-columns:1fr;
    gap:16px;
  }
  .field-row .field{
    margin-bottom:0;
  }
  .contact-form-wrapper{
    padding:28px 24px;
  }
  
  /* Footer responsive */
  .footer-grid{
    grid-template-columns:1fr 1fr; 
    gap:36px;
    padding:36px 0;
  }
  .footer-brand{
    grid-column:1 / -1;
    text-align:center;
    max-width:100%;
  }
  .footer-brand img{margin:0 auto 16px}
  .footer-brand p{max-width:100%; margin-bottom:20px}
  .footer-social{justify-content:center}
  .footer-tagline{margin-bottom:14px}
  .footer-col h4::after{left:50%; transform:translateX(-50%)}
  .footer-col:not(.footer-brand){text-align:center}
  .footer-menu a{padding-left:0}
  .footer-menu a:hover{padding-left:4px}
  .footer-contact li{justify-content:center; text-align:left}
  .footer-cta{text-align:center}
  .footer-bottom-content{
    flex-direction:column;
    text-align:center;
  }
}
@media (max-width: 800px){
  .wave-divider svg{
    height:60px;
  }
}
@media (max-width: 520px){
  .wave-divider svg{
    height:40px;
  }
	/* soften confetti on small screens */
	.about::after{opacity:.12}
  
  /* Hero mobile centering and spacing */
  .hero-content{
    text-align:center;
    padding:0 10px;
    max-width:100%;
  }
  .hero .eyebrow{
    font-size:.75rem;
    margin-bottom:1rem;
    letter-spacing:.12em;
  }
  .hero h1{
    margin-bottom:1.2rem;
  }
  .hero h1 .script{
    display:inline;
    margin-right:.2rem;
  }
  .sub{
    max-width:100%;
    font-size:.98rem;
    line-height:1.65;
    margin-bottom:0;
  }
  .cta-row{
    justify-content:center;
    margin-top:1.8rem;
    gap:12px;
  }
  .cta-row .btn{
    padding:.8rem 1.3rem;
    font-size:.92rem;
  }
  
  .service-featured .featured-media{
    min-height:280px;
  }
  .service-featured .featured-content{
    padding:20px;
  }
  .service-featured h3{
    font-size:1.4rem;
  }
  .featured-highlights{
    margin:1rem 0 1.2rem;
  }
  .service-grid{grid-template-columns:1fr}
  .gallery .media-grid{grid-template-columns:1fr}
  .infinite-carousel{--items-visible:1; --item-height:320px; --gap:2px}
  /* Show full intro video on small screens (avoid crop) */
  .hero-video{object-fit:contain}
  
  /* Responsive packages mobile */
  .section-header{margin-bottom:32px}
  .package-grid{gap:20px}
  .package-image{height:240px}
  .package-content{padding:20px 18px 24px}
  .package-header h3{font-size:1.4rem}
  .candy-grid{grid-template-columns:1fr; gap:18px}
  .candy-image{height:220px}
  .candy-content{padding:18px 16px 20px}
  .candy-section{margin-top:0}
  .packages-note{padding:16px 18px; font-size:.92rem}
  .packages-note i{font-size:18px}
  
  /* Contact mobile */
  .contact-wrapper{
    margin-top:32px;
    gap:28px;
  }
  .contact-card{
    padding:18px;
    gap:16px;
  }
  .contact-card-icon{
    width:52px;
    height:52px;
  }
  .contact-card-icon i{
    font-size:20px;
  }
  .contact-card-content h3{
    font-size:1rem;
  }
  .contact-card-content p{
    font-size:.9rem;
  }
  .contact-hours{
    padding:16px;
    gap:12px;
  }
  .contact-hours i{
    font-size:18px;
  }
  .contact-hours strong{
    font-size:.92rem;
  }
  .contact-hours p{
    font-size:.88rem;
  }
  .contact-form-wrapper{
    padding:24px 20px;
  }
  .field-row{
    gap:14px;
    margin-bottom:14px;
  }
  .field{
    margin-bottom:14px;
  }
  input,select,textarea{
    padding:.75rem .85rem;
    font-size:.92rem;
  }
  .btn-submit{
    padding:.9rem 1.3rem;
    font-size:.95rem;
  }
  
  /* Footer mobile */
  .footer-grid{
    grid-template-columns:1fr;
    gap:32px;
    padding:32px 0;
  }
  .footer-brand img{width:80px}
  .footer-tagline{font-size:1.2rem}
  .footer-tagline .script{font-size:1.4rem}
  .footer-social a{width:40px; height:40px}
  .footer-social a i{font-size:16px}
  .footer-col h4{font-size:1rem; margin-bottom:16px}
  .footer-bottom{padding-top:20px}
  .footer-accent{font-size:.8rem}
}


