@import url('https://fonts.googleapis.com/css2?family=Anton&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&family=Quicksand:wght@400;500;600;700&family=Dancing+Script:wght@600;700&display=swap');

:root{
  --plum-deep:#3B1740;
  --plum:#5B2A5E;
  --orchid:#D875B0;
  --orchid-bright:#EB9CCB;
  --blush:#F6DEEC;
  --cream:#FBF6F8;
  --leaf:#8FD14F;
  --leaf-dark:#5FA030;
  --ink:#2A1230;
  --gold:#D9A94D;
  --gold-soft:#F0DDA6;
  --shadow: 0 20px 50px rgba(59,23,64,0.20);
  --shadow-gold: 0 18px 40px rgba(217,169,77,0.25);
}

/* subtle luxe texture on cream sections */
body{
  background-image:
    radial-gradient(circle at 20% 10%, rgba(216,117,176,0.05) 0%, transparent 40%),
    radial-gradient(circle at 85% 30%, rgba(217,169,77,0.06) 0%, transparent 45%);
  background-attachment:fixed;
}

.font-elegant{
  font-family:'Playfair Display', serif !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  font-style:italic;
  font-weight:600;
}

.gold-text{
  background:linear-gradient(120deg, var(--gold-soft), var(--gold) 45%, var(--gold-soft) 90%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

hr.gold-rule{
  border:none; height:1px; width:70px; margin:18px auto;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
}

/* ---------- LOTUS: stationary bloom, one soft static glow ---------- */
/* ---------- LOGO ARTWORK (real image, no more hand-drawn SVG) ---------- */
.lotus-mark{
  display:block; -webkit-user-select:none; user-select:none; pointer-events:none;
}
/* divider ornament */
.divider-ornament{ display:block; }
.petal-divider{ position:relative; }
.divider-lotus-wrap{ display:inline-flex; align-items:center; justify-content:center; }
.divider-lotus{ width:130px; height:auto; object-fit:contain; }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth; overflow-x:hidden;}
body{
  font-family:'Quicksand', sans-serif;
  background:var(--cream);
  color:var(--ink);
  overflow-x:hidden;
}
h1,h2,h3,.display{
  font-family:'Anton', sans-serif;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.accent-script{ font-family:'Dancing Script', cursive; font-weight:700; }
a{color:inherit; text-decoration:none;}
img, svg{display:block; max-width:100%;}
ul{list-style:none;}

/* ---------- NAV ---------- */
header{ position:sticky; top:0; z-index:50; background:var(--plum-deep); border-bottom:1px solid transparent; border-image:linear-gradient(90deg, var(--orchid), var(--gold), var(--orchid)) 1; }
.nav-wrap{ max-width:1180px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:14px 20px; gap:10px; }
.brand{ display:flex; align-items:center; gap:12px; }
.brand .lotus{ width:52px; height:38px; flex-shrink:0; object-fit:contain; }
.brand-name{ color:#fff; font-size:1.0rem; letter-spacing:1px; font-family:'Anton',sans-serif; text-transform:uppercase; }
@media (max-width:400px){
  .brand .lotus{ width:40px; height:30px; }
  .brand-name{ font-size:0.85rem; letter-spacing:0.5px; }
  .brand-name span{ font-size:0.8rem; }
}
.brand-name span{ display:block; font-family:'Dancing Script',cursive; text-transform:none; color:var(--orchid-bright); font-size:0.95rem; letter-spacing:0; margin-top:-2px; }
nav.main-nav ul{ display:flex; gap:26px; }
nav.main-nav a{ color:var(--blush); font-weight:600; font-size:0.85rem; letter-spacing:0.5px; text-transform:uppercase; transition:color 0.2s; padding-bottom:4px; border-bottom:2px solid transparent; }
nav.main-nav a:hover{ color:var(--leaf); }
nav.main-nav a.active{ color:var(--leaf); border-color:var(--leaf); }
.nav-call{ background:var(--leaf); color:var(--plum-deep) !important; padding:9px 18px; border-radius:30px; font-weight:700 !important; text-transform:none !important; letter-spacing:0 !important; border:none !important; white-space:nowrap; }
.nav-desktop{ display:flex; align-items:center; gap:20px; }
@media (max-width:820px){ .nav-desktop nav.main-nav{ display:none; } }

/* ---------- HAMBURGER / MOBILE NAV ---------- */
.nav-toggle{
  display:none; -webkit-appearance:none; appearance:none;
  background:transparent; border:none; cursor:pointer; padding:6px;
  align-items:center; justify-content:center;
}
.nav-toggle svg{ display:block; }

.mobile-nav{
  display:none; flex-direction:column; background:var(--plum-deep);
  padding:6px 28px 20px; border-top:1px solid rgba(217,169,77,0.2);
}
.mobile-nav.open{ display:flex; }
.mobile-nav a{
  color:var(--blush); font-weight:600; font-size:0.92rem; letter-spacing:0.5px;
  text-transform:uppercase; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.08);
}
.mobile-nav a.active{ color:var(--gold); }
.mobile-nav .nav-call-mobile{
  margin-top:16px; text-align:center; border:none; text-transform:none;
  letter-spacing:0; font-size:1rem;
  background:linear-gradient(135deg, var(--leaf), var(--leaf-dark)); color:var(--plum-deep);
}

@media (max-width:820px){
  .nav-toggle{ display:flex; }
  .nav-desktop .nav-call{ display:none; }
}
@media (min-width:821px){
  .mobile-nav{ display:none !important; }
}

/* ---------- BUTTONS ---------- */
.btn{ position:relative; display:inline-block; padding:14px 30px; border-radius:40px; font-weight:700; font-size:0.95rem; transition:transform 0.15s ease, box-shadow 0.15s ease; border:2px solid transparent; overflow:hidden; isolation:isolate; }
.btn::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.55) 48%, transparent 66%);
  transform:translateX(-120%); transition:transform 0.6s ease;
}
.btn:hover::after{ transform:translateX(120%); }
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:linear-gradient(135deg, var(--leaf), var(--leaf-dark)); color:var(--plum-deep); box-shadow:0 10px 24px rgba(143,209,79,0.35); }
.btn-ghost{ background:transparent; color:#fff; border-color:rgba(217,169,77,0.55); }
.btn-ghost:hover{ border-color:var(--gold-soft); color:var(--gold-soft); }
.btn-plum{ background:linear-gradient(135deg, var(--plum), var(--plum-deep)); color:#fff; }

/* ---------- HERO (home) ---------- */
.hero{ position:relative; background:radial-gradient(ellipse at 50% -10%, var(--orchid) -40%, var(--plum) 35%, var(--plum-deep) 75%); padding:70px 24px 110px; text-align:center; overflow:hidden; }
.hero-lotus-wrap{ position:relative; width:340px; max-width:88vw; margin:8px auto 6px; z-index:1; }
.hero-lotus{ width:100%; height:auto; display:block; }
.hero h1{ color:#fff; font-size:clamp(2.4rem, 7vw, 4.6rem); line-height:0.95; text-shadow:0 6px 40px rgba(217,169,77,0.3); position:relative; z-index:1; }
.hero h2{ color:var(--orchid-bright); font-size:clamp(1.1rem, 3vw, 1.8rem); margin-top:6px; font-weight:400; letter-spacing:2px; }
.hero p.tag{ color:var(--blush); max-width:560px; margin:26px auto 0; font-size:1.05rem; font-weight:500; line-height:1.5; }
.hero-ctas{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:36px; }
.badge-row{ margin-top:44px; display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.badge{ background:rgba(217,169,77,0.1); border:1px solid rgba(217,169,77,0.35); color:var(--gold-soft); padding:8px 18px; border-radius:30px; font-size:0.8rem; font-weight:600; letter-spacing:0.5px; text-transform:uppercase; }

/* ---------- PAGE HERO (sub pages) ---------- */
.page-hero{ background:radial-gradient(ellipse at 50% -20%, var(--orchid) -60%, var(--plum) 40%, var(--plum-deep) 78%); padding:64px 24px 70px; text-align:center; }
.page-hero .lotus{ width:130px; height:auto; margin:0 auto 10px; object-fit:contain; }
.page-hero h1{ color:#fff; font-size:clamp(2rem,5vw,3rem); text-shadow:0 6px 30px rgba(217,169,77,0.28); }
.page-hero p{ color:var(--blush); max-width:560px; margin:14px auto 0; font-size:1.02rem; }

/* petal divider */
.petal-divider{ display:flex; justify-content:center; margin:0; background:var(--cream); }
.petal-divider.on-plum{ background:var(--plum-deep); }

/* ---------- SECTION ---------- */
.section{ padding:80px 24px; max-width:1180px; margin:0 auto; }
.section-narrow{ max-width:900px; }
.section-head{ text-align:center; max-width:640px; margin:0 auto 50px; }
.eyebrow{ font-family:'Dancing Script', cursive; font-weight:700; font-size:1.6rem; color:var(--orchid); display:inline-block; margin-bottom:6px; }
.section-head h2{ font-size:clamp(1.8rem, 4vw, 2.6rem); color:var(--plum-deep); font-family:'Playfair Display', serif; text-transform:none; letter-spacing:0; font-style:italic; font-weight:600; }
.section-head p{ margin-top:14px; color:#6b4c6f; font-size:1.05rem; }

/* ---------- SERVICE / FEATURE CARDS ---------- */
.services-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:28px; }
@media (max-width:820px){ .services-grid{ grid-template-columns:1fr; } }
.service-card{ background:#fff; border-radius:20px; padding:34px 28px; box-shadow:var(--shadow); position:relative; overflow:hidden; border-top:3px solid transparent; border-image:linear-gradient(90deg, var(--orchid), var(--gold)) 1; transition:transform 0.25s ease, box-shadow 0.25s ease; }
.service-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-gold); }
.service-card .petal-icon{ width:80px; height:auto; object-fit:contain; margin-bottom:14px; }
.service-card h3{ font-family:'Quicksand', sans-serif; text-transform:none; letter-spacing:0; font-weight:700; font-size:1.25rem; color:var(--plum-deep); margin-bottom:10px; }
.service-card p{ color:#6b4c6f; font-size:0.96rem; line-height:1.55; }
.service-card ul{ margin-top:14px; }
.service-card li{ color:#6b4c6f; font-size:0.9rem; padding-left:18px; position:relative; margin-bottom:6px; }
.service-card li::before{ content:''; position:absolute; left:0; top:8px; width:7px; height:7px; border-radius:50%; background:var(--orchid); }

/* ---------- PRICING ---------- */
.pricing{ background:var(--plum-deep); color:#fff; padding:90px 24px; }
.pricing-inner{ max-width:1000px; margin:0 auto; display:grid; grid-template-columns:1.1fr 1fr; gap:50px; align-items:center; }
@media (max-width:820px){ .pricing-inner{ grid-template-columns:1fr; text-align:center; } }
.price-tag{ display:flex; align-items:baseline; gap:8px; justify-content:flex-start; }
@media (max-width:820px){ .price-tag{ justify-content:center; } }
.price-tag .num{ font-family:'Anton',sans-serif; font-size:5.2rem; line-height:1; background:linear-gradient(135deg, var(--gold-soft), var(--leaf) 60%, var(--leaf-dark)); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 6px 18px rgba(143,209,79,0.25)); }
.price-tag .unit{ font-size:1.1rem; color:var(--blush); font-weight:600; }
.pricing h2{ color:#fff; font-size:clamp(1.8rem,4vw,2.4rem); margin-bottom:18px; }
.pricing .fine{ color:var(--blush); margin-top:16px; font-size:0.95rem; line-height:1.6; max-width:420px; }
@media (max-width:820px){ .pricing .fine{ margin-left:auto; margin-right:auto; } }

.rate-tiers{ display:flex; flex-direction:column; gap:22px; }
.rate-tier .rate-label{
  display:inline-block; font-size:0.8rem; font-weight:700; letter-spacing:0.8px; text-transform:uppercase;
  color:var(--gold-soft); margin-bottom:4px;
}
.rate-tier .price-tag .num{ font-size:2.8rem; filter:drop-shadow(0 4px 12px rgba(143,209,79,0.22)); }
.rate-tier .price-tag .unit{ font-size:1rem; }
.rate-tier .rate-note{ color:var(--blush); font-size:0.85rem; margin-top:2px; opacity:0.85; }
.discount-cards{ display:flex; flex-direction:column; gap:16px; }
.discount-card{ background:rgba(255,255,255,0.06); backdrop-filter:blur(6px); border:1px solid rgba(217,169,77,0.35); border-radius:16px; padding:20px 24px; display:flex; align-items:center; gap:16px; transition:border-color 0.2s ease, transform 0.2s ease; }
.discount-card:hover{ border-color:var(--gold); transform:translateX(4px); }
.discount-card .icon{ width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg, var(--gold-soft), var(--gold)); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-family:'Anton',sans-serif; font-size:1.1rem; color:var(--plum-deep); }
.discount-card .d-title{ font-weight:700; color:#fff; font-size:1rem; }
.discount-card .d-sub{ color:var(--blush); font-size:0.85rem; }

/* ---------- BEFORE / AFTER ---------- */
.ba-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:32px; }
@media (max-width:760px){ .ba-grid{ grid-template-columns:1fr; } }
.ba-card{ background:#fff; border-radius:20px; overflow:hidden; box-shadow:var(--shadow); transition:transform 0.25s ease, box-shadow 0.25s ease; border:1px solid rgba(217,169,77,0); }
.ba-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-gold); border-color:rgba(217,169,77,0.4); }
.ba-images{ display:grid; grid-template-columns:1fr 1fr; }
.ba-images figure{ position:relative; aspect-ratio:3/4; overflow:hidden; }
.ba-images img{ width:100%; height:100%; object-fit:cover; display:block; }
.ba-images figcaption{ position:absolute; bottom:0; left:0; right:0; padding:8px 10px; font-size:0.72rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#fff; text-align:center; }
.ba-images figure.before figcaption{ background:rgba(59,23,64,0.75); }
.ba-images figure.after figcaption{ background:rgba(143,209,79,0.85); color:var(--plum-deep); }
.ba-label{ padding:18px 22px; }
.ba-label h3{ font-family:'Quicksand'; text-transform:none; letter-spacing:0; font-size:1.1rem; color:var(--plum-deep); font-weight:700; }
.ba-label p{ color:#6b4c6f; font-size:0.88rem; margin-top:4px; }

/* solo "before" strip */
.solo-before{ display:flex; gap:24px; align-items:center; background:#fff; border-radius:20px; box-shadow:var(--shadow); padding:24px; flex-wrap:wrap; }
.solo-before img{ width:180px; border-radius:14px; flex-shrink:0; }
.solo-before .txt h3{ font-family:'Quicksand'; text-transform:none; letter-spacing:0; font-size:1.15rem; color:var(--plum-deep); }
.solo-before .txt p{ color:#6b4c6f; margin-top:8px; font-size:0.95rem; line-height:1.55; }

/* ---------- GALLERY (kitchen after shots) ---------- */
.gallery-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; }
@media (max-width:760px){ .gallery-grid{ grid-template-columns:repeat(2, 1fr); } }
.gallery-grid img{ width:100%; height:220px; object-fit:cover; border-radius:14px; box-shadow:var(--shadow); transition:transform 0.4s ease, box-shadow 0.4s ease; }
.gallery-grid img:hover{ transform:scale(1.03); box-shadow:var(--shadow-gold); }

/* ---------- AREA / HOURS ---------- */
.area-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
@media (max-width:820px){ .area-wrap{ grid-template-columns:1fr; } }
.city-chips{ display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.chip{ background:linear-gradient(135deg, var(--blush), #f0d9b8); color:var(--plum-deep); padding:8px 16px; border-radius:20px; font-size:0.9rem; font-weight:600; border:1px solid rgba(217,169,77,0.3); }
table.hours{ width:100%; border-collapse:collapse; margin-top:20px; }
table.hours td{ padding:12px 0; border-bottom:1px solid #eadcec; font-size:0.98rem; }
table.hours td:first-child{ font-weight:700; color:var(--plum-deep); }
table.hours td:last-child{ text-align:right; color:#6b4c6f; }

/* ---------- ABOUT ---------- */
.about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
@media (max-width:820px){ .about-grid{ grid-template-columns:1fr; } }
.about-photo{ background:linear-gradient(155deg, #fff, var(--blush)); border-radius:20px; box-shadow:var(--shadow); padding:20px; border:1px solid rgba(217,169,77,0.3); }
.about-photo img{ border-radius:14px; width:100%; height:auto; object-fit:cover; }
.value-list{ margin-top:22px; display:flex; flex-direction:column; gap:14px; }
.value-item{ display:flex; gap:14px; align-items:flex-start; }
.value-item .dot{ width:10px; height:10px; border-radius:50%; background:var(--leaf); margin-top:8px; flex-shrink:0; }
.value-item h4{ font-weight:700; color:var(--plum-deep); font-size:1rem; }
.value-item p{ color:#6b4c6f; font-size:0.92rem; margin-top:2px; }

.name-story{
  margin-top:12px; padding:14px 18px; border-left:3px solid var(--gold);
  background:linear-gradient(90deg, rgba(217,169,77,0.08), transparent);
  color:#6b4c6f; font-size:1.02rem; line-height:1.6; font-style:italic;
}

.family-photo-wrap{ max-width:700px; margin:0 auto; text-align:center; }
.family-photo-wrap img{
  width:100%; height:auto; border-radius:20px; box-shadow:var(--shadow);
  border:1px solid rgba(217,169,77,0.3);
}
.family-caption{
  margin-top:16px; font-family:'Dancing Script', cursive; font-weight:700;
  font-size:1.3rem; color:var(--orchid);
}

.care-experience{ margin-top:24px; }
.care-label{
  display:block; font-size:0.8rem; font-weight:700; letter-spacing:0.8px;
  text-transform:uppercase; color:var(--orchid); margin-bottom:10px;
}
.care-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.care-chip{
  background:linear-gradient(135deg, var(--blush), #f0d9b8);
  color:var(--plum-deep); padding:9px 18px; border-radius:20px;
  font-size:0.88rem; font-weight:700; border:1px solid rgba(217,169,77,0.35);
}

.skills-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; }
@media (max-width:820px){ .skills-grid{ grid-template-columns:1fr; } }
.skill-item{
  background:#fff; border-radius:16px; padding:22px 24px;
  border-left:4px solid var(--orchid); box-shadow:var(--shadow);
}
.skill-item h4{ color:var(--plum-deep); font-size:1.02rem; font-weight:700; margin-bottom:6px; }
.skill-item p{ color:#6b4c6f; font-size:0.9rem; line-height:1.5; }

.name-story-home{
  max-width:620px; margin:0 auto; color:#6b4c6f; font-size:1.05rem;
  line-height:1.6; font-style:italic;
}
.name-story-link{
  display:inline-block; margin-left:8px; font-style:normal; font-weight:700;
  color:var(--orchid); white-space:nowrap;
}
.name-story-link:hover{ color:var(--gold); }
.cred-row{ display:flex; gap:18px; margin-top:20px; flex-wrap:wrap; }
.cred-stat{
  flex:1; min-width:150px; background:linear-gradient(155deg, #fff, var(--blush));
  border:1px solid rgba(217,169,77,0.35); border-radius:16px; padding:18px 20px;
  box-shadow:var(--shadow); text-align:center;
}
.cred-num{
  display:block; font-family:'Anton',sans-serif; font-size:2.6rem; line-height:1;
  background:linear-gradient(135deg, var(--orchid), var(--gold));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.cred-label{ display:block; margin-top:8px; font-size:0.82rem; font-weight:700; color:var(--plum-deep); letter-spacing:0.3px; }

/* ---------- CONTACT ---------- */
.contact-cta{ background:linear-gradient(135deg, var(--orchid) 0%, var(--plum) 100%); text-align:center; padding:90px 24px; color:#fff; }
.contact-cta .lotus{ width:150px; height:auto; object-fit:contain; margin:0 auto 12px; }
.contact-cta h2{ font-size:clamp(1.9rem,4vw,2.8rem); }
.contact-cta p{ margin-top:14px; font-size:1.05rem; opacity:0.95; }
.contact-details{ margin-top:34px; display:flex; gap:30px; justify-content:center; flex-wrap:wrap; font-size:1.2rem; font-weight:700; }
.contact-details a{ border-bottom:2px solid rgba(255,255,255,0.4); padding-bottom:2px; }
.contact-details a:hover{ border-color:#fff; }

.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
@media (max-width:820px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-info-card{ background:#fff; border-radius:20px; box-shadow:var(--shadow); padding:34px; }
.contact-info-card h3{ font-family:'Quicksand'; text-transform:none; letter-spacing:0; color:var(--plum-deep); font-size:1.2rem; margin-bottom:16px; }
.contact-info-row{ display:flex; gap:14px; align-items:flex-start; margin-bottom:18px; }
.contact-info-row .ico{ width:38px; height:38px; border-radius:50%; background:var(--blush); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-weight:700; color:var(--plum-deep); font-family:'Anton',sans-serif; }
.contact-info-row a, .contact-info-row span{ color:#6b4c6f; font-weight:600; }

.quote-form{ background:var(--plum-deep); border-radius:20px; padding:34px; color:#fff; }
.quote-form h3{ font-family:'Quicksand'; text-transform:none; letter-spacing:0; font-size:1.2rem; margin-bottom:6px; }
.quote-form p.sub{ color:var(--blush); font-size:0.9rem; margin-bottom:22px; }
.form-row{ margin-bottom:16px; }
.form-row label{ display:block; font-size:0.82rem; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; color:var(--orchid-bright); margin-bottom:6px; }
.form-row input, .form-row textarea, .form-row select{
  width:100%; padding:12px 14px; border-radius:10px; border:1px solid rgba(255,255,255,0.2);
  background:rgba(255,255,255,0.07); color:#fff; font-family:'Quicksand', sans-serif; font-size:0.95rem;
}
.form-row input::placeholder, .form-row textarea::placeholder{ color:rgba(255,255,255,0.45); }
.form-row textarea{ resize:vertical; min-height:100px; }
.quote-form .btn{ width:100%; text-align:center; margin-top:6px; }
.form-note{ margin-top:14px; font-size:0.8rem; color:var(--blush); opacity:0.85; text-align:center; }
.form-success{
  background:rgba(143,209,79,0.15); border:1px solid rgba(143,209,79,0.4);
  color:#fff; padding:12px 16px; border-radius:10px; font-size:0.92rem;
  margin-bottom:18px; text-align:center;
}
.form-error{
  background:rgba(216,117,176,0.15); border:1px solid rgba(216,117,176,0.4);
  color:#fff; padding:12px 16px; border-radius:10px; font-size:0.92rem;
  margin-bottom:18px; text-align:center;
}
.form-row-hide{ position:absolute; left:-9999px; top:-9999px; }

/* ---------- FOOTER ---------- */
footer{ background:linear-gradient(180deg, var(--plum-deep), #2E1132); color:var(--blush); text-align:center; padding:34px 24px 40px; font-size:0.85rem; border-top:2px solid transparent; border-image:linear-gradient(90deg, var(--orchid), var(--gold), var(--orchid)) 1; }
footer .lotus{ width:64px; height:auto; margin:0 auto 8px; opacity:0.9; object-fit:contain; }
footer strong{ color:#fff; }
footer .foot-links{ margin-top:14px; display:flex; gap:20px; justify-content:center; flex-wrap:wrap; }
footer .foot-links a{ color:var(--blush); font-weight:600; font-size:0.82rem; text-transform:uppercase; letter-spacing:0.5px; }
footer .foot-links a:hover{ color:var(--leaf); }

@media (prefers-reduced-motion: reduce){
  .hero-lotus{ animation:none; }
  html{ scroll-behavior:auto; }
}
