:root{
  /* ========================================
     ANJJANA DENTAL CLINIC — LOCKED BRAND SYSTEM
     One palette, used everywhere (public site + admin).
     ======================================== */

  /* brand navy (primary accent — buttons, links, active states, icons) */
  --rose:#042E65;
  --rose-dark:#009DE5;
  --rose-darker:#021B3D;
  --rose-light:#E4F5FE;
  --rose-ultra-light:#F3FAFD;

  /* deep navy (headings, footer, dark surfaces) */
  --navy2:#042E65;
  --navy2-deep:#031F45;
  --navy:#042E65;

  /* text */
  --ink:#042E65;
  --gray-text:#667085;
  --muted:#8993A4;

  /* surfaces */
  --cream:#FAFAFB;
  --blush-bg:#F5FAFE;
  --blush-bg-2:#EAF4FC;
  --line:#E1E8F0;
  --line-soft:#E1E8F0;

  /* functional status colors — independent of brand rose */
  --success:#279B73;
  --success-soft:#ECF8F3;
  --warning:#D99132;
  --warning-soft:#FFF6E8;
  --danger:#D85D66;
  --danger-soft:#FFF0F1;
  --info:#467FCF;
  --info-soft:#EEF5FF;

  /* typography */
  --display:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --body:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',monospace;

  /* shadows */
  --shadow:0 20px 50px -20px rgba(4,46,101,0.16);
  --shadow-soft:0 20px 45px -22px rgba(4,46,101,0.18);
  --shadow-card:0 14px 34px -18px rgba(4,46,101,0.14);

  /* radius */
  --radius:14px;
  --radius-lg:22px;
  --radius-md:16px;

  /* retired duplicate tokens kept as aliases so nothing breaks */
  --teal:#042E65;
  --teal-bright:#009DE5;
  --coral:#009DE5;
  --mint:#279B73;
  --mint-light:#ECF8F3;
  --cyan:#467FCF;
  --cyan-light:#EEF5FF;
  --hero-rose:#042E65;
  --hero-rose-dark:#009DE5;
  --hero-rose-light:#E4F5FE;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--cream);line-height:1.6;-webkit-font-smoothing:antialiased;}
body:not(.admin-body){overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;margin:0 0 .5em;line-height:1.15;letter-spacing:-0.01em;}
p{margin:0 0 1em;}
.muted{color:var(--muted);}
.mono{font-family:var(--mono);}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- scroll reveal (progressive enhancement — only active once JS confirms it can animate them back in) ---------- */
html.js .home-head,
html.js .svc-card,
html.js .home-t-card,
html.js .home-why-card,
html.js .contact-info-card,
html.js .home-doc-card,
html.js .home-testi-card,
html.js .contact-hero-content,
html.js .home-process-step,
html.js .approach-card,
html.js .values-card,
html.js .about-intro-photo,
html.js .blueprint-frame,
html.js .home-founder-photo{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1);}
html.js .home-head.in-view,
html.js .svc-card.in-view,
html.js .home-t-card.in-view,
html.js .home-why-card.in-view,
html.js .contact-info-card.in-view,
html.js .home-doc-card.in-view,
html.js .home-testi-card.in-view,
html.js .contact-hero-content.in-view,
html.js .home-process-step.in-view,
html.js .approach-card.in-view,
html.js .values-card.in-view,
html.js .about-intro-photo.in-view,
html.js .blueprint-frame.in-view,
html.js .home-founder-photo.in-view{opacity:1;transform:translateY(0);}
html.js .svc-grid .svc-card:nth-child(2),html.js .home-t-cards .home-t-card:nth-child(2),html.js .home-why-cards .home-why-card:nth-child(2),html.js .contact-info-grid .contact-info-card:nth-child(2),html.js .home-process-row .home-process-step:nth-child(2){transition-delay:.08s;}
html.js .svc-grid .svc-card:nth-child(3),html.js .home-t-cards .home-t-card:nth-child(3),html.js .home-why-cards .home-why-card:nth-child(3),html.js .contact-info-grid .contact-info-card:nth-child(3),html.js .home-process-row .home-process-step:nth-child(3){transition-delay:.16s;}
html.js .home-t-cards .home-t-card:nth-child(4),html.js .home-why-cards .home-why-card:nth-child(4),html.js .home-process-row .home-process-step:nth-child(4){transition-delay:.24s;}
html.js .home-why-cards .home-why-card:nth-child(5){transition-delay:.32s;}
html.js .home-why-cards .home-why-card:nth-child(6){transition-delay:.4s;}
html.js .approach-cards .approach-card:nth-child(2),html.js .values-grid .values-card:nth-child(2){transition-delay:.08s;}
html.js .approach-cards .approach-card:nth-child(3),html.js .values-grid .values-card:nth-child(3){transition-delay:.16s;}
html.js .values-grid .values-card:nth-child(4){transition-delay:.24s;}
@media (prefers-reduced-motion: reduce){
  html.js .home-head,html.js .svc-card,html.js .home-t-card,html.js .home-why-card,html.js .contact-info-card,html.js .home-doc-card,html.js .home-testi-card,html.js .contact-hero-content,html.js .home-process-step,html.js .approach-card,html.js .values-card,html.js .about-intro-photo,html.js .blueprint-frame,html.js .home-founder-photo{opacity:1;transform:none;transition:none;}
}

/* ---------- shared decorative background motion (subtle, CSS-only) ---------- */
@keyframes drift-a{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(18px,-14px) scale(1.05);}}
@keyframes drift-b{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-16px,16px) scale(1.04);}}
@keyframes float-dot{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.deco-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.deco-blob{position:absolute;border-radius:50%;filter:blur(46px);opacity:0.07;background:var(--rose);}
.deco-blob.b2{background:var(--teal-bright);opacity:0.06;}
.deco-blob.a{animation:drift-a 14s ease-in-out infinite;}
.deco-blob.b{animation:drift-b 17s ease-in-out infinite;}
.deco-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--rose);opacity:0.12;animation:float-dot 6s ease-in-out infinite;}

/* ---------- dental decorative line-art system ---------- */
@keyframes dental-float{0%,100%{translate:0 0;}50%{translate:0 -12px;}}
.dental-deco-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.dental-deco-item{position:absolute;opacity:0.05;animation:dental-float 10s ease-in-out infinite;}
.dental-deco-item svg{width:100%;height:100%;stroke-width:0.8;display:block;}

/* ---------- top bar & header (premium v2) ---------- */

.top-bar{background:var(--hero-rose);color:#fff;font-size:12.5px;}
.top-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 24px;}
.top-bar-left{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.top-bar-left a,.top-bar-left span{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,0.92);}
.top-bar-left a:hover{color:#fff;}
.top-bar-left svg{width:13px;height:13px;color:rgba(255,255,255,0.85);flex:none;}
.top-bar-social{display:flex;align-items:center;gap:10px;flex:none;}
.top-bar-social a{display:flex;background:#fff;border-radius:50%;padding:5px;transition:transform .15s ease,filter .15s ease;}
.top-bar-social a:hover{transform:translateY(-1px);filter:brightness(1.08);}
.top-bar-social a:nth-child(1){color:#1877F2;}
.top-bar-social a:nth-child(2){color:#E4405F;}
.top-bar-social a:nth-child(3){color:#0A66C2;}
.top-bar-social svg{width:14px;height:14px;}
@media (max-width:900px){.top-bar-left .top-bar-hide-md{display:none;}}
@media (max-width:560px){.top-bar-left .top-bar-hide-sm{display:none;} .top-bar-social{display:none;}}

.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,0.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);transition:box-shadow .2s ease;}
.site-header.is-scrolled{box-shadow:0 8px 24px -18px rgba(16,33,58,0.35);}
.header-inner{display:flex;align-items:center;gap:24px;padding:14px 24px;min-height:88px;}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;}
.brand-logo-img{height:68px;width:auto;display:block;}
.footer-logo-chip{display:inline-flex;background:#fff;border-radius:14px;padding:10px 16px;box-shadow:var(--shadow-card);}
.footer-logo-chip .brand-logo-img{height:64px;}
@media (max-width:480px){.brand-logo-img{height:54px;} .footer-logo-chip .brand-logo-img{height:52px;}}
.brand-mark{width:42px;height:42px;border-radius:50%;background:var(--rose-light);color:var(--rose);display:flex;align-items:center;justify-content:center;flex:none;}
.brand-mark svg{width:24px;height:24px;}
.brand-text-wrap{display:flex;flex-direction:column;line-height:1.1;}
.brand-text{font-family:var(--display);font-weight:700;font-size:21px;color:var(--rose);}
.brand-sub{font-size:10px;letter-spacing:.14em;color:var(--navy2);font-weight:600;}

.main-nav{display:flex;align-items:center;gap:24px;font-size:14.5px;font-weight:500;}
.main-nav>a,.nav-drop>button{position:relative;padding:8px 0;color:var(--navy2);background:none;border:0;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px;}
.main-nav>a.active,.main-nav>a:hover,.nav-drop:hover>button,.nav-drop>button:hover{color:var(--hero-rose);}
.main-nav>a.active::after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;background:var(--hero-rose);border-radius:2px;}
.nav-drop{position:relative;}
.nav-drop>button svg{width:11px;height:11px;transition:transform .15s ease;}
.nav-drop:hover>button svg,.nav-drop.open>button svg{transform:rotate(180deg);}
.nav-drop-menu{position:absolute;top:100%;left:0;min-width:220px;background:#fff;border:1px solid var(--line-soft);border-radius:12px;box-shadow:var(--shadow-soft);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease,visibility .15s;z-index:80;}
.nav-drop:hover>.nav-drop-menu,.nav-drop.open>.nav-drop-menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav-drop-menu a{display:block;padding:9px 12px;border-radius:8px;font-size:14px;color:var(--navy2);}
.nav-drop-menu a:hover{background:var(--hero-rose-light);color:var(--hero-rose);}

.header-actions{display:flex;align-items:center;gap:12px;}
.header-phone{display:none;}
.header-phone-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 8px;border:1px solid var(--line-soft);border-radius:999px;color:var(--navy2);font-weight:600;font-size:14px;}
.header-phone-pill .ic{width:30px;height:30px;border-radius:50%;background:var(--hero-rose-light);color:var(--hero-rose);display:flex;align-items:center;justify-content:center;flex:none;}
.header-phone-pill .ic svg{width:15px;height:15px;}
.btn-book{display:inline-flex;align-items:center;gap:8px;background:var(--hero-rose);color:#fff;padding:12px 22px;border-radius:8px;font-weight:600;font-size:14.5px;border:1px solid var(--hero-rose);transition:background .15s ease,transform .15s ease;}
.btn-book:hover{background:var(--hero-rose-dark);border-color:var(--hero-rose-dark);transform:translateY(-1px);}
.btn-book svg{width:16px;height:16px;}

.nav-toggle{display:none;position:relative;z-index:75;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;}
.nav-toggle span{width:22px;height:2px;background:var(--navy2);display:block;border-radius:2px;}

@media (max-width:1260px){
  .header-phone-pill{display:none;}
  .main-nav{position:fixed;inset:0 0 0 auto;width:min(320px,86vw);height:100vh;background:#fff;z-index:60;flex-direction:column;align-items:stretch;gap:2px;padding:88px 22px 22px;box-shadow:-14px 0 40px -20px rgba(22,35,63,0.35);transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;}
  .main-nav.open{transform:translateX(0);}
  .main-nav>a{padding:12px 4px;border-bottom:1px solid var(--line-soft);}
  .main-nav>a.active::after{display:none;}
  .nav-drop{width:100%;}
  .nav-drop>button{width:100%;justify-content:space-between;padding:12px 4px;border-bottom:1px solid var(--line-soft);}
  .nav-drop-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;display:none;padding:4px 0 4px 12px;}
  .nav-drop.open>.nav-drop-menu{display:block;}
  .nav-toggle{display:flex;}
  .header-actions .btn-book span{display:none;}
  .header-actions .btn-book{padding:10px;}
  .nav-scrim{display:none;position:fixed;inset:0;background:rgba(16,24,45,0.4);z-index:55;}
  .nav-scrim.open{display:block;}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;transition:transform .15s ease, box-shadow .15s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--rose);color:#fff;border-color:var(--rose);}
.btn-primary:hover{background:var(--rose-dark);border-color:var(--rose-dark);box-shadow:0 10px 24px -8px rgba(0,157,229,0.45);}
.btn-outline{background:transparent;border-color:var(--navy);color:var(--navy);}
.btn-outline:hover{background:var(--navy);color:#fff;}
.btn-ghost-light{background:rgba(246,245,241,0.08);border-color:rgba(246,245,241,0.35);color:var(--cream);}
.btn-ghost-light:hover{background:var(--teal-bright);border-color:var(--teal-bright);color:var(--navy);}
.btn-sm{padding:8px 16px;font-size:13px;}
.btn-danger{background:#fff;border-color:#E4573D;color:#E4573D;}

/* ---------- eyebrow / blueprint chip ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);border:1px solid var(--teal);border-radius:999px;padding:6px 14px;margin-bottom:18px;}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--coral);}

/* ---------- hero ---------- */
.hero{background:var(--navy);color:var(--cream);position:relative;overflow:hidden;padding:56px 0 80px;}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;}
.hero h1{font-size:clamp(34px,4.6vw,58px);color:#fff;}
.hero .eyebrow{color:var(--teal-bright);border-color:rgba(47,217,196,0.5);}
.hero p.lead{color:rgba(246,245,241,0.78);font-size:17.5px;max-width:52ch;}
.hero-actions{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.hero-stats{display:flex;gap:28px;margin-top:44px;flex-wrap:wrap;}
.hero-stats div{font-family:var(--mono);}
.hero-stats b{display:block;font-size:22px;color:var(--teal-bright);font-family:var(--display);}
.hero-stats span{font-size:12px;color:rgba(246,245,241,0.6);letter-spacing:.04em;}
.hero-visual{position:relative;border:1px solid rgba(47,217,196,0.35);border-radius:var(--radius);background:linear-gradient(160deg,rgba(20,107,99,0.35),rgba(13,43,43,0.1));min-height:420px;}
.hero-visual canvas{border-radius:var(--radius);}
.hero-visual .tag{position:absolute;top:16px;left:16px;font-family:var(--mono);font-size:11px;color:var(--teal-bright);letter-spacing:.08em;}
.hero-visual .tag.br{top:auto;left:auto;right:16px;bottom:16px;color:rgba(246,245,241,0.55);}

/* ---------- sections ---------- */
section{padding:88px 0;}
.section-head{max-width:640px;margin:0 auto 48px;text-align:center;}
.section-head h2{font-size:clamp(26px,3vw,38px);}
.bg-navy{background:var(--navy);color:var(--cream);}
.bg-navy h2, .bg-navy h3{color:#fff;}

/* ---------- stat strip ---------- */
.stat-strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.stat-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:36px 24px;}
.stat-strip b{display:block;font-family:var(--display);font-size:28px;color:var(--navy);}
.stat-strip span{font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.03em;}

/* ---------- cards / grid ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:relative;}
.card .num{position:absolute;top:20px;right:22px;font-family:var(--mono);font-size:12px;color:var(--muted);}
.card .ic{width:46px;height:46px;border-radius:10px;background:var(--navy);color:var(--teal-bright);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.card h3{font-size:19px;}
.card p{color:var(--muted);font-size:15px;margin-bottom:0;}
.card-link{display:inline-block;margin-top:14px;font-size:14px;font-weight:600;color:var(--teal);}

/* ---------- about split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.split img{border-radius:var(--radius);}
.blueprint-frame{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}

/* ---------- testimonials ---------- */
.testi{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testi .card{background:rgba(246,245,241,0.06);border-color:rgba(246,245,241,0.18);}
.testi .card p{color:rgba(246,245,241,0.85);font-size:15px;}
.testi .who{font-family:var(--mono);font-size:12px;color:var(--teal-bright);margin-top:14px;}

/* ---------- doctors ---------- */
.doctor-card{text-align:center;}
.doctor-card img{border-radius:var(--radius);aspect-ratio:1/1;object-fit:cover;margin-bottom:14px;}
.doctor-card h3{font-size:17px;margin-bottom:2px;}
.doctor-card p{font-size:13.5px;color:var(--muted);}

/* ---------- CTA band ---------- */
.cta-band{background:var(--teal);color:#fff;border-radius:var(--radius);padding:52px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.cta-band h2{color:#fff;margin-bottom:6px;}

/* ---------- forms ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow);}
.field{margin-bottom:18px;}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink);}
.field input,.field textarea,.field select{width:100%;padding:12px 14px;border-radius:8px;border:1px solid var(--line);font-family:var(--body);font-size:15px;background:#fdfcfa;}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--teal-bright);outline-offset:1px;border-color:var(--teal);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.success-box{background:var(--success-soft);border:1px solid var(--success);color:var(--success);padding:16px 18px;border-radius:10px;margin-bottom:18px;font-size:14.5px;}
.error-box{background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger);padding:16px 18px;border-radius:10px;margin-bottom:18px;font-size:14.5px;}

/* ---------- appointment: premium calendar + slot grid ---------- */
.apt-picker-row{align-items:start;}
.apt-calendar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;}
.apt-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.apt-cal-title{font-family:var(--display);font-weight:700;font-size:15px;color:var(--navy2);}
.apt-cal-nav{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease;}
.apt-cal-nav svg{width:14px;height:14px;}
.apt-cal-nav:hover:not(:disabled){background:var(--rose);color:#fff;border-color:var(--rose);}
.apt-cal-nav:disabled{opacity:0.3;cursor:not-allowed;}
.apt-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-bottom:6px;}
.apt-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.apt-cal-cell{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;background:none;font-size:13px;color:var(--ink);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;}
.apt-cal-cell.empty{cursor:default;}
.apt-cal-cell:not(.disabled):not(.empty):hover{background:var(--rose-ultra-light);border-color:var(--rose-light);}
.apt-cal-cell.today{border-color:var(--rose);font-weight:700;}
.apt-cal-cell.selected{background:var(--rose);color:#fff;border-color:var(--rose);font-weight:700;}
.apt-cal-cell.disabled{color:var(--muted);opacity:0.4;cursor:not-allowed;}
.apt-slots{min-height:54px;}
.apt-slots-empty{margin:0;font-size:13.5px;padding:14px 0;}
.apt-slots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.apt-slot{min-height:44px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:13px;font-weight:500;font-family:var(--body);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;}
.apt-slot:not(:disabled):hover{background:var(--rose-ultra-light);border-color:var(--rose);}
.apt-slot.selected{background:var(--rose);border-color:var(--rose);color:#fff;font-weight:700;}
.apt-slot.booked{background:#F2F4F7;border-color:var(--line);color:var(--muted);cursor:not-allowed;text-decoration:line-through;}
.apt-slot-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--gray-text);}
.apt-slot-legend span{display:inline-flex;align-items:center;gap:6px;}
.apt-dot{width:9px;height:9px;border-radius:50%;display:inline-block;border:1px solid var(--line);background:#fff;}
.apt-dot.selected{background:var(--rose);border-color:var(--rose);}
.apt-dot.booked{background:#F2F4F7;border-color:var(--line);}
@media (max-width:600px){.apt-slots-grid{grid-template-columns:repeat(2,1fr);}}
.apt-next-card{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:20px;}
.apt-next-card h4{font-size:14px;color:var(--navy2);margin-bottom:14px;}
.apt-next-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.apt-next-card li{display:flex;align-items:flex-start;gap:12px;font-size:13.5px;color:var(--gray-text);line-height:1.5;}
.apt-next-card li span{flex:none;width:22px;height:22px;border-radius:50%;background:var(--rose);color:#fff;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--mono);}

/* ---------- blog archive: sidebar layout ---------- */
.blog-layout{display:grid;grid-template-columns:2.5fr 1fr;gap:44px;align-items:start;}
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.blog-active-filter{background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:22px;font-size:14px;color:var(--gray-text);}
.blog-clear-filter{margin-left:8px;color:var(--rose);font-weight:600;}
.blog-sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:100px;}
.blog-sidebar-card{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:20px;}
.blog-sidebar-card h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:14px;}
.blog-search-form{display:flex;gap:8px;}
.blog-search-form input{flex:1;min-height:44px;border-radius:10px;border:1px solid var(--line);padding:0 14px;font:inherit;background:#fff;}
.blog-search-form input:focus{outline:2px solid var(--rose);outline-offset:1px;border-color:var(--rose);}
.blog-search-form button{width:44px;height:44px;flex:none;border-radius:10px;border:1px solid var(--rose);background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.blog-search-form button svg{width:16px;height:16px;}
.blog-sidebar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.blog-sidebar-list a{display:flex;justify-content:space-between;align-items:center;padding:9px 10px;border-radius:8px;font-size:14px;color:var(--navy2);}
.blog-sidebar-list a:hover,.blog-sidebar-list a.active{background:var(--rose-ultra-light);color:var(--rose);}
.blog-sidebar-list a span{font-size:12px;color:var(--muted);font-family:var(--mono);}
.blog-recent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.blog-recent-list a{display:flex;gap:12px;align-items:center;}
.blog-recent-list img{width:56px;height:56px;border-radius:10px;object-fit:cover;flex:none;}
.blog-recent-list b{display:block;font-size:13.5px;color:var(--navy2);line-height:1.3;font-weight:600;}
.blog-recent-list em{font-size:11.5px;color:var(--muted);font-style:normal;}
.blog-sidebar-cta{background:var(--rose);border-radius:14px;padding:22px 20px;color:#fff;}
.blog-sidebar-cta h4{color:#fff;font-size:15px;margin-bottom:6px;}
.blog-sidebar-cta p{font-size:13px;color:rgba(255,255,255,0.85);margin-bottom:14px;}
.blog-sidebar-cta .btn-hero-primary{background:#fff;color:var(--rose);border-color:#fff;}
.blog-sidebar-cta .btn-hero-primary:hover{background:var(--rose-ultra-light);}
.blog-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:32px;}
.blog-page-btn{font-size:13.5px;font-weight:600;color:var(--navy2);}
.blog-page-btn:hover{color:var(--rose);}
.blog-page-btn.disabled{opacity:0.35;pointer-events:none;}
.blog-page-nums{display:flex;gap:4px;}
.blog-page-num{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:13.5px;color:var(--navy2);}
.blog-page-num:hover{background:var(--rose-ultra-light);}
.blog-page-num.active{background:var(--rose);color:#fff;font-weight:700;}
@media (max-width:1024px){
  .blog-layout{grid-template-columns:1fr;}
  .blog-sidebar{position:static;}
}
@media (max-width:600px){.blog-grid{grid-template-columns:1fr;}}

/* ---------- about page ---------- */
.about-intro-photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);aspect-ratio:4/4.4;}
.about-intro-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.about-intro-photo:hover img{transform:scale(1.03);}
.about-trust-row{display:flex;gap:28px;flex-wrap:wrap;margin-top:24px;}
.about-trust-row div{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--navy2);}
.about-trust-row .ic{width:36px;height:36px;border-radius:50%;background:var(--rose-light);color:var(--rose);display:flex;align-items:center;justify-content:center;flex:none;}
.about-trust-row .ic svg{width:16px;height:16px;}
.approach-section{background:var(--cream);}
.approach-grid{align-items:center;}
.approach-cards{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px;}
.approach-card{flex:1;min-width:140px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 16px;text-align:center;transition:background .25s ease,border-color .25s ease,transform .25s ease;}
@media (hover:hover){.approach-card:hover{background:var(--rose-ultra-light);border-color:var(--rose-light);transform:translateY(-3px);}}
.approach-card .ic{width:38px;height:38px;border-radius:50%;background:var(--rose-light);color:var(--rose);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;}
.approach-card .ic svg{width:18px;height:18px;}
.approach-card h4{font-size:13.5px;color:var(--navy2);margin:0;}
.values-section{padding:96px 0;background:var(--blush-bg);}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.values-card{text-align:center;padding:30px 20px;border-radius:16px;border:1px solid var(--line);transition:background .25s ease,border-color .25s ease,transform .25s ease;}
@media (hover:hover){.values-card:hover{background:var(--rose-ultra-light);border-color:var(--rose-light);transform:translateY(-4px);}}
.values-card .ic{width:52px;height:52px;border-radius:50%;background:var(--rose-light);color:var(--rose);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.values-card .ic svg{width:22px;height:22px;}
.values-card h4{font-size:16px;color:var(--navy2);margin-bottom:6px;}
.values-card p{font-size:13.5px;color:var(--gray-text);margin:0;}
@media (max-width:1024px){.values-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.approach-cards{flex-direction:column;} .values-grid{grid-template-columns:1fr;}}

/* ---------- contact page: premium pattern hero ---------- */
.contact-hero-section{padding:24px 0 0;background:#fff;}
.contact-hero-section .wrap-xl{max-width:1560px;}
.contact-hero-panel{position:relative;overflow:hidden;background:var(--blush-bg);border-radius:0;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;padding:48px 24px;}
.contact-hero-content{position:relative;z-index:1;max-width:640px;}
.contact-hero-content h1{font-size:clamp(32px,4vw,46px);color:var(--navy2);margin-bottom:10px;}
.contact-hero-content p{color:var(--gray-text);font-size:16px;max-width:52ch;margin:0 auto 18px;}
.contact-hero-crumb{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;gap:8px;font-size:13.5px;font-weight:500;color:var(--navy2);margin-top:14px;}
.contact-hero-crumb a{color:var(--navy2);opacity:0.7;}
.contact-hero-crumb a:hover{opacity:1;color:var(--rose);}
.contact-hero-crumb .current{color:var(--rose);font-weight:600;}
@media (max-width:768px){.contact-hero-panel{min-height:280px;padding:36px 20px;}}

/* ---------- contact page: service marquee ---------- */
@keyframes marquee-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.marquee-wrap{overflow:hidden;background:#fff;border-bottom:1px solid var(--line);padding:16px 0;}
.marquee-track{display:flex;align-items:center;width:max-content;animation:marquee-scroll 32s linear infinite;}
.marquee-item{font-family:var(--display);font-weight:600;font-size:15px;color:var(--navy2);white-space:nowrap;padding:0 12px;}
.marquee-dot{display:inline-flex;color:var(--rose);opacity:0.6;width:16px;height:16px;}
.marquee-dot svg{width:16px;height:16px;}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none;}}

/* ---------- contact page: info cards ---------- */
.contact-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.contact-info-card{display:block;text-align:center;background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:36px 24px;transition:background .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease;}
.contact-info-card .ic{width:60px;height:60px;border-radius:50%;background:#fff;color:var(--rose);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:var(--shadow-card);transition:transform .28s ease,background .28s ease,color .28s ease;}
.contact-info-card .ic svg{width:26px;height:26px;}
.contact-info-card h3{font-size:17px;color:var(--navy2);margin-bottom:6px;}
.contact-info-card p{font-size:14px;color:var(--gray-text);margin:0;}
@media (hover:hover){
  .contact-info-card:hover{background:var(--rose-ultra-light);border-color:var(--rose-light);transform:translateY(-4px);box-shadow:var(--shadow-card);}
  .contact-info-card:hover .ic{background:var(--rose);color:#fff;transform:translateY(-2px);}
}
@media (max-width:900px){.contact-info-grid{grid-template-columns:1fr;}}

/* ---------- contact page: form + side ---------- */
.contact-main-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start;}
.contact-side{display:flex;flex-direction:column;gap:16px;}
.contact-side-photo{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10;box-shadow:var(--shadow-card);}
.contact-side-photo img{width:100%;height:100%;object-fit:cover;}
.contact-side-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;}
.contact-side-card h4{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--navy2);margin-bottom:6px;}
.contact-side-card h4 svg{width:16px;height:16px;color:var(--rose);}
.contact-side-card p{margin:0;font-size:14px;color:var(--gray-text);}
.contact-side-actions{display:flex;gap:10px;flex-wrap:wrap;}
.contact-side-actions>a{flex:1;justify-content:center;}
.contact-map-full{border-radius:24px;overflow:hidden;border:1px solid var(--line);height:460px;}
.contact-map-full iframe{display:block;}
@media (max-width:1024px){.contact-map-full{height:380px;}}
@media (max-width:600px){.contact-map-full{height:320px;border-radius:18px;}}
@media (max-width:900px){.contact-main-grid{grid-template-columns:1fr;}}

/* ---------- blog ---------- */
.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;}
.blog-card img{aspect-ratio:16/10;object-fit:cover;}
.blog-card .body{padding:22px;flex:1;display:flex;flex-direction:column;}
.blog-card .meta{font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-bottom:10px;letter-spacing:.03em;}
.blog-card h3{font-size:18px;}
.blog-card p{color:var(--muted);font-size:14.5px;flex:1;}
/* ---------- blog article (single post) ---------- */
.article-hero{padding:48px 0 0;background:#fff;}
.article-hero-wrap{max-width:960px;margin:0 auto;}
.article-crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;margin-bottom:18px;color:var(--gray-text);}
.article-crumb a{color:var(--gray-text);}
.article-crumb a:hover{color:var(--rose);}
.article-crumb .current{color:var(--navy2);font-weight:500;}
.article-hero-wrap h1{font-size:clamp(28px,3.4vw,42px);line-height:1.22;color:var(--navy2);max-width:26ch;margin-bottom:20px;}
.article-meta{display:flex;flex-wrap:wrap;gap:22px;font-size:13.5px;color:var(--gray-text);}
.article-meta span{display:inline-flex;align-items:center;gap:7px;}
.article-meta svg{width:15px;height:15px;color:var(--rose);}
.post-cover{width:100%;max-width:1160px;margin:0 auto;display:block;aspect-ratio:16/8.5;object-fit:cover;border-radius:20px;box-shadow:var(--shadow-card);}
.article-meta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:28px auto 0;}
.article-meta-row .eyebrow{margin-bottom:0;}
.article-layout{display:grid;grid-template-columns:1fr 280px;gap:56px;align-items:start;max-width:1160px;margin:0 auto;}
.article-body{max-width:800px;font-size:17.5px;line-height:1.8;color:var(--ink);}
.article-body>p:first-of-type{font-size:19.5px;}
.article-body h2{font-size:28px;color:var(--navy2);margin:48px 0 18px;line-height:1.25;}
.article-body h3{font-size:21px;color:var(--navy2);margin:32px 0 14px;}
.article-body p{margin:0 0 22px;text-align:justify;text-justify:inter-word;}
.article-body ul,.article-body ol{margin:0 0 22px;padding-left:24px;}
.article-body li{margin-bottom:8px;}
.article-body blockquote{margin:28px 0;padding:18px 22px;border-left:3px solid var(--rose);background:var(--rose-ultra-light);border-radius:0 12px 12px 0;font-style:italic;color:var(--navy2);}
.article-toc{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:36px;}
.article-toc h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:10px;}
.article-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
.article-toc a{font-size:14.5px;color:var(--navy2);}
.article-toc a:hover{color:var(--rose);}
.article-toc .toc-3{padding-left:16px;font-size:13.5px;}
.article-share{display:flex;align-items:center;gap:14px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line);}
.article-share a{width:36px;height:36px;border-radius:50%;background:var(--cream);color:var(--navy2);display:flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease;}
.article-share a:hover{background:var(--rose);color:#fff;}
.article-share svg{width:16px;height:16px;}
.article-sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:100px;}
.article-sidebar-card{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:20px;}
.article-sidebar-card h4{font-size:15px;color:var(--navy2);margin-bottom:8px;}
.article-sidebar-phone{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--navy2);}
.article-sidebar-phone svg{width:16px;height:16px;color:var(--rose);}
@media (max-width:1024px){
  .article-layout{grid-template-columns:1fr;}
  .article-sidebar{position:static;flex-direction:row;flex-wrap:wrap;}
  .article-sidebar-card{flex:1;min-width:220px;}
}
.author-section{padding:48px 0;background:var(--cream);}
.author-card{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:18px;}
.author-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;}
.author-card h4{font-size:16px;color:var(--navy2);margin-bottom:2px;}
.author-card .role{font-size:13.5px;color:var(--gray-text);}
.article-prevnext{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:40px 0;}
.article-nav-link{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--line);border-radius:14px;transition:border-color .2s ease,background .2s ease;}
.article-nav-link:hover{border-color:var(--rose-light);background:var(--rose-ultra-light);}
.article-nav-link.next{text-align:right;align-items:flex-end;}
.article-nav-link b{color:var(--navy2);font-size:15px;}
.related-section{padding:80px 0;background:#fff;}
@media (max-width:768px){
  .article-prevnext{grid-template-columns:1fr;}
  .article-hero{padding:32px 0 0;}
  .article-hero-wrap h1{font-size:clamp(28px,8vw,36px);}
  .article-body{font-size:16.5px;}
  .article-body h2{font-size:24px;}
  .post-cover{border-radius:14px;}
}

/* ---------- footer (premium v2) ---------- */
.site-footer{background:var(--navy2-deep);color:rgba(246,245,241,0.72);padding:0;}
.site-footer .footer-inner{display:grid;grid-template-columns:1.2fr 0.8fr 0.9fr 0.9fr 1.1fr;gap:26px;padding:48px 24px 30px;border-bottom:1px solid rgba(246,245,241,0.1);}
.footer-contact-list{display:flex;flex-direction:column;gap:9px;}
.footer-contact-list li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:rgba(246,245,241,0.75);margin:0;}
.footer-contact-list li a{display:flex;align-items:flex-start;gap:9px;color:rgba(246,245,241,0.75);}
.footer-contact-list li a:hover{color:var(--rose);}
.footer-contact-list svg{color:var(--rose);flex:none;width:15px;height:15px;margin-top:1px;}
.footer-brand .brand-text{color:#fff;}
.footer-brand .brand-sub{color:rgba(246,245,241,0.55);}
.footer-col p.muted{color:rgba(246,245,241,0.6);font-size:14px;margin:10px 0 14px;}
.footer-social{display:flex;gap:10px;}
.footer-social a{width:34px;height:34px;border-radius:50%;background:rgba(246,245,241,0.08);display:flex;align-items:center;justify-content:center;color:rgba(246,245,241,0.85);}
.footer-social a:hover{background:var(--rose);color:#fff;}
.footer-social svg{width:15px;height:15px;}
.site-footer h4{color:#fff;font-size:14.5px;letter-spacing:.03em;font-family:var(--display);font-weight:700;margin:0 0 14px;}
.site-footer p{font-size:14px;margin-bottom:10px;}
.site-footer a{color:rgba(246,245,241,0.68);}
.site-footer a:hover{color:var(--rose);}
.footer-col ul{list-style:none;margin:0;padding:0;}
.footer-col ul li{margin-bottom:7px;}
.footer-bottom{padding:18px 24px;font-size:13px;color:rgba(246,245,241,0.5);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.footer-bottom .heart{color:var(--rose);}
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px -10px rgba(37,211,102,0.65);z-index:70;transition:transform .15s ease;}
.whatsapp-float:hover{transform:scale(1.08);}
.whatsapp-float svg{width:28px;height:28px;}

@media (max-width:900px){
  .site-footer .footer-inner{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .site-footer .footer-inner{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .whatsapp-float{right:16px;bottom:16px;width:50px;height:50px;}
  .whatsapp-float svg{width:24px;height:24px;}
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .hero-grid,.split{grid-template-columns:1fr;}
  .hero-visual{min-height:300px;}
  .grid-3,.grid-2,.testi{grid-template-columns:1fr;}
  .stat-strip .wrap{grid-template-columns:repeat(2,1fr);}
  .field-row{grid-template-columns:1fr;}
}

/* ---------- admin dashboard ---------- */
.admin-body{background:#F1F4F3;min-height:100vh;font-family:var(--body);}
.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh;}
.admin-sidebar{background:var(--navy);color:var(--cream);padding:20px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;overflow:hidden;}
.admin-sidebar nav{display:flex;flex-direction:column;flex:1 1 auto;overflow-y:auto;min-height:0;margin:0 -6px;padding:0 6px;}
.admin-sidebar .back-link,.admin-sidebar-profile,.admin-sidebar>form{flex:none;}
.admin-sidebar .brand{color:#fff;margin-bottom:18px;font-size:17px;flex:none;}
.admin-sidebar .admin-brand-logo{flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:0 0 22px;}
.admin-brand-logo img{height:104px;width:104px;object-fit:contain;background:#fff;border-radius:18px;padding:10px;flex:none;}
.admin-sidebar nav a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:8px;font-size:13.5px;color:rgba(246,245,241,0.75);margin-bottom:1px;line-height:1.3;}
.admin-sidebar nav a svg{width:20px;height:20px;flex:none;opacity:0.85;}
.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:rgba(0,157,229,0.18);color:#7FD4FA;}
.admin-sidebar nav a.active svg,.admin-sidebar nav a:hover svg{opacity:1;}
.admin-sidebar .back-link{margin-top:12px;display:block;font-size:13px;color:rgba(246,245,241,0.5);}
.admin-main{padding:32px 40px;}
.admin-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;}
.admin-topline h1{font-size:24px;margin-bottom:2px;}
.stat-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:32px;}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;}
.stat-card b{display:block;font-size:26px;font-family:var(--display);color:var(--navy);}
.stat-card span{font-size:12.5px;color:var(--muted);font-family:var(--mono);}
.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:24px;}
.panel h3{font-size:16px;}
table.admin-table{width:100%;border-collapse:collapse;font-size:14px;}
table.admin-table th{text-align:left;font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);}
table.admin-table td{padding:12px;border-bottom:1px solid #F0EFEA;vertical-align:top;}
table.admin-table tr:last-child td{border-bottom:none;}
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11.5px;font-family:var(--mono);}
.badge.new{background:var(--info-soft);color:var(--info);}
.badge.contacted{background:var(--warning-soft);color:var(--warning);}
.badge.closed{background:#F0EFEA;color:var(--muted);}
.badge.published{background:var(--success-soft);color:var(--success);}
.badge.draft{background:#F0EFEA;color:var(--muted);}
.badge.confirmed{background:var(--success-soft);color:var(--success);}
.badge.completed{background:var(--success-soft);color:var(--success);}
.badge.cancelled{background:var(--danger-soft);color:var(--danger);}

/* ---------- admin: charts ---------- */
.chart-row{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-bottom:24px;}
.status-bars{display:flex;flex-direction:column;gap:16px;padding:6px 0;}
.status-bar-row{display:grid;grid-template-columns:90px 1fr 28px;align-items:center;gap:12px;}
.status-bar-row .badge{text-align:center;}
.status-bar-track{height:10px;border-radius:999px;background:#F0EFEA;overflow:hidden;}
.status-bar-fill{height:100%;border-radius:999px;background:var(--muted);}
.status-bar-fill.new{background:var(--info);}
.status-bar-fill.confirmed{background:var(--success);}
.status-bar-fill.completed{background:var(--rose);}
.status-bar-fill.cancelled{background:var(--danger);}
.status-bar-row b{font-family:var(--display);font-size:15px;color:var(--navy);text-align:right;}
@media (max-width:900px){.chart-row{grid-template-columns:1fr;}}

/* ---------- admin: doctors & gallery managers ---------- */
.doctor-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;}
.doctor-admin-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;}
.doctor-admin-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#eee;}
.doctor-admin-card .body{padding:14px 16px;}
.doctor-admin-card h3{font-size:15.5px;margin-bottom:2px;}
.doctor-admin-card p{font-size:13px;margin-bottom:2px;}
.gallery-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;}
.gallery-admin-item{position:relative;border-radius:10px;overflow:hidden;border:1px solid var(--line);}
.gallery-admin-item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.gallery-admin-item form{position:absolute;top:6px;right:6px;}
.gallery-admin-item .icon-btn{background:rgba(16,24,45,0.72);color:#fff;border:0;padding:5px 10px;font-size:11.5px;border-radius:6px;}

/* ---------- admin: treatments manager ---------- */
.treatment-admin-card .ic-badge{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--rose);display:flex;align-items:center;justify-content:center;position:absolute;top:10px;left:10px;box-shadow:0 4px 12px rgba(4,46,101,0.35);border:1px solid rgba(4,46,101,0.06);}
.treatment-admin-card .ic-badge svg{width:20px;height:20px;}
.treatment-admin-card .thumb-wrap{position:relative;}
.treatment-admin-card h3{display:flex;align-items:center;gap:6px;}
.icon-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:10px;margin-top:4px;}
.icon-picker input{position:absolute;opacity:0;width:0;height:0;}
.icon-picker label{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border:1.5px solid var(--line);border-radius:10px;cursor:pointer;font-size:11px;color:var(--muted);text-transform:capitalize;transition:border-color .15s ease,background .15s ease,color .15s ease;}
.icon-picker label svg{width:22px;height:22px;color:var(--navy2);transition:color .15s ease;}
.icon-picker input:checked + label{border-color:var(--rose);background:var(--blush-bg-2,#FFF3F0);color:var(--rose);}
.icon-picker input:checked + label svg{color:var(--rose);}
.icon-picker input:focus-visible + label{outline:2px solid var(--teal-bright);outline-offset:1px;}

/* ---------- thank you popup ---------- */
.thankyou-overlay{position:fixed;inset:0;background:rgba(4,46,101,0.55);display:flex;align-items:center;justify-content:center;z-index:999;padding:20px;animation:thankyouFade .2s ease;}
@keyframes thankyouFade{from{opacity:0;}to{opacity:1;}}
.thankyou-modal{background:#fff;border-radius:16px;padding:40px 32px 32px;max-width:420px;width:100%;text-align:center;box-shadow:var(--shadow-card);position:relative;}
.thankyou-ic{width:56px;height:56px;border-radius:50%;background:#FFF0F0;color:var(--rose);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.thankyou-modal h3{margin-bottom:8px;}
.thankyou-modal p{color:var(--muted);margin-bottom:22px;font-size:14.5px;}
.thankyou-close{position:absolute;top:10px;right:12px;background:none;border:none;cursor:pointer;color:var(--muted);font-size:22px;line-height:1;padding:4px;}

/* ---------- admin: sidebar profile card ---------- */
.admin-sidebar-profile{display:flex;align-items:center;gap:10px;margin-top:22px;padding:10px;border-radius:10px;background:rgba(246,245,241,0.06);}
.admin-sidebar-profile:hover,.admin-sidebar-profile.active{background:rgba(0,157,229,0.18);}
.admin-sidebar-profile img{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none;background:rgba(246,245,241,0.2);}
.admin-sidebar-profile span{display:flex;flex-direction:column;overflow:hidden;}
.admin-sidebar-profile b{font-size:13.5px;color:var(--cream);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-sidebar-profile small{font-size:11px;color:rgba(246,245,241,0.55);}

/* ---------- services page: photo cards ---------- */
.svc-section{position:relative;overflow:hidden;background:var(--blush-bg-2);}
.svc-section .wrap-xl{position:relative;z-index:1;}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.svc-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease;height:100%;display:flex;flex-direction:column;}
.svc-card .photo{position:relative;aspect-ratio:16/11;overflow:hidden;}
.svc-card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.svc-card .ic{position:relative;margin:-26px 0 14px 20px;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--rose);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);transition:background .3s ease,color .3s ease;}
.svc-card .ic svg{width:24px;height:24px;}
.svc-card .body{padding:0 22px 26px;flex:1;display:flex;flex-direction:column;}
.svc-card .body .home-link-btn{margin-top:auto;}
.svc-card h3{font-size:19px;color:var(--navy2);margin-bottom:8px;}
.svc-card p{font-size:14.5px;color:var(--gray-text);line-height:1.65;margin-bottom:16px;}
.svc-card .home-link-btn svg{transition:transform .25s ease;}
@media (hover:hover){
  .svc-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-5px);border-color:var(--rose-light);}
  .svc-card:hover .photo img{transform:scale(1.06);}
  .svc-card:hover .ic{background:var(--rose);color:#fff;}
  .svc-card:hover .home-link-btn svg{transform:translateX(4px);}
}
@media (max-width:1024px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.svc-grid{grid-template-columns:1fr;}}
.image-slot{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;}
.image-slot img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px;margin-bottom:12px;background:#eee;}
.image-slot input[type=file]{width:100%;font-size:13px;}
.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--navy);}
.login-card{width:380px;background:#fff;border-radius:16px;padding:36px;}
.login-card .brand{margin-bottom:6px;color:var(--navy);}
.icon-btn{background:none;border:1px solid var(--line);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:13px;}
.actions-row{display:flex;gap:8px;}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:12px;}
.seo-details{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-top:10px;}
.seo-details summary{cursor:pointer;font-weight:600;color:var(--navy2);font-size:14px;}
.seo-details[open] summary{margin-bottom:4px;}

/* ---------- FAQ accordion ---------- */
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin-bottom:14px;transition:border-color .2s ease,box-shadow .2s ease;}
.faq-item:hover{border-color:var(--rose-light);}
.faq-item[open]{box-shadow:var(--shadow-card);border-color:var(--rose-light);}
.faq-item summary{cursor:pointer;font-weight:600;font-size:16.5px;color:var(--navy2);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;background:var(--rose-light);color:var(--rose);display:flex;align-items:center;justify-content:center;font-size:18px;transition:transform .25s ease;}
.faq-item[open] summary::after{content:"−";}
.faq-item p{margin:14px 0 0;color:var(--gray-text);font-size:15px;line-height:1.7;text-align:justify;text-justify:inter-word;}
.faq-item p a{color:var(--rose);font-weight:600;}
.admin-pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.admin-pagination-info{font-size:13px;color:var(--muted);}
.admin-pagination-pages{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.admin-pagination a.disabled{opacity:0.4;pointer-events:none;}
.admin-pagination-num{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:13px;color:var(--navy2);}
.admin-pagination-num:hover{background:var(--rose-ultra-light);}
.admin-pagination-num.active{background:var(--rose);color:#fff;font-weight:700;}
@media (max-width:900px){
  .stat-cards{grid-template-columns:repeat(2,1fr);}
  .admin-main{padding:20px;}
}

/* =====================================================================
   PREMIUM HOMEPAGE (v2) — used only by views/index.ejs
   ===================================================================== */
.wrap-xl{max-width:1280px;margin:0 auto;padding:0 24px;}
.home-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rose);margin-bottom:14px;}
.home-eyebrow::before{content:"";width:16px;height:2px;border-radius:2px;background:var(--rose);}
.home-head{max-width:600px;margin-bottom:42px;}
.home-head.center{max-width:640px;margin-left:auto;margin-right:auto;text-align:center;}
.home-head h2{font-size:clamp(26px,3.2vw,40px);color:var(--navy2);}
.home-head p{color:var(--gray-text);font-size:16px;max-width:52ch;}
.home-head.center p{margin-left:auto;margin-right:auto;}
.home-row-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;flex-wrap:wrap;}
.home-row-head .home-head{margin-bottom:0;}
.home-nav-arrows{display:flex;gap:10px;flex:none;}
.home-arrow-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-soft);background:#fff;color:var(--navy2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;flex:none;}
.home-arrow-btn:hover{background:var(--rose);border-color:var(--rose);color:#fff;}
.home-arrow-btn svg{width:16px;height:16px;}
.home-link-btn{display:inline-flex;align-items:center;gap:8px;color:var(--rose);font-weight:600;font-size:14.5px;}
.home-link-btn svg{width:15px;height:15px;}

/* buttons */
.btn-rose{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--rose);color:#fff;padding:14px 26px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid var(--rose);transition:background .15s ease,transform .15s ease,box-shadow .15s ease;}
.btn-rose:hover{background:var(--rose-dark);border-color:var(--rose-dark);transform:translateY(-1px);box-shadow:0 14px 28px -12px rgba(0,157,229,0.55);}
.btn-rose-outline{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#fff;color:var(--rose);padding:14px 26px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid var(--rose);transition:background .15s ease,color .15s ease,transform .15s ease;}
.btn-rose-outline:hover{background:var(--rose);color:#fff;transform:translateY(-1px);}
.btn-rose-sm{padding:9px 18px;font-size:13.5px;}
.btn-white{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#fff;color:var(--rose);padding:14px 26px;border-radius:999px;font-weight:700;font-size:15px;border:1px solid #fff;transition:transform .15s ease;}
.btn-white:hover{transform:translateY(-1px);}
.btn-white-outline{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:transparent;color:#fff;padding:14px 26px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid rgba(255,255,255,0.6);transition:background .15s ease,transform .15s ease;}
.btn-white-outline:hover{background:rgba(255,255,255,0.14);transform:translateY(-1px);}
a.btn-rose,a.btn-rose-outline,a.btn-white,a.btn-white-outline,a.btn-book{text-decoration:none;}
:where(.btn-rose,.btn-rose-outline,.btn-white,.btn-white-outline,.btn-book,.home-arrow-btn,.btn-rose-sm):focus-visible{outline:2px solid var(--navy2);outline-offset:2px;}

/* ---------- hero v2: full-width slider (homepage only) ---------- */
.home-hero-v2{position:relative;height:660px;overflow:hidden;background:#fff;}
.home-hero-v2-slide{position:absolute;inset:0;display:flex;align-items:center;background-size:cover;background-repeat:no-repeat;opacity:0;visibility:hidden;transition:opacity 1s ease;}
.home-hero-v2-slide.active{opacity:1;visibility:visible;z-index:1;}
.home-hero-v2-fade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,0.96) 0%,rgba(255,255,255,0.88) 20%,rgba(255,255,255,0.55) 40%,rgba(255,255,255,0.18) 56%,rgba(255,255,255,0) 70%);}
.home-hero-v2-content{position:relative;z-index:2;max-width:560px;}
.home-hero-v2-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--hero-rose);margin-bottom:16px;}
.home-hero-v2-eyebrow::before{content:"";width:16px;height:2px;border-radius:2px;background:var(--hero-rose);}
.home-hero-v2-content h1{font-size:clamp(34px,4.6vw,64px);line-height:1.06;font-weight:700;color:var(--navy2);margin-bottom:18px;}
.home-hero-v2-content h1 .hl{color:var(--hero-rose);}
.home-hero-v2-content p{color:var(--gray-text);font-size:17.5px;line-height:1.6;max-width:480px;margin-bottom:30px;}
.home-hero-v2-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:32px;}
.btn-hero-primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--hero-rose);color:#fff;padding:14px 24px;border-radius:8px;font-weight:600;font-size:15px;border:1px solid var(--hero-rose);transition:background .15s ease,transform .15s ease;}
.btn-hero-primary:hover{background:var(--hero-rose-dark);border-color:var(--hero-rose-dark);transform:translateY(-1px);}
.btn-hero-secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#fff;color:var(--hero-rose);padding:14px 24px;border-radius:8px;font-weight:600;font-size:15px;border:1px solid var(--hero-rose);transition:background .15s ease,transform .15s ease;}
.btn-hero-secondary:hover{background:var(--hero-rose-light);transform:translateY(-1px);}
.btn-hero-primary svg,.btn-hero-secondary svg{width:17px;height:17px;}
.home-hero-v2-trust{display:flex;gap:36px;flex-wrap:wrap;}
.home-hero-v2-trust div{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--navy2);}
.home-hero-v2-trust .ic{width:34px;height:34px;border-radius:50%;background:var(--hero-rose-light);color:var(--hero-rose);display:flex;align-items:center;justify-content:center;flex:none;border:1px solid var(--hero-border,#ECE7E7);}
.home-hero-v2-trust .ic svg{width:16px;height:16px;}
.home-hero-v2-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;background:#fff;color:var(--navy2);display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;box-shadow:var(--shadow-card);transition:background .15s ease,color .15s ease;}
.home-hero-v2-arrow:hover{background:var(--hero-rose);color:#fff;}
.home-hero-v2-arrow.left{left:28px;}
.home-hero-v2-arrow.right{right:28px;}
.home-hero-v2-arrow svg{width:18px;height:18px;}
.home-hero-v2-dots{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;gap:8px;z-index:5;}
.home-hero-v2-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(16,33,58,0.22);cursor:pointer;}
.home-hero-v2-dots button.active{background:var(--hero-rose);width:22px;border-radius:4px;}
@media (max-width:1024px){
  .home-hero-v2{height:600px;}
  .home-hero-v2-content{max-width:64%;}
}
@media (max-width:768px){
  .home-hero-v2{height:auto;min-height:660px;padding:120px 0 40px;}
  .home-hero-v2-slide{align-items:flex-start;}
  .home-hero-v2-fade{background:linear-gradient(180deg,rgba(255,255,255,0.97) 0%,rgba(255,255,255,0.88) 34%,rgba(255,255,255,0.4) 62%,rgba(255,255,255,0.08) 82%);}
  .home-hero-v2-content{max-width:100%;}
  .home-hero-v2-content h1{font-size:clamp(30px,7vw,42px);}
  .home-hero-v2-arrow{display:none;}
}
@media (max-width:480px){
  .home-hero-v2-actions{flex-direction:column;align-items:stretch;}
  .home-hero-v2-trust{gap:16px;}
}

/* ---------- inner-page hero image frame (shared: page-hero + old homepage assets) ---------- */
.home-hero-media{position:relative;}
.home-hero-media .deco-blob.a{width:220px;height:220px;top:-40px;right:-40px;}
.home-hero-media .deco-blob.b{width:180px;height:180px;bottom:-30px;left:-30px;}
.home-hero-media .frame{position:relative;z-index:1;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/4.1;
  -webkit-mask-image:linear-gradient(100deg,transparent 0%,rgba(0,0,0,0.5) 9%,rgba(0,0,0,1) 22%);
  mask-image:linear-gradient(100deg,transparent 0%,rgba(0,0,0,0.5) 9%,rgba(0,0,0,1) 22%);
}
.home-hero-media .frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s ease;}
.home-hero-media .frame img.active{opacity:1;}
.home-hero-media .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,27,51,0.28),transparent 42%);pointer-events:none;}
.home-hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;}
.home-hero-arrow.left{left:-21px;}
.home-hero-arrow.right{right:-21px;}
.home-hero-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:7px;z-index:5;}
.home-hero-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.55);}
.home-hero-dots span.active{background:#fff;width:20px;border-radius:4px;}

/* ---------- inner-page hero banner (About/Services/Blog/Contact) ---------- */
.page-hero{background:#fff;padding:0;}
.page-hero-media.home-hero-media{margin:0;}
.page-hero-media .frame{border-radius:0;aspect-ratio:auto;height:460px;box-shadow:none;-webkit-mask-image:none;mask-image:none;}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,35,63,0.32),rgba(22,35,63,0.7));z-index:2;}
.page-hero-content{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 24px;}
.page-hero-content .home-eyebrow{color:#fff;}
.page-hero-content .home-eyebrow::before{background:#fff;}
.page-hero-content h1{color:#fff;font-size:clamp(28px,4vw,44px);margin-bottom:8px;}
.page-hero-crumb{display:flex;gap:8px;align-items:center;font-size:13.5px;color:rgba(255,255,255,0.85);}
.page-hero-crumb a{color:rgba(255,255,255,0.85);}
.page-hero-crumb a:hover{color:#fff;text-decoration:underline;}
.page-hero-media .home-hero-arrow{z-index:4;}
.page-hero-media .home-hero-arrow.left{left:20px;}
.page-hero-media .home-hero-arrow.right{right:20px;}
.page-hero-media .home-hero-dots{z-index:4;}
@media (max-width:1024px){
  .page-hero-media .home-hero-arrow{display:flex;}
}
@media (max-width:600px){
  .page-hero-media .frame{height:320px;}
  .page-hero-media .home-hero-arrow{display:none;}
}

/* ---------- stats ---------- */
.home-stats{background:#FFF8F8;padding:0;}
.home-stats-row{display:grid;grid-template-columns:repeat(5,1fr);}
.home-stat{display:flex;align-items:center;gap:14px;padding:30px 20px;border-right:1px solid var(--hero-border,#ECE7E7);transition:transform .18s ease;}
.home-stat:last-child{border-right:0;}
.home-stat:hover{transform:translateY(-3px);}
.home-stat .ic{width:46px;height:46px;border-radius:50%;background:#fff;color:var(--hero-rose);display:flex;align-items:center;justify-content:center;flex:none;box-shadow:var(--shadow-card);transition:transform .18s ease;}
.home-stat:hover .ic{transform:scale(1.08);}
.home-stat .ic svg{width:22px;height:22px;}
.home-stat b{display:block;font-family:var(--display);font-size:25px;color:var(--navy2);line-height:1.1;}
.home-stat span{font-size:13px;color:var(--gray-text);}
@media (max-width:900px){
  .home-stats-row{grid-template-columns:repeat(2,1fr);}
  .home-stat{border-right:0;border-bottom:1px solid var(--line-soft);}
}
@media (max-width:480px){
  .home-stat{padding:22px 14px;gap:10px;}
  .home-stat .ic{width:40px;height:40px;}
  .home-stat b{font-size:20px;}
}

/* ---------- treatments ---------- */
.home-treatments{padding:96px 0;background:linear-gradient(180deg,var(--rose-ultra-light),var(--blush-bg-2) 60%,#fff);position:relative;overflow:hidden;}
.home-treatments .wrap-xl{position:relative;z-index:1;}
.home-t-top{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:56px;}
.home-t-intro .home-head{margin-bottom:26px;}
.home-t-hero-image{position:relative;display:flex;justify-content:center;}
.home-t-hero-blob{position:absolute;top:8%;right:6%;width:60%;height:84%;background:var(--rose);opacity:0.14;border-radius:50%;filter:blur(2px);}
.home-t-hero-circle{position:relative;width:min(100%,420px);aspect-ratio:1/1;border-radius:50%;overflow:hidden;box-shadow:var(--shadow-soft);border:6px solid #fff;}
.home-t-hero-circle img{width:100%;height:100%;object-fit:cover;}
.home-t-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.home-t-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease;height:100%;display:flex;flex-direction:column;}
.home-t-card .photo{position:relative;aspect-ratio:4/3.3;overflow:hidden;}
.home-t-card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.home-t-card .ic{position:relative;margin:-30px auto 14px;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--rose);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);border:3px solid #fff;transition:background .3s ease,color .3s ease,transform .3s ease;}
.home-t-card .ic svg{width:22px;height:22px;}
.home-t-card .body{padding:6px 18px 20px;flex:1;display:flex;flex-direction:column;text-align:center;}
.home-t-card .body .home-link-btn{margin-top:auto;align-self:center;}
.home-t-card h3{font-size:17px;color:var(--navy2);margin-bottom:10px;position:relative;padding-bottom:12px;}
.home-t-card h3::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:26px;height:2px;background:var(--rose);border-radius:2px;transition:width .3s ease;}
.home-t-card p{font-size:13.5px;color:var(--gray-text);margin-bottom:12px;}
.home-t-card .home-link-btn svg{transition:transform .25s ease;}
@media (hover:hover){
  .home-t-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-6px);border-color:var(--rose-light);}
  .home-t-card:hover .photo img{transform:scale(1.08);}
  .home-t-card:hover .ic{background:var(--rose);color:#fff;transform:translateY(-3px) scale(1.06);}
  .home-t-card:hover h3::after{width:44px;}
  .home-t-card:hover .home-link-btn svg{transform:translateX(4px);}
}
@media (max-width:1024px){
  .home-t-top{grid-template-columns:1fr;}
  .home-t-hero-image{order:-1;max-width:320px;margin:0 auto 8px;}
  .home-t-cards{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:480px){
  .home-treatments{padding:64px 0;}
  .home-t-cards{grid-template-columns:1fr;}
}

/* ---------- clinic video ---------- */
.home-video{padding:96px 0;background:#fff;}
.home-reels{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
.home-reels::-webkit-scrollbar{height:6px;}
.home-reels::-webkit-scrollbar-thumb{background:var(--line-soft);border-radius:999px;}
.home-reel-card{flex:0 0 auto;scroll-snap-align:start;width:220px;aspect-ratio:9/16;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);background:var(--navy2);position:relative;transition:transform .2s ease,box-shadow .2s ease;}
.home-reel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.home-reel-card video{width:100%;height:100%;object-fit:cover;display:block;}
@media (max-width:600px){.home-reel-card{width:170px;}}
.home-video-grid{display:grid;grid-template-columns:0.75fr 2.25fr;gap:44px;align-items:center;}
.home-video-frame{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);aspect-ratio:16/8.2;background:var(--blush-bg-2);margin-top:20px;}
.home-video-frame video,.home-video-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.home-video-soon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(22,35,63,0.1),rgba(22,35,63,0.45));}
.home-video-soon span{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.92);color:var(--navy2);font-weight:600;font-size:14px;padding:10px 18px;border-radius:999px;}
.home-video-soon svg{width:17px;height:17px;color:var(--rose);}
@media (max-width:1024px){
  .home-video-grid{grid-template-columns:1fr;gap:28px;}
  .home-video-frame{aspect-ratio:16/10;}
}
@media (max-width:480px){.home-video{padding:64px 0;}}

/* ---------- why choose us ---------- */
.home-why{padding:96px 0;background:radial-gradient(120% 140% at 15% 0%,var(--rose-ultra-light),var(--blush-bg) 55%,var(--blush-bg-2));position:relative;overflow:hidden;}
.home-why .deco-blob.a{width:280px;height:280px;top:-60px;left:6%;}
.home-why .deco-blob.b{width:240px;height:240px;bottom:-70px;right:8%;}
.home-why-dots{position:absolute;top:6%;right:4%;width:110px;height:70px;background-image:radial-gradient(var(--rose) 1.5px,transparent 1.5px);background-size:14px 14px;opacity:0.18;z-index:0;}
.section-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px;}
.section-divider span{width:56px;height:1px;background:var(--rose-light);}
.section-divider .ic{width:22px;height:22px;color:var(--rose);opacity:0.55;flex:none;}
.section-divider svg{width:100%;height:100%;}
.home-why-cards{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;}
.home-why-card{position:relative;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:34px 18px 26px;text-align:center;box-shadow:var(--shadow-card);overflow:hidden;transition:transform .28s ease,box-shadow .28s ease;height:100%;display:flex;flex-direction:column;}
.why-num{position:absolute;top:14px;left:14px;background:var(--rose-light);color:var(--rose);font-family:var(--mono);font-weight:700;font-size:11.5px;padding:4px 9px;border-radius:8px;z-index:1;}
.home-why-card .ic{width:96px;height:96px;border-radius:50%;background:var(--rose-light);color:var(--rose);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;position:relative;z-index:1;transition:transform .28s ease,background .28s ease,color .28s ease;overflow:hidden;}
.home-why-card .ic svg{width:36px;height:36px;}
.home-why-card .ic img{width:82%;height:82%;object-fit:contain;}
.home-why-card h3{font-size:16px;color:var(--navy2);margin-bottom:10px;padding-bottom:12px;position:relative;line-height:1.3;}
.home-why-card h3::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:26px;height:2px;background:var(--rose);border-radius:2px;transition:width .3s ease;}
.home-why-card p{font-size:12.5px;color:var(--gray-text);margin:0 0 20px;flex:1;}
.why-arrow{position:relative;z-index:1;width:38px;height:38px;border-radius:50%;border:1px solid var(--rose-light);color:var(--rose);display:flex;align-items:center;justify-content:center;margin:0 auto;flex:none;transition:background .25s ease,color .25s ease,transform .25s ease,border-color .25s ease;}
.why-arrow svg{width:14px;height:14px;}
.why-wave{position:absolute;left:-5%;right:-5%;bottom:0;width:110%;height:26px;color:var(--rose-light);z-index:0;}
.why-wave path{fill:currentColor;}
@media (hover:hover){
  .home-why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);}
  .home-why-card:hover .ic{background:var(--rose);color:#fff;transform:scale(1.05);}
  .home-why-card:hover h3::after{width:44px;}
  .home-why-card:hover .why-arrow{background:var(--rose);color:#fff;border-color:var(--rose);transform:translateX(3px);}
}
@media (hover:hover){
  .home-why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft);background:var(--rose-ultra-light);border-color:var(--rose-light);}
  .home-why-card:hover .ic{transform:scale(1.08);background:var(--rose);color:#fff;}
}
@media (max-width:1024px){.home-why-cards{grid-template-columns:repeat(3,1fr);}}
@media (max-width:600px){.home-why{padding:64px 0;} .home-why-cards{grid-template-columns:repeat(2,1fr);}}

/* ---------- founder's message ---------- */
.home-founder{padding:88px 0;background:#fff;}
.home-founder-grid{display:grid;grid-template-columns:0.8fr 2fr;gap:48px;align-items:center;}
.home-founder-photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);aspect-ratio:4/4.6;background:var(--rose-light);}
.home-founder-photo img{width:100%;height:100%;object-fit:cover;}
.home-founder-copy h2{font-size:clamp(24px,2.8vw,34px);color:var(--navy2);max-width:16ch;}
.home-founder-quote{position:relative;font-size:17px;color:var(--navy2);line-height:1.7;max-width:62ch;padding-left:40px;}
.home-founder-quote svg{position:absolute;left:0;top:2px;width:26px;height:26px;color:var(--rose);}
.home-founder-who{margin-top:8px;}
.home-founder-who b{display:block;font-family:var(--display);font-size:17px;color:var(--navy2);}
.home-founder-who span{font-size:13.5px;color:var(--rose);font-weight:600;}
@media (max-width:900px){
  .home-founder{padding:60px 0;}
  .home-founder-grid{grid-template-columns:1fr;gap:28px;}
  .home-founder-photo{max-width:280px;margin:0 auto;}
  .home-founder-quote{padding-left:0;padding-top:36px;}
  .home-founder-quote svg{left:0;top:0;}
}

/* ---------- doctors ---------- */
.home-doctors{padding:96px 0;background:#fff;}
.home-doc-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;max-width:760px;margin:0 auto;}
.home-doc-card{background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease;display:flex;flex-direction:column;height:100%;}
.home-doc-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-4px);}
.home-doc-card .photo{aspect-ratio:4/4.3;overflow:hidden;background:var(--rose-light);}
.home-doc-card .photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.home-doc-card:hover .photo img{transform:scale(1.05);}
.home-doc-card .body{padding:18px 18px 20px;flex:1;display:flex;flex-direction:column;}
.home-doc-card h3{font-size:16.5px;color:var(--navy2);margin-bottom:3px;}
.home-doc-card .role{font-size:13px;color:var(--gray-text);margin-bottom:2px;}
.home-doc-card .qual{font-size:12px;color:var(--rose);font-weight:600;margin-bottom:12px;}
.home-doc-social{display:flex;gap:8px;}
.home-doc-social a{width:28px;height:28px;border-radius:50%;background:var(--rose-light);color:var(--rose);display:flex;align-items:center;justify-content:center;}
.home-doc-social a:hover{background:var(--rose);color:#fff;}
.home-doc-social svg{width:13px;height:13px;}
@media (max-width:1024px){.home-doc-cards{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.home-doctors{padding:64px 0;} .home-doc-cards{grid-template-columns:1fr;max-width:340px;margin:0 auto;}}
.home-doc-cards-4{grid-template-columns:repeat(4,1fr);max-width:none;}
@media (max-width:1024px){.home-doc-cards-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:480px){.home-doc-cards-4{grid-template-columns:1fr;max-width:340px;margin:0 auto;}}

/* ---------- how it works ---------- */
.home-process{padding:96px 0;background:var(--blush-bg-2);position:relative;overflow:hidden;}
.home-process .deco-blob.a{width:260px;height:260px;top:-50px;right:4%;}
.home-process .deco-blob.b{width:220px;height:220px;bottom:-60px;left:6%;}
.home-process-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.home-process-row::before{content:"";position:absolute;top:78px;left:12.5%;right:12.5%;height:1px;background:var(--line-soft);z-index:0;}
.home-process-step{position:relative;z-index:1;text-align:center;background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius-lg);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;}
.home-process-step:hover{transform:translateY(-5px);box-shadow:var(--shadow-card);}
.home-process-step .photo{position:relative;aspect-ratio:4/2.6;overflow:hidden;}
.home-process-step .photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.home-process-step:hover .photo img{transform:scale(1.06);}
.home-process-step .photo .num{position:absolute;top:10px;left:10px;background:rgba(22,35,63,0.55);backdrop-filter:blur(4px);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.08em;padding:4px 10px;border-radius:999px;}
.home-process-step .ic{position:relative;margin:-24px auto 12px;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--rose);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card);}
.home-process-step .ic svg{width:21px;height:21px;}
.home-process-step h3{font-size:16px;color:var(--navy2);margin-bottom:6px;padding:0 16px;}
.home-process-step p{font-size:13.5px;color:var(--gray-text);margin:0;padding:0 18px 22px;}
@media (max-width:1024px){
  .home-process-row{grid-template-columns:repeat(2,1fr);row-gap:24px;}
  .home-process-row::before{display:none;}
}
@media (max-width:480px){
  .home-process{padding:64px 0;}
  .home-process-row{grid-template-columns:1fr;}
}

/* ---------- testimonials ---------- */
.home-testi-sec{padding:96px 0;background:#fff;}
.home-testi-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.home-testi-card{position:relative;background:#fff;border-radius:var(--radius-lg);padding:26px 22px;box-shadow:var(--shadow-card);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease;}
.home-testi-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}
.home-testi-card::before{content:"";position:absolute;top:12px;right:14px;width:34px;height:34px;background:var(--rose-light);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 8.5C5 9.5 4 11 4 13c0 1.8 1.3 3 3 3s3-1.2 3-3c0-1.6-1-2.7-2.4-3 .2-1.1 1-2 2.4-2.6L9 6.3C7.9 6.7 7.4 7 7 8.5zm9 0C14 9.5 13 11 13 13c0 1.8 1.3 3 3 3s3-1.2 3-3c0-1.6-1-2.7-2.4-3 .2-1.1 1-2 2.4-2.6L18 6.3c-1.1.4-1.6.7-2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 8.5C5 9.5 4 11 4 13c0 1.8 1.3 3 3 3s3-1.2 3-3c0-1.6-1-2.7-2.4-3 .2-1.1 1-2 2.4-2.6L9 6.3C7.9 6.7 7.4 7 7 8.5zm9 0C14 9.5 13 11 13 13c0 1.8 1.3 3 3 3s3-1.2 3-3c0-1.6-1-2.7-2.4-3 .2-1.1 1-2 2.4-2.6L18 6.3c-1.1.4-1.6.7-2 2.2z'/%3E%3C/svg%3E") center/contain no-repeat;}
.home-testi-card .stars{display:flex;gap:3px;color:#F2A93B;margin-bottom:14px;position:relative;}
.home-testi-card .stars svg{width:14px;height:14px;}
.home-testi-card p{font-size:14px;color:var(--navy2);margin-bottom:18px;min-height:88px;}
.home-testi-who{display:flex;align-items:center;gap:10px;}
.home-testi-avatar{width:38px;height:38px;border-radius:50%;background:var(--navy2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex:none;}
.home-testi-who b{display:block;font-size:14px;color:var(--navy2);}
.home-testi-who span{font-size:12px;color:var(--gray-text);}
.home-testi-dots{display:flex;justify-content:center;gap:7px;margin-top:32px;}
.home-testi-dots span{width:7px;height:7px;border-radius:50%;background:var(--line-soft);}
.home-testi-dots span.active{background:var(--rose);width:20px;border-radius:4px;}
@media (max-width:1024px){.home-testi-cards{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.home-testi-sec{padding:64px 0;} .home-testi-cards{grid-template-columns:1fr;}}

/* ---------- gallery (full page grid) ---------- */
.home-gallery{padding:0 0 96px;background:#fff;}
.home-gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.home-gallery-grid a{display:block;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1/1.15;box-shadow:var(--shadow-card);}
.home-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.home-gallery-grid a:hover img{transform:scale(1.08);}
@media (max-width:1024px){.home-gallery-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:480px){.home-gallery{padding:0 0 64px;} .home-gallery-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- gallery (homepage auto-slider) ---------- */
.home-gallery-slider{position:relative;overflow:hidden;cursor:grab;}
.home-gallery-slider:active{cursor:grabbing;}
.home-gallery-track{display:flex;gap:16px;will-change:transform;}
.home-gallery-slide{flex:0 0 calc((100% - 3*16px)/4);display:block;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1/1.15;box-shadow:var(--shadow-card);}
.home-gallery-slide img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;pointer-events:none;-webkit-user-select:none;user-select:none;}
.home-gallery-slide:hover img{transform:scale(1.06);}
@media (max-width:900px){.home-gallery-slide{flex:0 0 calc((100% - 16px)/2);}}

/* ---------- final CTA ---------- */
.home-cta{background:linear-gradient(135deg,var(--blush-bg),var(--blush-bg-2));padding:64px 0;position:relative;overflow:hidden;border-top:1px solid var(--line-soft);}
.home-cta::before{content:"";position:absolute;top:-80px;right:6%;width:260px;height:260px;border-radius:50%;background:var(--rose);opacity:0.08;filter:blur(50px);}
.home-cta::after{content:"";position:absolute;bottom:-90px;left:8%;width:220px;height:220px;border-radius:50%;background:var(--teal-bright);opacity:0.08;filter:blur(50px);}
.home-cta-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.home-cta h2{color:var(--navy2);font-size:clamp(24px,2.8vw,34px);margin-bottom:8px;}
.home-cta p{color:var(--gray-text);margin:0;font-size:15px;max-width:44ch;}
.home-cta-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.home-cta-call{display:inline-flex;align-items:center;gap:12px;background:#fff;border-radius:999px;padding:10px 20px 10px 10px;box-shadow:var(--shadow-card);}
.home-cta-call .ic{width:36px;height:36px;border-radius:50%;background:var(--rose-light);color:var(--rose);display:flex;align-items:center;justify-content:center;}
.home-cta-call .ic svg{width:16px;height:16px;}
.home-cta-call div{line-height:1.2;}
.home-cta-call span{display:block;font-size:11px;color:var(--gray-text);}
.home-cta-call b{font-size:15px;color:var(--navy2);}
.home-cta .btn-white{background:var(--rose);color:#fff;border-color:var(--rose);}
.home-cta .btn-white:hover{background:var(--rose-dark);border-color:var(--rose-dark);}
@media (max-width:768px){
  .home-cta-inner{flex-direction:column;text-align:center;}
  .home-cta p{max-width:none;}
}
@media (max-width:420px){
  .home-cta-actions{flex-direction:column;align-items:stretch;width:100%;}
  .home-cta-call{justify-content:center;}
}
