/* =========================================================
   R&S Maternity and Clinic — production stylesheet
   Palette & components adapted from the approved wireframe,
   with a soft glassmorphic finish and silky motion throughout.
   ========================================================= */
:root{
  --teal-900:#0B4A42;
  --teal-700:#0F6B5C;
  --teal-600:#137F6C;
  --gold-500:#C9A227;
  --gold-600:#B48F1F;
  --gold-100:#F5EACD;
  --sky-300:#A9D6E2;
  --sky-100:#E4F3F6;
  --cream-50:#FBF8F1;
  --cream-100:#F4EFE3;
  --ink-900:#1C2624;
  --ink-600:#4C5B57;
  --white:#FFFFFF;
  --radius-s:6px;
  --radius-m:14px;
  --radius-l:28px;
  --shadow-soft:0 12px 30px -14px rgba(11,74,66,0.28);
  --shadow-glass:0 8px 24px -12px rgba(11,74,66,.22), 0 2px 8px -2px rgba(11,74,66,.12), inset 0 1px 0 rgba(255,255,255,.5);
  --shadow-glass-dark:0 20px 50px -20px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08);
  --font-display:"Fraunces", serif;
  --font-body:"Work Sans", sans-serif;

  /* Glass surfaces */
  --glass-light:rgba(255,255,255,.62);
  --glass-light-strong:rgba(255,255,255,.8);
  --glass-border-light:rgba(255,255,255,.6);
  --glass-dark:rgba(11,74,66,.42);
  --glass-dark-strong:rgba(11,74,66,.62);
  --glass-border-dark:rgba(255,255,255,.18);
  --blur-sm:blur(10px);
  --blur-md:blur(18px);
  --blur-lg:blur(28px);

  /* Silky easing */
  --ease-silk:cubic-bezier(.22,1,.36,1);
  --ease-soft:cubic-bezier(.4,0,.2,1);
  --dur-fast:.25s;
  --dur-med:.45s;
  --dur-slow:.8s;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--ink-900);
  background:var(--cream-50);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:600; color:var(--teal-900); line-height:1.12;}
a{color:inherit; text-decoration:none;}
img,.ph{display:block;}
ul{list-style:none;}
img{max-width:100%;}
.eyebrow{
  font-family:var(--font-body); font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  font-size:.72rem; color:var(--gold-600);
}
.script{font-family:var(--font-display); font-style:italic; font-weight:500; color:var(--gold-600);}
.skip-link{position:absolute; left:-999px; top:0; background:var(--teal-900); color:#fff; padding:10px 16px; z-index:1000;}
.skip-link:focus{left:10px; top:10px;}

/* ---------------- Scroll-reveal animation ---------------- */
.reveal{
  opacity:0; transform:translateY(26px);
  transition:opacity var(--dur-slow) var(--ease-silk), transform var(--dur-slow) var(--ease-silk);
  will-change:opacity, transform;
}
.reveal.is-visible{opacity:1; transform:translateY(0);}
.reveal-group > *:nth-child(1){transition-delay:0ms;}
.reveal-group > *:nth-child(2){transition-delay:70ms;}
.reveal-group > *:nth-child(3){transition-delay:140ms;}
.reveal-group > *:nth-child(4){transition-delay:210ms;}
.reveal-group > *:nth-child(5){transition-delay:280ms;}
.reveal-group > *:nth-child(6){transition-delay:350ms;}
.reveal-group > *:nth-child(7){transition-delay:420ms;}
.reveal-group > *:nth-child(8){transition-delay:490ms;}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1 !important; transform:none !important; transition:none !important;}
  *{animation:none !important; transition-duration:.01ms !important;}
}

/* Placeholder image blocks (until admin uploads real photos) */
.ph{
  background:
    repeating-linear-gradient(135deg, rgba(11,74,66,0.06) 0 12px, transparent 12px 24px),
    linear-gradient(160deg, var(--sky-100), var(--cream-100));
  border:1px dashed rgba(11,74,66,0.35);
  border-radius:var(--radius-m);
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  color:var(--teal-700);
  font-size:.78rem;
  font-weight:600;
  padding:10px;
  min-height:100px;
  width:100%; height:100%; min-width:0;
  background-size:cover; background-position:center;
  transition:transform var(--dur-med) var(--ease-silk), box-shadow var(--dur-med) var(--ease-silk);
}
.ph span{opacity:.85;}
.ph.has-image{border:none; background-image:var(--img);}
.ph.has-image span{display:none;}

/* ================= SITE HEADER (glass) ================= */
.site-header{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:14px 40px;
  background:var(--glass-light);
  -webkit-backdrop-filter:var(--blur-md) saturate(160%);
  backdrop-filter:var(--blur-md) saturate(160%);
  border-bottom:1px solid var(--glass-border-light);
  box-shadow:0 8px 30px -22px rgba(11,74,66,.35);
  position:sticky; top:0; z-index:500;
  transition:background var(--dur-med) var(--ease-silk), box-shadow var(--dur-med) var(--ease-silk), padding var(--dur-med) var(--ease-silk);
}
.site-header.is-scrolled{
  background:var(--glass-light-strong);
  box-shadow:0 12px 34px -18px rgba(11,74,66,.32);
  padding-top:10px; padding-bottom:10px;
}
.brand{display:flex; align-items:center; gap:10px;}
.brand-mark{
  width:44px; height:44px; border-radius:50%; background:var(--teal-900);
  display:flex; align-items:center; justify-content:center; color:var(--sky-300); font-family:var(--font-display); font-weight:700; font-size:1rem;
  border:2px solid var(--gold-500); overflow:hidden; flex-shrink:0;
  transition:transform var(--dur-med) var(--ease-silk);
}
.brand:hover .brand-mark{transform:scale(1.06) rotate(-2deg);}
.brand-mark img{width:100%; height:100%; object-fit:cover;}
.brand-text .name{font-family:var(--font-display); font-weight:700; font-size:1rem; color:var(--teal-900); line-height:1.1;}
.brand-text .tag{font-family:var(--font-display); font-style:italic; font-size:.68rem; color:var(--gold-600);}
.main-nav{display:flex; align-items:center; gap:26px; font-weight:600; font-size:.86rem; color:var(--ink-900);}
.main-nav a{position:relative; padding:4px 0; transition:color var(--dur-fast) var(--ease-silk);}
.main-nav a:hover{color:var(--teal-700);}
.main-nav a.active{color:var(--teal-900);}
.main-nav a:after{content:""; position:absolute; left:0; right:100%; bottom:-4px; height:2px; background:var(--gold-500); transition:right var(--dur-med) var(--ease-silk);}
.main-nav a:hover:after{right:0;}
.main-nav a.active:after{right:0;}
.header-cta{display:flex; align-items:center; gap:14px;}
.icon-pill{
  width:38px; height:38px; border-radius:50%; background:var(--sky-100); color:var(--teal-900);
  display:flex; align-items:center; justify-content:center; font-size:.82rem; font-weight:700;
  transition:transform var(--dur-fast) var(--ease-silk), background var(--dur-fast) var(--ease-silk);
}
.icon-pill:hover{transform:translateY(-2px); background:var(--sky-300);}
.hamburger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px;}
.hamburger span{width:24px; height:2px; background:var(--teal-900); border-radius:2px; transition:transform var(--dur-med) var(--ease-silk), opacity var(--dur-fast) var(--ease-silk);}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-nav{
  display:flex; flex-direction:column;
  background:var(--glass-light-strong);
  -webkit-backdrop-filter:var(--blur-md); backdrop-filter:var(--blur-md);
  border-bottom:1px solid var(--glass-border-light);
  box-shadow:0 16px 34px -20px rgba(11,74,66,.3);
  padding:6px 18px 18px;
  max-height:0; overflow:hidden; opacity:0;
  transition:max-height var(--dur-med) var(--ease-silk), opacity var(--dur-fast) var(--ease-silk);
}
.mobile-nav a{padding:12px 4px; font-weight:600; font-size:.92rem; border-bottom:1px solid rgba(11,74,66,.08); transition:color var(--dur-fast) var(--ease-silk), padding-left var(--dur-fast) var(--ease-silk);}
.mobile-nav a:hover{color:var(--gold-600); padding-left:8px;}
.mobile-nav a.active{color:var(--gold-600);}
.mobile-nav.show{max-height:480px; opacity:1;}
.mobile-nav-cta{width:100%; justify-content:center; margin-top:14px; border-bottom:none !important;}

/* ================= BUTTONS ================= */
.btn{
  font-family:var(--font-body); font-weight:600; font-size:.88rem;
  padding:13px 26px; border-radius:100px; border:2px solid transparent; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px;
  transition:transform var(--dur-fast) var(--ease-silk), box-shadow var(--dur-fast) var(--ease-silk), background var(--dur-fast) var(--ease-silk);
}
.btn:active{transform:scale(.96);}
.btn-primary{background:var(--gold-500); color:var(--teal-900);}
.btn-primary:hover{background:var(--gold-600); transform:translateY(-2px); box-shadow:0 12px 24px -10px rgba(180,143,31,.55);}
.btn-outline{border-color:var(--white); color:var(--white); backdrop-filter:var(--blur-sm); -webkit-backdrop-filter:var(--blur-sm);}
.btn-outline.on-light{border-color:var(--teal-900); color:var(--teal-900);}
.btn-outline:hover{background:rgba(255,255,255,.16); transform:translateY(-2px);}
.btn-solid-teal{background:var(--teal-900); color:var(--white);}
.btn-solid-teal:hover{background:var(--teal-700); transform:translateY(-2px); box-shadow:0 12px 24px -10px rgba(11,74,66,.45);}
.btn-ghost{color:var(--teal-900); padding:13px 6px; background:none; border:none; cursor:pointer; font-size:.88rem; font-weight:600;}
.btn-ghost:after{content:"→"; margin-left:6px; display:inline-block; transition:transform var(--dur-fast) var(--ease-silk);}
.btn-ghost:hover:after{transform:translateX(4px);}
.btn:disabled{opacity:.6; cursor:not-allowed; transform:none !important;}

.input-sample{margin-top:14px; display:flex; flex-direction:column; gap:10px;}
input, textarea, select{
  font-family:var(--font-body); padding:12px 14px; border-radius:var(--radius-s);
  border:1.5px solid rgba(11,74,66,.25); font-size:.88rem; background:rgba(255,255,255,.6);
  width:100%; color:var(--ink-900);
  transition:border-color var(--dur-fast) var(--ease-silk), box-shadow var(--dur-fast) var(--ease-silk), background var(--dur-fast) var(--ease-silk);
}
input:focus, textarea:focus, select:focus{outline:none; border-color:var(--teal-700); box-shadow:0 0 0 3px rgba(201,162,39,.28); background:#fff;}
.field-error{color:#c0392b; font-size:.76rem; margin-top:-4px;}
input.invalid, textarea.invalid{border-color:#c0392b;}

/* ================= HERO SLIDER (layered depth) ================= */
.hero{
  position:relative; min-height:560px; display:flex; align-items:center; overflow:hidden;
  background:
    radial-gradient(circle at 15% 15%, rgba(169,214,226,.35), transparent 42%),
    radial-gradient(circle at 88% 82%, rgba(201,162,39,.28), transparent 45%),
    linear-gradient(135deg, var(--teal-900) 0%, var(--teal-700) 55%, var(--teal-600) 100%);
}
.hero .orb{
  position:absolute; border-radius:50%; filter:blur(50px); pointer-events:none; z-index:0;
  animation:orb-float 14s ease-in-out infinite;
}
.hero .orb-1{width:260px; height:260px; background:rgba(201,162,39,.35); top:-60px; right:8%;}
.hero .orb-2{width:200px; height:200px; background:rgba(169,214,226,.3); bottom:-70px; left:6%; animation-delay:3s;}
@keyframes orb-float{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(14px,-18px) scale(1.06);}
}
.hero-slide{position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1.1s var(--ease-silk); display:flex; align-items:center;}
.hero-slide.active{opacity:1; visibility:visible; position:relative;}
.hero-slide:before{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(120deg, rgba(11,74,66,.55) 10%, rgba(11,74,66,.15) 55%, transparent 80%),
    radial-gradient(circle at 85% 20%, rgba(201,162,39,.22), transparent 45%);
}
.hero-slide-img{
  position:absolute; inset:0; background-size:cover; background-position:center; opacity:.4;
  transform:scale(1.08); transition:transform 6s var(--ease-soft);
}
.hero-slide.active .hero-slide-img{transform:scale(1);}
.hero-content{
  position:relative; z-index:2; max-width:600px; margin:60px; padding:36px 40px; color:var(--white);
  background:var(--glass-dark);
  -webkit-backdrop-filter:var(--blur-md) saturate(140%); backdrop-filter:var(--blur-md) saturate(140%);
  border:1px solid var(--glass-border-dark);
  border-radius:var(--radius-l);
  box-shadow:var(--shadow-glass-dark);
}
.hero-content .eyebrow{color:var(--sky-300);}
.hero-content h1{color:var(--white); font-size:2.6rem; margin:14px 0 16px;}
.hero-content p{color:rgba(255,255,255,.88); font-size:1rem; margin-bottom:28px; max-width:480px;}
.hero-btns{display:flex; gap:14px; flex-wrap:wrap;}
.hero-dots{position:absolute; z-index:3; bottom:26px; left:calc(60px + 40px); display:flex; gap:8px;}
.hero-dots button{width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.4); cursor:pointer; border:none; padding:0; transition:width var(--dur-med) var(--ease-silk), background var(--dur-fast) var(--ease-silk);}
.hero-dots button.active{background:var(--gold-500); width:26px; border-radius:100px;}
.hero-arrows{position:absolute; z-index:3; right:30px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; gap:10px;}
.hero-arrows button{
  width:42px; height:42px; border-radius:50%; border:1px solid var(--glass-border-dark);
  background:rgba(255,255,255,.1);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  color:var(--white); cursor:pointer; font-size:.9rem;
  transition:background var(--dur-fast) var(--ease-silk), transform var(--dur-fast) var(--ease-silk);
}
.hero-arrows button:hover{background:rgba(255,255,255,.25); transform:scale(1.08);}

/* ================= QUICK INFO BAR ================= */
.info-bar{
  display:grid; grid-template-columns:repeat(4,1fr); background:var(--gold-100);
  text-align:center; font-size:.82rem; font-weight:600; color:var(--teal-900);
}
.info-bar div{padding:16px 10px; border-right:1px solid rgba(11,74,66,.12); transition:background var(--dur-fast) var(--ease-silk);}
.info-bar div:hover{background:rgba(255,255,255,.35);}
.info-bar div:last-child{border-right:none;}
.info-bar .lbl{display:block; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-600); margin-bottom:3px;}
.info-bar a{display:block;}

/* ================= GENERIC SECTION ================= */
.section{padding:64px 60px;}
.section.tint{background:var(--cream-100);}
.section-head{max-width:640px; margin:0 auto 40px; text-align:center;}
.section-head h2{font-size:1.9rem; margin-top:10px;}
.section-head p{color:var(--ink-600); margin-top:12px; font-size:.94rem;}

.about-preview{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
.about-preview .ph{min-height:300px; aspect-ratio:4/3;}
.about-preview .eyebrow{display:block; margin-bottom:8px;}
.about-preview h2{font-size:1.9rem; margin-bottom:14px;}
.about-preview p{color:var(--ink-600); margin-bottom:20px; font-size:.94rem;}

.services-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.service-card{
  background:var(--glass-light-strong);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1px solid var(--glass-border-light);
  border-radius:var(--radius-m); padding:26px 22px; box-shadow:var(--shadow-glass);
  border-bottom:3px solid transparent;
  transition:border-color var(--dur-med) var(--ease-silk), transform var(--dur-med) var(--ease-silk), box-shadow var(--dur-med) var(--ease-silk);
}
.service-card:hover{border-color:var(--gold-500); transform:translateY(-6px); box-shadow:0 20px 40px -18px rgba(11,74,66,.32);}
.service-icon{
  width:46px; height:46px; border-radius:12px; background:var(--sky-100); color:var(--teal-900);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px; font-size:1.2rem;
  transition:transform var(--dur-med) var(--ease-silk);
}
.service-card:hover .service-icon{transform:scale(1.08) rotate(-4deg);}
.service-card h4{font-size:1rem; margin-bottom:8px;}
.service-card p{font-size:.82rem; color:var(--ink-600);}
.services-cta{text-align:center; margin-top:36px;}

.stats-strip{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg, var(--teal-900), var(--teal-700));
  display:grid; grid-template-columns:repeat(4,1fr); text-align:center; padding:44px 40px; color:var(--white);
}
.stats-strip:before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 20% 30%, rgba(169,214,226,.18), transparent 45%);}
.stats-strip > div{position:relative; transition:transform var(--dur-med) var(--ease-silk);}
.stats-strip > div:hover{transform:translateY(-4px);}
.stats-strip .num{font-family:var(--font-display); font-size:2.1rem; color:var(--sky-300); font-weight:700;}
.stats-strip .lbl{font-size:.78rem; opacity:.8; margin-top:6px;}

.testimonial-wrap{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.testimonial{
  background:var(--glass-light-strong);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1px solid var(--glass-border-light);
  border-radius:var(--radius-m); padding:26px; box-shadow:var(--shadow-glass); position:relative;
  transition:transform var(--dur-med) var(--ease-silk), box-shadow var(--dur-med) var(--ease-silk);
}
.testimonial:hover{transform:translateY(-5px); box-shadow:0 20px 40px -18px rgba(11,74,66,.3);}
.testimonial .quote-mark{font-family:var(--font-display); font-size:2.6rem; color:var(--gold-100); position:absolute; top:10px; right:18px;}
.testimonial p{font-size:.88rem; color:var(--ink-600); margin-bottom:16px;}
.testimonial .who{font-weight:700; font-size:.84rem; color:var(--teal-900);}
.testimonial .stars{color:var(--gold-500); font-size:.8rem; margin-top:2px;}

.events-preview, .gallery-preview{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.event-card{
  background:var(--glass-light-strong);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1px solid var(--glass-border-light);
  border-radius:var(--radius-m); overflow:hidden; box-shadow:var(--shadow-glass);
  transition:transform var(--dur-med) var(--ease-silk), box-shadow var(--dur-med) var(--ease-silk);
}
.event-card:hover{transform:translateY(-6px); box-shadow:0 20px 40px -18px rgba(11,74,66,.32);}
.event-card .ph{border-radius:0; min-height:150px;}
.event-body{padding:18px;}
.date-badge{display:inline-block; background:var(--teal-900); color:var(--white); font-size:.7rem; font-weight:700; padding:4px 10px; border-radius:100px; margin-bottom:10px;}
.event-body h4{font-size:.98rem; margin-bottom:6px;}
.event-body p{font-size:.8rem; color:var(--ink-600);}
.empty-state{text-align:center; color:var(--ink-600); padding:40px 20px; grid-column:1/-1;}

.cta-banner{
  background:linear-gradient(120deg, var(--teal-900), var(--teal-600)); color:var(--white);
  text-align:center; padding:60px 40px; border-radius:var(--radius-l); margin:0 60px;
  position:relative; overflow:hidden;
}
.cta-banner:before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 90% 10%, rgba(201,162,39,.32), transparent 40%);}
.cta-banner:after{content:""; position:absolute; inset:0; background:radial-gradient(circle at 5% 100%, rgba(169,214,226,.2), transparent 45%);}
.cta-banner h2{color:var(--white); position:relative; font-size:1.8rem; margin-bottom:12px;}
.cta-banner p{position:relative; opacity:.85; margin-bottom:24px;}
.cta-banner .hero-btns{justify-content:center; position:relative;}

/* footer */
.site-footer{background:var(--teal-900); color:rgba(255,255,255,.82); padding:56px 60px 24px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px;}
.footer-grid h5{color:var(--sky-300); font-family:var(--font-body); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px;}
.footer-grid li{font-size:.85rem; margin-bottom:10px; opacity:.85; overflow-wrap:anywhere;}
.footer-grid a{transition:opacity var(--dur-fast) var(--ease-silk);}
.footer-grid a:hover{text-decoration:underline; opacity:1;}
.footer-brand .brand-text .name{color:var(--white);}
.footer-brand p{font-size:.84rem; opacity:.75; margin:14px 0 18px; max-width:280px;}
.socials{display:flex; gap:10px;}
.socials span{
  width:32px; height:32px; border-radius:50%; border:1px solid rgba(255,255,255,.3);
  display:flex; align-items:center; justify-content:center; font-size:.72rem;
  background:rgba(255,255,255,.05);
  transition:transform var(--dur-fast) var(--ease-silk), background var(--dur-fast) var(--ease-silk);
}
.socials span:hover{transform:translateY(-3px); background:rgba(255,255,255,.15);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15); margin-top:36px; padding-top:20px; display:flex; justify-content:space-between; font-size:.76rem; opacity:.65; flex-wrap:wrap; gap:8px;}
.footer-bottom a{text-decoration:underline;}

/* ================= PAGE BANNER ================= */
.page-banner{
  position:relative; overflow:hidden;
  background:linear-gradient(120deg, var(--teal-900), var(--teal-700)); color:var(--white);
  padding:70px 60px; text-align:center;
}
.page-banner:before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 80% 20%, rgba(201,162,39,.25), transparent 45%), radial-gradient(circle at 15% 85%, rgba(169,214,226,.2), transparent 40%);}
.page-banner .eyebrow, .page-banner h1, .page-banner .breadcrumb{position:relative;}
.page-banner .eyebrow{color:var(--sky-300);}
.page-banner h1{color:var(--white); font-size:2.3rem; margin-top:10px;}
.breadcrumb{opacity:.7; font-size:.8rem; margin-top:10px;}

/* ================= ABOUT PAGE ================= */
.mv-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
.mv-card{
  background:var(--glass-light-strong);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1px solid var(--glass-border-light);
  border-radius:var(--radius-m); padding:34px; box-shadow:var(--shadow-glass); border-top:4px solid var(--gold-500);
  transition:transform var(--dur-med) var(--ease-silk), box-shadow var(--dur-med) var(--ease-silk);
}
.mv-card:hover{transform:translateY(-5px); box-shadow:0 20px 40px -18px rgba(11,74,66,.3);}
.mv-card.vision{border-top-color:var(--sky-300);}
.mv-card .service-icon{margin-bottom:20px;}
.mv-card h3{font-size:1.3rem; margin-bottom:12px;}
.mv-card p{color:var(--ink-600); font-size:.92rem;}

.values-row{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
.value-item{
  padding:20px; border-radius:var(--radius-m);
  transition:transform var(--dur-med) var(--ease-silk), background var(--dur-med) var(--ease-silk);
}
.value-item:hover{transform:translateY(-4px); background:rgba(255,255,255,.5);}
.value-item .service-icon{margin:0 auto 14px;}
.value-item h4{font-size:.95rem; margin-bottom:6px;}
.value-item p{font-size:.8rem; color:var(--ink-600);}

.team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.team-card{text-align:center; transition:transform var(--dur-med) var(--ease-silk);}
.team-card:hover{transform:translateY(-4px);}
.team-card .ph{border-radius:50%; width:140px; height:140px; margin:0 auto 16px; box-shadow:var(--shadow-glass);}
.team-card h4{font-size:.98rem;}
.team-card .role{font-size:.78rem; color:var(--gold-600); font-weight:600;}

/* ================= SERVICES PAGE ================= */
.service-full-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.maternity-panel{
  grid-column:1 / -1; color:var(--white); border-radius:var(--radius-m);
  position:relative; overflow:hidden;
  background:linear-gradient(120deg, var(--teal-900), var(--teal-700));
  border:1px solid var(--glass-border-dark);
  padding:30px; display:grid; grid-template-columns:1fr 1.4fr; gap:30px; align-items:center;
}
.maternity-panel:before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 90% 15%, rgba(201,162,39,.3), transparent 45%);}
.maternity-panel > *{position:relative;}
.maternity-panel h3{color:var(--white); font-size:1.3rem; margin-bottom:10px;}
.maternity-panel p{opacity:.85; font-size:.88rem;}
.sub-list{display:grid; grid-template-columns:1fr 1fr; gap:12px; position:relative;}
.sub-list li{
  background:rgba(255,255,255,.1);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1px solid var(--glass-border-dark); border-radius:var(--radius-s); padding:12px 14px;
  font-size:.84rem; font-weight:600; display:flex; align-items:center; gap:10px;
  transition:transform var(--dur-fast) var(--ease-silk), background var(--dur-fast) var(--ease-silk);
}
.sub-list li:hover{transform:translateX(4px); background:rgba(255,255,255,.16);}
.sub-list li:before{content:"✓"; color:var(--gold-500); font-weight:700;}

/* ================= EVENTS PAGE ================= */
.filter-tabs{display:flex; gap:10px; justify-content:center; margin-bottom:34px; flex-wrap:wrap;}
.filter-tabs button{
  padding:9px 20px; border-radius:100px; font-size:.82rem; font-weight:600;
  border:1.5px solid rgba(11,74,66,.2); color:var(--teal-900); cursor:pointer;
  background:rgba(255,255,255,.55);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  transition:background var(--dur-med) var(--ease-silk), color var(--dur-med) var(--ease-silk), border-color var(--dur-med) var(--ease-silk), transform var(--dur-fast) var(--ease-silk);
}
.filter-tabs button:hover{transform:translateY(-2px); border-color:var(--gold-500);}
.filter-tabs button.active{background:var(--teal-900); color:var(--white); border-color:var(--teal-900);}
.events-full{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.event-card .cta-link{display:inline-block; margin-top:10px; font-size:.8rem; font-weight:700; color:var(--teal-900); border-bottom:2px solid var(--gold-500);}
.event-card[hidden]{display:none;}

/* ================= GALLERY PAGE ================= */
.gallery-full{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:130px; gap:14px;}
.gallery-full .ph{cursor:pointer; transition:transform var(--dur-med) var(--ease-silk), box-shadow var(--dur-med) var(--ease-silk);}
.gallery-full .ph:hover{transform:scale(1.03); box-shadow:0 16px 30px -12px rgba(11,74,66,.35);}
.gallery-item[hidden]{display:none;}
.gallery-item:nth-child(4n+1) .ph{grid-row:span 2;}

.lightbox{
  position:fixed; inset:0; background:rgba(11,20,18,.82);
  -webkit-backdrop-filter:var(--blur-md); backdrop-filter:var(--blur-md);
  z-index:2000; display:none; flex-direction:column; align-items:center; justify-content:center; padding:30px;
  opacity:0; transition:opacity var(--dur-med) var(--ease-silk);
}
.lightbox.show{display:flex;}
.lightbox.show.is-open{opacity:1;}
.lightbox .lb-frame{
  padding:14px; border-radius:var(--radius-l);
  background:rgba(255,255,255,.08);
  border:1px solid var(--glass-border-dark);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  box-shadow:var(--shadow-glass-dark);
}
.lightbox img{max-width:88vw; max-height:76vh; border-radius:var(--radius-m); display:block;}
.lightbox .lb-caption{color:#fff; text-align:center; margin-top:14px; font-size:.85rem; opacity:.85;}
.lightbox .lb-close, .lightbox .lb-prev, .lightbox .lb-next{
  position:absolute; background:rgba(255,255,255,.12);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1.5px solid rgba(255,255,255,.4); color:#fff;
  width:42px; height:42px; border-radius:50%; cursor:pointer; font-size:1rem;
  transition:background var(--dur-fast) var(--ease-silk), transform var(--dur-fast) var(--ease-silk);
}
.lightbox .lb-close:hover, .lightbox .lb-prev:hover, .lightbox .lb-next:hover{background:rgba(255,255,255,.25); transform:scale(1.08);}
.lightbox .lb-close{top:24px; right:24px; transform:none;}
.lightbox .lb-prev{left:24px; top:50%; transform:translateY(-50%);}
.lightbox .lb-prev:hover{transform:translateY(-50%) scale(1.08);}
.lightbox .lb-next{right:24px; top:50%; transform:translateY(-50%);}
.lightbox .lb-next:hover{transform:translateY(-50%) scale(1.08);}

/* ================= CONTACT PAGE ================= */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px;}
.contact-cards{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:26px;}
.contact-card{
  background:var(--glass-light-strong);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1px solid var(--glass-border-light);
  box-shadow:var(--shadow-glass); border-radius:var(--radius-m); padding:20px;
  transition:transform var(--dur-med) var(--ease-silk), box-shadow var(--dur-med) var(--ease-silk);
}
.contact-card:hover{transform:translateY(-4px); box-shadow:0 18px 34px -16px rgba(11,74,66,.3);}
.contact-card .service-icon{margin-bottom:12px;}
.contact-card h4{font-size:.88rem; margin-bottom:4px;}
.contact-card p{font-size:.82rem; color:var(--ink-600);}
.emergency-strip{
  display:flex; align-items:center; gap:14px;
  background:rgba(245,234,205,.75);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1.5px solid var(--gold-500);
  border-radius:var(--radius-m); padding:16px 20px; margin-bottom:26px;
}
.emergency-strip .dot{width:10px; height:10px; border-radius:50%; background:#c0392b; box-shadow:0 0 0 4px rgba(192,57,43,.2); flex-shrink:0; animation:pulse-dot 2.4s ease-in-out infinite;}
@keyframes pulse-dot{0%,100%{box-shadow:0 0 0 4px rgba(192,57,43,.2);} 50%{box-shadow:0 0 0 8px rgba(192,57,43,.08);}}
.emergency-strip strong{color:var(--teal-900);}
.contact-form{
  background:var(--glass-light-strong);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1px solid var(--glass-border-light);
  border-radius:var(--radius-m); padding:30px; box-shadow:var(--shadow-glass);
}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.form-status{margin-top:14px; padding:12px 14px; border-radius:var(--radius-s); font-size:.84rem; display:none; opacity:0; transition:opacity var(--dur-med) var(--ease-silk);}
.form-status.show{display:block; opacity:1;}
.form-status.success{background:#e5f6ec; color:#1e7a44; border:1px solid #bfe8cf;}
.form-status.error{background:#fdecea; color:#c0392b; border:1px solid #f5c6c1;}
.contact-map{min-height:220px;}
.map-frame{
  min-height:280px; border-radius:var(--radius-m); overflow:hidden;
  border:1px solid var(--glass-border-light); box-shadow:var(--shadow-glass);
}
.map-frame iframe{width:100%; height:100%; min-height:280px; border:0; display:block;}

/* ================= ADMIN PANEL ================= */
.admin-shell{background:var(--cream-100); min-height:100vh;}
.admin-login{
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center; padding:70px 20px; min-height:100vh;
  background:
    radial-gradient(circle at 15% 20%, rgba(169,214,226,.3), transparent 40%),
    radial-gradient(circle at 85% 80%, rgba(201,162,39,.25), transparent 42%),
    linear-gradient(120deg, var(--teal-900), var(--teal-700));
}
.login-card{
  background:var(--glass-light-strong);
  -webkit-backdrop-filter:var(--blur-lg) saturate(160%); backdrop-filter:var(--blur-lg) saturate(160%);
  border:1px solid var(--glass-border-light);
  border-radius:var(--radius-l); padding:44px; width:380px; max-width:100%; text-align:center;
  box-shadow:var(--shadow-glass-dark);
}
.login-card .brand-mark{margin:0 auto 14px; width:56px; height:56px;}
.login-card h3{margin-bottom:6px;}
.login-card p{color:var(--ink-600); font-size:.84rem; margin-bottom:24px;}
.login-card .input-sample{text-align:left;}
.login-card .btn{width:100%; justify-content:center; margin-top:8px;}
.login-error{background:#fdecea; color:#c0392b; border:1px solid #f5c6c1; border-radius:var(--radius-s); padding:10px 14px; font-size:.82rem; margin-bottom:16px; text-align:left;}

.admin-app{display:grid; grid-template-columns:230px 1fr; min-height:100vh;}
.admin-sidebar{
  background:linear-gradient(180deg, var(--glass-dark-strong), var(--glass-dark));
  -webkit-backdrop-filter:var(--blur-md); backdrop-filter:var(--blur-md);
  color:rgba(255,255,255,.85); padding:26px 18px; border-right:1px solid var(--glass-border-dark);
}
.admin-sidebar .brand-text .name{color:var(--white); font-size:.9rem;}
.admin-sidebar nav{margin-top:30px; display:flex; flex-direction:column; gap:4px;}
.admin-sidebar nav a{padding:11px 14px; border-radius:var(--radius-s); font-size:.85rem; font-weight:600; display:block; transition:background var(--dur-fast) var(--ease-silk), padding-left var(--dur-fast) var(--ease-silk);}
.admin-sidebar nav a:hover{background:rgba(255,255,255,.08); padding-left:18px;}
.admin-sidebar nav a.active{background:rgba(255,255,255,.14); color:var(--white); border-left:3px solid var(--gold-500);}
.admin-main{padding:30px 34px;}
.admin-topbar{display:flex; justify-content:space-between; align-items:center; margin-bottom:26px; flex-wrap:wrap; gap:14px;}
.admin-topbar h2{font-size:1.2rem;}
.admin-profile{display:flex; align-items:center; gap:10px; font-size:.84rem; font-weight:600;}
.admin-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:26px;}
.admin-stat{
  background:var(--glass-light-strong);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1px solid var(--glass-border-light);
  border-radius:var(--radius-m); padding:18px; box-shadow:var(--shadow-glass);
  transition:transform var(--dur-med) var(--ease-silk);
}
.admin-stat:hover{transform:translateY(-4px);}
.admin-stat .num{font-family:var(--font-display); font-size:1.5rem; color:var(--teal-900);}
.admin-stat .lbl{font-size:.76rem; color:var(--ink-600); margin-top:4px;}
.admin-panels{display:grid; grid-template-columns:1.3fr 1fr; gap:20px;}
.admin-panel-card{
  background:var(--glass-light-strong);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1px solid var(--glass-border-light);
  border-radius:var(--radius-m); padding:22px; box-shadow:var(--shadow-glass);
}
.admin-panel-card h4{font-size:.95rem; margin-bottom:14px; color:var(--teal-900);}
.edit-row{display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid rgba(11,74,66,.08); font-size:.82rem; gap:10px;}
.edit-row:last-child{border-bottom:none;}
.edit-row .badge{background:var(--sky-100); color:var(--teal-900); padding:3px 10px; border-radius:100px; font-size:.68rem; font-weight:700;}
.edit-row .edit-link{color:var(--gold-600); font-weight:700; cursor:pointer; transition:opacity var(--dur-fast) var(--ease-silk);}
.edit-row .edit-link:hover{opacity:.7;}
.msg-item{padding:10px 0; border-bottom:1px solid rgba(11,74,66,.08); font-size:.8rem;}
.msg-item .from{font-weight:700; color:var(--teal-900);}
.msg-item .snippet{color:var(--ink-600); margin-top:2px;}
.annot{
  font-size:.72rem; color:var(--ink-600); background:rgba(228,243,246,.7); border-left:3px solid var(--sky-300);
  padding:10px 14px; border-radius:6px; margin-top:16px;
}

.card{
  background:var(--glass-light-strong);
  -webkit-backdrop-filter:var(--blur-sm); backdrop-filter:var(--blur-sm);
  border:1px solid var(--glass-border-light);
  border-radius:var(--radius-m); padding:24px; box-shadow:var(--shadow-glass); margin-bottom:22px;
}
.card h3{font-size:1.05rem; margin-bottom:16px;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px;}
.form-grid.full, label.full{grid-column:1/-1;}
label{display:block; font-size:.78rem; font-weight:700; color:var(--teal-900); margin-bottom:6px;}
.table-wrap{overflow-x:auto;}
table{width:100%; border-collapse:collapse; font-size:.85rem;}
table th, table td{text-align:left; padding:10px 12px; border-bottom:1px solid rgba(11,74,66,.1); vertical-align:middle;}
table th{color:var(--teal-900); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em;}
table tbody tr{transition:background var(--dur-fast) var(--ease-silk);}
table tbody tr:hover{background:rgba(228,243,246,.35);}
.thumb{width:56px; height:56px; border-radius:8px; object-fit:cover; background:var(--sky-100);}
.row-actions{display:flex; gap:10px;}
.row-actions button, .row-actions a{background:none; border:none; cursor:pointer; font-weight:700; font-size:.78rem; transition:opacity var(--dur-fast) var(--ease-silk);}
.row-actions button:hover, .row-actions a:hover{opacity:.65;}
.link-edit{color:var(--gold-600);}
.link-delete{color:#c0392b;}
.badge-unread{background:var(--gold-500); color:var(--teal-900); font-size:.65rem; font-weight:700; padding:2px 8px; border-radius:100px; margin-left:6px;}
.msg-read{opacity:.6;}
.alert{padding:12px 16px; border-radius:var(--radius-s); font-size:.86rem; margin-bottom:18px;}
.alert-success{background:#e5f6ec; color:#1e7a44; border:1px solid #bfe8cf;}
.alert-error{background:#fdecea; color:#c0392b; border:1px solid #f5c6c1;}
.current-image{display:flex; align-items:center; gap:14px; margin-bottom:10px;}
.current-image img{width:80px; height:80px; object-fit:cover; border-radius:8px; background:var(--sky-100);}
.small-note{font-size:.76rem; color:var(--ink-600); margin-top:-6px; margin-bottom:10px;}

@media (max-width: 980px){
  .services-grid, .events-preview, .gallery-preview, .events-full, .stats-strip, .testimonial-wrap, .team-grid, .values-row, .service-full-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contact-grid, .about-preview, .mv-grid{grid-template-columns:1fr;}
  .admin-app{grid-template-columns:1fr;}
  .admin-sidebar{display:flex; align-items:center; justify-content:space-between;}
  .admin-sidebar nav{flex-direction:row; margin-top:0; flex-wrap:wrap;}
  .maternity-panel{grid-template-columns:1fr;}
  .gallery-full{grid-template-columns:repeat(2,1fr);}
  .form-grid{grid-template-columns:1fr;}
  /* Full desktop nav (6 links + icon + CTA) doesn't fit below ~980px — switch to the hamburger menu here instead of at phone-only widths. */
  .main-nav{display:none;}
  .hamburger{display:flex;}
  .header-cta .btn-primary{display:none;}
}
@media (max-width: 640px){
  .site-header{padding:14px 18px;}
  .hero-content{margin:24px; padding:26px 24px;}
  .hero-content h1{font-size:1.9rem;}
  .hero-dots{left:calc(24px + 24px);}
  .hero-arrows{display:none;}
  .section{padding:48px 22px;}
  .page-banner{padding:48px 22px;}
  .services-grid, .events-preview, .gallery-preview, .events-full, .stats-strip, .testimonial-wrap, .team-grid, .values-row, .info-bar, .form-row, .admin-stats, .contact-cards, .sub-list, .footer-grid, .service-full-grid{grid-template-columns:1fr;}
  .cta-banner{margin:0 22px;}
  .site-footer{padding:44px 22px 22px;}
  /* Lighten blur cost on small/low-power devices */
  .service-card, .testimonial, .event-card, .contact-card, .mv-card, .admin-stat, .admin-panel-card, .card, .filter-tabs button{
    -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  }
  .site-header, .mobile-nav{-webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);}
}
