/* =====================================================================
   MEDICARE Skin & Hair Clinic — Stylesheet
   Brand pink: #E860A8
   ===================================================================== */

:root{
  --pink:        #E860A8;
  --pink-600:    #D6458F;
  --pink-700:    #BE2F79;
  --pink-soft:   #FCE7F3;
  --pink-tint:   #FDF2F8;
  --pink-tint2:  #FFF7FB;
  --grad:        linear-gradient(135deg, #FF73C0 0%, #ED4FA6 42%, #D43C8E 72%, #BE2F79 100%);
  --grad-soft:   linear-gradient(135deg, #FFF0F8 0%, #FCDDEE 55%, #FFE7D8 100%);
  --grad-vivid:  linear-gradient(120deg, #FF8FCB 0%, #F351A8 52%, #C92E84 100%);

  --ink:         #2C1A28;
  --ink-2:       #5A4452;
  --muted:       #8A7682;
  --line:        #F2DDE9;
  --white:       #ffffff;

  --shadow-sm:   0 4px 16px rgba(214, 69, 143, .12);
  --shadow:      0 16px 44px rgba(214, 69, 143, .18);
  --shadow-lg:   0 28px 70px rgba(214, 69, 143, .26);
  --glow:        0 14px 40px rgba(232, 96, 168, .45);
  --glow-soft:   0 10px 28px rgba(232, 96, 168, .30);

  --r:           18px;
  --r-lg:        26px;
  --r-pill:      999px;

  --container:   1180px;
  --font:        "Anek Telugu","Poppins", system-ui, -apple-system, sans-serif;
  --font-en:     "Poppins","Anek Telugu", system-ui, sans-serif;

  --ease:        cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:96px; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--font);
  color:var(--ink);
  background:var(--white);
  line-height:1.7;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; }
input,select,textarea{ font-family:inherit; font-size:1rem; }

.container{ width:min(var(--container), 92%); margin-inline:auto; }
.center{ text-align:center; }
.grad{
  background:var(--grad);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

/* SVG icon defaults (stroke style) */
.ic, .card__icon svg, .feature__icon svg{
  fill:none; stroke:currentColor; stroke-width:1.7;
  stroke-linecap:round; stroke-linejoin:round;
}
.ic{ width:18px; height:18px; flex:none; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.85rem 1.6rem; border-radius:var(--r-pill);
  font-weight:600; font-size:1.02rem; letter-spacing:.2px;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s;
  white-space:nowrap; will-change:transform;
}
.btn .ic{ width:18px; height:18px; }
.btn--primary{ background:var(--grad); color:#fff; box-shadow:var(--glow); }
.btn--primary:hover{ transform:translateY(-3px); box-shadow:0 20px 48px rgba(232,96,168,.55); }
.btn--ghost{ background:#fff; color:var(--pink-700); border:1.5px solid var(--pink-soft); box-shadow:var(--shadow-sm); }
.btn--ghost:hover{ transform:translateY(-3px); border-color:var(--pink); color:var(--pink-700); box-shadow:var(--shadow); }
.btn--ghost .ic{ stroke:var(--pink); }
.btn--full{ width:100%; }

/* ---------- Eyebrow / Section heads ---------- */
.eyebrow{
  display:inline-block; font-weight:700; font-size:.82rem; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--pink-600);
  background:var(--pink-soft); padding:.4rem .9rem; border-radius:var(--r-pill);
}
.eyebrow--center{ margin-inline:auto; }
.section{ padding:clamp(3.5rem, 7vw, 6.5rem) 0; position:relative; }
.section--soft{ background:
  radial-gradient(70% 50% at 50% 0%, #FFEAF5, transparent 70%),
  linear-gradient(180deg, var(--pink-tint2), #FCE6F2); }
.section__head{ max-width:760px; margin:0 auto clamp(2rem,4vw,3.2rem); text-align:center; }
.section__title{
  font-weight:800; line-height:1.18; letter-spacing:-.5px;
  font-size:clamp(1.7rem, 3.6vw, 2.7rem); margin:.7rem 0 .6rem;
}
.section__title-te{ display:block; font-weight:500; font-size:.92rem; color:var(--muted); margin:-.1rem 0 .5rem; line-height:1.4; }
.section__lead{ color:var(--ink-2); font-size:clamp(1rem,1.4vw,1.12rem); }
/* Section banners — framed, matted, proportional promo posters.
   .section__banner IS the <img> (padding+bg = white mat); .section__banner-duo
   wraps two <img>. Tokens only. (Fixes prior undefined --r-card bug.) */
.section__banner{
  display:block; box-sizing:border-box;
  width:100%; max-width:720px;          /* ~61% of 1180 container — clearly smaller, poster text stays legible */
  margin:2rem auto 0;                   /* centered */
  padding:.5rem;                        /* small white mat */
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r-lg);            /* 26px — matches .card / .feature / .tech-card */
  box-shadow:var(--shadow-sm);
  background-clip:padding-box;
  overflow:hidden;                      /* round the bitmap's own corners inside the mat */
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.section__banner:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--pink-soft); }

.section__banner-duo{
  display:grid; grid-template-columns:1fr 1fr; gap:1.2rem;
  width:100%; max-width:920px;          /* each pane ~445px — readable, pair stays restrained */
  margin:2rem auto 0;                   /* centered */
}
.section__banner-duo img{
  display:block; box-sizing:border-box; width:100%;
  padding:.5rem; background:var(--white);
  border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm); background-clip:padding-box; overflow:hidden;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.section__banner-duo img:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--pink-soft); }

@media(max-width:640px){
  .section__banner{ max-width:100%; padding:.4rem; border-radius:var(--r); }
  .section__banner-duo{ grid-template-columns:1fr; max-width:480px; gap:1rem; }
  .section__banner-duo img{ padding:.4rem; border-radius:var(--r); }
}

/* Hair-transplant technique photo gallery — framed, left-to-right */
.ht-gallery{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; margin-top:2.4rem; }
.ht-photo{
  display:flex; flex-direction:column; background:var(--white);
  border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.ht-photo:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--pink-soft); }
.ht-photo img{ width:100%; aspect-ratio:3/2; object-fit:contain; background:var(--white); display:block; }
.ht-photo figcaption{ padding:.85rem .95rem 1.05rem; }
.ht-photo figcaption strong{ display:block; color:var(--pink-700); font-weight:700; font-size:1.02rem; }
.ht-photo figcaption span{ display:block; margin-top:.2rem; font-size:.86rem; line-height:1.55; color:var(--ink-2); }
@media(max-width:900px){ .ht-gallery{ grid-template-columns:1fr 1fr; gap:1.1rem; } }
@media(max-width:560px){ .ht-gallery{ grid-template-columns:1fr; max-width:440px; margin-inline:auto; } }

/* ===== Inclusive-care callout — clean trust strip, harmonizes with .card ===== */
.inclusive{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);
  padding:clamp(1.3rem,3vw,1.7rem) clamp(1.25rem,3.5vw,1.9rem);
  max-width:920px;
  margin:clamp(1.4rem,3vw,2rem) auto clamp(2rem,4vw,3rem);
  transition:box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.inclusive:hover{ box-shadow:var(--shadow); border-color:var(--pink-soft); }

/* Headline row: Telugu-primary title + single gradient age pill */
.inclusive__head{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:.6rem .9rem; text-align:center; margin-bottom:.85rem;
}
.inclusive__title{ font-weight:700; font-size:clamp(1.04rem,2.4vw,1.22rem); color:var(--ink); }
.inclusive__title i{ font-style:normal; font-family:var(--font-en); font-weight:600; font-size:.74rem; color:var(--pink-600); opacity:.9; margin-left:.3rem; }
.inclusive__age{
  display:inline-flex; align-items:baseline; gap:.4rem;
  font-weight:700; font-size:.95rem; color:#fff;
  background:var(--grad); padding:.32rem .9rem; border-radius:var(--r-pill);
  box-shadow:var(--glow-soft); white-space:nowrap;
}
.inclusive__age i{ font-style:normal; font-family:var(--font-en); font-weight:600; font-size:.7rem; opacity:.92; }

/* Inclusive lead line */
.inclusive__lead{
  text-align:center; max-width:640px; margin:0 auto 1.05rem;
  font-weight:600; line-height:1.55; font-size:clamp(.96rem,1.6vw,1.06rem); color:var(--ink-2);
}
.inclusive__lead strong{ color:var(--pink-700); font-weight:800; }
.inclusive__lead i{ display:block; font-style:normal; font-family:var(--font-en); font-weight:500; font-size:.82rem; color:var(--muted); margin-top:.15rem; }

/* Audience chips (kids / men / women) */
.inclusive__who{
  display:flex; flex-wrap:wrap; justify-content:center; gap:.55rem; margin:0 0 1.1rem; padding:0; list-style:none;
}
.inclusive__who li{
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.9rem; font-weight:700; color:var(--pink-700);
  background:var(--pink-tint); border:1px solid var(--pink-soft);
  padding:.4rem .85rem; border-radius:var(--r-pill);
}
.inclusive__who li i{ font-style:normal; font-family:var(--font-en); font-size:.7rem; font-weight:500; color:var(--pink-600); opacity:.85; }
.inclusive__who .ic{ width:16px; height:16px; flex:none; fill:none; stroke:var(--pink-600); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* Divider + condition-group chips */
.inclusive__what{
  display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem;
  border-top:1px solid var(--line); padding:1.05rem 0 0; margin:0 0 1rem; list-style:none;
}
.inclusive__what li{
  display:inline-flex; align-items:baseline; gap:.4rem;
  font-size:.88rem; font-weight:600; color:var(--pink-700);
  background:var(--pink-tint); border:1px solid var(--pink-soft);
  padding:.34rem .75rem; border-radius:var(--r-pill);
}
.inclusive__what li i{ font-style:normal; font-family:var(--font-en); font-size:.72rem; font-weight:500; color:var(--pink-600); opacity:.85; }
.inclusive__what--std{ background:var(--pink-soft); }

/* Safe, supportive note */
.inclusive__note{ text-align:center; max-width:680px; margin:0 auto; font-size:.92rem; line-height:1.6; color:var(--ink-2); }
.inclusive__note strong{ color:var(--pink-700); font-weight:700; }
.inclusive__note i{ font-style:normal; font-family:var(--font-en); font-size:.82rem; color:var(--muted); }

/* Inclusive callout — family image + caption (heading + tagline) */
.inclusive__media{ margin:0 0 1.5rem; }
.inclusive__media img{ width:100%; display:block; border-radius:var(--r); border:1px solid var(--line); box-shadow:var(--shadow-sm); }
.inclusive__cap{ text-align:center; margin-top:1rem; }
.inclusive__cap strong{ display:block; font-weight:800; font-size:clamp(1.1rem,2.4vw,1.42rem); line-height:1.3; color:var(--ink); }
.inclusive__cap span{ display:block; margin-top:.3rem; font-size:clamp(.9rem,1.4vw,1rem); line-height:1.55; color:var(--ink-2); }

@media (max-width:560px){
  .inclusive{ padding:1.25rem 1.05rem; }
  .inclusive__title{ flex-basis:100%; }
  .inclusive__media{ margin-bottom:1.1rem; }
}

/* Decorative blobs */
.blob{ position:absolute; border-radius:50%; filter:blur(50px); opacity:.7; z-index:0; pointer-events:none; }
.blob--1{ width:420px; height:420px; background:radial-gradient(circle, #FF8FCB 0%, rgba(255,143,203,0) 70%); top:-110px; right:-90px; }
.blob--2{ width:340px; height:340px; background:radial-gradient(circle, #FFC09A 0%, rgba(255,192,154,0) 70%); bottom:-70px; left:-80px; opacity:.6; }
.blob--3{ width:380px; height:380px; background:radial-gradient(circle, #FF9BD4 0%, rgba(255,155,212,0) 70%); top:8%; left:-130px; }
.blob--4{ width:400px; height:400px; background:radial-gradient(circle, #FF93CE 0%, rgba(255,147,206,0) 70%); bottom:-110px; right:-100px; }

/* =====================================================================
   TOPBAR
   ===================================================================== */
.topbar{ background:var(--ink); color:#F4E6EE; font-size:.86rem; }
.topbar__inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.5rem 0; }
.topbar__item{ display:flex; align-items:center; gap:.5rem; }
.topbar__item .ic{ width:15px; height:15px; stroke:var(--pink); opacity:.95; }
.topbar__phones{ display:flex; align-items:center; gap:.5rem; }
.topbar__phone{ display:inline-flex; align-items:center; gap:.4rem; font-weight:600; transition:color .2s; }
.topbar__phone:hover{ color:#fff; }
.topbar__sep{ opacity:.4; }

/* =====================================================================
   HEADER / NAV
   ===================================================================== */
.header{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.86); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .3s, padding .3s;
}
.header.scrolled{ box-shadow:0 8px 30px rgba(190,47,121,.10); }
.header__inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 0; }
.brand{ display:inline-flex; align-items:center; flex:none; }
.brand__logo{ height:57px; width:auto; transition:height .3s var(--ease), transform .3s var(--ease); transform-origin:left center; }
.brand:hover .brand__logo{ transform:scale(1.04); }
.header.scrolled .brand__logo{ height:48px; }

.nav{ display:flex; align-items:center; gap:.12rem; }
.nav__link{
  padding:.36rem .5rem; border-radius:14px;
  font-weight:600; color:var(--ink-2);
  transition:color .2s, background .2s;
  display:inline-flex; flex-direction:column; align-items:center; line-height:1.12; text-align:center;
}
.nav__te{ display:none; }
.nav__en{ font-size:.875rem; font-weight:600; letter-spacing:0; text-transform:none; color:inherit; font-family:var(--font-en); white-space:nowrap; }
.nav__link:hover .nav__en, .nav__link.active .nav__en{ color:inherit; }
.nav__link:hover{ color:var(--pink-700); background:var(--pink-tint); }
.nav__link.active{ color:var(--pink-700); }
.nav__link--btn{
  background:var(--grad); color:#fff !important; margin-left:.25rem;
  padding:.55rem 1rem; box-shadow:0 8px 20px rgba(214,69,143,.30);
}
.nav__link--btn:hover{ background:var(--grad); transform:translateY(-2px); }
.nav__link--btn .nav__en{ color:#fff; }

.nav-toggle{ display:none; flex-direction:column; gap:5px; padding:.5rem; }
.nav-toggle span{ width:26px; height:2.6px; background:var(--pink-700); border-radius:3px; transition:.3s var(--ease); }
.nav-toggle.open span:nth-child(1){ transform:translateY(7.6px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7.6px) rotate(-45deg); }

/* =====================================================================
   HERO
   ===================================================================== */
.hero{ position:relative; overflow:hidden; padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,7vw,5.5rem);
  background:
    radial-gradient(55% 75% at 88% 8%, rgba(255,124,196,.45), transparent 60%),
    radial-gradient(45% 65% at 6% 92%, rgba(255,180,140,.40), transparent 60%),
    var(--grad-soft); }
.hero__inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.hero__title{ font-weight:800; letter-spacing:-.8px; line-height:1.16; font-size:clamp(2.1rem, 5vw, 3.5rem); margin:1rem 0 1.1rem; }
.hero__sub{ color:var(--ink-2); font-size:clamp(1.02rem,1.5vw,1.18rem); max-width:38ch; }

/* ---- Centered full-bleed hero (eka-style) ---- */
.hero--center{ padding:0; min-height:92vh; display:flex; flex-direction:column; color:#fff; text-align:center; background:#1b0a12; }
/* Crossfading photo background (lady <-> couple) + readability scrim */
.hero__bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero__bg-img{ position:absolute; inset:0; background-size:cover; background-position:center 18%; }
.hero__bg-img--1{ background-image:url("../img/hero-lady.jpg"); }
.hero__bg-img--2{ background-image:url("../img/hero-couple.jpg"); background-position:center 16%; opacity:0; animation:heroCross 16s ease-in-out infinite; }
.hero__bg-scrim{ position:absolute; inset:0;
  background:
    radial-gradient(92% 72% at 50% 34%, rgba(8,3,6,.26), transparent 72%),
    linear-gradient(180deg, rgba(14,5,10,.44) 0%, rgba(34,11,24,.38) 44%, rgba(8,3,6,.82) 100%); }
@keyframes heroCross{ 0%,40%{ opacity:0; } 50%,90%{ opacity:1; } 100%{ opacity:0; } }
@media (prefers-reduced-motion: reduce){ .hero__bg-img--2{ animation:none; opacity:0; } }
.hero--center .blob{ opacity:.2; mix-blend-mode:screen; }
.hero--center .hero__inner{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.25rem;
  flex:1; max-width:960px; padding-top:clamp(4rem,9vh,7rem); padding-bottom:clamp(2.5rem,6vh,4rem); }
.hero__logomark{ position:relative; display:inline-block; line-height:0; margin-bottom:.1rem; }
.hero__logo{ height:clamp(120px, 16vw, 180px); width:auto; max-width:100%;
  filter:drop-shadow(0 6px 24px rgba(0,0,0,.4)); }
/* sparkles twinkling around the flower (top of the logo) — bright pink + white glow so they pop on the white logo */
.hero__sparkle{ position:absolute; pointer-events:none; background:#ff3d9a;
  clip-path:polygon(50% 0%, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0% 50%, 40% 40%);
  filter:drop-shadow(0 0 5px #fff) drop-shadow(0 0 10px rgba(255,61,154,.95));
  opacity:0; transform:scale(.3); animation:heroSparkle 2.4s ease-in-out infinite; will-change:opacity,transform; }
.hero__sparkle--1{ left:16%; top:1%;  width:18px; height:18px; animation-delay:0s; }
.hero__sparkle--2{ left:24%; top:12%; width:13px; height:13px; animation-delay:.55s; }
.hero__sparkle--3{ left:10%; top:10%; width:12px; height:12px; animation-delay:1.1s; }
.hero__sparkle--4{ left:20%; top:23%; width:10px; height:10px; animation-delay:1.7s; }
@keyframes heroSparkle{
  0%, 100% { opacity:0; transform:scale(.3) rotate(0deg); }
  35%, 62% { opacity:1; transform:scale(1) rotate(90deg); }
}
@media (prefers-reduced-motion: reduce){ .hero__sparkle{ animation:none; opacity:0; } }
.hero--center .hero__title{ color:#fff; margin:.2rem 0; letter-spacing:-.5px; line-height:1.14;
  font-size:clamp(2.1rem,5.2vw,4rem); text-shadow:0 2px 30px rgba(0,0,0,.4); }
.hero--center .hero__title .grad{ background:var(--grad-vivid); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.hero--center .hero__sub{ color:rgba(255,255,255,.92); max-width:62ch; margin:0 auto; font-size:clamp(1.02rem,1.5vw,1.2rem); text-shadow:0 1px 16px rgba(0,0,0,.35); }
.hero--center .hero__actions--center{ justify-content:center; margin-top:.6rem; }
.eyebrow--light{ background:rgba(255,255,255,.15); color:#fff; border:1px solid rgba(255,255,255,.28); backdrop-filter:blur(4px); }
.btn--ghost-light{ background:rgba(255,255,255,.10); color:#fff !important; border:1.5px solid rgba(255,255,255,.55); box-shadow:none; }
.btn--ghost-light:hover{ background:rgba(255,255,255,.18); border-color:#fff; transform:translateY(-3px); }
.btn--ghost-light .ic{ stroke:#fff; }
.hero__caret{ display:inline-block; width:3px; height:.95em; background:var(--pink); margin-left:5px; border-radius:2px; vertical-align:-2px; animation:heroCaret 1.05s steps(1) infinite; }
@keyframes heroCaret{ 0%,49%{opacity:1} 50%,100%{opacity:0} }
.hero__rotate{ transition:opacity .25s; }
.hero__swap{ display:inline-block; transition:opacity .38s ease; }
.hero__strip{ position:relative; z-index:2; border-top:1px solid rgba(255,255,255,.18); background:rgba(18,7,13,.34); backdrop-filter:blur(6px); padding:1.05rem 0; }
.hero__strip-row{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.7rem 2.3rem; color:rgba(255,255,255,.82); font-size:.92rem; }
.hero__strip-row span{ display:inline-flex; align-items:baseline; gap:.4rem; }
.hero__strip-row strong{ color:#fff; font-family:var(--font-en); font-weight:800; }
@media (max-width:760px){
  .hero--center{ min-height:auto; }
  .hero__bg-img{ background-position:center 14%; }
  .hero--center .hero__inner{ padding-top:clamp(3rem,7vh,5rem); padding-bottom:2.2rem; }
  .hero__strip-row{ gap:.5rem 1.3rem; font-size:.82rem; }
  .hero__badge{ font-size:.78rem; padding:.42rem .75rem; }
}

/* Premium glass trust badges */
.hero__badges{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.55rem .65rem; margin:.15rem 0; }
.hero__badge{ display:inline-flex; align-items:center; gap:.45rem; padding:.5rem .9rem; border-radius:var(--r-pill);
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.36); backdrop-filter:blur(8px);
  color:#fff; font-size:.86rem; font-weight:600; white-space:nowrap; box-shadow:0 8px 22px rgba(0,0,0,.22); }
.hero__badge strong{ font-family:var(--font-en); font-weight:800; }
.hero__badge .stars{ color:#ffd54a; letter-spacing:.5px; font-size:.82em; }
.hero__badge .ic{ width:15px; height:15px; flex:none; fill:none; stroke:#fff; stroke-width:1.8; stroke-linejoin:round; stroke-linecap:round; }
/* Google rating badge: rating on top, total review count below */
.hero__badge--g{ flex-direction:column; gap:.06rem; padding:.42rem 1.05rem; }
.hero__badge-top{ display:inline-flex; align-items:center; gap:.42rem; line-height:1; }
.hero__badge-top strong{ font-size:1.02rem; }
.hero__badge-sub{ font-family:var(--font-en); font-weight:600; font-size:.72rem; color:rgba(255,255,255,.88); letter-spacing:.01em; }
.hero__badge-sub strong{ font-weight:800; }
.hero__actions{ display:flex; flex-wrap:wrap; gap:.9rem; margin:1.7rem 0 1.4rem; }
.hero__trust{ display:flex; flex-wrap:wrap; gap:.4rem 1.3rem; color:var(--pink-700); font-weight:600; font-size:.92rem; }

.hero__card{
  background:rgba(255,255,255,.72); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.9); border-radius:var(--r-lg);
  padding:1.8rem; box-shadow:var(--shadow-lg), 0 0 0 1px rgba(255,255,255,.5) inset;
}
.hero__mark{ width:96px; height:96px; margin:0 auto .6rem; border-radius:50%; background:#fff; display:grid; place-items:center; box-shadow:var(--shadow-sm); overflow:hidden; }
.hero__mark img{ width:70%; height:70%; object-fit:contain; }
.hero__quote{ text-align:center; font-style:italic; color:var(--pink-700); font-weight:600; font-family:var(--font-en); margin-bottom:1.1rem; }
.hero__list li{ display:flex; align-items:flex-start; gap:.6rem; padding:.45rem 0; color:var(--ink-2); font-weight:500; }
.hero__list .dot{ width:9px; height:9px; border-radius:50%; background:var(--grad); margin-top:.55rem; flex:none; }

/* Hero photo (beautiful-lady visual) */
.hero__visual{ position:relative; max-width:430px; margin-inline:auto; }
.hero__photo{ position:relative; border-radius:var(--r-lg); overflow:hidden; aspect-ratio:4/5; border:5px solid #fff;
  box-shadow:var(--shadow-lg), 0 26px 60px rgba(232,96,168,.22); }
.hero__photo img{ width:100%; height:100%; object-fit:cover; object-position:center top; display:block; }
.hero__photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 58%, rgba(190,47,121,.16)); pointer-events:none; }
.hero__tag{ position:absolute; z-index:3; }
.hero__tag--top{ top:1rem; right:-.3rem; background:var(--grad); color:#fff; font-weight:700; font-size:.76rem; letter-spacing:.02em; padding:.5rem .9rem; border-radius:var(--r-pill); box-shadow:var(--glow-soft); }
.hero__tag--bot{ left:-.5rem; bottom:1.1rem; display:flex; align-items:center; gap:.55rem; max-width:82%;
  background:rgba(255,255,255,.94); backdrop-filter:blur(8px); border:1px solid #fff; border-radius:15px; padding:.55rem .8rem; box-shadow:var(--shadow); }
.hero__tag-ic{ width:34px; height:34px; flex:none; border-radius:10px; background:var(--grad); display:grid; place-items:center; box-shadow:var(--glow-soft); }
.hero__tag-ic svg{ width:18px; height:18px; fill:#fff; }
.hero__tag-txt{ display:flex; flex-direction:column; line-height:1.25; min-width:0; }
.hero__tag-txt strong{ font-size:.84rem; color:var(--ink); font-weight:700; }
.hero__tag-txt span{ font-size:.72rem; color:var(--muted); font-weight:500; }

/* =====================================================================
   STATS
   ===================================================================== */
.stats{ margin-top:clamp(2rem,4vw,3rem); position:relative; z-index:5; }
.stats__grid{
  display:grid; grid-template-columns:repeat(5,1fr); gap:1rem;
  background:#fff; border-radius:var(--r-lg); padding:1.6rem clamp(1rem,3vw,2.4rem);
  box-shadow:var(--shadow-lg); border:1px solid var(--pink-soft); position:relative; overflow:hidden;
}
.stats__grid::before{ content:""; position:absolute; inset:0 0 auto 0; height:4px; background:var(--grad-vivid); }
.stat{ text-align:center; position:relative; }
.stat:not(:last-child)::after{ content:""; position:absolute; right:-.5rem; top:15%; height:70%; width:1px; background:var(--line); }
.stat__num{ font-family:var(--font-en); font-weight:800; font-size:clamp(1.7rem,3vw,2.3rem); line-height:1;
  background:var(--grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.stat__num--text{ letter-spacing:.5px; }
.stat__small{ font-size:.9rem; -webkit-text-fill-color:var(--muted); font-weight:600; }
.stat__label{ margin-top:.45rem; color:var(--ink-2); font-size:.92rem; font-weight:500; }

/* =====================================================================
   GRIDS
   ===================================================================== */
.grid{ display:grid; gap:1.4rem; }
.grid--2{ grid-template-columns:repeat(2,1fr); }
.grid--3{ grid-template-columns:repeat(3,1fr); }
.grid--4{ grid-template-columns:repeat(4,1fr); }

/* ---------- Feature (why us) ---------- */
.feature{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:1.8rem 1.5rem; box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;
}
.feature:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--pink-soft); }
.feature__icon{
  width:58px; height:58px; border-radius:16px; display:grid; place-items:center;
  background:var(--grad-soft); color:var(--pink-600); margin-bottom:1rem;
  box-shadow:0 8px 22px rgba(232,96,168,.20);
}
.feature__icon svg{ width:28px; height:28px; }
.feature h3{ font-size:1.16rem; font-weight:700; margin-bottom:.4rem; }
.feature p{ color:var(--ink-2); font-size:.96rem; }

/* ---------- Medicare Edge (specialists / AI / all-in-one) ---------- */
.edge__card{ display:flex; flex-direction:column; }
.edge__card h3{ display:flex; align-items:baseline; gap:.5rem; flex-wrap:wrap; }
.edge__card p strong{ color:var(--pink-700); }
.spec-chips{ margin-top:.9rem; }
.edge__card--ai{ background:linear-gradient(180deg,#fff,var(--pink-tint)); border-color:var(--pink-soft); }
.edge__card--ai .feature__icon{ background:var(--grad); color:#fff; }
.edge__card--ai .feature__icon svg{ stroke:#fff; }

/* ---------- FAQ ---------- */
.faq__list{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:.85rem; }
.faq__item{ background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:1.05rem 1.25rem; box-shadow:var(--shadow-sm); transition:border-color .3s, box-shadow .3s; }
.faq__item[open]{ border-color:var(--pink-soft); box-shadow:var(--shadow); }
.faq__item summary{ cursor:pointer; font-weight:700; font-size:1.02rem; color:var(--ink); list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.faq__item summary::-webkit-details-marker{ display:none; }
.faq__item summary::after{ content:"+"; color:var(--pink-600); font-size:1.5rem; line-height:1; font-weight:400; flex:none; transition:transform .3s var(--ease); }
.faq__item[open] summary::after{ transform:rotate(45deg); }
.faq__q-en{ display:block; font-size:.78rem; font-weight:600; color:var(--muted); font-family:var(--font-en); margin-top:.2rem; }
.faq__a{ color:var(--ink-2); font-size:.95rem; margin-top:.7rem; line-height:1.65; }

/* ---------- Google Reviews (per branch) ---------- */
.bx__reviews{ display:flex; flex-direction:column; gap:.5rem; }
.rv__cta{ display:inline-flex; align-items:center; gap:.45rem; align-self:flex-start;
  font-weight:600; font-size:.88rem; color:var(--pink-700);
  background:var(--pink-tint); border:1px solid var(--pink-soft);
  padding:.45rem .85rem; border-radius:var(--r-pill); transition:background .2s, transform .2s; }
.rv__cta:hover{ background:var(--pink-soft); transform:translateY(-1px); }
.rv__cta-star{ color:#FBBC05; font-size:1rem; line-height:1; }
.bx__reviews--live{ background:var(--pink-tint2); border:1px solid var(--line); border-radius:14px; padding:.85rem .9rem; gap:.6rem; }
.rv__head{ display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.rv__g{ flex:none; }
.rv__rating{ font-weight:800; font-size:1.05rem; color:var(--ink); font-family:var(--font-en); }
.rv__stars{ color:#FBBC05; letter-spacing:1px; font-size:.95rem; }
.rv__star--off{ color:#E7D8E0; }
.rv__count{ color:var(--muted); font-size:.82rem; }
.rv__src{ margin-left:auto; color:var(--muted); font-size:.74rem; font-weight:600; font-family:var(--font-en); }
.rv__card{ background:#fff; border:1px solid var(--line); border-radius:11px; padding:.55rem .7rem; }
.rv__meta{ display:flex; justify-content:space-between; align-items:center; gap:.5rem; }
.rv__name{ font-weight:700; font-size:.85rem; }
.rv__cstars{ color:#FBBC05; font-size:.78rem; letter-spacing:.5px; flex:none; }
.rv__text{ color:var(--ink-2); font-size:.85rem; margin-top:.25rem; line-height:1.55; }
.rv__when{ display:block; color:var(--muted); font-size:.72rem; margin-top:.25rem; }
.rv__more{ font-weight:600; font-size:.84rem; color:var(--pink-700); align-self:flex-start; }
.rv__more:hover{ text-decoration:underline; }

/* ---------- Before / After results — glossy auto-scroll carousel (hidden until ≥1 image loads) ---------- */
.results{ display:none; }
.results.results--ready{ display:block; }
#resultsList{ display:block; }
/* full-bleed track so cards can scroll edge-to-edge inside the section */
.ba-marquee{
  position:relative; overflow:hidden; padding:1rem 0 1.2rem;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
}
.ba-track{
  display:flex; align-items:stretch; gap:1.3rem; width:max-content;
  will-change:transform; animation:baScroll 80s linear infinite;
}
.ba-marquee:hover .ba-track,
.ba-marquee:focus-within .ba-track{ animation-play-state:paused; }
.ba-slide{
  flex:0 0 auto; height:clamp(248px, 38vw, 360px);
  border-radius:20px; overflow:hidden; position:relative; background:#fff;
  border:1px solid var(--pink-soft, rgba(232,96,168,.22));
  box-shadow:0 14px 34px -16px rgba(178,46,120,.45), 0 3px 10px rgba(44,26,40,.06);
  transition:transform .4s var(--ease), box-shadow .4s;
}
.ba-slide img{ display:block; height:100%; width:auto; max-width:none; }
/* glossy sheen sweeping across each card */
.ba-slide::after{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:linear-gradient(118deg,
    rgba(255,255,255,.32) 0%, rgba(255,255,255,.06) 22%,
    rgba(255,255,255,0) 46%, rgba(255,255,255,0) 72%, rgba(255,255,255,.16) 100%);
  mix-blend-mode:screen;
}
/* soft pink ring on hover */
.ba-slide:hover{ transform:translateY(-5px); box-shadow:0 22px 46px -16px rgba(178,46,120,.6), 0 4px 12px rgba(44,26,40,.08); }
@keyframes baScroll{ from{ transform:translateX(-50%); } to{ transform:translateX(0); } }
@media (prefers-reduced-motion: reduce){
  .ba-track{ animation:none; transform:none; }
  .ba-marquee{ overflow-x:auto; -webkit-overflow-scrolling:touch; mask-image:none; -webkit-mask-image:none; }
}

/* ---------- Treatments: signature showcase ---------- */
.section__head--sub{ margin-top:clamp(2.6rem,5vw,4rem); }
.section__title--sub{ font-size:clamp(1.4rem,3vw,2rem); }
.tx-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(228px,1fr)); gap:1.3rem; }
.tx{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; transition:transform .3s var(--ease), box-shadow .3s, border-color .3s; }
.tx:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--pink-soft); }
.tx__media{ position:relative; aspect-ratio:16/10; background:var(--grad-soft); display:grid; place-items:center; overflow:hidden; }
.tx__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1; }
.tx__ic{ color:var(--pink-600); z-index:0; }
.tx__ic svg{ width:46px; height:46px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.tx__badge{ position:absolute; top:.6rem; right:.6rem; z-index:2; background:var(--grad); color:#fff; font-size:.68rem; font-weight:700; padding:.25rem .6rem; border-radius:var(--r-pill); box-shadow:var(--glow-soft); }
.tx__body{ padding:1rem 1.1rem 1.15rem; display:flex; flex-direction:column; gap:.4rem; flex:1; }
.tx__name{ font-size:1.04rem; font-weight:700; font-family:var(--font-en); line-height:1.25; }
.tx__name span{ display:block; font-family:var(--font); font-weight:600; font-size:.84rem; color:var(--muted); }
.tx__desc{ color:var(--ink-2); font-size:.88rem; line-height:1.55; flex:1; }
.tx__from{ font-family:var(--font-en); font-weight:800; font-size:1.15rem; color:var(--pink-700); margin-top:.2rem; }
.tx__from span{ font-family:var(--font); font-weight:600; font-size:.74rem; color:var(--muted); }

/* ---------- Treatments: complete price list (category accordions) ---------- */
.price-cats{ max-width:880px; margin:0 auto; display:flex; flex-direction:column; gap:.85rem; }
.pcat{ background:#fff; border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow-sm); overflow:hidden; transition:border-color .3s, box-shadow .3s; }
.pcat[open]{ border-color:var(--pink-soft); box-shadow:var(--shadow); }
.pcat__sum{ display:flex; align-items:center; gap:.85rem; padding:1rem 1.1rem; cursor:pointer; list-style:none; }
.pcat__sum::-webkit-details-marker{ display:none; }
.pcat__ic{ width:44px; height:44px; flex:none; border-radius:13px; background:var(--grad); display:grid; place-items:center; box-shadow:var(--glow-soft); }
.pcat__ic svg{ width:23px; height:23px; fill:none; stroke:#fff; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.pcat__meta{ display:flex; flex-direction:column; gap:.1rem; min-width:0; flex:1; }
.pcat__title{ font-weight:700; font-size:1.05rem; font-family:var(--font-en); }
.pcat__title i{ font-style:normal; font-family:var(--font); font-weight:600; color:var(--muted); font-size:.9rem; }
.pcat__sub{ color:var(--pink-700); font-weight:600; font-size:.8rem; font-family:var(--font-en); }
.pcat__chev{ flex:none; color:var(--pink-600); font-size:1.6rem; line-height:1; font-weight:400; transition:transform .3s var(--ease); }
.pcat[open] .pcat__chev{ transform:rotate(45deg); }
.pcat__body{ padding:0 1.1rem 1.1rem; }
.pcat__blurb{ color:var(--ink-2); font-size:.9rem; margin:0 0 .8rem; }
.ptable-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:12px; }
.ptable{ width:100%; border-collapse:collapse; font-size:.9rem; min-width:340px; }
.ptable th{ text-align:left; background:var(--pink-tint); color:var(--pink-700); font-weight:700; font-size:.8rem; padding:.6rem .85rem; white-space:nowrap; }
.ptable td{ padding:.55rem .85rem; border-top:1px solid var(--line); color:var(--ink-2); }
.ptable tbody tr:nth-child(even):not(.ptable__sub){ background:var(--pink-tint2); }
.ptable__name{ color:var(--ink); font-weight:600; }
.ptable__desc{ display:block; font-weight:400; font-size:.76rem; color:var(--muted); line-height:1.4; margin-top:2px; }
.ptable__from{ font-weight:500; font-size:.66rem; color:var(--muted); }
.ptable__gst{ display:inline-block; font-size:.6rem; font-weight:700; color:var(--pink-700); background:var(--pink-tint); border:1px solid var(--pink-soft); padding:.04rem .34rem; border-radius:var(--r-pill); margin-left:.35rem; vertical-align:middle; font-family:var(--font-en); letter-spacing:.02em; white-space:nowrap; }

/* ---------- Hair Transplant ---------- */
.ht-tech-sub{ display:block; font-size:.76rem; font-weight:600; color:var(--pink-600); font-family:var(--font-en); margin:-.15rem 0 .55rem; }
.ht-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:clamp(1.6rem,3vw,2.4rem); }
.ht-step{ display:flex; gap:.7rem; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:1rem 1.05rem; box-shadow:var(--shadow-sm); }
.ht-step__n{ flex:none; width:30px; height:30px; border-radius:50%; background:var(--grad); color:#fff; display:grid; place-items:center; font-family:var(--font-en); font-weight:800; font-size:.9rem; box-shadow:var(--glow-soft); }
.ht-step__txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.ht-step__txt strong{ font-size:.94rem; }
.ht-step__txt span{ font-size:.79rem; color:var(--muted); line-height:1.4; }
/* Hair transplant — pink before/after showcase (recreated from the banner) */
.ht-showcase{ margin:clamp(1.6rem,4vw,2.8rem) 0; display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; }
.ht-ba{ position:relative; border-radius:var(--r-lg); overflow:hidden; line-height:0;
  box-shadow:0 24px 54px -22px rgba(178,46,120,.48), 0 4px 14px rgba(44,26,40,.07); border:1px solid var(--pink-soft); }
.ht-ba img{ width:100%; height:auto; display:block; }
.ht-ba__label{ position:absolute; bottom:12px; z-index:2; font-family:var(--font-en); font-weight:700; font-size:.72rem; letter-spacing:.02em; color:#fff; padding:.32rem .7rem; border-radius:var(--r-pill); }
.ht-ba__label--before{ left:12px; background:rgba(44,26,40,.82); }
.ht-ba__label--after{ right:12px; background:var(--grad); box-shadow:0 6px 16px rgba(214,69,143,.4); }
.ht-showcase__panel{ display:flex; flex-direction:column; }
.ht-showcase__kicker{ font-family:var(--font-en); font-weight:700; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--pink-700); }
.ht-showcase__title{ font-family:var(--font-en); font-weight:800; font-size:clamp(1.7rem,3.4vw,2.4rem); line-height:1.1; letter-spacing:-.5px; margin:.5rem 0 1.2rem; }
.ht-benefits{ display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.2rem; margin-bottom:1.6rem; }
.ht-benefits li{ display:flex; align-items:center; gap:.7rem; }
.ht-benefit__ic{ flex:none; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--grad-soft); color:var(--pink-600); }
.ht-benefit__ic svg{ width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.ht-benefits strong{ display:block; font-size:.96rem; font-weight:700; line-height:1.2; }
.ht-benefits span{ font-family:var(--font-en); font-size:.76rem; color:var(--muted); }
.ht-showcase__cta{ align-self:flex-start; }
@media (max-width:820px){
  .ht-showcase{ grid-template-columns:1fr; }
  .ht-ba{ max-width:480px; margin:0 auto; }
  .ht-benefits{ grid-template-columns:1fr 1fr; }
}
@media (max-width:420px){ .ht-benefits{ grid-template-columns:1fr; } }
.ht-cta{ margin-top:clamp(2rem,4vw,3rem); display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,4vw,3rem); align-items:center; background:var(--grad); color:#fff; border-radius:var(--r-lg); padding:clamp(1.8rem,4vw,2.8rem); box-shadow:var(--glow); }
.ht-cta__price{ display:flex; align-items:baseline; flex-wrap:wrap; gap:.5rem; }
.ht-cta__from{ font-family:var(--font-en); font-weight:800; font-size:clamp(2.4rem,6vw,3.4rem); line-height:1; }
.ht-cta__lbl{ font-size:1rem; font-weight:600; opacity:.88; }
.ht-cta__gst{ font-size:.7rem; font-weight:700; background:rgba(255,255,255,.22); padding:.2rem .55rem; border-radius:var(--r-pill); font-family:var(--font-en); }
.ht-cta__left p{ margin-top:.9rem; color:rgba(255,255,255,.92); font-size:.94rem; line-height:1.65; }
.ht-points{ display:flex; flex-direction:column; gap:.55rem; margin-bottom:1.3rem; }
.ht-points li{ font-weight:600; display:flex; align-items:flex-start; gap:.5rem; }
.ht-points li::before{ content:"✓"; font-weight:800; flex:none; }
.btn--on-grad{ background:#fff; color:var(--pink-700) !important; box-shadow:0 12px 28px rgba(0,0,0,.2); }
.btn--on-grad:hover{ background:#fff; transform:translateY(-3px); box-shadow:0 18px 38px rgba(0,0,0,.26); }
.ht-note{ text-align:center; color:var(--muted); font-size:.84rem; line-height:1.55; margin:1.3rem auto 0; max-width:62ch; }
@media (max-width:760px){
  .ht-steps{ grid-template-columns:1fr 1fr; }
  .ht-cta{ grid-template-columns:1fr; }
}
@media (max-width:460px){ .ht-steps{ grid-template-columns:1fr; } }
.ptable__num{ text-align:right; white-space:nowrap; font-family:var(--font-en); font-weight:700; color:var(--ink); }
th.ptable__num{ color:var(--pink-700); }
.ptable__sub td{ background:var(--pink-soft); color:var(--pink-700); font-weight:700; font-size:.82rem; }
@media (max-width:560px){
  .ptable{ min-width:0; font-size:.82rem; }
  .ptable th, .ptable td{ padding:.5rem .5rem; }
  .pcat__sum{ padding:.85rem .8rem; gap:.6rem; }
  .pcat__body{ padding:0 .7rem .9rem; }
}

/* ---------- Condition cards ---------- */
.card{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:1.7rem; box-shadow:var(--shadow-sm); position:relative; overflow:hidden;
  transition:transform .3s var(--ease), box-shadow .3s;
}
.card::before{ content:""; position:absolute; inset:0 0 auto 0; height:4px; background:var(--grad); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
.card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.card:hover::before{ transform:scaleX(1); }
.card__icon{
  width:60px; height:60px; border-radius:16px; display:grid; place-items:center;
  background:var(--grad); color:#fff; margin-bottom:1rem; box-shadow:var(--glow-soft);
}
.card__icon svg{ width:30px; height:30px; stroke:#fff; }
.card h3{ font-size:1.25rem; font-weight:700; margin-bottom:.9rem; display:flex; align-items:baseline; gap:.5rem; flex-wrap:wrap; }
.card__en{ font-size:.72rem; font-weight:600; font-family:var(--font-en); color:var(--pink-600); background:var(--pink-tint); padding:.12rem .5rem; border-radius:var(--r-pill); letter-spacing:.02em; }
.tags{ display:flex; flex-wrap:wrap; gap:.5rem; }
.tags li{
  font-size:.86rem; font-weight:500; color:var(--pink-700);
  background:var(--pink-tint); border:1px solid var(--pink-soft);
  padding:.32rem .7rem; border-radius:var(--r-pill);
}
/* bilingual condition tags: తెలుగు primary + small English */
.tags--bi li{ display:inline-flex; align-items:baseline; gap:.38rem; }
.tags--bi li i{ font-style:normal; font-family:var(--font-en); font-size:.72rem; font-weight:500; color:var(--pink-600); opacity:.85; }

/* ---------- Pricing ---------- */
.pricing .price{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:1.6rem; box-shadow:var(--shadow-sm); position:relative;
  display:flex; flex-direction:column;
  transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;
}
.price:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:var(--pink-soft); }
.price--featured{ border-color:var(--pink); box-shadow:var(--glow-soft); background:linear-gradient(180deg,#fff, #FFF1F8); }
.price__top{ display:flex; align-items:baseline; justify-content:space-between; gap:.6rem; margin-bottom:.6rem; flex-wrap:wrap; }
.price__top h3{ font-size:1.2rem; font-weight:700; display:flex; align-items:baseline; gap:.4rem; flex-wrap:wrap; }
.price__en{ font-size:.72rem; font-weight:600; font-family:var(--font-en); color:var(--muted); }
.price__tag{ font-size:.78rem; font-weight:600; color:var(--pink-600); background:var(--pink-tint); padding:.25rem .6rem; border-radius:var(--r-pill); white-space:nowrap; }
.price p{ color:var(--ink-2); font-size:.94rem; flex:1; }
.price__from{ margin-top:1rem; font-family:var(--font-en); font-weight:800; font-size:1.5rem; color:var(--pink-700); }
.price__from span{ font-size:.85rem; font-weight:600; color:var(--muted); }
.price__badge{ position:absolute; top:-11px; right:16px; background:var(--grad); color:#fff; font-size:.74rem; font-weight:700; padding:.3rem .8rem; border-radius:var(--r-pill); box-shadow:0 8px 18px rgba(214,69,143,.3); }
.pricing__note{ text-align:center; color:var(--muted); font-size:.9rem; margin:1.6rem auto 1.8rem; max-width:600px; }

/* ---------- Doctors ---------- */
.doctors{ display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; padding-top:1rem; }
.doctors .doctor{
  flex:0 1 340px;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:2rem 1.5rem; text-align:center; box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s;
}
.doctor:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }

/* Founder / CEO — highlighted card (animated glowing aura) */
.doctors .doctor--featured{
  position:relative; border-color:transparent;
  background:linear-gradient(180deg,#fff4fa 0%, #ffffff 60%);
  transform:translateY(-8px) scale(1.04); z-index:2;
  animation:featGlow 3.2s var(--ease) infinite;
}
@keyframes featGlow{
  0%,100%{ box-shadow:0 0 0 2px var(--pink), 0 24px 50px -22px rgba(214,69,143,.5), 0 0 0 0 rgba(232,96,168,0); }
  50%    { box-shadow:0 0 0 2px var(--pink), 0 30px 60px -18px rgba(214,69,143,.7), 0 0 34px 4px rgba(232,96,168,.3); }
}
/* gradient halo ring behind the card */
.doctors .doctor--featured::before{
  content:""; position:absolute; inset:-3px; border-radius:inherit; z-index:-1;
  background:linear-gradient(135deg, var(--pink), #ffb3dd 45%, var(--pink-700));
  filter:blur(9px); opacity:.45; animation:featHalo 3.2s var(--ease) infinite;
}
@keyframes featHalo{ 0%,100%{ opacity:.32; } 50%{ opacity:.6; } }
.doctors .doctor--featured:hover{
  animation-play-state:paused; transform:translateY(-14px) scale(1.04);
  box-shadow:0 0 0 2px var(--pink), 0 36px 72px -18px rgba(214,69,143,.72), 0 0 42px 6px rgba(232,96,168,.34);
}
.doctors .doctor--featured:hover::before{ animation-play-state:paused; opacity:.7; }
@media (prefers-reduced-motion: reduce){
  .doctors .doctor--featured{ animation:none; box-shadow:0 0 0 2px var(--pink), 0 26px 56px -20px rgba(214,69,143,.55); }
  .doctors .doctor--featured::before{ animation:none; }
}
.doctor__crown{
  position:absolute; top:-15px; left:50%; transform:translateX(-50%);
  display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap;
  background:var(--grad); color:#fff; font-weight:700; font-size:.74rem; letter-spacing:.02em;
  padding:.38rem .95rem; border-radius:var(--r-pill);
  box-shadow:0 10px 22px -6px rgba(214,69,143,.6);
}
.doctor__crown-ic{ width:15px; height:15px; fill:currentColor; flex:none; }
.doctor__org{
  display:block; margin-top:.8rem; font-family:var(--font-en); font-weight:700;
  font-size:.82rem; line-height:1.35; letter-spacing:.01em; color:var(--pink-700);
  background:var(--pink-tint); border:1px solid var(--pink-soft); border-radius:13px; padding:.55rem .7rem;
}
.doctor__since{
  display:inline-block; margin-top:.6rem; font-family:var(--font-en); font-weight:800;
  font-size:.72rem; letter-spacing:.12em; color:#fff; background:var(--grad);
  padding:.26rem .8rem; border-radius:var(--r-pill); box-shadow:0 8px 18px -8px rgba(214,69,143,.55);
}
.doctor__avatar{
  width:140px; height:140px; border-radius:50%; margin:0 auto 1.1rem; position:relative; overflow:hidden;
  background:var(--grad); display:grid; place-items:center;
  color:#fff; font-weight:800; font-size:2.9rem; box-shadow:0 14px 30px rgba(214,69,143,.32);
  border:5px solid #fff; outline:2px solid var(--pink-soft);
}
.doctor__avatar img, .medic__avatar img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 20%; }
.doctor h3{ font-size:1.3rem; font-weight:700; }
.doctor__deg{ display:block; color:var(--pink-700); font-weight:600; font-size:.92rem; margin:.25rem 0 .5rem; font-family:var(--font-en); }
.doctor__role{ display:block; color:var(--ink-2); font-size:.93rem; }
.doctor__exp{ display:inline-block; margin-top:.55rem; font-weight:700; font-size:.85rem; color:var(--pink-700);
  background:var(--pink-tint); border:1px solid var(--pink-soft); padding:.28rem .75rem; border-radius:var(--r-pill); }
.medic__exp{ display:flex; align-items:center; gap:.3rem; width:max-content; max-width:100%; margin-top:.45rem;
  font-weight:600; font-size:.78rem; color:var(--pink-700); background:var(--pink-tint);
  border:1px solid var(--pink-soft); padding:.22rem .55rem; border-radius:var(--r-pill); }
.medic__exp .ic{ width:13px; height:13px; flex:none; }
.medic__reg{ display:block; margin-top:.3rem; font-family:var(--font-en); font-size:.74rem; font-weight:600; color:#0f7a43; }
.doctor__reg{ display:inline-block; margin-top:.4rem; font-family:var(--font-en); font-size:.8rem; font-weight:700;
  color:#0f7a43; background:rgba(20,150,80,.1); border:1px solid rgba(20,150,80,.24); padding:.24rem .7rem; border-radius:var(--r-pill); }
.doctors__note{ text-align:center; color:var(--muted); margin-top:1.8rem; }

/* =====================================================================
   APP DOWNLOAD
   ===================================================================== */
.app__inner{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
.app__media{ display:grid; place-items:center; }
.app__icon{ width:min(260px,70%); border-radius:30%; box-shadow:var(--shadow-lg); animation:float 5s ease-in-out infinite; }
.app__content p{ color:var(--ink-2); margin:.6rem 0 1.4rem; max-width:48ch; }
.app__badges{ display:flex; flex-wrap:wrap; gap:1rem; }
.store{
  display:inline-flex; align-items:center; gap:.7rem;
  background:var(--ink); color:#fff; padding:.7rem 1.3rem; border-radius:14px;
  transition:transform .25s var(--ease), box-shadow .25s;
}
.store:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(44,26,40,.3); }
.store svg{ width:26px; height:26px; fill:#fff; }
.store span{ display:flex; flex-direction:column; line-height:1.2; font-weight:700; font-size:1.05rem; font-family:var(--font-en); }
.store small{ font-weight:500; font-size:.7rem; opacity:.8; }

@keyframes float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }

/* =====================================================================
   BRANCHES
   ===================================================================== */
.branches .branch{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column;
  transition:transform .3s var(--ease), box-shadow .3s;
}
.branch:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.branch__head{ padding:1.4rem 1.6rem .2rem; }
.branch__chip{ display:inline-block; font-size:.76rem; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  color:#fff; background:var(--grad); padding:.3rem .8rem; border-radius:var(--r-pill); margin-bottom:.6rem; }
.branch__chip--alt{ background:var(--ink); }
.branch__head h3{ font-size:1.5rem; font-weight:800; }
.branch__info{ padding:.6rem 1.6rem 1rem; display:flex; flex-direction:column; gap:.7rem; }
.branch__info li{ display:flex; align-items:flex-start; gap:.65rem; color:var(--ink-2); font-size:.95rem; }
.branch__info .ic{ stroke:var(--pink); margin-top:3px; }
.branch__info a{ color:var(--pink-700); font-weight:600; }
.branch__info .tbd{ color:var(--ink-2); }
.branch__info .tbd::after{ content:" · పూర్తి చిరునామా త్వరలో"; color:var(--muted); font-size:.82rem; }
.dotsep{ color:var(--muted); }
.branch__map{ position:relative; height:200px; background:var(--grad-soft); margin:0 1.6rem; border-radius:var(--r); overflow:hidden; border:1px solid var(--line); display:grid; place-items:center; }
.branch__map-ph{ position:absolute; inset:0; z-index:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.25rem; color:var(--pink); opacity:.55; font-weight:700; letter-spacing:.5px; }
.branch__map-ph svg{ width:40px; height:40px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.branch__map iframe{ position:relative; z-index:1; width:100%; height:100%; border:0; filter:saturate(1.05); }

.branch__actions{ display:flex; gap:.7rem; margin:1.1rem 1.6rem 1.6rem; }
.branch__cta{
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
  text-align:center; font-weight:700; font-size:.95rem; padding:.8rem .6rem; border-radius:var(--r-pill);
  transition:background .25s, color .25s, transform .25s, box-shadow .25s;
}
.branch__cta svg{ width:18px; height:18px; flex:none; }
.branch__cta--map{ background:var(--pink-tint); color:var(--pink-700); border:1.5px solid var(--pink-soft); }
.branch__cta--map svg{ fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.branch__cta--map:hover{ background:var(--grad); color:#fff; transform:translateY(-2px); }
.branch__cta--map:hover svg{ stroke:#fff; }
.branch__cta--wa{ background:#25D366; color:#fff; box-shadow:0 8px 18px rgba(37,211,102,.28); }
.branch__cta--wa svg{ fill:#fff; }
.branch__cta--wa:hover{ transform:translateY(-2px); box-shadow:0 12px 24px rgba(37,211,102,.4); }

/* =====================================================================
   CONTACT
   ===================================================================== */
.contact{ background:var(--pink-tint); overflow:hidden; }
.contact__inner{ position:relative; z-index:2; display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2rem,4vw,3.5rem); align-items:start; }
.contact__info p{ color:var(--ink-2); margin:.6rem 0 1.3rem; }
.contact__list{ display:flex; flex-direction:column; gap:.8rem; }
.contact__list li{ display:flex; align-items:center; gap:.7rem; color:var(--ink); font-weight:500; }
.contact__list .ic{ stroke:var(--pink); width:20px; height:20px; }
.contact__list a{ color:var(--pink-700); font-weight:600; }

.contact__form{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(1.5rem,3vw,2.2rem); box-shadow:var(--shadow);
  display:grid; grid-template-columns:1fr 1fr; gap:1rem;
}
.field{ display:flex; flex-direction:column; gap:.35rem; }
.field--full{ grid-column:1 / -1; }
.field label{ font-size:.88rem; font-weight:600; color:var(--ink-2); }
.field input, .field select, .field textarea{
  border:1.5px solid var(--line); border-radius:12px; padding:.75rem .9rem;
  background:var(--pink-tint2); color:var(--ink); transition:border-color .2s, box-shadow .2s; resize:vertical;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--pink); box-shadow:0 0 0 4px rgba(232,96,168,.12); background:#fff;
}
.contact__form .btn{ grid-column:1 / -1; }
.contact__form .btn .ic{ fill:#fff; stroke:none; width:20px; height:20px; }
.contact__formnote{ grid-column:1/-1; text-align:center; color:var(--muted); font-size:.84rem; }

/* =====================================================================
   FOOTER
   ===================================================================== */
.footer{ background:var(--ink); color:#E8D5E0; }
.footer__inner{ display:grid; grid-template-columns:1.7fr 1fr 1.1fr 1.1fr; gap:1.4rem 2.2rem; padding:clamp(1.8rem,3.5vw,2.8rem) 0 1.6rem; }
.footer__logo{ height:96px; width:auto; max-width:100%; margin-bottom:.9rem; filter:drop-shadow(0 3px 14px rgba(0,0,0,.3)); }
.footer__brand p{ color:#C9B3C0; font-size:.85rem; line-height:1.55; max-width:30ch; }
.footer__col h4{ color:#fff; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:.65rem; font-weight:700; font-family:var(--font-en); }
.footer__col a{ display:block; color:#C9B3C0; padding:.18rem 0; font-size:.87rem; transition:color .2s, padding-left .2s; }
.footer__col a:hover{ color:var(--pink); padding-left:5px; }
.footer__branches{ display:grid; grid-template-columns:1fr 1fr; gap:0 1.2rem; }
.footer__all{ margin-top:.4rem; font-weight:600; color:var(--pink) !important; }
.footer__hours{ color:#C9B3C0; font-size:.82rem; line-height:1.55; margin-top:.5rem; }
.footer__bottom{ border-top:1px solid rgba(255,255,255,.1); padding:1rem 0 1.1rem; }
.footer__bottom .container{ display:block; }
.footer__disclaimer{ text-align:center; color:#A892A0 !important; font-size:.76rem; line-height:1.6; max-width:96ch;
  margin:0 auto .85rem; padding-bottom:.85rem; border-bottom:1px solid rgba(255,255,255,.08); }
.footer__bottom-row{ display:flex; align-items:center; justify-content:space-between; gap:.6rem 1.4rem; flex-wrap:wrap; }
.footer__bottom-row p{ color:#B79FAD; font-size:.85rem; margin:0; }
.footer__tag{ font-family:var(--font-en); letter-spacing:1px; color:var(--pink) !important; font-weight:600; }

/* =====================================================================
   FLOATING ACTIONS
   ===================================================================== */
.fab{ position:fixed; right:18px; bottom:18px; z-index:80; display:flex; flex-direction:column; gap:.7rem; }
.fab__btn{ width:54px; height:54px; border-radius:50%; display:grid; place-items:center; box-shadow:0 10px 26px rgba(0,0,0,.22); transition:transform .25s var(--ease); }
.fab__btn:hover{ transform:scale(1.08); }
.fab__btn svg{ width:28px; height:28px; }
.fab__btn--wa{ background:#25D366; }
.fab__btn--wa svg{ fill:#fff; }
.fab__btn--call{ background:var(--grad); }
.fab__btn--call svg{ fill:none; stroke:#fff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; animation:ring 1.6s ease-in-out infinite; }
@keyframes ring{ 0%,60%,100%{ transform:rotate(0); } 10%,30%{ transform:rotate(-12deg); } 20%,40%{ transform:rotate(12deg); } }

/* Teleconsultation FAB — distinct teal, attention pulse, hover tooltip */
.fab__btn--tele{ background:linear-gradient(135deg,#0EA5A5,#18C9B6); position:relative; }
.fab__btn--tele svg{ fill:none; stroke:#fff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.fab__btn--tele::after{ content:""; position:absolute; inset:0; border-radius:50%; box-shadow:0 0 0 0 rgba(24,201,182,.55); animation:telePulse 2.2s ease-out infinite; pointer-events:none; }
@keyframes telePulse{ 0%{ box-shadow:0 0 0 0 rgba(24,201,182,.5); } 70%{ box-shadow:0 0 0 16px rgba(24,201,182,0); } 100%{ box-shadow:0 0 0 0 rgba(24,201,182,0); } }
.fab__label{ position:absolute; right:64px; top:50%; transform:translateY(-50%) translateX(8px);
  background:var(--ink); color:#fff; font-size:.78rem; font-weight:600; padding:.42rem .72rem; border-radius:10px;
  white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .25s var(--ease), transform .25s var(--ease);
  box-shadow:0 8px 20px rgba(0,0,0,.22); }
.fab__label::after{ content:""; position:absolute; right:-5px; top:50%; transform:translateY(-50%); border:5px solid transparent; border-left-color:var(--ink); }
.fab__btn--tele:hover .fab__label{ opacity:1; transform:translateY(-50%) translateX(0); }
@media (prefers-reduced-motion: reduce){ .fab__btn--tele::after{ animation:none; } }

/* Teleconsultation CTA (reuses .ht-cta band) */
#teleconsultation{ scroll-margin-top:84px; }
.tele-cta__head{ font-weight:700; font-size:1rem; opacity:.95; margin-bottom:.5rem; }
.tele-cta__num{ color:#fff; text-decoration:none; }
.tele-cta__num:hover{ text-decoration:underline; }

.totop{
  position:fixed; left:18px; bottom:84px; z-index:80;
  width:46px; height:46px; border-radius:50%; background:#fff; color:var(--pink-700);
  font-size:1.3rem; font-weight:700; box-shadow:var(--shadow);
  border:1px solid var(--line); opacity:0; pointer-events:none;
  transform:translateY(12px); transition:opacity .3s, transform .3s;
}
.totop.show{ opacity:1; pointer-events:auto; transform:translateY(0); }

/* =====================================================================
   AI ASSISTANT — left-side chat
   ===================================================================== */
.chat-launch{
  position:fixed; left:18px; bottom:18px; z-index:81;
  display:inline-flex; align-items:center; gap:.5rem; padding:.55rem .95rem .55rem .55rem;
  border-radius:var(--r-pill); background:var(--grad); color:#fff; cursor:pointer;
  box-shadow:0 14px 30px -8px rgba(214,69,143,.55), 0 4px 12px rgba(0,0,0,.12);
  transition:transform .25s var(--ease), box-shadow .25s, opacity .3s;
}
.chat-launch:hover{ transform:translateY(-3px); box-shadow:0 20px 42px -10px rgba(214,69,143,.62); }
.chat-launch__ic{ width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.22); display:grid; place-items:center; flex:none; }
.chat-launch__ic svg{ width:21px; height:21px; fill:none; stroke:#fff; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.chat-launch__txt{ font-weight:700; font-size:.92rem; white-space:nowrap; }
.chat-launch__dot{ position:absolute; top:-2px; right:-2px; width:14px; height:14px; border-radius:50%; background:#22c55e; border:2px solid #fff; animation:chatDot 2s ease-out infinite; }
@keyframes chatDot{ 0%{ box-shadow:0 0 0 0 rgba(34,197,94,.55);} 70%{ box-shadow:0 0 0 10px rgba(34,197,94,0);} 100%{ box-shadow:0 0 0 0 rgba(34,197,94,0);} }

.chatbox{
  position:fixed; left:18px; bottom:18px; z-index:90;
  width:min(382px, calc(100vw - 36px)); height:min(564px, calc(100vh - 36px));
  display:flex; flex-direction:column; overflow:hidden; background:#fff;
  border-radius:22px; border:1px solid var(--pink-soft);
  box-shadow:0 30px 70px -20px rgba(44,26,40,.45), 0 8px 24px rgba(0,0,0,.12);
  opacity:0; transform:translateY(20px) scale(.96); transform-origin:bottom left; pointer-events:none;
  transition:opacity .3s var(--ease), transform .3s var(--ease);
}
.chatbox--open{ opacity:1; transform:none; pointer-events:auto; }
.chatbox__head{ display:flex; align-items:center; gap:.6rem; padding:.8rem 1rem; background:var(--grad); color:#fff; }
.chatbox__avatar{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.22); display:grid; place-items:center; flex:none; }
.chatbox__avatar svg{ width:22px; height:22px; fill:none; stroke:#fff; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.chatbox__id{ display:flex; flex-direction:column; line-height:1.25; flex:1; min-width:0; }
.chatbox__id strong{ font-size:.98rem; }
.chatbox__status{ font-size:.72rem; opacity:.94; display:flex; align-items:center; gap:.32rem; }
.chatbox__status::before{ content:""; width:7px; height:7px; border-radius:50%; background:#86ffb9; box-shadow:0 0 6px #86ffb9; }
.chatbox__close{ background:rgba(255,255,255,.18); color:#fff; width:30px; height:30px; border-radius:50%; font-size:.95rem; flex:none; transition:background .2s; }
.chatbox__close:hover{ background:rgba(255,255,255,.34); }
.chatbox__body{ flex:1; overflow-y:auto; padding:1rem .9rem .5rem; background:var(--grad-soft); display:flex; flex-direction:column; gap:.55rem; }
.chat-msg{ max-width:86%; padding:.6rem .8rem; border-radius:14px; font-size:.9rem; line-height:1.5; overflow-wrap:anywhere; animation:chatIn .25s var(--ease); }
@keyframes chatIn{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:none;} }
.chat-msg--bot{ background:#fff; color:var(--ink); align-self:flex-start; border:1px solid var(--line); border-bottom-left-radius:4px; }
.chat-msg--user{ background:var(--grad); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }
.chat-msg a{ color:var(--pink-700); font-weight:600; }
.chat-msg--user a{ color:#fff; }
.chat-msg small{ opacity:.7; font-size:.74rem; }
.chat-acts{ display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.6rem; }
.chat-act{ display:inline-flex; align-items:center; gap:.3rem; font-size:.8rem; font-weight:600; padding:.34rem .7rem; border-radius:var(--r-pill); background:var(--pink-tint); color:var(--pink-700) !important; border:1px solid var(--pink-soft); text-decoration:none !important; transition:background .2s; }
.chat-act:hover{ background:#fff; }
.chat-act--primary{ background:var(--grad); color:#fff !important; border-color:transparent; }
.chat-typing{ flex-direction:row; display:flex; gap:4px; align-items:center; }
.chat-typing span{ width:7px; height:7px; border-radius:50%; background:var(--pink); opacity:.5; animation:chatType 1s infinite; }
.chat-typing span:nth-child(2){ animation-delay:.15s; }
.chat-typing span:nth-child(3){ animation-delay:.3s; }
@keyframes chatType{ 0%,60%,100%{ transform:translateY(0); opacity:.4; } 30%{ transform:translateY(-4px); opacity:1; } }
.chatbox__chips{ display:flex; gap:.4rem; overflow-x:auto; padding:.5rem .9rem; background:#fff; border-top:1px solid var(--line); scrollbar-width:none; }
.chatbox__chips::-webkit-scrollbar{ display:none; }
.chat-chip{ flex:none; font-size:.8rem; font-weight:600; padding:.4rem .8rem; border-radius:var(--r-pill); background:var(--pink-tint); color:var(--pink-700); border:1px solid var(--pink-soft); white-space:nowrap; cursor:pointer; transition:background .2s, color .2s; }
.chat-chip:hover{ background:var(--grad); color:#fff; border-color:transparent; }
.chatbox__input{ display:flex; gap:.5rem; padding:.7rem .8rem; background:#fff; border-top:1px solid var(--line); }
.chatbox__input input{ flex:1; border:1px solid var(--line); border-radius:var(--r-pill); padding:.6rem .9rem; font-family:inherit; font-size:.9rem; outline:none; transition:border-color .2s; }
.chatbox__input input:focus{ border-color:var(--pink); }
.chatbox__input button{ width:42px; height:42px; flex:none; border-radius:50%; background:var(--grad); display:grid; place-items:center; }
.chatbox__input button svg{ width:20px; height:20px; fill:#fff; }
body.chat-open .chat-launch, body.chat-open .totop{ opacity:0; pointer-events:none; }
@media (max-width:560px){
  .chat-launch__txt{ display:none; }
  .chat-launch{ padding:.5rem; }
  .chatbox{ left:0; right:0; bottom:0; width:100vw; height:86vh; height:86dvh; border-radius:18px 18px 0 0; transform-origin:bottom center; }
}
@media (prefers-reduced-motion: reduce){ .chat-launch__dot{ animation:none; } }

/* =====================================================================
   REVEAL ANIMATION
   ===================================================================== */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  *{ animation:none !important; scroll-behavior:auto; }
}

/* =====================================================================
   CONSULTANT ROSTER + BRANCH DIRECTORY
   ===================================================================== */
.team-sub{ text-align:center; margin:3rem auto 1.6rem; }
.team-sub__title{ font-size:clamp(1.3rem,2.4vw,1.7rem); font-weight:800; }

.medics{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.medic{
  display:flex; align-items:center; gap:1.1rem;
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:1.1rem 1.15rem; box-shadow:var(--shadow-sm);
  transition:transform .25s var(--ease), box-shadow .25s, border-color .25s;
}
.medic:hover{ transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--pink-soft); }
.medic__avatar{
  width:92px; height:92px; flex:none; border-radius:50%; position:relative; overflow:hidden;
  background:var(--grad); color:#fff; display:grid; place-items:center;
  font-weight:800; font-size:1.9rem; box-shadow:0 10px 22px rgba(214,69,143,.3);
  border:4px solid #fff; outline:2px solid var(--pink-soft);
}
.medic__body{ display:flex; flex-direction:column; gap:.12rem; min-width:0; }
.medic__body h4{ font-size:1.08rem; font-weight:700; }
.medic__deg{ color:var(--pink-700); font-weight:600; font-size:.82rem; font-family:var(--font-en); }
.medic__loc{ display:inline-flex; align-items:center; gap:.3rem; color:var(--ink-2); font-size:.88rem; }
.medic__loc .ic{ width:15px; height:15px; stroke:var(--pink); flex:none; }

.section__head--mt{ margin-top:3.6rem; }
.branches__subtitle{ font-size:clamp(1.4rem,2.6vw,1.9rem); font-weight:800; margin-bottom:.5rem; }
.branch-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.bcard{
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:1.2rem 1.2rem 1rem; box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column; gap:.6rem;
  transition:transform .25s var(--ease), box-shadow .25s, border-color .25s;
}
.bcard:hover{ transform:translateY(-5px); box-shadow:var(--shadow); border-color:var(--pink-soft); }
.bcard--hq{ border-color:var(--pink); background:linear-gradient(180deg,#fff,#FFF7FB); }
.bcard__top{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; flex-wrap:wrap; }
.bcard__top h4{ font-size:1.18rem; font-weight:800; }
.bcard__hq{ font-size:.66rem; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:#fff; background:var(--grad); padding:.22rem .55rem; border-radius:var(--r-pill); }
.bcard__doc{ display:flex; align-items:center; gap:.45rem; color:var(--ink-2); font-size:.9rem; }
.bcard__doc .ic{ width:16px; height:16px; stroke:var(--pink); flex:none; }
.bcard__actions{ display:flex; gap:.5rem; margin-top:auto; }
.bcard__act{
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.35rem;
  font-weight:600; font-size:.84rem; padding:.55rem .4rem; border-radius:var(--r-pill);
  background:var(--pink-tint); color:var(--pink-700); border:1px solid var(--pink-soft);
  transition:background .2s, color .2s, transform .2s;
}
.bcard__act .ic{ width:15px; height:15px; stroke:currentColor; flex:none; }
.bcard__act:hover{ background:var(--grad); color:#fff; transform:translateY(-2px); }
.bcard__act:hover .ic{ stroke:#fff; }

/* ---------- Full branch cards (rendered from branches.js) ---------- */
.branch-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.6rem; }
.bx{
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column;
  transition:transform .3s var(--ease), box-shadow .3s;
}
.bx:hover{ transform:translateY(-5px); box-shadow:var(--shadow); }
.bx--hq{ border:2px solid var(--pink); }

.bx__photo{ position:relative; height:200px; background:var(--grad-soft); display:grid; place-items:center; overflow:hidden; }
.bx__clinic{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:1; }
.bx__photo-ph{ display:flex; flex-direction:column; align-items:center; gap:.4rem; color:var(--pink); opacity:.6; font-weight:600; font-size:.88rem; z-index:0; }
.bx__photo-ph svg{ width:42px; height:42px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.bx__chip{ position:absolute; top:12px; left:12px; z-index:2; font-size:.72rem; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:#fff; background:var(--grad); padding:.32rem .75rem; border-radius:var(--r-pill); box-shadow:0 6px 16px rgba(214,69,143,.35); }
/* Google rating badge on clinic photo */
.bx__rating{ position:absolute; left:12px; bottom:12px; z-index:3; display:inline-flex; align-items:center; gap:.32rem;
  background:rgba(255,255,255,.96); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.7);
  padding:.32rem .62rem; border-radius:var(--r-pill); box-shadow:0 6px 16px rgba(0,0,0,.20); font-size:.84rem; color:var(--ink); line-height:1; }
.bx__rating[hidden]{ display:none; }
.bx__rating-g{ flex:none; }
.bx__rating-val{ font-family:var(--font-en); font-weight:800; }
.bx__rating-star{ color:#FBBC05; font-size:.92rem; }
.bx__rating-count{ color:var(--muted); font-size:.78rem; font-family:var(--font-en); }

.bx__body{ padding:1.3rem 1.4rem 1.4rem; display:flex; flex-direction:column; gap:.65rem; flex:1; }
.bx__docrow{ display:flex; align-items:center; gap:.85rem; }
.bx__docpic{
  position:relative; width:58px; height:58px; flex:none; border-radius:50%;
  background:var(--grad); color:#fff; display:grid; place-items:center;
  font-weight:800; font-size:1.25rem; overflow:hidden;
  border:3px solid #fff; box-shadow:0 8px 18px rgba(214,69,143,.3); outline:2px solid var(--pink-soft);
}
.bx__docpic img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 20%; }
.bx__docpics{ display:flex; flex:none; }
.bx__docpics .bx__docpic + .bx__docpic{ margin-left:-18px; }
.bx__docmeta{ min-width:0; }
.bx__town{ font-size:1.32rem; font-weight:800; line-height:1.2; }
.bx__town-en{ font-size:.82rem; font-weight:600; color:var(--muted); font-family:var(--font-en); }
.bx__doc{ color:var(--pink-700); font-weight:600; font-size:.85rem; font-family:var(--font-en); }
.bx__reg{ display:inline-flex; align-items:center; gap:.32rem; margin-top:.25rem; font-family:var(--font-en);
  font-size:.74rem; font-weight:600; color:#0f7a43; background:rgba(20,150,80,.1);
  border:1px solid rgba(20,150,80,.24); padding:.16rem .5rem; border-radius:var(--r-pill); width:max-content; max-width:100%; }
.bx__reg svg{ width:13px; height:13px; flex:none; fill:none; stroke:#16a34a; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

.bx__addr, .bx__phone{ display:flex; align-items:flex-start; gap:.5rem; color:var(--ink-2); font-size:.92rem; }
.bx__addr svg, .bx__phone svg{ width:17px; height:17px; flex:none; margin-top:3px; fill:none; stroke:var(--pink); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.bx__addr-tbd{ color:var(--muted); }
.bx__phone{ font-weight:600; color:var(--ink); }

.bx .branch__map{ margin:.25rem 0; height:165px; }

.bx__actions{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:auto; padding-top:.3rem; }
.bx__btn{
  flex:1; min-width:80px; display:inline-flex; align-items:center; justify-content:center; gap:.35rem;
  font-weight:700; font-size:.86rem; padding:.62rem .4rem; border-radius:var(--r-pill);
  transition:background .2s, color .2s, transform .2s, box-shadow .2s;
}
.bx__btn svg{ width:16px; height:16px; flex:none; }
.bx__btn--call{ background:var(--pink-tint); color:var(--pink-700); border:1.5px solid var(--pink-soft); }
.bx__btn--call svg{ fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.bx__btn--call:hover{ background:var(--grad); color:#fff; transform:translateY(-2px); }
.bx__btn--call:hover svg{ stroke:#fff; }
.bx__btn--wa{ background:#25D366; color:#fff; box-shadow:0 6px 14px rgba(37,211,102,.28); }
.bx__btn--wa svg{ fill:#fff; }
.bx__btn--wa:hover{ transform:translateY(-2px); box-shadow:0 10px 20px rgba(37,211,102,.4); }
.bx__btn--dir{ background:var(--ink); color:#fff; }
.bx__btn--dir svg{ fill:none; stroke:#fff; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.bx__btn--dir:hover{ transform:translateY(-2px); }
.bx__btn--ig{ background:linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5); color:#fff; box-shadow:0 6px 14px rgba(214,41,118,.3); }
.bx__btn--ig svg{ fill:none; stroke:#fff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.bx__btn--ig:hover{ transform:translateY(-2px); box-shadow:0 10px 20px rgba(214,41,118,.42); filter:saturate(1.08); }

/* Footer Instagram / social */
.footer__social{ display:flex; align-items:center; gap:.7rem; margin-top:1.1rem; }
.footer__social-link{ width:42px; height:42px; flex:none; border-radius:12px; display:grid; place-items:center;
  background:linear-gradient(45deg,#feda75,#fa7e1e,#d62976,#962fbf,#4f5bd5); box-shadow:0 6px 16px rgba(214,41,118,.36); transition:transform .2s; }
.footer__social-link svg{ width:22px; height:22px; fill:none; stroke:#fff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.footer__social-link:hover{ transform:translateY(-2px) scale(1.05); }
.footer__social-note{ font-size:.78rem; color:rgba(255,255,255,.62); line-height:1.45; }

@media (max-width:760px){ .branch-list{ grid-template-columns:1fr; } }

@media (max-width:980px){
  .medics{ grid-template-columns:repeat(2,1fr); }
  .branch-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .medics{ grid-template-columns:1fr; }
  .branch-grid{ grid-template-columns:1fr; }
}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:980px){
  .grid--4{ grid-template-columns:repeat(2,1fr); }
  .grid--3{ grid-template-columns:repeat(2,1fr); }
  .hero__inner{ grid-template-columns:1fr; }
  .hero__card{ max-width:520px; }
  .hero__visual{ max-width:380px; margin-top:.5rem; }
  .hero__tag--top{ right:.4rem; }
  .hero__tag--bot{ left:.4rem; }
  .app__inner{ grid-template-columns:1fr; text-align:center; }
  .app__badges{ justify-content:center; }
  .app__content p{ margin-inline:auto; }
  .contact__inner{ grid-template-columns:1fr; }
  .footer__inner{ grid-template-columns:1fr 1fr; }
}

/* Collapse the nav to a hamburger drawer early enough that it never overflows the header
   on tablets / small laptops (10 links incl. AI Analysis + logo need ~1080px single-line) */
@media (max-width:1240px){
  /* backdrop-filter creates a containing block that would trap the fixed nav — disable while the drawer is used */
  .header{ backdrop-filter:none; -webkit-backdrop-filter:none; background:rgba(255,255,255,.98); }
  .nav{
    position:fixed; top:0; right:0; bottom:0; left:auto; width:min(84%,340px); height:100dvh;
    flex-direction:column; align-items:stretch; justify-content:flex-start; gap:.3rem;
    background:#fff; padding:6.6rem 1.4rem 2rem; box-shadow:-16px 0 50px rgba(0,0,0,.16);
    transform:translateX(100%); transition:transform .35s var(--ease); z-index:55; overflow-y:auto;
  }
  .nav.open{ transform:translateX(0); }
  .nav__link{ padding:.85rem 1rem; font-size:1.05rem; border-bottom:1px solid var(--line); border-radius:10px; }
  .nav__link--btn{ margin-top:.6rem; text-align:center; border-bottom:none; }
  .nav-toggle{ display:flex; z-index:60; }
}

@media (max-width:760px){
  .topbar__item:first-child{ display:none; }
  .topbar__inner{ justify-content:center; }
  .brand__logo, .header.scrolled .brand__logo{ height:48px; }

  .stats__grid{ grid-template-columns:repeat(2,1fr); gap:1.4rem 1rem; }
  .stat:nth-child(2)::after{ display:none; }
  .stat::after{ display:none; }
}

@media (max-width:560px){
  .grid--4, .grid--3, .grid--2{ grid-template-columns:1fr; }
  .contact__form{ grid-template-columns:1fr; }
  .footer__inner{ grid-template-columns:1fr; }
  .footer__bottom-row{ justify-content:center; text-align:center; }
  .hero__title{ font-size:2rem; }
  .branch__map{ height:180px; }
}

/* =====================================================================
   LEGAL PAGES — Terms & Conditions, Privacy Policy
   ===================================================================== */
.legal-head{ background:rgba(255,255,255,.98); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50; }
.legal-head__inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.65rem 0; }
.legal-head .brand__logo{ height:50px; width:auto; }
.legal-back{ font-weight:600; color:var(--pink-700); font-size:.95rem; white-space:nowrap; }
.legal-back:hover{ color:var(--pink-600); }
.legal{ background:var(--grad-soft); padding:clamp(2rem,5vw,3.6rem) 0 clamp(3rem,6vw,5rem); }
.legal__box{ max-width:840px; margin:0 auto; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-lg); box-shadow:var(--shadow-sm); padding:clamp(1.5rem,4vw,3.2rem); }
.legal h1{ font-size:clamp(1.8rem,4vw,2.6rem); font-weight:800; color:var(--ink); margin-bottom:.25rem; line-height:1.15; }
.legal__updated{ color:var(--muted); font-size:.9rem; margin-bottom:1.6rem; font-family:var(--font-en); }
.legal h2{ font-size:clamp(1.14rem,2.2vw,1.4rem); font-weight:700; color:var(--pink-700); margin:2rem 0 .7rem; }
.legal p{ color:var(--ink-2); line-height:1.78; margin-bottom:1rem; }
.legal ul{ margin:0 0 1.1rem 1.25rem; display:flex; flex-direction:column; gap:.55rem; }
.legal li{ color:var(--ink-2); line-height:1.72; padding-left:.15rem; }
.legal a{ color:var(--pink-700); font-weight:600; text-decoration:underline; text-underline-offset:2px; }
.legal a:hover{ color:var(--pink-600); }
.legal strong{ color:var(--ink); }
.legal__note{ background:var(--pink-tint); border:1px solid var(--pink-soft); border-left:4px solid var(--pink);
  border-radius:14px; padding:1.15rem 1.35rem; margin:1.5rem 0; }
.legal__note > strong{ display:block; color:var(--pink-700); font-size:1.06rem; margin-bottom:.45rem; }
.legal__note p{ margin:0; }
.legal__contact{ background:var(--grad-soft); border:1px solid var(--pink-soft); border-radius:12px; padding:1rem 1.2rem; line-height:1.9; }
.legal__back-link{ margin-top:2.2rem; padding-top:1.4rem; border-top:1px solid var(--line); font-weight:600; }
.legal-footer{ padding:1.7rem 0; }
.legal-footer .container{ display:flex; flex-direction:column; align-items:center; gap:.55rem; text-align:center; }
.legal-footer p{ color:#C9B3C0; font-size:.9rem; }
.footer__legal{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.5rem; font-size:.88rem; }
.footer__legal a{ color:#E8D5E0; transition:color .2s; }
.footer__legal a:hover{ color:#fff; text-decoration:underline; }
.footer__legal span{ color:rgba(255,255,255,.4); }

/* =====================================================================
   ENHANCEMENTS — a11y, app "coming soon", notes, cookie notice, print
   ===================================================================== */
/* Accessibility: skip link + visible keyboard focus */
.skip-link{ position:fixed; top:-60px; left:12px; z-index:200; background:var(--ink); color:#fff;
  padding:.6rem 1rem; border-radius:10px; font-weight:600; transition:top .2s; }
.skip-link:focus{ top:12px; }
:focus-visible{ outline:3px solid var(--pink-700); outline-offset:2px; border-radius:4px; }

/* App badges — "coming soon" (non-clickable) */
.store--soon{ position:relative; opacity:.78; cursor:default; }
.store--soon small{ color:var(--pink-600) !important; font-weight:700; }
.app__cta{ margin-top:1.4rem; }

/* Per-branch landing-page link on each branch card */
.bx__page-link{ display:inline-block; margin:.1rem 0 .3rem; font-size:.84rem; font-weight:600; color:var(--pink-700); text-decoration:none; }
.bx__page-link:hover{ text-decoration:underline; color:var(--pink-600); }

/* Quick cost estimator */
.estimator{ background:linear-gradient(135deg, var(--pink-tint), #fff); border:1px solid var(--pink-soft);
  border-radius:var(--r-lg); padding:clamp(1.2rem,3vw,1.8rem); margin:0 auto clamp(2rem,4vw,2.8rem); max-width:760px;
  box-shadow:0 14px 36px -20px rgba(214,69,143,.4); }
.estimator__head{ display:flex; align-items:center; gap:.8rem; margin-bottom:1rem; }
.estimator__ic{ font-size:1.8rem; flex:none; }
.estimator__head h3{ font-size:1.15rem; font-weight:700; }
.estimator__head p{ font-size:.88rem; color:var(--muted); margin-top:.1rem; }
.estimator__row{ display:flex; gap:1rem 1.4rem; align-items:center; flex-wrap:wrap; }
.estimator__row select{ flex:1; min-width:240px; padding:.7rem .9rem; border:1px solid var(--line); border-radius:12px;
  font-family:inherit; font-size:.95rem; background:#fff; outline:none; transition:border-color .2s; }
.estimator__row select:focus{ border-color:var(--pink); }
.estimator__result{ display:flex; flex-direction:column; min-width:160px; }
.estimator__result strong{ color:var(--pink-700); font-size:1.55rem; line-height:1.1; }
.estimator__result small{ color:var(--muted); font-size:.74rem; margin-top:.25rem; max-width:32ch; }
.estimator__gst{ font-size:.68rem; font-weight:700; background:var(--pink); color:#fff; padding:.12rem .5rem; border-radius:var(--r-pill); vertical-align:middle; }
.estimator__cta{ margin-top:1.2rem; }

/* First-visit offer badges */
.hero__offer{ display:inline-block; margin:.1rem auto 0; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.32);
  color:#fff; font-weight:600; font-size:clamp(.85rem,1.4vw,.98rem); padding:.5rem 1.15rem; border-radius:var(--r-pill);
  -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.hero__offer strong{ color:#ffd9ef; }
.badge-free{ display:inline-block; margin-top:1.1rem; background:var(--grad); color:#fff; font-weight:600;
  font-size:clamp(.85rem,1.5vw,.98rem); padding:.55rem 1.3rem; border-radius:var(--r-pill);
  box-shadow:0 12px 28px -10px rgba(214,69,143,.6); }
.badge-free strong{ font-weight:800; }

/* EMI line on the hair-transplant gradient band */
.ht-emi{ margin-top:.8rem; display:inline-block; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.32);
  color:#fff; font-size:.9rem; line-height:1.5; padding:.5rem 1rem; border-radius:14px; }
.ht-emi strong{ color:#fff; font-weight:700; }

/* ===== Technology / equipment section ===== */
.tech-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:1.1rem; margin-top:.4rem; }
.tech-card{ background:#fff; border:1px solid var(--pink-soft); border-radius:var(--r-lg);
  padding:1.2rem 1.2rem 1.3rem; box-shadow:var(--shadow-sm); transition:transform .2s, box-shadow .2s; }
.tech-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -22px rgba(214,69,143,.5); }
.tech-card__top{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.85rem; }
.tech-card__ic{ width:44px; height:44px; flex:none; border-radius:13px; display:grid; place-items:center;
  background:var(--pink-tint); border:1px solid var(--pink-soft); }
.tech-card__ic svg{ width:23px; height:23px; fill:none; stroke:var(--pink-700); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.tech-card__badge{ display:inline-flex; align-items:center; gap:.32rem; font-family:var(--font-en); font-weight:700;
  font-size:.7rem; letter-spacing:.02em; padding:.28rem .6rem; border-radius:var(--r-pill); white-space:nowrap; }
.tech-card__badge svg{ width:13px; height:13px; }
.tech-card__badge--fda{ color:#0f7a43; background:rgba(20,150,80,.12); border:1px solid rgba(20,150,80,.28); }
.tech-card__badge--fda svg{ fill:#16a34a; }
.tech-card__badge--alt{ color:var(--pink-700); background:var(--pink-tint); border:1px solid var(--pink-soft); }
.tech-card__name{ font-size:1.06rem; font-weight:700; line-height:1.25; color:var(--ink); }
.tech-card__name sub{ font-size:.7em; }
.tech-card__sub{ font-weight:500; font-size:.82rem; color:var(--muted); }
.tech-card__cat{ display:block; margin:.2rem 0 .5rem; font-weight:600; font-size:.86rem; color:var(--pink-700); }
.tech-card__desc{ color:var(--ink-2); font-size:.9rem; line-height:1.6; margin:0; }
.tech-note{ margin:1.4rem auto 0; font-size:.82rem; line-height:1.7; color:var(--muted); text-align:center; max-width:880px; }
@media (max-width:520px){ .tech-grid{ grid-template-columns:1fr; } }

/* Compliance / safety notes */
.note-line{ font-size:.82rem; color:var(--muted); line-height:1.6; }
.tele-note{ margin-top:1rem; font-size:.8rem; color:rgba(255,255,255,.8); }
/* .footer__disclaimer styled in the footer block above (centered) */

/* Cookie / embed notice */
.cookie{ position:fixed; left:12px; right:12px; bottom:12px; z-index:120; max-width:560px; margin:0 auto;
  background:#fff; border:1px solid var(--pink-soft); border-radius:16px; box-shadow:0 18px 50px -16px rgba(44,26,40,.4);
  padding:1rem 1.1rem; display:none; }
.cookie.show{ display:block; animation:chatIn .3s var(--ease); }
.cookie p{ font-size:.86rem; color:var(--ink-2); line-height:1.55; margin:0 0 .7rem; }
.cookie p a{ color:var(--pink-700); font-weight:600; text-decoration:underline; }
.cookie__row{ display:flex; gap:.5rem; flex-wrap:wrap; }
.cookie__row .btn{ padding:.5rem 1.1rem; font-size:.86rem; }
@media (max-width:560px){ .cookie{ left:8px; right:8px; bottom:8px; } }

/* Print styles for Terms / Privacy pages */
@media print{
  .legal-head, .legal-footer, .legal-back, .legal__back-link{ display:none !important; }
  body{ background:#fff; }
  .legal{ background:#fff; padding:0; }
  .legal__box{ box-shadow:none; border:none; max-width:100%; padding:0; }
  .legal a{ color:#000; text-decoration:none; }
  .legal h1, .legal h2{ color:#000; }
}

/* =====================================================================
   AI SKIN & HAIR ANALYSIS wizard  (v3 — DermaLuxe-style: visual pitch
   + hidden 3-step flow)
   ===================================================================== */
.aiskin{ position:relative; background:linear-gradient(180deg,var(--pink-tint2) 0%, #fff 62%); }
.nav__link--ai .nav__en, .nav__link--ai .nav__te{ color:var(--pink-700); font-weight:700; }

/* ---- pitch grid ---- */
.aiskin__grid{ display:grid; grid-template-columns:1.02fr 1fr; gap:clamp(1.6rem,4vw,3.2rem); align-items:center; }
.aiskin__pitch .section__title{ margin-top:.6rem; }
.aiskin__lead{ color:var(--ink-2); font-size:clamp(.98rem,1.5vw,1.08rem); line-height:1.7; margin:.4rem 0 1rem; }
.aiskin__ticks{ list-style:none; margin:0 0 1.4rem; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.aiskin__ticks li{ position:relative; padding-left:1.7rem; font-weight:600; color:var(--ink-2); font-size:.95rem; }
.aiskin__ticks li::before{ content:"✓"; position:absolute; left:0; top:0; width:1.15rem; height:1.15rem;
  display:grid; place-items:center; border-radius:50%; background:var(--pink-soft); color:var(--pink-700);
  font-size:.72rem; font-weight:800; }
.aiskin__ticks li i{ font-style:normal; font-size:.76rem; font-weight:500; color:var(--muted); font-family:var(--font-en); margin-left:.3rem; }
.aiskin__start{ font-size:1.02rem; padding:.95rem 1.7rem; }
.aiskin__foot{ font-size:.76rem; color:var(--muted); margin:.7rem 0 0; }

/* ---- animated scan scene ---- */
.aiskin__visual{ min-width:0; }
.aiskin__scene{ position:relative; height:clamp(300px,38vw,420px); border-radius:var(--r-lg);
  background:
    radial-gradient(60% 55% at 50% 42%, rgba(232,96,168,.28), transparent 70%),
    linear-gradient(165deg,#4a0e2c 0%, #2b0819 58%, #1b0511 100%);
  border:1px solid var(--line); box-shadow:var(--shadow);
  display:grid; place-items:center; overflow:hidden; }
.aiskin__ring{ position:absolute; left:50%; top:46%; transform:translate(-50%,-50%); border-radius:50%;
  border:1px solid rgba(255,143,203,.34); }
.aiskin__ring--1{ width:52%; aspect-ratio:1; animation:aiRing 3.6s var(--ease) infinite; }
.aiskin__ring--2{ width:70%; aspect-ratio:1; border-color:rgba(255,143,203,.22); animation:aiRing 3.6s var(--ease) 1.2s infinite; }
.aiskin__ring--3{ width:88%; aspect-ratio:1; border-color:rgba(255,143,203,.13); animation:aiRing 3.6s var(--ease) 2.4s infinite; }
@keyframes aiRing{ 0%,100%{ transform:translate(-50%,-50%) scale(1); opacity:.8; } 50%{ transform:translate(-50%,-50%) scale(1.05); opacity:.35; } }
.aiskin__face{ width:min(46%,190px); position:relative; z-index:1; }
.aiskin__face-outline{ stroke:rgba(255,255,255,.85); stroke-width:1.6; }
.aiskin__face-grid{ stroke:#FF8FCB; stroke-opacity:.38; stroke-width:1; }
.aiskin__face-feat{ stroke:#FFB3DD; stroke-width:1.3; }
.aiskin__face-dots circle{ fill:#FF8FCB; animation:aiDot 2.2s ease-in-out infinite; }
.aiskin__face-dots circle:nth-child(2n){ animation-delay:.55s; }
.aiskin__face-dots circle:nth-child(3n){ animation-delay:1.1s; }
@keyframes aiDot{ 0%,100%{ opacity:.35; } 50%{ opacity:1; } }
.aiskin__sweep{ position:absolute; left:8%; right:8%; top:12%; height:32%; z-index:1; border-radius:8px;
  background:linear-gradient(180deg, rgba(232,96,168,0) 0%, rgba(232,96,168,.22) 50%, rgba(232,96,168,0) 100%);
  border-bottom:1.5px solid rgba(255,255,255,.55); animation:aiSweep 2.6s ease-in-out infinite alternate; }
@keyframes aiSweep{ from{ top:8%; } to{ top:58%; } }
.aiskin__metric{ position:absolute; z-index:2; display:flex; flex-direction:column; gap:.05rem;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.30); backdrop-filter:blur(8px);
  border-radius:12px; padding:.45rem .7rem; color:#fff; animation:aiFloat 4.5s ease-in-out infinite; }
.aiskin__metric span{ font-size:.62rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:rgba(255,255,255,.72); font-family:var(--font-en); }
.aiskin__metric b{ font-size:.95rem; font-weight:800; font-family:var(--font-en); color:#FFB3DD; }
.aiskin__metric--1{ left:6%; top:12%; }
.aiskin__metric--2{ right:6%; top:22%; animation-delay:1.1s; }
.aiskin__metric--3{ left:8%; bottom:14%; animation-delay:2.2s; }
.aiskin__metric--4{ right:8%; bottom:8%; animation-delay:3.3s; }
@keyframes aiFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-7px); } }
@media (prefers-reduced-motion: reduce){
  .aiskin__ring, .aiskin__face-dots circle, .aiskin__sweep, .aiskin__metric{ animation:none; }
}

/* ---- flow ---- */
.aiskin__flow{ max-width:720px; margin:2.2rem auto 0; }
.aiskin__pane{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  box-shadow:var(--shadow); padding:clamp(1.25rem,3.2vw,1.9rem); }
.aiskin__pane > .aiskin__step{ animation:aiFade .34s var(--ease); }
@keyframes aiFade{ from{ opacity:0; transform:translateY(9px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .aiskin__pane > .aiskin__step{ animation:none; } }
.aiskin__center{ text-align:center; }

/* steps indicator */
.aiskin__steps{ display:flex; align-items:center; justify-content:center; gap:.55rem; margin:0 0 1.4rem; }
.aiskin__stepdot{ display:flex; align-items:center; gap:.4rem; font-size:.78rem; font-weight:700; color:var(--muted); }
.aiskin__stepdot b{ width:26px; height:26px; display:grid; place-items:center; border-radius:50%;
  background:var(--pink-soft); color:var(--pink-700); font-size:.8rem; font-family:var(--font-en); }
.aiskin__stepdot.on{ color:var(--pink-700); }
.aiskin__stepdot.on b{ background:var(--grad); color:#fff; box-shadow:var(--glow-soft); }
.aiskin__stepdot.done{ color:#0f7a43; }
.aiskin__stepdot.done b{ background:#0f7a43; color:#fff; }
.aiskin__stepline{ width:clamp(16px,6vw,44px); height:2px; border-radius:2px; background:var(--pink-soft); }

/* headings */
.aiskin__h{ font-size:1.12rem; font-weight:800; margin:0 0 .9rem; }
.aiskin__h i{ font-style:normal; font-weight:500; font-size:.8rem; color:var(--muted); font-family:var(--font-en); }

/* floating-label fields (DermaLuxe style) */
.aiskin__fldrow{ display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.aiskin__fld{ position:relative; margin-bottom:.85rem; }
.aiskin__fld input, .aiskin__fld select{ width:100%; font-family:inherit; font-size:.98rem; color:var(--ink);
  background:#fff; border:1.5px solid var(--line); border-radius:12px; padding:1.15rem .9rem .45rem; }
.aiskin__fld select{ appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--pink-700) 50%),linear-gradient(135deg,var(--pink-700) 50%,transparent 50%);
  background-position:calc(100% - 18px) 55%, calc(100% - 13px) 55%; background-size:5px 5px; background-repeat:no-repeat; }
.aiskin__fld input:focus, .aiskin__fld select:focus{ outline:none; border-color:var(--pink); box-shadow:0 0 0 3px var(--pink-soft); }
.aiskin__fld label{ position:absolute; left:.95rem; top:50%; transform:translateY(-50%);
  font-size:.9rem; font-weight:600; color:var(--muted); pointer-events:none;
  transition:top .18s var(--ease), font-size .18s, color .18s; }
.aiskin__fld input:focus + label, .aiskin__fld input:not(:placeholder-shown) + label,
.aiskin__fld select:focus + label, .aiskin__fld select:valid + label{
  top:.85rem; font-size:.64rem; color:var(--pink-700); letter-spacing:.02em; }

/* consent */
.aiskin__check{ display:flex; gap:.6rem; align-items:flex-start; font-size:.85rem; line-height:1.55; color:var(--ink-2);
  cursor:pointer; background:var(--pink-tint2); border:1px solid var(--line); border-radius:14px; padding:.8rem .9rem; margin:.2rem 0 .4rem; }
.aiskin__check input{ margin-top:.2rem; width:18px; height:18px; accent-color:var(--pink); flex:none; }
.aiskin__check b{ color:var(--pink-700); }
.aiskin__check a{ color:var(--pink-700); font-weight:700; text-decoration:underline; }

.aiskin__full{ width:100%; justify-content:center; margin-top:.5rem; }

/* photo */
.aiskin__drop{ position:relative; display:block; border-radius:var(--r); cursor:pointer;
  border:2px solid transparent;
  background:linear-gradient(var(--pink-tint2),var(--pink-tint2)) padding-box, var(--grad) border-box;
  transition:transform .2s var(--ease), box-shadow .2s; }
.aiskin__drop:hover, .aiskin__drop.over{ transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.aiskin__dropinner{ display:flex; flex-direction:column; align-items:center; gap:.35rem; padding:2.1rem 1rem; text-align:center; color:var(--pink-700); }
.aiskin__dropinner svg{ width:46px; height:46px; }
.aiskin__dropinner strong{ font-weight:800; }
.aiskin__dropinner i{ font-style:normal; font-size:.78rem; color:var(--muted); font-family:inherit; }
.aiskin__preview{ display:block; padding:.6rem; text-align:center; }
.aiskin__preview img{ max-width:100%; max-height:300px; border-radius:12px; }
.aiskin__retake{ display:inline-block; margin-top:.5rem; background:none; border:none; color:var(--pink-700);
  font-weight:700; cursor:pointer; text-decoration:underline; }
.aiskin__warn{ font-size:.82rem; font-weight:600; color:#8a5a00; background:#fff7e8; border:1px solid #ffe1a8;
  border-radius:10px; padding:.5rem .75rem; margin:.6rem 0 0; }

/* analyzing scan */
.aiskin__scanwrap{ position:relative; display:inline-block; max-width:min(320px,80%); border-radius:16px; overflow:hidden;
  box-shadow:var(--shadow); border:1px solid var(--line); }
.aiskin__scanwrap img{ display:block; width:100%; }
.aiskin__scanline{ position:absolute; left:0; right:0; top:0; height:38%;
  background:linear-gradient(180deg, rgba(232,96,168,0) 0%, rgba(232,96,168,.30) 50%, rgba(232,96,168,0) 100%);
  border-bottom:2px solid rgba(255,255,255,.75); animation:aiScan 1.7s ease-in-out infinite alternate; }
@keyframes aiScan{ from{ top:-6%; } to{ top:68%; } }
@media (prefers-reduced-motion: reduce){ .aiskin__scanline{ animation:none; opacity:.4; top:30%; } }
.aiskin__scanmsg{ color:var(--ink-2); font-size:.92rem; margin:.3rem 0 0; min-height:1.4em; }

/* limit screen */
.aiskin__limitic{ font-size:2.4rem; margin-bottom:.4rem; }
.aiskin__remain{ font-size:.8rem; color:var(--muted); margin:.8rem 0 0; }
.aiskin__remain b{ color:var(--pink-700); font-family:var(--font-en); }

/* result */
.aiskin__sev{ display:grid; grid-template-columns:repeat(3,1fr); gap:.45rem; margin-bottom:1rem; }
.aiskin__sev span{ text-align:center; font-size:.78rem; font-weight:700; color:var(--muted);
  background:var(--pink-tint2); border:1px solid var(--line); border-radius:var(--r-pill); padding:.45rem .3rem; }
.aiskin__sev span.on.s0{ color:#0f7a43; background:rgba(20,150,80,.1); border-color:rgba(20,150,80,.35); }
.aiskin__sev span.on.s1{ color:#8a5a00; background:#fff7e8; border-color:#ffd98a; }
.aiskin__sev span.on.s2{ color:#a01834; background:#fff2f5; border-color:#ffc3d0; }
.aiskin__soon{ background:#fff2f5; border:1px solid #ffc3d0; border-left:4px solid #e0264a; color:#a01834;
  border-radius:12px; padding:.75rem .95rem; font-weight:700; margin-bottom:1rem; }
.aiskin__soon i{ display:block; font-style:normal; font-weight:500; font-size:.8rem; color:#b3546a; font-family:var(--font-en); }
.aiskin__summary{ font-size:1rem; line-height:1.65; color:var(--ink); background:var(--pink-tint2);
  border:1px solid var(--line); border-left:4px solid var(--pink); border-radius:12px; padding:.85rem 1rem; }
.aiskin__sec{ margin-top:1.1rem; }
.aiskin__sec h4{ display:flex; align-items:center; gap:.5rem; font-size:.95rem; font-weight:800; color:var(--ink); margin:0 0 .4rem; }
.aiskin__sec h4 span{ width:30px; height:30px; flex:none; display:grid; place-items:center; border-radius:10px;
  background:var(--pink-tint); border:1px solid var(--pink-soft); font-size:.95rem; }
.aiskin__sec h4 i{ font-style:normal; font-weight:500; font-size:.76rem; color:var(--muted); font-family:var(--font-en); }
.aiskin__list{ margin:0; padding-left:1.15rem; }
.aiskin__list li{ margin:.3rem 0; line-height:1.6; color:var(--ink-2); }
.aiskin__tags{ display:flex; flex-wrap:wrap; gap:.5rem; }
.aiskin__tags span{ font-size:.84rem; font-weight:700; color:var(--pink-700); background:var(--pink-tint);
  border:1px solid var(--pink-soft); padding:.38rem .8rem; border-radius:var(--r-pill); }
.aiskin__disc{ font-size:.78rem; line-height:1.6; color:var(--muted); background:var(--pink-tint2);
  border:1px solid var(--line); border-radius:12px; padding:.7rem .85rem; margin:1.2rem 0 0; }
.aiskin__cta{ display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.1rem; }
.aiskin__cta .btn{ flex:1 1 auto; min-width:150px; justify-content:center; padding:.7rem 1rem; }

/* actions / errors */
.aiskin__actions{ display:flex; justify-content:space-between; align-items:center; gap:.8rem; margin-top:1.2rem; }
.aiskin__err{ color:#c62b47; font-size:.85rem; font-weight:700; margin:.55rem 0 0; min-height:1em; }

/* responsive */
@media (max-width:900px){
  .aiskin__grid{ grid-template-columns:1fr; }
  .aiskin__scene{ height:clamp(240px,52vw,320px); }
  .aiskin__pitch{ text-align:center; }
  .aiskin__ticks li{ text-align:left; }
  .aiskin__ticks{ max-width:420px; margin-inline:auto; }
}
@media (max-width:560px){
  .aiskin__fldrow{ grid-template-columns:1fr; }
  .aiskin__cta .btn{ min-width:calc(50% - .55rem); }
  .aiskin__stepdot{ font-size:.68rem; }
  .aiskin__metric b{ font-size:.82rem; }
}

/* ---- v4 advanced: dual uploads ---- */
.aiskin__uploads{ display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.aiskin__uploads .aiskin__dropinner{ padding:1.6rem .8rem; }
@media (max-width:560px){ .aiskin__uploads{ grid-template-columns:1fr; } }

/* ---- v4 advanced: 3D face mesh (analyzing) ---- */
.aiskin__mesh{ display:inline-block; border-radius:16px; overflow:hidden; border:1px solid var(--line);
  background:
    radial-gradient(60% 55% at 50% 42%, rgba(232,96,168,.25), transparent 70%),
    linear-gradient(165deg,#4a0e2c 0%, #2b0819 58%, #1b0511 100%);
  box-shadow:var(--shadow); position:relative; }
.aiskin__mesh canvas{ display:block; width:min(320px,78vw); height:auto; aspect-ratio:1; }
.aiskin__meshtag{ position:absolute; left:50%; bottom:.55rem; transform:translateX(-50%);
  font-size:.66rem; font-weight:700; letter-spacing:.05em; color:rgba(255,255,255,.85);
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3);
  padding:.22rem .6rem; border-radius:var(--r-pill); white-space:nowrap; font-family:var(--font-en); }

/* ---- v4 advanced: score gauges ---- */
.aiskin__gauges{ display:grid; grid-template-columns:repeat(auto-fit,minmax(96px,1fr)); gap:.7rem; margin:0 0 1.1rem; }
.aiskin__gauge{ position:relative; text-align:center; background:var(--pink-tint2); border:1px solid var(--line);
  border-radius:14px; padding:.7rem .3rem .55rem; }
.aiskin__gauge svg{ width:64px; height:64px; transform:rotate(-90deg); }
.aiskin__gauge .gbg{ fill:none; stroke:var(--pink-soft); stroke-width:7; }
.aiskin__gauge .gfg{ fill:none; stroke-width:7; stroke-linecap:round; transition:stroke-dashoffset 1.1s var(--ease); }
.aiskin__gauge.g-good .gfg{ stroke:#0f7a43; } .aiskin__gauge.g-good b{ color:#0f7a43; }
.aiskin__gauge.g-mid  .gfg{ stroke:#b7791f; } .aiskin__gauge.g-mid  b{ color:#8a5a00; }
.aiskin__gauge.g-low  .gfg{ stroke:#d6458f; } .aiskin__gauge.g-low  b{ color:#be2f79; }
.aiskin__gauge b{ position:absolute; top:34px; left:50%; transform:translate(-50%,-50%);
  font-family:var(--font-en); font-weight:800; font-size:.95rem; }
.aiskin__gauge span{ display:block; margin-top:.15rem; font-size:.72rem; font-weight:700; color:var(--ink-2); line-height:1.25; }
.aiskin__gauge span i{ display:block; font-style:normal; font-size:.62rem; font-weight:500; color:var(--muted); font-family:var(--font-en); }
@media (prefers-reduced-motion: reduce){ .aiskin__gauge .gfg{ transition:none; } }

/* ---- v4 advanced: PDF report bits ---- */
.aiskin__pdfhead{ display:none; font-family:var(--font-en); font-size:.8rem; font-weight:600; color:var(--muted);
  border-bottom:2px solid var(--pink); padding-bottom:.5rem; margin-bottom:1rem; }
.aiskin__pdfhead b{ color:var(--pink-700); letter-spacing:.04em; }
.aiskin__pdfmode .aiskin__pdfhead{ display:block; }

/* ---- v4 advanced: progress compare ---- */
.aiskin__cmp{ display:flex; align-items:center; justify-content:center; gap:.8rem; margin-bottom:1rem; }
.aiskin__cmp figure{ margin:0; text-align:center; }
.aiskin__cmp img{ width:min(150px,38vw); aspect-ratio:1; object-fit:cover; border-radius:12px; border:1px solid var(--line); box-shadow:var(--shadow-sm); }
.aiskin__cmp figcaption{ font-size:.72rem; font-weight:600; color:var(--muted); margin-top:.3rem; }
.aiskin__cmparrow{ font-size:1.2rem; color:var(--pink-700); }
.aiskin__cmptable{ width:100%; border-collapse:collapse; font-size:.86rem; }
.aiskin__cmptable th, .aiskin__cmptable td{ padding:.5rem .55rem; text-align:left; border-bottom:1px solid var(--line); }
.aiskin__cmptable th{ font-size:.72rem; letter-spacing:.03em; color:var(--muted); text-transform:uppercase; font-family:var(--font-en); }
.aiskin__cmptable td i{ font-style:normal; font-size:.68rem; color:var(--muted); font-family:var(--font-en); }
.aiskin__cmptable td.up{ color:#0f7a43; font-weight:800; }
.aiskin__cmptable td.down{ color:#c62b47; font-weight:800; }
.aiskin__cmptable td.flat{ color:var(--muted); font-weight:700; }

/* ---- bilingual helpers: English heading + small Telugu beside/below ---- */
.te-sub{ display:block; font-size:.78rem; font-weight:500; color:var(--muted);
  margin-top:.18rem; line-height:1.5; letter-spacing:0; text-transform:none; font-family:var(--font); }
.lbl-te{ font-weight:500; color:var(--muted); font-size:.85em; margin-left:.25rem; }
.name-te{ display:block; font-size:.8rem; font-weight:500; color:var(--muted); margin-top:.12rem; }
.footer__col h4 .te-sub{ display:inline; margin:0 0 0 .4rem; font-size:.7rem; color:rgba(255,255,255,.55); }
.team-sub__title .te-sub{ margin-top:.3rem; }
.ht-photo figcaption strong .te-sub{ margin-top:.05rem; }
.aiskin__start{ flex-direction:column; gap:.05rem; }
.aiskin__start .te{ display:block; font-size:.72rem; font-weight:600; opacity:.92; letter-spacing:0; }

/* ---- hero smart search ---- */
.hsearch{ position:relative; width:min(560px,92%); margin:.9rem auto 0; z-index:6; }
.hsearch__ic{ position:absolute; left:1rem; top:50%; transform:translateY(-50%); width:18px; height:18px;
  fill:none; stroke:rgba(255,255,255,.85); stroke-width:2; stroke-linecap:round; pointer-events:none; }
#hsearchInput{ width:100%; font-family:inherit; font-size:.98rem; color:#fff;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.38); backdrop-filter:blur(9px);
  border-radius:var(--r-pill); padding:.85rem 1.1rem .85rem 2.7rem; box-shadow:0 10px 26px rgba(0,0,0,.25); }
#hsearchInput::placeholder{ color:rgba(255,255,255,.72); }
#hsearchInput:focus{ outline:none; border-color:#fff; background:rgba(255,255,255,.2); }
#hsearchInput::-webkit-search-cancel-button{ -webkit-appearance:none; }
.hsearch__panel{ position:absolute; left:0; right:0; top:calc(100% + .5rem); z-index:40;
  background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow-lg);
  overflow:hidden; max-height:min(340px,48vh); overflow-y:auto; text-align:left; }
.hsearch__item{ display:flex; align-items:center; justify-content:space-between; gap:.8rem; width:100%;
  padding:.7rem .95rem; background:#fff; border:none; border-bottom:1px solid var(--line);
  font-family:inherit; font-size:.9rem; font-weight:600; color:var(--ink); cursor:pointer; text-align:left; }
.hsearch__item:last-child{ border-bottom:none; }
.hsearch__item:hover, .hsearch__item.on{ background:var(--pink-tint); }
.hsearch__item span em{ font-style:normal; font-size:.76rem; color:var(--muted); font-weight:500; margin-left:.3rem; }
.hsearch__item b{ flex:none; color:var(--pink-700); font-family:var(--font-en); font-size:.82rem; font-weight:800; }
.hsearch__item i{ flex:none; font-style:normal; font-size:.68rem; font-weight:700; letter-spacing:.04em;
  color:var(--muted); background:var(--pink-tint2); border:1px solid var(--line); padding:.15rem .5rem; border-radius:var(--r-pill); }
.hsearch__empty{ padding:.9rem 1rem; font-size:.86rem; color:var(--muted); }

/* flash highlight for deep-linked rows / FAQ items */
.search-hit{ animation:searchHit 3s var(--ease); }
@keyframes searchHit{ 0%{ background:#fff3c9; box-shadow:0 0 0 3px #ffd98a inset; } 100%{ background:transparent; box-shadow:none; } }
tr.search-hit td{ background:#fff3c9; transition:background 2.5s var(--ease) .5s; }

/* ---- careers page ---- */
.careers-hero{ background:linear-gradient(180deg,var(--pink-tint2) 0%, #fff 70%); }
.careers-sub{ text-align:center; font-size:1.15rem; font-weight:800; margin:0 0 1.1rem; }
.crole-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:.8rem; }
.crole{ display:flex; align-items:center; gap:.65rem; background:#fff; border:1px solid var(--line);
  border-radius:var(--r); padding:.85rem 1rem; box-shadow:var(--shadow-sm);
  transition:transform .25s var(--ease), box-shadow .25s, border-color .25s; }
.crole:hover{ transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--pink-soft); }
.crole__ic{ width:40px; height:40px; flex:none; display:grid; place-items:center; font-size:1.25rem;
  background:var(--pink-tint); border:1px solid var(--pink-soft); border-radius:12px; }
.crole b{ display:block; font-size:.92rem; font-weight:800; color:var(--ink); line-height:1.25; }
.crole i{ display:block; font-style:normal; font-size:.74rem; font-weight:500; color:var(--muted); }
.careers-form{ max-width:840px; margin-inline:auto; }
.careers-done{ text-align:center; max-width:560px; margin:0 auto; background:#fff; border:1px solid var(--line);
  border-radius:var(--r-lg); box-shadow:var(--shadow); padding:2rem 1.4rem; }
.careers-done__ic{ font-size:2.6rem; margin-bottom:.4rem; }
.careers-done h3{ font-size:1.25rem; font-weight:800; }
.careers-done p{ color:var(--ink-2); margin:.6rem 0 0; }
