/*
Theme Name: Dr Balaji
Theme URI: https://bariatricsurgerydubai.com/
Author: Dr Balaji Nagammapudur
Author URI: https://bariatricsurgerydubai.com/
Description: Custom WordPress theme for Dr Balaji Nagammapudur, Consultant Upper GI & Bariatric Surgeon, Dubai. Converted 1:1 from the finalised static HTML website. Static pages use dedicated page templates; the blog is fully dynamic.
Version: 2.9.2
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dr-balaji
*/

/* ==================================================================
   All theme styles consolidated into style.css so caching / optimisation
   plugins always load the complete stylesheet. Edit here, or edit the
   source and rebuild.
   ================================================================== */


/* ---------- main.css ---------- */
/* Dr Balaji theme — shared styles (all pages) — extracted unchanged from the original HTML <style> blocks */
:root{
  --ground:#F3F6FA;
  --surface:#FFFFFF;
  --surface-2:#E8EFF6;
  --ink:#20303F;
  --ink-soft:#586878;
  --brand:#16324F;
  --brand-strong:#0F2438;
  --brand-mid:#2E7DC0;
  --line:#D7E2EC;
  --accent:#61CE70;
  --accent-strong:#3FA653;
  --accent-ink:#0E2C16;
  --accent-soft:#E4F6E8;
  --invert-bg:#16324F;
  --invert-2:#1E4368;
  --invert-ink:#EAF1F8;
  --invert-muted:#A9C0D6;
  --invert-line:rgba(255,255,255,.15);
  --focus:#2E7DC0;
  --shadow-sm:0 1px 2px rgba(15,36,56,.06),0 2px 10px rgba(15,36,56,.06);
  --shadow-md:0 14px 36px rgba(15,36,56,.14);
  --radius:16px;
  --radius-sm:10px;
  --maxw:1180px;
  --font-body:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-display:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#0C1722;--surface:#12232F;--surface-2:#18303F;
    --ink:#E6EEF6;--ink-soft:#A7BACB;
    --brand:#2E7DC0;--brand-strong:#22597F;--brand-mid:#5AA6E0;
    --line:rgba(255,255,255,.10);
    --accent:#61CE70;--accent-strong:#7BDA88;--accent-ink:#0E2C16;--accent-soft:rgba(97,206,112,.14);
    --invert-bg:#0A1520;--invert-2:#12283A;--invert-ink:#EAF1F8;--invert-muted:#9FB8CE;--invert-line:rgba(255,255,255,.12);
    --shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 16px 40px rgba(0,0,0,.5);
  }
}
:root[data-theme="dark"]{
  --ground:#0C1722;--surface:#12232F;--surface-2:#18303F;
  --ink:#E6EEF6;--ink-soft:#A7BACB;
  --brand:#2E7DC0;--brand-strong:#22597F;--brand-mid:#5AA6E0;
  --line:rgba(255,255,255,.10);
  --accent:#61CE70;--accent-strong:#7BDA88;--accent-ink:#0E2C16;--accent-soft:rgba(97,206,112,.14);
  --invert-bg:#0A1520;--invert-2:#12283A;--invert-ink:#EAF1F8;--invert-muted:#9FB8CE;--invert-line:rgba(255,255,255,.12);
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 16px 40px rgba(0,0,0,.5);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.12;letter-spacing:-.01em;text-wrap:balance;margin:0}
p{margin:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px}
.eyebrow{font-family:var(--font-body);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-strong);display:inline-flex;align-items:center;gap:.6em;margin:0 0 18px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--accent);border-radius:2px}
.invert .eyebrow{color:var(--accent)}
.section{padding:88px 0}
.section-head{max-width:720px;margin-bottom:44px}
.section-head h2{font-size:clamp(1.9rem,4vw,2.9rem)}
.section-head p{margin-top:18px;color:var(--ink-soft);font-size:1.08rem}
.invert{background:var(--invert-bg);color:var(--invert-ink)}
.invert h2,.invert h3{color:var(--invert-ink)}
.invert .section-head p{color:var(--invert-muted)}
.tint{background:var(--surface)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-family:var(--font-body);font-weight:600;font-size:1rem;line-height:1;min-height:52px;padding:0 26px;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--brand-mid);color:var(--brand-mid)}
.invert .btn-ghost{color:var(--invert-ink);border-color:var(--invert-line)}
.invert .btn-ghost:hover{border-color:var(--invert-ink);color:var(--invert-ink)}
.btn-wa{background:#25D366;color:#0b2c16;border-color:#25D366}
.btn-wa:hover{background:#1EB955;color:#fff;border-color:#1EB955}
@media (prefers-reduced-motion:reduce){.btn:hover{transform:none}}

.link-arrow{display:inline-flex;align-items:center;gap:.45em;font-weight:600;color:var(--brand-mid);text-decoration:none}
.invert .link-arrow{color:var(--accent)}
.link-arrow svg{transition:transform .18s ease}
.link-arrow:hover svg{transform:translateX(4px)}

.site-header{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--ground) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s ease,box-shadow .2s ease}
.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:var(--shadow-sm)}
.header-inner{display:flex;align-items:center;gap:20px;height:82px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.logo-img{height:56px;width:auto}
.primary-nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.primary-nav a{text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem;padding:9px 12px;border-radius:8px;transition:background .15s ease,color .15s ease}
.primary-nav a:hover{background:var(--surface-2);color:var(--brand-mid)}
.header-actions{display:flex;align-items:center;gap:10px}
.header-phone{display:inline-flex;align-items:center;gap:.5em;text-decoration:none;font-weight:600;color:var(--ink);padding:8px 12px;border-radius:8px;white-space:nowrap}
.header-phone:hover{color:var(--brand-mid)}
.header-phone svg{color:var(--accent-strong)}
.nav-toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;color:var(--ink)}
.skip-link{position:absolute;left:16px;top:-60px;background:var(--brand);color:#fff;padding:10px 16px;border-radius:8px;z-index:100;transition:top .15s ease}
.skip-link:focus{top:12px}

.mobile-nav{display:none;position:fixed;inset:0;z-index:70;background:var(--invert-bg);color:var(--invert-ink);padding:24px;flex-direction:column}
.mobile-nav.open{display:flex}
.mobile-nav-top{display:flex;align-items:center;justify-content:space-between}
.mobile-brand{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:#fff;line-height:1.1}
.mobile-brand span{display:block;font-family:var(--font-body);font-weight:500;font-size:.78rem;color:var(--invert-muted)}
.mobile-nav nav{margin-top:26px;display:flex;flex-direction:column;gap:2px}
.mobile-nav nav a{text-decoration:none;color:var(--invert-ink);font-family:var(--font-display);font-size:1.5rem;padding:12px 0;border-bottom:1px solid var(--invert-line)}
.mobile-nav .btn{margin-top:24px}
.nav-close{width:46px;height:46px;border:1px solid var(--invert-line);border-radius:10px;background:transparent;color:var(--invert-ink);cursor:pointer}

.hero{position:relative;background:radial-gradient(120% 95% at 90% 6%,color-mix(in srgb,var(--accent) 16%,var(--surface)),transparent 58%),radial-gradient(110% 90% at 6% 100%,color-mix(in srgb,var(--brand-mid) 12%,var(--surface)),transparent 55%),linear-gradient(180deg,var(--surface),var(--ground));color:var(--ink);overflow:hidden;border-bottom:1px solid var(--line)}
.hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(color-mix(in srgb,var(--brand) 8%,transparent) 1px,transparent 1px);background-size:26px 26px;opacity:.45;pointer-events:none}
.hero-slides{display:grid;position:relative;z-index:1}
.hero-slide{position:relative;grid-area:1 / 1;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease;pointer-events:none}
.hero-slide.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto}
/* per-slide background image + readability overlay */
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;border-bottom:1px solid var(--line)}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);filter:blur(1px) saturate(1.05)}
.hero-bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,color-mix(in srgb,var(--surface) 78%,transparent) 0%,color-mix(in srgb,var(--surface) 55%,transparent) 45%,color-mix(in srgb,var(--surface) 20%,transparent) 100%),
  linear-gradient(180deg,transparent 62%,color-mix(in srgb,var(--ground) 70%,transparent) 100%)}
.hero-slide .hero-inner{position:relative;z-index:1}
.hero-controls{position:absolute;left:0;right:0;bottom:20px;z-index:4;display:flex;justify-content:center;align-items:center;gap:14px;pointer-events:none}
.hero-dots{display:flex;gap:8px;pointer-events:auto}
.hero-dot{width:10px;height:10px;border-radius:50%;background:color-mix(in srgb,var(--brand) 22%,transparent);border:0;cursor:pointer;padding:0;transition:background .2s ease,width .2s ease}
.hero-dot.active{background:var(--accent-strong);width:28px;border-radius:999px}
.hero-arrow{pointer-events:auto;width:44px;height:44px;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--brand-mid);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s ease,color .15s ease}
.hero-arrow:hover{background:var(--brand);color:#fff}
@media (prefers-reduced-motion:reduce){.hero-slide{transition:opacity .01s}}
@media (max-width:640px){.hero-controls{bottom:12px}.hero-arrow{width:38px;height:38px}}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center;padding:74px 0 92px}
.hero h1{font-size:clamp(2.4rem,5.2vw,3.8rem);font-weight:800;letter-spacing:-.02em}
.hero .lead{margin-top:22px;font-size:1.16rem;line-height:1.55;color:var(--ink-soft);max-width:36ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.trust-row{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:36px;padding-top:26px;border-top:1px solid var(--line)}
.trust-item{display:inline-flex;align-items:center;gap:.5em;font-size:.92rem;color:var(--ink);font-weight:600}
.trust-item svg{color:var(--accent);flex:none}
.portrait{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:16px;box-shadow:var(--shadow-md)}
.portrait-frame{width:100%;aspect-ratio:4/5;border-radius:16px;object-fit:cover;object-position:top center;background:var(--brand-strong);border:1px solid var(--invert-line)}
.portrait-cap{margin-top:16px;padding:0 6px}
.portrait-cap strong{display:block;font-family:var(--font-display);font-size:1.12rem;color:var(--ink)}
.portrait-cap span{color:var(--ink-soft);font-size:.9rem}
.rating-pill{position:absolute;left:-14px;bottom:22px;background:var(--surface);color:var(--ink);border-radius:14px;padding:12px 16px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:10px;border:1px solid var(--line)}
.rating-stars{color:#f2b60c;letter-spacing:2px;font-size:.95rem}
.rating-pill small{display:block;color:var(--ink-soft);font-size:.72rem}
.rating-pill b{font-size:.95rem}

.tracks-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.track-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:34px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
.track-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.track-icon{width:56px;height:56px;border-radius:14px;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center;margin-bottom:20px}
.track-card h3{font-size:1.5rem}
.track-card>p{margin-top:12px;color:var(--ink-soft)}
.track-list{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:10px}
.track-list li{display:flex;gap:11px;align-items:flex-start;font-size:.98rem}
.track-list li svg{color:var(--accent-strong);flex:none;margin-top:4px}
.track-card .link-arrow{margin-top:auto}

.loc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.loc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-sm)}
.loc-tag{display:inline-flex;align-items:center;gap:.5em;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-mid);margin-bottom:14px}
.loc-card h3{font-size:1.3rem}
.loc-addr{color:var(--ink-soft);margin-top:8px}
.loc-schedule{list-style:none;margin:20px 0;padding:0;display:grid;gap:9px}
.loc-schedule li{display:flex;justify-content:space-between;gap:16px;padding-bottom:9px;border-bottom:1px dashed var(--line);font-size:.95rem}
.loc-schedule li:last-child{border-bottom:0}
.loc-schedule span{color:var(--ink-soft)}
.loc-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.ph{color:var(--brand-mid);font-style:normal;background:var(--surface-2);padding:0 .3em;border-radius:4px}
.contact-quick{list-style:none;margin:20px 0 24px;padding:0;display:grid;gap:14px}
.contact-quick li{display:flex;gap:12px;align-items:center}
.contact-quick svg{color:var(--accent-strong);flex:none}
.contact-quick a{text-decoration:none;font-weight:600;color:var(--ink)}
.contact-quick a:hover{color:var(--brand-mid)}

.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:start}
.about-media{position:sticky;top:104px}
.about-photo{width:100%;aspect-ratio:3/4;border-radius:20px;object-fit:cover;object-position:top center;border:1px solid var(--line);box-shadow:var(--shadow-md);background:var(--brand-strong)}
.about-credentials{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.pill{font-size:.82rem;font-weight:600;padding:7px 13px;border-radius:999px;background:var(--surface-2);color:var(--ink);border:1px solid var(--line)}
.about-block{margin-bottom:26px}
.about-block h3{font-size:1.3rem;margin-bottom:10px}
.about-block p{color:var(--ink-soft)}
.about-block p+p{margin-top:12px}
.quote{margin:30px 0;padding:22px 26px;border-left:4px solid var(--accent);background:var(--surface);border-radius:0 12px 12px 0}
.quote p{font-family:var(--font-display);font-size:1.3rem;line-height:1.35;color:var(--ink);font-weight:600}
.quote cite{display:block;margin-top:10px;font-style:normal;color:var(--ink-soft);font-size:.92rem}
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}
.stat b{display:block;font-family:var(--font-display);font-size:1.9rem;color:var(--brand-mid);font-variant-numeric:tabular-nums;line-height:1}
.stat span{display:block;margin-top:8px;font-size:.86rem;color:var(--ink-soft)}
.drstats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface);border:1.5px solid color-mix(in srgb,var(--brand) 22%,var(--surface));border-radius:28px;margin-bottom:46px;box-shadow:var(--shadow-sm)}
.drstat{text-align:center;padding:30px 24px}
.drstat+.drstat{border-left:1px solid var(--line)}
.drstat b{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(1.5rem,2.6vw,2.2rem);color:var(--brand);line-height:1.05}
.drstat span{display:block;margin-top:8px;font-weight:600;color:var(--brand-mid);font-size:.98rem}
.drstat small{display:block;margin-top:4px;color:var(--ink-soft);font-size:.83rem}
@media (max-width:700px){.drstats{grid-template-columns:1fr}.drstat+.drstat{border-left:0;border-top:1px solid var(--line)}}
.about-photo-wrap{position:relative}
.caduceus{position:absolute;top:-14px;left:0;width:120%;height:auto;color:var(--brand-mid);opacity:.08;z-index:0;pointer-events:none}
.about-photo-wrap .about-photo{position:relative;z-index:1}
.quals{list-style:none;margin:14px 0 22px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.quals li{display:flex;gap:12px;align-items:flex-start;color:var(--ink);font-size:.95rem;line-height:1.4}
.quals li svg{flex:none;color:var(--brand-mid);margin-top:2px}
@media (max-width:640px){.quals{grid-template-columns:1fr}}

.proc-group+.proc-group{margin-top:44px}
.proc-group h3{font-size:1.35rem;margin-bottom:6px}
.proc-group>p{color:var(--ink-soft);margin-bottom:22px}
.proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.proc-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:24px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.proc-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--brand-mid)}
.proc-card .pico{width:44px;height:44px;border-radius:11px;background:var(--surface-2);color:var(--brand-mid);display:grid;place-items:center;margin-bottom:16px}
.proc-card h4{font-family:var(--font-display);font-size:1.12rem;margin-bottom:8px}
.proc-card p{font-size:.92rem;color:var(--ink-soft)}
.proc-card .more{margin-top:16px;font-weight:600;color:var(--brand-mid);font-size:.9rem;display:inline-flex;gap:.4em;align-items:center}

.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.why-card{background:var(--invert-2);border:1px solid var(--invert-line);border-radius:var(--radius);padding:28px}
.why-ico{width:50px;height:50px;border-radius:12px;background:rgba(97,206,112,.18);color:var(--accent);display:grid;place-items:center;margin-bottom:18px}
.why-card h3{font-size:1.18rem;margin-bottom:9px}
.why-card p{color:var(--invert-muted);font-size:.96rem}

/* why2 numbered card */
.why2{position:relative;overflow:hidden;background:linear-gradient(to bottom,color-mix(in srgb,var(--accent) 15%,var(--surface)) 0 58%,var(--ground) 58% 100%)}
.why2-wrap{position:relative}
.why2-title{text-align:center;max-width:760px;margin:0 auto;font-size:clamp(1.8rem,4vw,2.7rem);color:var(--ink);opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}
.why2.in .why2-title{opacity:1;transform:none}
.why2-scribble{position:absolute;left:6%;top:104px;width:210px;height:96px;color:var(--accent);pointer-events:none;z-index:0}
.why2-scribble path{fill:none;stroke:currentColor;stroke-width:9;stroke-linecap:round;stroke-dasharray:1200;stroke-dashoffset:1200;transition:stroke-dashoffset 1.3s ease .25s}
.why2.in .why2-scribble path{stroke-dashoffset:0}
.why2-card{position:relative;z-index:1;max-width:1000px;margin:36px auto 0;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 30px 70px rgba(15,36,56,.14);padding:14px 48px;opacity:0;transform:translateY(44px);transition:opacity .8s ease,transform .8s ease .05s}
.why2.in .why2-card{opacity:1;transform:none}
.why2-row{display:grid;grid-template-columns:170px 1fr;gap:26px;align-items:start;padding:34px 0;opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.why2-row+.why2-row{border-top:1px solid var(--line)}
.why2.in .why2-row{opacity:1;transform:none}
.why2.in .why2-row:nth-child(1){transition-delay:.15s}
.why2.in .why2-row:nth-child(2){transition-delay:.30s}
.why2.in .why2-row:nth-child(3){transition-delay:.45s}
.why2.in .why2-row:nth-child(4){transition-delay:.60s}
.why2-num{font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,5.5vw,4rem);line-height:.9;color:var(--accent);text-shadow:4px 5px 0 var(--accent-strong);font-variant-numeric:tabular-nums;transform:scale(.7);opacity:0;transition:transform .55s cubic-bezier(.2,.8,.25,1),opacity .55s ease}
.why2.in .why2-num{transform:scale(1);opacity:1}
.why2.in .why2-row:nth-child(1) .why2-num{transition-delay:.25s}
.why2.in .why2-row:nth-child(2) .why2-num{transition-delay:.40s}
.why2.in .why2-row:nth-child(3) .why2-num{transition-delay:.55s}
.why2.in .why2-row:nth-child(4) .why2-num{transition-delay:.70s}
.why2-body h3{font-size:1.3rem;color:var(--brand-mid);margin-bottom:10px;transition:color .2s ease}
.why2-body p{color:var(--ink-soft)}
.why2-row:hover .why2-num{transform:translateY(-4px)}
.why2-row:hover .why2-body h3{color:var(--brand)}
@media (max-width:640px){
  .why2{background:linear-gradient(to bottom,color-mix(in srgb,var(--accent) 15%,var(--surface)) 0 42%,var(--ground) 42% 100%)}
  .why2-card{padding:6px 22px;margin-top:26px}
  .why2-row{grid-template-columns:1fr;gap:6px;padding:26px 0}
  .why2-scribble{display:none}
}
@media (prefers-reduced-motion:reduce){
  .why2-title,.why2-card,.why2-row,.why2-num{opacity:1;transform:none;transition:none}
  .why2-scribble path{stroke-dashoffset:0;transition:none}
}
.journey-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.step{position:relative;padding-top:8px}
.step-num{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--surface);border:2px solid var(--brand-mid);color:var(--brand-mid);font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums;margin-bottom:16px}
.step h3{font-size:1.05rem;margin-bottom:8px}
.step p{font-size:.92rem;color:var(--ink-soft)}

.acc-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:44px;align-items:start}
.acc-intro{position:sticky;top:104px}
.acc-list{display:grid;gap:12px}
details.acc{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
details.acc[open]{border-color:var(--brand-mid)}
details.acc summary{list-style:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--font-display);font-size:1.12rem;font-weight:700}
details.acc summary::-webkit-details-marker{display:none}
.acc-toggle{position:relative;width:26px;height:26px;flex:none}
.acc-toggle::before,.acc-toggle::after{content:"";position:absolute;left:50%;top:50%;width:13px;height:2px;background:var(--brand-mid);transform:translate(-50%,-50%);border-radius:2px;transition:transform .2s ease}
.acc-toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
details.acc[open] .acc-toggle::after{transform:translate(-50%,-50%) rotate(0)}
.acc-body{padding:0 22px 22px}
.acc-body ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.acc-body li{position:relative;padding-left:20px;color:var(--ink-soft);font-size:.95rem}
.acc-body li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--accent)}

.review-note{display:flex;gap:12px;align-items:flex-start;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:12px;padding:16px 18px;color:var(--ink);font-size:.92rem;margin-bottom:26px}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}
.review-card{background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:22px;color:var(--ink-soft)}
.review-card .rc-stars{color:#f2b60c;letter-spacing:2px;margin-bottom:10px}
.review-actions{display:flex;flex-wrap:wrap;gap:12px}
/* testimonial carousel */
.carousel{position:relative;margin-bottom:26px}
.car-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:6px 2px}
.car-viewport::-webkit-scrollbar{display:none}
.car-track{display:flex;gap:20px;margin:0;padding:0;list-style:none}
.car-slide{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start}
@media (max-width:900px){.car-slide{flex-basis:calc((100% - 20px)/2)}}
@media (max-width:600px){.car-slide{flex-basis:100%}}
.tcard{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px;height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}
.tcard .t-tag{align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-strong);background:var(--accent-soft);padding:4px 10px;border-radius:999px;margin-bottom:14px}
.tcard .quote-mark{font-family:var(--font-display);font-size:2.6rem;line-height:.5;color:var(--accent);opacity:.55;height:20px}
.tcard .rc-stars{color:#F2B60C;letter-spacing:2px;margin:6px 0 12px}
.tcard p{color:var(--ink);flex:1;line-height:1.5}
.tcard .t-meta{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.t-avatar{width:42px;height:42px;border-radius:50%;background:var(--surface-2);color:var(--brand-mid);display:grid;place-items:center;font-weight:700;font-family:var(--font-display);flex:none}
.t-name{font-weight:700;display:block}
.t-src{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--ink-soft)}
.t-src .gg{width:15px;height:15px}
.car-btn{position:absolute;top:42%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--brand-mid);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-md);z-index:2;transition:background .15s ease,color .15s ease}
.car-btn:hover{background:var(--brand);color:#fff}
.car-prev{left:-12px}
.car-next{right:-12px}
.car-dots{display:flex;justify-content:center;gap:8px;margin-top:22px}
.car-dot{width:9px;height:9px;border-radius:50%;background:var(--line);border:0;cursor:pointer;padding:0;transition:background .2s ease,width .2s ease}
.car-dot.active{background:var(--accent);width:24px;border-radius:999px}
@media (max-width:600px){.car-prev{left:-6px}.car-next{right:-6px}.car-btn{width:40px;height:40px}}

.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start}
.faq-side{position:sticky;top:104px;background:color-mix(in srgb,var(--brand-mid) 9%,var(--surface));color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:34px}
.faq-side h2{font-size:1.9rem;color:var(--ink)}
.faq-side p{color:var(--ink-soft);margin-top:14px}
.faq-side .btn{margin-top:22px}
details.faq{border-bottom:1px solid var(--line);padding:6px 0}
details.faq summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;position:relative;font-family:var(--font-display);font-size:1.12rem;font-weight:700}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";position:absolute;right:6px;top:16px;font-size:1.5rem;color:var(--accent-strong);line-height:1}
details.faq[open] summary::after{content:"\2212"}
details.faq .faq-a{padding:0 40px 18px 0;color:var(--ink-soft)}
details.faq .faq-a ul{margin:10px 0 0;padding-left:18px}

.cta-band{background:linear-gradient(140deg,color-mix(in srgb,var(--brand-mid) 13%,var(--surface)),color-mix(in srgb,var(--accent) 14%,var(--surface)));text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-band .wrap{padding-block:72px}
.cta-band h2{font-size:clamp(2rem,4vw,3rem);color:var(--ink)}
.cta-band p{max-width:56ch;margin:18px auto 0;color:var(--ink-soft);font-size:1.1rem}
.cta-band .hero-cta{justify-content:center}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.map-slot{aspect-ratio:4/3;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--line);overflow:hidden;display:grid;place-items:center;text-align:center;color:var(--ink-soft)}
.map-slot iframe{width:100%;height:100%;display:block}
.contact-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}
.contact-list li{display:flex;gap:12px;align-items:center;color:var(--ink)}
.contact-list a{text-decoration:none;color:var(--ink)}
.contact-list a:hover{color:var(--brand-mid)}
.contact-list svg{color:var(--accent-strong);flex:none}
form.enquiry{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-sm)}
.field{margin-bottom:16px}
.field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--ground);border:1px solid var(--line);border-radius:10px;padding:13px 14px}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand-mid);box-shadow:0 0 0 3px rgba(46,125,192,.18)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-note{font-size:.82rem;color:var(--ink-soft);margin-top:10px}

.site-footer{background:var(--surface-2);color:var(--ink);padding:64px 0 30px;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.foot-brand .mobile-brand{color:var(--ink)}
.foot-brand .mobile-brand span{color:var(--ink-soft)}
.foot-logo{display:inline-block;line-height:0}
.foot-logo .logo-img{height:68px}
.foot-brand p{color:var(--ink-soft);margin-top:16px;font-size:.94rem;max-width:34ch}
.site-footer h4{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);margin-bottom:16px;font-family:var(--font-body);font-weight:700}
.foot-links{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.foot-links a{text-decoration:none;color:var(--ink);font-size:.95rem}
.foot-links a:hover{color:var(--accent-strong)}
.foot-social{display:flex;gap:10px;margin-top:16px}
.foot-social a{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;color:var(--ink)}
.foot-social a:hover{border-color:var(--accent-strong);color:var(--accent-strong)}
.foot-bottom{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;color:var(--ink-soft);font-size:.85rem}
.foot-bottom a{color:var(--ink-soft)}

.float-book{position:fixed;right:20px;bottom:20px;z-index:55;box-shadow:var(--shadow-md)}

/* google review badge */
.google-badge{display:inline-flex;align-items:center;gap:12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:12px 18px;box-shadow:0 8px 22px rgba(15,36,56,.10)}
.google-badge .gg{width:26px;height:26px;flex:none}
.google-badge .gb-stars{color:#FBBC05;letter-spacing:1px;font-size:.95rem;line-height:1;display:block}
.google-badge .gb-label{font-size:.72rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-weight:700;display:block;margin-top:3px}
.google-badge--lg{padding:16px 20px;gap:16px}
.google-badge--lg .gg{width:34px;height:34px}
.google-badge--lg .rating-num{font-family:var(--font-display);font-size:1.7rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.hero-badge{position:absolute;left:-14px;bottom:22px}

/* google trust panel (reviews section) */
.gtrust{display:grid;grid-template-columns:auto 1fr;gap:22px 34px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 26px;box-shadow:var(--shadow-sm);margin-bottom:22px}
.gtrust-summary{display:flex;align-items:center;gap:16px;padding-right:26px;border-right:1px solid var(--line)}
.gtrust-summary .gg{width:44px;height:44px;flex:none}
.gt-top{display:flex;align-items:center;gap:10px;margin-bottom:2px}
.gt-word{font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:var(--ink);letter-spacing:-.01em}
.gt-verified{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-strong);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:999px;padding:3px 9px}
.gt-rate{display:flex;align-items:center;gap:10px}
.gt-rate .rating-num{font-family:var(--font-display);font-size:2rem;font-weight:800;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.gt-rate .gb-stars{color:#FBBC05;letter-spacing:2px;font-size:1.15rem;line-height:1}
.gt-count{font-size:.82rem;color:var(--ink-soft);margin-top:5px}
.gt-count strong{color:var(--ink)}
.gt-factors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.gt-factors li{display:flex;align-items:flex-start;gap:9px;font-size:.9rem;color:var(--ink);line-height:1.35}
.gt-factors svg{width:19px;height:19px;flex:none;color:var(--accent-strong);margin-top:1px}
@media(max-width:760px){.gtrust{grid-template-columns:1fr;gap:18px}.gtrust-summary{border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:18px}.gt-factors{grid-template-columns:1fr}}

/* trust strip */
.trust-strip{background:var(--surface);border-bottom:1px solid var(--line)}
.trust-strip .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px;padding-block:30px}
.affil{display:flex;align-items:center;gap:16px}
.affil img{height:62px;width:auto}
.affil span{font-size:.86rem;color:var(--ink-soft);max-width:24ch;line-height:1.4}
.ts-creds{display:flex;flex-wrap:wrap;gap:8px}
/* highlights / stat band with diagonal slashes */
.statband{background:linear-gradient(90deg,color-mix(in srgb,var(--brand-mid) 12%,var(--surface)),color-mix(in srgb,var(--accent) 13%,var(--surface)));border-bottom:1px solid var(--line);overflow:hidden}
.statband-inner{display:flex;align-items:stretch;min-height:150px}
.statband-head{flex:1;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:26px 40px 26px 0;max-width:560px}
.statband-title{font-size:clamp(1.3rem,2.3vw,1.9rem);color:var(--ink);font-weight:700;line-height:1.15;margin:0}
.statband-link{display:inline-flex;align-items:center;gap:.45em;font-weight:700;color:var(--accent-strong);text-decoration:none;width:fit-content}
.statband-link svg{transition:transform .18s ease}
.statband-link:hover svg{transform:translateX(4px)}
.statband-stats{display:flex;align-items:stretch;margin-left:auto}
.statseg{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:26px 30px;min-width:152px}
.statseg::before{content:"";position:absolute;top:0;bottom:0;left:-22px;right:-22px;transform:skewX(-11deg);z-index:0;background:var(--seg);border-left:1px solid color-mix(in srgb,var(--brand) 14%,transparent)}
.statseg>*{position:relative;z-index:1}
.statseg b{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,2.8vw,2.5rem);color:var(--brand);line-height:1;font-variant-numeric:tabular-nums}
.statseg span{margin-top:8px;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);font-weight:700}
.statseg:nth-child(1){--seg:color-mix(in srgb,var(--brand-mid) 18%,var(--surface))}
.statseg:nth-child(2){--seg:color-mix(in srgb,var(--brand-mid) 13%,var(--surface))}
.statseg:nth-child(3){--seg:color-mix(in srgb,var(--accent) 13%,var(--surface))}
.statseg:nth-child(4){--seg:color-mix(in srgb,var(--accent) 8%,var(--surface))}
@media (max-width:900px){
  .statband-inner{flex-direction:column;min-height:0}
  .statband-head{max-width:none;padding:30px 0 20px;align-items:flex-start}
  .statband-stats{margin-left:0;display:grid;grid-template-columns:repeat(4,1fr);width:100%}
  .statseg{padding:22px 10px;min-width:0}
  .statseg::before{transform:none;left:0;right:0;border-left:1px solid var(--line)}
}
@media (max-width:560px){.statband-stats{grid-template-columns:repeat(2,1fr)}}

/* insights / blog */
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.post-media{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--surface-2)}
.post-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-cat{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong)}
.post-card h3{font-size:1.14rem;font-family:var(--font-display)}
.post-card .more{margin-top:auto;color:var(--brand-mid);font-weight:600;font-size:.9rem;display:inline-flex;gap:.4em;align-items:center}
/* educational videos */
.videos-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px}
.video-card{flex:1 1 320px;max-width:372px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
.video-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.video-thumb{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;margin:0;padding:0;cursor:pointer;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 88%,#000),var(--brand-mid))}
.video-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,color-mix(in srgb,var(--brand) 45%,transparent));pointer-events:none}
.video-thumb.is-playing::after,.video-thumb.is-playing .video-play,.video-thumb.is-playing .video-dur{display:none}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;z-index:2;transition:transform .2s ease,background .2s ease;box-shadow:0 12px 30px rgba(0,0,0,.28)}
.video-thumb:hover .video-play{transform:translate(-50%,-50%) scale(1.08)}
.video-play svg{width:26px;height:26px;color:var(--brand);margin-left:3px}
.video-dur{position:absolute;right:10px;bottom:10px;z-index:2;background:rgba(12,18,24,.82);color:#fff;font-size:.74rem;font-weight:600;padding:3px 8px;border-radius:6px}
.video-thumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.video-cat{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong)}
.video-card h3{font-size:1.1rem;font-family:var(--font-display)}
.video-card p{color:var(--ink-soft);font-size:.94rem}
.videos-cta{display:flex;justify-content:center;margin-top:32px}
@media (max-width:640px){.video-card{flex:1 1 100%;max-width:none}}

/* city image band */
.citi-band{position:relative;min-height:380px;display:grid;place-items:center;text-align:center;color:var(--ink);overflow:hidden;background:var(--ground);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.citi-band .citi-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.citi-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--ground) 60%,transparent),color-mix(in srgb,var(--ground) 80%,transparent))}
.citi-inner{position:relative;z-index:1;padding:84px 24px}
.citi-inner h2{color:var(--ink)}

/* section background images with light overlay */
.has-bg{position:relative;isolation:isolate}
.section.invert.has-bg,.cta-band.has-bg{background:transparent}
.sec-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.has-bg::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--bg-overlay,rgba(15,36,56,.7))}
.has-bg .wrap{position:relative;z-index:1}
.has-bg h2,.has-bg .eyebrow,.has-bg .section-head p{text-shadow:0 2px 14px rgba(0,0,0,.34)}
.why-scene{--bg-overlay:linear-gradient(180deg,rgba(20,40,64,.66),rgba(15,36,56,.58))}
.cta-scene{--bg-overlay:linear-gradient(140deg,rgba(22,50,79,.62),rgba(15,36,56,.74))}
.citi-inner .eyebrow{color:var(--accent-strong);justify-content:center;display:inline-flex}
.citi-inner h2{color:var(--brand);font-size:clamp(1.8rem,4vw,2.8rem);text-shadow:0 1px 0 rgba(255,255,255,.6)}
.citi-pin{margin:20px auto 24px;display:inline-flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:600}
.citi-pin svg{color:var(--accent)}

@media (max-width:1000px){.insights-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.insights-grid{grid-template-columns:1fr}.trust-strip .wrap{flex-direction:column;align-items:flex-start}.hero-badge{position:static;margin-top:16px}}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

@media (max-width:1000px){
  .primary-nav,.header-phone{display:none}
  .nav-toggle{display:inline-flex}
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .portrait{max-width:420px}
  .about-grid{grid-template-columns:1fr;gap:34px}
  .about-media{position:static;max-width:420px}
  .acc-layout,.faq-layout,.contact-grid{grid-template-columns:1fr;gap:28px}
  .acc-intro,.faq-side{position:static}
  .proc-grid,.why-grid{grid-template-columns:1fr 1fr}
  .journey-grid{grid-template-columns:1fr 1fr}
  .stat-band{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .section{padding:64px 0}
  .tracks-grid,.loc-grid,.proc-grid,.why-grid,.journey-grid,.form-row,.review-grid{grid-template-columns:1fr}
  .acc-body ul{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .hero .lead{max-width:none}
  .rating-pill{position:static;margin-top:16px}
}

.site-header{position:sticky;top:-46px;z-index:100;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 6px 20px rgba(15,36,56,.06)}
.topbar{background:var(--brand);color:#fff;font-size:.9rem}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0}
.topbar a{color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.topbar a:hover{opacity:.85}
.tb-right{display:flex;align-items:center;gap:24px}
.tb-phone svg{width:16px;height:16px;color:#fff}
.tb-social{display:flex;gap:10px}
.tb-social a{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.28);border-radius:6px}
.tb-social svg{width:15px;height:15px;fill:#fff}
.mainbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0}
.mainbar .brand img{height:74px;width:auto;display:block}.brand{display:flex;align-items:center;gap:13px;text-decoration:none}.brand-mark{width:54px;height:54px;flex:none;display:grid;place-items:center;background:var(--surface-2);border-radius:13px}.brand-mark svg{width:34px;height:34px}.brand-text{display:flex;flex-direction:column;line-height:1.06}.brand-text b{font-family:var(--font-display);font-size:1.34rem;color:var(--brand);letter-spacing:-.01em;font-weight:800}.brand-text small{font-size:.8rem;color:var(--brand-mid);font-weight:600;margin-top:3px;letter-spacing:.01em}@media(max-width:980px){.brand-mark{width:46px;height:46px}.brand-text b{font-size:1.12rem}.brand-text small{font-size:.72rem}}
.mainbar-right{display:flex;align-items:center;gap:28px}
.mainbar .primary-nav{display:flex;gap:26px;position:static;background:none;box-shadow:none;padding:0}
.mainbar .primary-nav a{color:var(--brand);font-weight:600;text-decoration:none;font-size:1rem;padding:0}
.mainbar .primary-nav a:hover{color:var(--brand);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:6px}
.book-btn{background:var(--accent);color:#fff;border-radius:999px;padding:12px 26px;font-weight:700;border:0}
.book-btn:hover{filter:brightness(.96);color:#fff}
.catbar{border-top:1px solid var(--line);background:var(--surface)}
.catbar-inner{display:flex;justify-content:flex-end;align-items:stretch}
.catmenu{position:relative;padding:13px 22px;font-weight:700;color:var(--brand);cursor:pointer;display:flex;align-items:center;gap:8px;border-left:1px solid var(--line)}
.catmenu:first-child{border-left:0}
.catmenu:hover{color:var(--accent-strong)}
.cm-caret{color:var(--accent-strong)}
.cm-drop{position:absolute;top:100%;left:0;min-width:250px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);padding:8px;display:none;z-index:60}
.catmenu:hover .cm-drop{display:block}
.cm-drop a{display:block;padding:10px 12px;color:var(--ink);text-decoration:none;border-radius:8px;font-weight:500;font-size:.95rem}
.cm-drop a:hover{background:var(--surface-2);color:var(--brand)}
.nav-toggle{display:none;background:none;border:0;color:var(--brand);cursor:pointer}
@media(max-width:980px){
  .topbar-inner{justify-content:center}
  .tb-email{display:none}
  .catbar{display:none}
  .mainbar .primary-nav,.book-btn{display:none}
  .nav-toggle{display:inline-flex}
  .mainbar .brand img{height:60px}
}
@media(max-width:600px){.tb-right{gap:12px}.tb-phone span{display:none}.tb-social{display:none}}

.site-header{background:#fff !important;border-bottom:1px solid #D7E2EC !important;box-shadow:0 6px 20px rgba(15,36,56,.06)}.mainbar,.catbar{background:#fff !important}.mainbar .brand img{height:66px;width:auto;display:block}.mainbar .primary-nav a{color:#16324F !important}.mainbar .primary-nav a:hover{color:#16324F !important;text-decoration:underline;text-decoration-color:#61CE70;text-decoration-thickness:2px;text-underline-offset:6px}.catbar{border-top:1px solid #D7E2EC !important}.catmenu{color:#16324F !important;border-left:1px solid #D7E2EC}.catmenu:first-child{border-left:0}.catmenu:hover{color:#3FA653 !important}.cm-caret{color:#3FA653}.cm-drop{background:#fff !important;border:1px solid #D7E2EC !important}.cm-drop a{color:#20303F !important}.cm-drop a:hover{background:#EAF0F6 !important;color:#16324F !important}.book-btn{background:#61CE70 !important;color:#fff !important}

html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
html,body{overflow-x:hidden;max-width:100%}
*{-webkit-tap-highlight-color:rgba(22,50,79,.12)}
img{max-width:100%;height:auto}
h1,h2,h3,p,a,li{overflow-wrap:break-word}
.site-header{position:-webkit-sticky;position:sticky}
.mainbar .primary-nav a,.book-btn,.tb-phone,.tb-email{min-height:44px;display:inline-flex;align-items:center}
.catmenu{min-height:46px}
.nav-toggle{min-width:44px;min-height:44px}
/* mobile drawer: full height on iOS, safe-area aware, scrollable */
.mobile-nav{z-index:150;height:100vh;height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;
 padding:calc(20px + env(safe-area-inset-top)) calc(22px + env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) calc(22px + env(safe-area-inset-left))}
.mobile-nav nav a{min-height:48px;display:flex;align-items:center}
.mobile-sub{margin-top:10px}
.mobile-sub h5{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--invert-muted);margin:16px 0 2px}
.mobile-sub a{font-size:1.05rem !important;padding:9px 0 !important;min-height:44px !important}
@media(max-width:600px){
 .wrap{padding-left:18px;padding-right:18px}
 .svc-hero .wrap{padding-top:34px;padding-bottom:34px}
 .svc-cta-strip{flex-direction:column;align-items:flex-start}
 .st-track .st-card{flex:0 0 86%}
 .book-btn{padding:11px 18px}
}

/* one combined bar: big logo left, two nav rows stacked on the right */
.mainbar-inner{display:flex;align-items:center;gap:36px;justify-content:flex-start;padding:8px 0}
.mainbar .brand{display:flex;align-items:center;line-height:0;text-decoration:none;flex:none}
.mainbar .brand img{height:96px !important;width:auto;display:block}
.mainbar-stack{flex:1;min-width:0;display:flex;flex-direction:column}
.mainbar-row1{display:flex;align-items:center;justify-content:flex-end;gap:28px;padding-bottom:10px}
.mainbar-row2{display:flex;align-items:stretch;justify-content:flex-end;padding-top:2px}
.mainbar-row2 .catmenu{padding:10px 20px;font-size:.95rem}
.mainbar-row2 .catmenu:last-child{padding-right:2px}
.mainbar-inner > .nav-toggle{display:none}
@media(max-width:980px){
  .mainbar-stack{display:none}
  .mainbar-inner{justify-content:space-between;gap:16px}
  .mainbar-inner > .nav-toggle{display:inline-flex}
  .mainbar .brand img{height:58px !important}
}
@media(max-width:600px){.mainbar .brand img{height:52px !important}}

.statband{background:linear-gradient(90deg,#16324F,#0f2338) !important;border-bottom:1px solid rgba(255,255,255,.10) !important}
.statband-title{color:#fff !important}
.statband-link{color:#67d47a !important}
.statseg b{color:#fff !important}
.statseg span{color:rgba(255,255,255,.72) !important}
.statseg::before{border-left:1px solid rgba(255,255,255,.14) !important}
.statseg:nth-child(1){--seg:rgba(255,255,255,.10)}
.statseg:nth-child(2){--seg:rgba(255,255,255,.06)}
.statseg:nth-child(3){--seg:rgba(97,206,112,.16)}
.statseg:nth-child(4){--seg:rgba(97,206,112,.09)}
@media(max-width:900px){.statseg::before{border-left:1px solid rgba(255,255,255,.14) !important}}

.mainbar-inner{padding:10px 0 !important}
.mainbar .primary-nav{gap:4px !important}
.mainbar .primary-nav a{padding:9px 15px !important;border-radius:999px;transition:background .18s,color .18s}
.mainbar .primary-nav a:hover{background:color-mix(in srgb,var(--brand-mid) 11%,#fff) !important;color:#16324F !important;text-decoration:none !important}
.mainbar-row1{padding-bottom:8px}
.mainbar-row2{gap:6px;padding-top:6px}
.mainbar-row2 .catmenu{border-left:0 !important;border-radius:10px;transition:background .18s,color .18s}
.mainbar-row2 .catmenu:hover{background:color-mix(in srgb,var(--accent) 12%,#fff);color:#16324F !important}
.mainbar-row2 .cm-caret{transition:transform .2s ease}
.mainbar-row2 .catmenu:hover .cm-caret{transform:rotate(180deg)}
.mainbar-row2 .cm-drop{margin-top:10px;border-radius:14px;box-shadow:0 18px 40px rgba(15,36,56,.16);padding:10px;border:1px solid #E4ECF3 !important}
.mainbar-row2 .cm-drop a{border-radius:9px;padding:11px 14px;font-weight:500}
.mainbar-row2 .cm-drop a:hover{background:color-mix(in srgb,var(--brand-mid) 10%,#fff)}
.mainbar .book-btn{transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;box-shadow:0 6px 16px rgba(97,206,112,.32)}
.mainbar .book-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(97,206,112,.42);filter:none !important}

.hero2-rev{position:absolute;left:0;bottom:26px;z-index:3;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(15,36,56,.18);padding:15px 17px;width:262px}
.hero2-rev-badge{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.hero2-rev-badge .gg{width:24px;height:24px;flex:none}
.hero2-rev-badge .rv-stars{color:#F2B60C;letter-spacing:1px;font-size:.9rem;line-height:1;display:block}
.hero2-rev-badge small{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);font-weight:700;display:block;margin-top:2px}
.hero2-rev-view{position:relative;min-height:62px}
.hero2-rev-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .45s ease;font-size:.92rem;color:var(--ink);line-height:1.42;font-weight:500}
.hero2-rev-slide.is-on{opacity:1}
.hero2-rev-dots{display:flex;gap:6px;margin-top:12px}
.hero2-rev-dot{width:7px;height:7px;border-radius:50%;background:var(--line);border:0;padding:0;cursor:pointer;transition:width .2s,background .2s}
.hero2-rev-dot.is-on{background:var(--accent-strong);width:18px;border-radius:999px}
@media(max-width:900px){.hero2-rev{position:static;width:auto;max-width:320px;margin:18px auto 0}}

.expertise4,.loc2,.about2{padding-top:58px;padding-bottom:58px}
.loc2 .loc-script{margin-top:6px}
@media(max-width:900px){.expertise4,.loc2,.about2{padding-top:44px;padding-bottom:44px}}

.section.tint{background:linear-gradient(180deg,#f6fbff,#eaf3fb)}

.float-book{width:62px;height:62px;padding:0;border-radius:50%;display:grid;place-items:center;background:#25D366 !important;border:0 !important;box-shadow:0 8px 22px rgba(37,211,102,.45);animation:waPulse 2.2s ease-out infinite}
.float-book svg{width:30px;height:30px;fill:#fff}
.float-book:hover{background:#1EB955 !important;transform:scale(1.06)}
@keyframes waPulse{0%{box-shadow:0 8px 22px rgba(37,211,102,.45),0 0 0 0 rgba(37,211,102,.55)}70%{box-shadow:0 8px 22px rgba(37,211,102,.45),0 0 0 18px rgba(37,211,102,0)}100%{box-shadow:0 8px 22px rgba(37,211,102,.45),0 0 0 0 rgba(37,211,102,0)}}
@media(prefers-reduced-motion:reduce){.float-book{animation:none}}

.journey-grid{position:relative}
.journey-grid .step{position:relative;z-index:1;text-align:center}
.journey-grid .step-num{margin-left:auto;margin-right:auto}
.journey-line{position:absolute;top:31px;left:calc(10% - 6.4px);right:calc(10% - 6.4px);height:3px;transform:translateY(-50%);background:color-mix(in srgb,var(--brand-mid) 20%,var(--surface));border-radius:3px;z-index:0;overflow:hidden}
.journey-line span{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--accent),var(--brand-mid));border-radius:3px;transition:width 1.8s cubic-bezier(.4,0,.2,1)}
.journey-grid.in .journey-line span{width:100%}
@media(max-width:820px){.journey-line{display:none}.journey-grid .step{text-align:left}.journey-grid .step-num{margin-left:0}}

.cta-band{position:relative;overflow:hidden;background:linear-gradient(140deg,#16324F,#0f2338) !important;border-top:0 !important;border-bottom:0 !important}
.cta-band::before{content:"";position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1745750434535-5943ef2fd31a?auto=format&fit=crop&w=1900&q=70') center/cover no-repeat;opacity:.20;z-index:0}
.cta-band::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 110% at 50% 0%,rgba(97,206,112,.18),transparent 60%);z-index:0}
.cta-band .wrap{position:relative;z-index:1}
.cta-band .eyebrow{color:#8ee39b !important}
.cta-band h2{color:#fff !important}
.cta-band p{color:rgba(255,255,255,.85) !important}
.cta-band .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.cta-band .btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff;border-color:#fff}

.citi-band{background:#12283f !important;border-top:0 !important;border-bottom:0 !important}
.citi-band .citi-bg{opacity:.32}
.citi-band::after{background:linear-gradient(180deg,rgba(16,35,56,.55),rgba(12,32,52,.78)) !important}
.citi-inner .eyebrow{color:#8ee39b !important}
.citi-inner h2{color:#fff !important;text-shadow:none !important}
.citi-pin{color:#fff !important}
.citi-pin svg{color:var(--accent) !important}


/* ---------- subpage.css ---------- */
/* Dr Balaji theme — inner page styles (page hero, article, contact, blog cards) — extracted unchanged from the original HTML <style> blocks */
/* ---- inner pages ---- */
.page-hero{position:relative;overflow:hidden;background:radial-gradient(120% 95% at 90% 6%,color-mix(in srgb,var(--accent) 15%,var(--surface)),transparent 58%),radial-gradient(110% 90% at 6% 100%,color-mix(in srgb,var(--brand-mid) 12%,var(--surface)),transparent 55%),linear-gradient(180deg,var(--surface),var(--ground));border-bottom:1px solid var(--line);padding:58px 0 52px}
.breadcrumb{font-size:.84rem;color:var(--ink-soft);margin-bottom:14px}
.breadcrumb a{color:var(--brand-mid);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.page-hero h1{font-size:clamp(2rem,4.6vw,3rem);font-weight:800;letter-spacing:-.02em;max-width:22ch;color:var(--ink)}
.page-hero .lead{margin-top:16px;font-size:1.12rem;line-height:1.55;color:var(--ink-soft);max-width:62ch}
.page-hero .hero-cta{margin-top:26px}
.article{max-width:760px;margin:0 auto}
.article>h2{font-family:var(--font-display);font-size:1.55rem;margin:36px 0 12px;color:var(--ink);letter-spacing:-.01em}
.article>h3{font-family:var(--font-display);font-size:1.2rem;margin:24px 0 8px;color:var(--brand-mid)}
.article p{margin:0 0 16px;color:var(--ink);line-height:1.75}
.article ul,.article ol{margin:0 0 18px 1.2em;color:var(--ink);line-height:1.7}
.article li{margin-bottom:8px}
.article strong{color:var(--ink)}
.article a{color:var(--brand-mid)}
.article em{color:var(--ink-soft)}
.article table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.94rem}
.article th,.article td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.article th{background:var(--surface-2);font-family:var(--font-display)}
.article blockquote{border-left:3px solid var(--accent);margin:18px 0;padding:8px 0 8px 18px;color:var(--ink-soft);background:var(--accent-soft);border-radius:0 8px 8px 0}
.check-list{list-style:none;margin:0 0 18px;padding:0}
.check-list li{position:relative;padding-left:30px;margin-bottom:12px;line-height:1.55}
.check-list li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line))}
.check-list li::after{content:"";position:absolute;left:6px;top:8px;width:7px;height:4px;border-left:2px solid var(--accent-strong);border-bottom:2px solid var(--accent-strong);transform:rotate(-45deg)}
.author-box{max-width:760px;margin:36px auto 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;color:var(--ink-soft);font-size:.95rem;box-shadow:var(--shadow-sm)}
.author-box strong{color:var(--ink)}
.faqs{max-width:760px;margin:0 auto}
.faq-q{font-family:var(--font-display);font-size:1.06rem;color:var(--ink);margin:20px 0 6px}
.faq-a{color:var(--ink-soft);line-height:1.7;margin:0}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.contact-detail{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}
.contact-detail svg{color:var(--accent-strong);flex:none;margin-top:2px}
.contact-detail a{color:var(--ink);text-decoration:none}
.map-slot{aspect-ratio:16/10;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface-2);display:grid;place-items:center;color:var(--ink-soft);text-align:center;padding:20px}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}


/* ---------- home.css ---------- */
/* Dr Balaji theme — homepage-only styles — extracted unchanged from the original HTML <style> blocks */
.hero2{position:relative;overflow:hidden;background:radial-gradient(90% 80% at 92% 0%,color-mix(in srgb,var(--brand-mid) 16%,#fff),transparent 60%),radial-gradient(70% 90% at 100% 100%,color-mix(in srgb,var(--accent) 13%,#fff),transparent 55%),linear-gradient(180deg,#f3f9fd,#e9f2f9);border-bottom:1px solid var(--line)}
.hero2 .wrap{position:relative;z-index:2}
.hero2-skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:170px;opacity:.09;z-index:1;color:var(--brand)}
.hero2-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:stretch;padding:56px 0 0}
.hero2 .eyebrow{color:var(--brand-mid);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;margin:0 0 16px}
.hero2 h1{font-family:"Playfair Display",Georgia,serif;font-weight:800;font-size:clamp(2.3rem,4.9vw,3.7rem);line-height:1.06;letter-spacing:-.01em;color:var(--brand);margin:0}
.hero2 h1 .hl{color:var(--brand-mid)}
.hero2 .lead{margin:20px 0 0;color:var(--ink-soft);font-size:1.08rem;line-height:1.62;max-width:52ch}
.hero2-cta{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 30px}
.hero2-badges{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:540px}
.hero2-badge{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;box-shadow:0 4px 14px rgba(15,36,56,.06);transition:transform .15s,box-shadow .15s}
.hero2-badge:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,36,56,.10)}
@media(max-width:520px){.hero2-badges{grid-template-columns:1fr;max-width:none}}
.hero2-badge .bi{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand-mid) 12%,#fff);color:var(--brand-mid);flex:none}
.hero2-badge .bi svg{width:22px;height:22px}
.hero2-badge b{display:block;font-family:var(--font-display);font-size:1rem;color:var(--brand);line-height:1.05}
.hero2-badge span{display:block;font-size:.78rem;color:var(--ink-soft)}
.hero2-media{position:relative;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}
.hero2-shape{position:absolute;top:50%;left:50%;transform:translate(-50%,-52%);width:460px;height:460px;border-radius:50%;background:radial-gradient(circle at 42% 34%,#c8e6f0,#8ecadf 72%);box-shadow:inset 0 0 0 18px rgba(255,255,255,.30);z-index:1}
.hero2-doc{position:relative;z-index:2;width:100%;max-width:420px;display:block;filter:drop-shadow(0 20px 30px rgba(15,36,56,.22))}
.hero2-sign{align-self:flex-end;z-index:3;text-align:right;margin:0 0 10px}
.hero2-sign i{font-family:"Dancing Script",cursive;font-style:normal;font-weight:700;font-size:2rem;color:var(--brand);display:block;line-height:1}
.hero2-sign small{display:block;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);margin-top:5px}
.hero2-quote{position:absolute;left:0;bottom:30px;z-index:3;background:#fff;border-radius:14px;box-shadow:0 16px 36px rgba(15,36,56,.16);padding:14px 18px;max-width:216px}
.hero2-quote .qm{font-family:Georgia,serif;color:var(--brand-mid);font-size:2.2rem;line-height:0;position:relative;top:10px}
.hero2-quote p{margin:4px 0 0;font-size:.85rem;color:var(--ink);line-height:1.42;font-weight:500}
@media(max-width:900px){.hero2-grid{grid-template-columns:1fr;gap:26px;padding:36px 0 30px}.hero2-media{min-height:0;margin-top:10px;display:block;text-align:center}.hero2-shape{width:300px;height:300px}.hero2-doc{max-width:290px;margin:0 auto}.hero2-sign{display:none}.hero2-quote{position:static;margin:18px auto 0;max-width:300px;text-align:left}}
.hero2-photo{position:absolute;inset:0;z-index:0;background:url('https://images.unsplash.com/photo-1745750434535-5943ef2fd31a?auto=format&fit=crop&w=2200&q=70') right center/cover no-repeat;opacity:.30}
.hero2-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(240,247,252,.97) 0%,rgba(240,247,252,.88) 38%,rgba(240,247,252,.5) 72%,rgba(240,247,252,.32) 100%)}
.hero2-skyline{display:none}
@media(max-width:900px){.hero2-photo{opacity:.18}.hero2-veil{background:linear-gradient(180deg,rgba(240,247,252,.96),rgba(240,247,252,.9))}}
.hero2-copytext{transition:opacity .35s ease}
.hero2-doc{transition:opacity .35s ease}
.hero2-hero-dots{display:flex;gap:9px;margin-top:24px}
.hero2-hero-dots .hd-dot{width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,var(--brand-mid) 32%,#fff);border:0;padding:0;cursor:pointer;transition:width .2s,background .2s}
.hero2-hero-dots .hd-dot.is-on{background:var(--brand-mid);width:22px;border-radius:999px}

.expertise4{position:relative;overflow:hidden;background:linear-gradient(180deg,#f4faff,#e7f1fb)}
.expertise4 .exp-watermark{position:absolute;top:16px;left:46%;width:260px;opacity:.06;z-index:0;color:var(--brand-mid)}
.expertise4 .wrap{position:relative;z-index:1}
.expertise4 .exp-layout{display:grid;grid-template-columns:1fr 290px;gap:36px;align-items:start}
.expertise4 .exp-head p.lead2{color:var(--ink-soft);line-height:1.6;margin:14px 0 0;max-width:52ch}
.expertise4 .exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:24px}
.expertise4 .exp-col{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 16px 40px rgba(15,36,56,.09);display:flex;flex-direction:column}
.expertise4 .exp-head2{display:flex;align-items:center;gap:14px;padding:20px 22px;color:#fff}
.expertise4 .exp-col.gi .exp-head2{background:linear-gradient(120deg,#16324F,#2E7DC0)}
.expertise4 .exp-col.wl .exp-head2{background:linear-gradient(120deg,#1c7a4c,#3FA653)}
.expertise4 .exp-head2 h3{margin:0;font-size:1.24rem;color:#fff;line-height:1.1}
.expertise4 .exp-head2 .sub{margin:3px 0 0;font-size:.78rem;color:rgba(255,255,255,.85)}
.expertise4 .exp-headico{width:42px;height:42px;margin-left:auto;flex:none}
.expertise4 .exp-rows{padding:8px 14px}
.expertise4 .exp-row{display:flex;align-items:center;gap:12px;padding:11px 8px;border-radius:12px;text-decoration:none;color:var(--ink);font-weight:500;border-bottom:1px solid var(--line);transition:background .15s}
.expertise4 .exp-row:last-child{border-bottom:0}
.expertise4 .exp-row:hover{background:color-mix(in srgb,var(--brand-mid) 6%,#fff)}
.expertise4 .rc-ico{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--brand-mid) 10%,#fff);display:grid;place-items:center;flex:none;color:var(--brand-mid)}
.expertise4 .exp-col.wl .rc-ico{background:color-mix(in srgb,var(--accent) 14%,#fff);color:var(--accent-strong)}
.expertise4 .rc-ico svg{width:19px;height:19px}
.expertise4 .rc-txt{flex:1;font-size:.95rem}
.expertise4 .rc-chev{width:17px;height:17px;color:var(--ink-soft);flex:none}
.expertise4 .exp-cardbtn{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:6px 14px 16px;padding:13px 16px;border-radius:12px;background:color-mix(in srgb,var(--brand-mid) 7%,#fff);color:var(--brand-mid);font-weight:700;text-decoration:none;font-size:.95rem;transition:background .15s}
.expertise4 .exp-col.wl .exp-cardbtn{background:color-mix(in srgb,var(--accent) 10%,#fff);color:var(--accent-strong)}
.expertise4 .exp-cardbtn:hover{background:color-mix(in srgb,var(--brand-mid) 14%,#fff)}
.expertise4 .exp-col.wl .exp-cardbtn:hover{background:color-mix(in srgb,var(--accent) 18%,#fff)}
.expertise4 .exp-side{position:relative;padding-top:6px}
.expertise4 .exp-sign{text-align:center}
.expertise4 .exp-sign i{font-family:"Dancing Script",cursive;font-style:normal;font-weight:700;font-size:1.6rem;color:var(--brand);display:block;line-height:1.05}
.expertise4 .exp-sign small{display:block;font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;margin-top:5px}
.expertise4 .exp-doc{display:block;width:100%;max-width:270px;margin:6px auto 0;filter:drop-shadow(0 16px 26px rgba(15,36,56,.22))}
.expertise4 .exp-quote{background:#fff;border-radius:14px;box-shadow:0 14px 34px rgba(15,36,56,.16);padding:14px 16px;margin:-26px auto 0;max-width:220px;position:relative;z-index:2}
.expertise4 .exp-quote .qm{font-family:Georgia,serif;color:var(--accent-strong);font-size:1.8rem;line-height:0;position:relative;top:8px}
.expertise4 .exp-quote p{margin:4px 0 8px;font-size:.82rem;color:var(--ink);line-height:1.4;font-weight:500}
.expertise4 .exp-quote .bar{display:block;width:26px;height:3px;background:var(--accent);border-radius:2px}
.expertise4 .exp-script{font-family:"Dancing Script",cursive;font-size:1.35rem;color:var(--brand);text-align:center;margin-top:16px;transform:rotate(-3deg)}
@media(max-width:900px){.expertise4 .exp-layout{grid-template-columns:1fr}.expertise4 .exp-side{display:none}.expertise4 .exp-grid{grid-template-columns:1fr}}

.loc2{position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffff,#eef6fc)}
.loc2 .loc-sky{position:absolute;top:0;right:0;width:48%;height:340px;background:url('https://images.unsplash.com/photo-1745750434535-5943ef2fd31a?auto=format&fit=crop&w=1400&q=70') center/cover no-repeat;opacity:.16;-webkit-mask-image:linear-gradient(to left,#000 30%,transparent);mask-image:linear-gradient(to left,#000 30%,transparent);z-index:0}
.loc2 .wrap{position:relative;z-index:1}
.loc2 .loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:26px;align-items:start}
.loc2 .loc-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 40px rgba(15,36,56,.08);overflow:hidden}
.loc2 .loc-photo{height:190px;background:url('https://images.unsplash.com/photo-1745750434535-5943ef2fd31a?auto=format&fit=crop&w=1400&q=70') center/cover no-repeat}
.loc2 .loc-body{padding:24px}
.loc2 .loc-tag{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-mid)}
.loc2 .loc-tag.green{color:var(--accent-strong)}
.loc2 .loc-tag svg{width:15px;height:15px}
.loc2 .loc-card h3{margin:8px 0 4px;font-size:1.3rem;color:var(--ink)}
.loc2 .loc-addr{color:var(--ink-soft);margin:0 0 16px;line-height:1.5}
.loc2 .loc-table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:.94rem}
.loc2 .loc-table td{border:1px solid var(--line);padding:11px 14px;color:var(--ink)}
.loc2 .loc-table td:last-child{text-align:right;color:var(--ink-soft)}
.loc2 .loc-actions{display:flex;gap:12px;flex-wrap:wrap}
.loc2 .loc-actions .btn{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.loc2 .loc-actions .btn svg{width:18px;height:18px;flex:none}
.loc2 .loc-rhead{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.loc2 .loc-round{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 16%,#fff);color:var(--accent-strong)}
.loc2 .loc-round svg{width:22px;height:22px}
.loc2 .contact-line{display:flex;align-items:center;gap:13px;padding:11px 0;border-bottom:1px solid var(--line)}
.loc2 .contact-line:last-of-type{border-bottom:0}
.loc2 .contact-line a{color:var(--ink);text-decoration:none;font-weight:600}
.loc2 .contact-line .ci{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--brand-mid) 10%,#fff);color:var(--brand-mid)}
.loc2 .contact-line .ci.green{background:color-mix(in srgb,var(--accent) 16%,#fff);color:var(--accent-strong)}
.loc2 .contact-line .ci svg{width:20px;height:20px}
.loc2 .btn-wafull{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:16px;background:var(--accent-strong);color:#fff;border-radius:999px;padding:14px 20px;font-weight:700;text-decoration:none}
.loc2 .btn-wafull svg{width:20px;height:20px;fill:#fff}
.loc2 .loc-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px 24px;box-shadow:var(--shadow-sm)}
.loc2 .loc-feat{display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--ink);font-weight:600;line-height:1.25}
.loc2 .loc-feat .fi{width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--brand-mid) 10%,#fff);display:grid;place-items:center;color:var(--brand-mid);flex:none}
.loc2 .loc-feat .fi svg{width:22px;height:22px}
.loc2 .loc-script{font-family:"Dancing Script",cursive;font-size:1.5rem;color:var(--brand);text-align:right;margin-top:12px;transform:rotate(-3deg)}
@media(max-width:820px){.loc2 .loc-grid{grid-template-columns:1fr}.loc2 .loc-feats{grid-template-columns:1fr 1fr}.loc2 .loc-sky{display:none}.loc2 .loc-script{text-align:center;transform:none}}

.about2{position:relative;background:linear-gradient(180deg,#f6fbff,#eaf3fb)}
.about2 .drstats2{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:38px}
.about2 .drstat2{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:0 8px 24px rgba(15,36,56,.06);text-align:center;position:relative;overflow:hidden}
.about2 .drstat2::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--brand-mid))}
.about2 .drstat2 b{display:block;font-family:var(--font-display);font-size:1.8rem;color:var(--brand);line-height:1}
.about2 .drstat2 span{display:block;margin-top:6px;font-weight:600;color:var(--ink)}
.about2 .drstat2 small{display:block;margin-top:3px;font-size:.8rem;color:var(--ink-soft)}
.about2 .about-grid2{display:grid;grid-template-columns:360px 1fr;gap:42px;align-items:start}
.about2 .about-photo2{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 22px 46px rgba(15,36,56,.18);aspect-ratio:4/5;background:#e9f0f6}
.about2 .about-photo2 img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.2);transform-origin:80% 58%;display:block}
.about2 .about-photo2::after{content:"";position:absolute;inset:0;border-radius:18px;box-shadow:inset 0 0 0 1px rgba(15,36,56,.08);pointer-events:none}
.about2 .about-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.about2 .pill2{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.78rem;font-weight:700;color:var(--brand-mid);box-shadow:var(--shadow-sm)}
.about2 .ab-h3{font-family:var(--font-display);font-size:1.02rem;color:var(--brand-mid);margin:24px 0 8px;font-weight:700}
.about2 .about-txt>.ab-h3:first-child{margin-top:0}
.about2 .about-txt p{color:var(--ink);line-height:1.75;margin:0 0 14px}
.about2 .about-quote{background:color-mix(in srgb,var(--accent) 9%,#fff);border-left:4px solid var(--accent);border-radius:0 14px 14px 0;padding:18px 22px;margin:22px 0}
.about2 .about-quote p{font-family:var(--font-display);font-size:1.14rem;color:var(--brand);margin:0 0 6px;line-height:1.42}
.about2 .about-quote cite{font-style:normal;font-size:.85rem;color:var(--ink-soft);font-weight:600}
.about2 .quals2{list-style:none;margin:12px 0 24px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:13px 26px}
.about2 .quals2 li{display:flex;align-items:flex-start;gap:11px;color:var(--ink);line-height:1.4;font-size:.95rem;font-weight:500}
.about2 .quals2 .qk{width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--accent) 20%,#fff);display:grid;place-items:center;flex:none;color:var(--accent-strong);margin-top:1px}
.about2 .quals2 .qk svg{width:13px;height:13px}
@media(max-width:900px){.about2 .drstats2{grid-template-columns:1fr}.about2 .about-grid2{grid-template-columns:1fr}.about2 .quals2{grid-template-columns:1fr}}


/* ---------- service.css ---------- */
/* Dr Balaji theme — treatment/service page styles — extracted unchanged from the original HTML <style> blocks */
.svc-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);
 background:radial-gradient(120% 95% at 88% 4%,color-mix(in srgb,var(--accent) 16%,var(--surface)),transparent 58%),
 radial-gradient(110% 90% at 4% 100%,color-mix(in srgb,var(--brand-mid) 14%,var(--surface)),transparent 55%),
 linear-gradient(180deg,var(--surface),var(--ground))}
.svc-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:62px 0}
.svc-hero .crumb{font-size:.84rem;color:var(--ink-soft);margin-bottom:16px}
.svc-hero .crumb a{color:var(--brand-mid);text-decoration:none}
.svc-hero h1{font-family:var(--font-display);font-size:clamp(2.1rem,4.6vw,3.1rem);line-height:1.08;letter-spacing:-.02em;color:var(--ink);margin:0}
.svc-hero .lead{margin-top:18px;font-size:1.16rem;line-height:1.55;color:var(--ink-soft);max-width:56ch}
.svc-hero .cta{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.svc-hero-media{position:relative;overflow:hidden}
.svc-hero-media img{width:100%;height:auto;display:block;border-radius:var(--radius)}
.svc-hero-badge{position:absolute;left:16px;bottom:16px;background:var(--surface);border:1px solid var(--line);
 border-radius:12px;padding:9px 14px;font-size:.82rem;font-weight:700;color:var(--brand-mid);box-shadow:var(--shadow-sm)}
/* service content, matches homepage typographic feel */
.svc-content .wrap{display:grid;grid-template-columns:250px 1fr;gap:44px;align-items:start}
.svc-toc{position:sticky;top:90px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px;box-shadow:var(--shadow-sm)}
.svc-toc h4{font-family:var(--font-display);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0 0 12px}
.svc-toc a{display:block;color:var(--brand-mid);text-decoration:none;font-size:.92rem;padding:6px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.svc-toc a:last-child{border-bottom:0}
.svc-toc a:hover{color:var(--accent-strong)}
.svc-article h2{font-family:var(--font-display);font-size:1.55rem;color:var(--ink);letter-spacing:-.01em;margin:30px 0 12px;scroll-margin-top:90px}
.svc-article h2:first-child{margin-top:0}
.svc-article h3{font-family:var(--font-display);font-size:1.16rem;color:var(--brand-mid);margin:22px 0 8px}
.svc-article p{color:var(--ink);line-height:1.8;margin:0 0 15px}
.svc-check{list-style:none;margin:0 0 18px;padding:0}
.svc-check li{position:relative;padding-left:30px;margin-bottom:12px;line-height:1.6;color:var(--ink)}
.svc-check li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line))}
.svc-check li::after{content:"";position:absolute;left:6px;top:8px;width:7px;height:4px;border-left:2px solid var(--accent-strong);border-bottom:2px solid var(--accent-strong);transform:rotate(-45deg)}
.svc-cta-strip{background:linear-gradient(120deg,var(--brand),var(--brand-mid));border-radius:var(--radius);padding:24px 26px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin:28px 0}
.svc-cta-strip p{color:#fff;font-family:var(--font-display);font-size:1.1rem;margin:0;max-width:60ch;line-height:1.4}
/* alternating image rows (Sherif-style) */
.imgrow{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin:0}
.imgrow.rev .txt{order:2}
.imgrow .txt h2{font-family:var(--font-display);font-size:1.55rem;color:var(--ink);letter-spacing:-.01em;margin:0 0 12px}
.imgrow .txt h3{font-family:var(--font-display);font-size:1.14rem;color:var(--brand-mid);margin:18px 0 8px}
.imgrow .txt p{color:var(--ink);line-height:1.8;margin:0 0 14px}
.img-slot{overflow:hidden}
.img-slot img{width:100%;height:auto;display:block;border-radius:var(--radius)}
/* what-to-expect tabs (two-column with image) */
.svc-expect .wrap{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.svc-expect .ex-ey{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2rem);color:var(--ink-soft);line-height:1.12;display:block;margin-bottom:0}
.svc-expect h2{font-family:var(--font-display);font-size:clamp(1.7rem,3.6vw,2.4rem);color:var(--ink);line-height:1.05;letter-spacing:-.01em;margin:2px 0 16px}
.svc-expect .ex-intro{color:var(--ink-soft);line-height:1.7;margin:0 0 22px;max-width:52ch}
.svc-tabs{margin:0}
.svc-tabbtns{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}
.svc-tabbtn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);border-radius:999px;padding:11px 22px;font-weight:700;font-size:.92rem;cursor:pointer;font-family:inherit}
.svc-tabbtn.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.svc-tabpane{display:none}.svc-tabpane.on{display:block}
.svc-expect .ex-btn{margin-top:26px}
.svc-expect .ex-img{overflow:hidden}
.svc-expect .ex-img img{width:100%;height:auto;display:block;border-radius:22px}
@media(max-width:900px){.svc-expect .wrap{grid-template-columns:1fr}.svc-expect .ex-img{order:-1;aspect-ratio:16/11}}
/* interactive faq accordion (centered) */
.svc-faqsec .section-head{text-align:center;margin-left:auto;margin-right:auto}
.svc-faqsec .svc-acc{margin-left:auto;margin-right:auto}
.svc-acc{max-width:820px}
.acc-item{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;background:var(--surface);overflow:hidden}
.acc-q{width:100%;text-align:left;background:none;border:0;padding:18px 20px;font-family:var(--font-display);font-size:1.04rem;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:center}
.acc-q .ic{flex:none;transition:transform .2s;color:var(--accent-strong);font-size:1.3rem;line-height:1}
.acc-item.open .acc-q .ic{transform:rotate(45deg)}
.acc-a{max-height:0;overflow:hidden;transition:max-height .25s ease;color:var(--ink-soft);line-height:1.7}
.acc-a div{padding:0 20px 18px}
/* sticky whatsapp */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:60;width:56px;height:56px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.28)}
.wa-float svg{width:30px;height:30px;fill:#fff}
/* client stories (Sherif-style layout, Google trust) */
.stories2 .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:center}
.stories2 .lead-col h2{font-family:var(--font-display);font-size:clamp(2rem,4.4vw,3rem);line-height:1.05;letter-spacing:-.02em;margin:0 0 6px;color:var(--ink)}
.stories2 .lead-col .st-eyebrow{font-family:var(--font-display);font-size:clamp(1.6rem,3.4vw,2.3rem);color:var(--ink-soft);line-height:1.05;display:block;margin-bottom:2px}
.stories2 .gbadge{display:inline-flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 16px;box-shadow:var(--shadow-sm);margin:20px 0 22px}
.stories2 .st-carousel{position:relative;min-width:0}
.st-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 10px;scrollbar-width:none;-ms-overflow-style:none}
.st-track::-webkit-scrollbar{display:none}
.st-track .st-card{flex:0 0 calc(50% - 10px);scroll-snap-align:start}
.st-nav{display:flex;align-items:center;gap:14px;margin-top:16px}
.st-arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--surface);cursor:pointer;display:grid;place-items:center;color:var(--ink);flex:none}
.st-arrow:hover{background:var(--surface-2)}
.st-arrow svg{width:20px;height:20px}
.st-rail{flex:1;height:2px;background:var(--line);border-radius:2px}
.st-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;min-height:230px}
.st-card h3{font-family:var(--font-display);font-size:1.14rem;color:var(--ink-soft);margin:0 0 14px;font-weight:600}
.st-card p{color:var(--ink-soft);line-height:1.65;margin:0 0 auto;font-size:.96rem}
.st-card .st-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}
.st-card .stars{color:#e0aa2e;letter-spacing:2px;font-size:1.05rem}
.st-card .who{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--ink)}
.stories2 .editor-note{color:var(--ink-soft);font-size:.82rem;margin-top:16px}
@media(max-width:900px){.stories2 .wrap{grid-template-columns:1fr}.stories2 .cards{grid-template-columns:1fr}}
/* final portrait CTA (Sherif-style) */
.finalcta .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:center}
.finalcta .pic{overflow:hidden}
.finalcta .pic img{width:100%;height:auto;display:block;border-radius:22px}
.finalcta .ey{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.1rem);color:var(--ink-soft);line-height:1.1;margin:0}
.finalcta h2{font-family:var(--font-display);font-size:clamp(1.6rem,3.4vw,2.3rem);color:var(--ink);line-height:1.1;letter-spacing:-.01em;margin:2px 0 18px}
.finalcta p{color:var(--ink-soft);font-size:1.08rem;line-height:1.7;margin:0 0 18px;max-width:52ch}
.finalcta .callline{font-family:var(--font-display);font-size:1.25rem;color:var(--ink);margin:0 0 20px}
.finalcta .cta{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:900px){.finalcta .wrap{grid-template-columns:1fr}}
@media(max-width:900px){.svc-hero .wrap{grid-template-columns:1fr}.svc-content .wrap{grid-template-columns:1fr}.svc-toc{position:static}.imgrow{grid-template-columns:1fr}.imgrow.rev .txt{order:0}}


/* ==================================================================
   Redesigned "content" section on service pages (sidebar + article)
   ================================================================== */
.svc-content{padding:56px 0 16px}
.svc-content + .section{padding-top:16px}
.svc-content .wrap{grid-template-columns:280px minmax(0,1fr);gap:56px;align-items:stretch}
.svc-side{position:sticky;top:88px;align-self:start;display:flex;flex-direction:column;gap:16px}
.svc-side .svc-toc{position:static;padding:18px 16px;counter-reset:toc}
.svc-side .svc-toc h4{margin:0 0 10px;padding:0 10px}
.svc-side .svc-toc a{counter-increment:toc;display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-left:3px solid transparent;border-radius:0 8px 8px 0;color:var(--ink);font-weight:500;line-height:1.35;transition:background .15s,color .15s,border-color .15s}
.svc-side .svc-toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--brand-mid);min-width:22px}
.svc-side .svc-toc a:hover,.svc-side .svc-toc a.is-active{background:var(--surface-2);border-left-color:var(--accent);color:var(--brand)}
.svc-side-cta{background:linear-gradient(160deg,var(--brand),var(--brand-strong));color:var(--invert-ink);border-radius:var(--radius);padding:22px 20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}
.svc-side-cta img{width:60px;height:60px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid rgba(255,255,255,.25);margin-bottom:4px}
.svc-side-cta strong{font-family:var(--font-display);font-size:1.08rem}
.svc-side-cta p{margin:0 0 8px;font-size:.9rem;color:var(--invert-muted);line-height:1.5}
.svc-side-cta .btn{width:100%;justify-content:center}
.svc-side-link{display:flex;align-items:center;gap:9px;color:var(--invert-ink);text-decoration:none;font-size:.92rem;font-weight:500;padding:6px 0}
.svc-side-link svg{width:17px;height:17px;flex:none;color:var(--accent)}
.svc-side-link:hover{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.svc-article{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:38px 44px 30px;box-shadow:var(--shadow-sm)}
.svc-article h2{font-size:1.7rem;margin:0 0 14px;scroll-margin-top:110px}
.svc-article h2::before{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--accent);margin-bottom:14px}
.svc-article h2 + p{font-size:1.08rem;line-height:1.75}
.svc-article h2:not(:first-child){margin-top:40px;padding-top:36px;border-top:1px solid var(--line)}
.svc-article h3{margin:26px 0 12px;font-size:1.12rem;color:var(--ink)}
.svc-article .svc-check{background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--radius);padding:20px 22px;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0 0 28px}
.svc-article .svc-check li{margin:0;line-height:1.55;font-size:.97rem}
.svc-article .svc-check li::before{background:var(--surface)}
@media(max-width:900px){
  .svc-content .wrap{grid-template-columns:1fr}
  .svc-article{padding:26px 22px 18px}
  .svc-content{padding:44px 0 8px}
  .svc-content .wrap{gap:28px}
  .svc-side{position:static}
  .svc-side-cta{display:none}
}
@media(max-width:700px){
  .svc-article .svc-check{grid-template-columns:1fr;padding:16px 18px}
  .svc-article h2{font-size:1.45rem}
}

/* Sidebar: list of all treatment pages */

.svc-side-all{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px 12px;box-shadow:var(--shadow-sm)}
.svc-side-all h4{font-family:var(--font-display);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:0 0 6px;padding:0 10px}
.svc-side-group{font-family:var(--font-display);font-size:.8rem;font-weight:700;color:var(--brand-mid);margin:12px 0 4px;padding:0 10px}
.svc-side-all ul{list-style:none;margin:0;padding:0}
.svc-side-all li a{display:block;padding:7px 10px;border-left:3px solid transparent;border-radius:0 8px 8px 0;color:var(--ink);font-size:.9rem;line-height:1.35;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.svc-side-all li a:hover{background:var(--surface-2);color:var(--brand)}
.svc-side-all li a.is-current{background:var(--surface-2);border-left-color:var(--accent);color:var(--brand);font-weight:600}
@media(max-width:900px){.svc-side-all{display:none}}

/* Sidebar image card (replaces the "On this page" list) */
.svc-side-img{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);aspect-ratio:4/3;background:var(--surface-2)}
.svc-side-img img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.svc-side-img{display:none}}


/* ---------- wordpress.css ---------- */
/* Dr Balaji theme — small WordPress-specific additions.
   Nothing in the original design is overridden here; these rules only cover
   markup that WordPress itself generates (pagination, core alignment classes,
   Contact Form 7 fields, featured image in single posts). */

/* Blog pagination (the_posts_pagination) */
.pagination.navigation{margin:40px auto 0;text-align:center}
.pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.pagination .nav-links .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:9px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:var(--font-display);font-weight:600;text-decoration:none;transition:background .2s ease,color .2s ease}
.pagination .nav-links a.page-numbers:hover{background:var(--surface-2)}
.pagination .nav-links .page-numbers.current{background:var(--brand);border-color:var(--brand);color:#fff}
.pagination .nav-links .page-numbers.dots{border:0;background:transparent}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}

/* Featured image at the top of a single post (only prints when one is set) */
.article .article-media{width:100%;height:auto;border-radius:var(--radius);margin:0 0 26px;box-shadow:var(--shadow-sm)}

/* Post navigation on single posts */
.post-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;max-width:760px;margin:36px auto 0;padding-top:24px;border-top:1px solid var(--line)}
.post-nav a{color:var(--brand-mid);text-decoration:none;font-weight:600}
.post-nav a:hover{text-decoration:underline}

/* Search form on the search results / 404 pages */
.search-form{display:flex;gap:10px;max-width:520px;margin:0 auto}
.search-form input[type="search"]{flex:1;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}

/* Contact Form 7 fields — mirrors the inline input styling of the static form */
.contact-grid .wpcf7 label{display:block;margin-bottom:14px}
.contact-grid .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.contact-grid .wpcf7 textarea,
.contact-grid .wpcf7 select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);margin-top:6px;font:inherit}
.contact-grid .wpcf7 input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:12px;border:1px solid transparent;font-family:var(--font-display);font-weight:700;background:var(--accent);color:var(--accent-ink);cursor:pointer}
.contact-grid .wpcf7 input[type="submit"]:hover{background:var(--accent-strong)}

/* WordPress core content classes */
.alignleft{float:left;margin:0 20px 12px 0}
.alignright{float:right;margin:0 0 12px 20px}
.aligncenter{display:block;margin:0 auto 16px}
.wp-caption{max-width:100%}
.wp-caption-text,.wp-element-caption{font-size:.85rem;color:var(--ink-soft);text-align:center;margin-top:6px}
.article img{height:auto}
.sticky{}
.bypostauthor{}

/* Contact page map: remove the placeholder padding so the embed fills the slot. */
.map-slot--map{padding:0;overflow:hidden}
.map-slot--map iframe{width:100%;height:100%;display:block;border:0}

/* Header dropdown hover fix: the design leaves a 10px visual gap between the
   category label and its dropdown. Replace the margin with an offset and an
   invisible bridge so the menu stays open while the cursor crosses the gap. */
.mainbar-row2 .cm-drop{margin-top:0;top:calc(100% + 10px)}
.mainbar-row2 .cm-drop::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:14px}
.mainbar-row2 .catmenu::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
.mainbar-row2 .catmenu:hover .cm-drop,.mainbar-row2 .catmenu:focus-within .cm-drop,.mainbar-row2 .catmenu.is-open .cm-drop{display:block}

/* Review cards: simple, modern (no quote mark, no highlighted placeholder text) */
.ph{background:none;color:inherit;padding:0}
.tcard{padding:24px 24px 20px;border-radius:14px}
.tcard .quote-mark{display:none}
.tcard .rc-stars{font-size:.85rem;letter-spacing:1px;margin:0 0 12px}
.tcard p{font-size:.98rem;line-height:1.6;color:var(--ink)}
.tcard .t-meta{margin-top:16px;padding-top:14px}
.t-avatar{background:var(--brand);color:#fff;font-size:.95rem}
.st-card .st-tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-strong);background:var(--accent-soft);padding:4px 10px;border-radius:999px;margin-bottom:12px}
.st-card p{line-height:1.6}

.foot-social a svg{width:18px;height:18px;display:block}
/* Google reviewer photo in the review card avatar */
.t-avatar{overflow:hidden}
.t-avatar img{width:100%;height:100%;object-fit:cover;display:block}

/* Responsive safety: no horizontal scroll on any device, fluid media, scrollable tables */
html{overflow-x:clip}
html,body{overflow-x:clip!important}
body{overflow-y:visible!important;max-width:100%}
img,video,iframe,embed,object{max-width:100%}
.article table,.svc-article table,.blogpost-body table,.entry-content table{display:block;width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse}
.article pre{max-width:100%;overflow-x:auto}
.wp-block-embed iframe,.wp-block-video video{width:100%;height:auto}
.wp-block-embed__wrapper{position:relative}
@media(max-width:480px){
  .article,.svc-article{overflow-wrap:anywhere}
  .hero-cta,.videos-cta{flex-wrap:wrap}
  .hero-cta .btn{width:100%;justify-content:center}
}
/* Grid children must be allowed to shrink below the iframe's intrinsic 600px */
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.contact-grid>*{min-width:0}
@media(max-width:820px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
.map-slot--map iframe{max-width:100%;min-width:0}


/* Homepage hero: centre the copy on phones and tablets (single-column layout) */
@media(max-width:900px){
  .hero2-grid{padding:36px 24px 30px}
  .hero2-copy{text-align:center}
  .hero2 .eyebrow{justify-content:center;display:inline-flex;margin-left:auto;margin-right:auto}
  .hero2-copy h1,.hero2-copy .lead{margin-left:auto;margin-right:auto}
  .hero2-cta{justify-content:center}
  .hero2-badges{margin:0 auto;max-width:540px}
  .hero2-badge{justify-content:flex-start;text-align:left}
  .hero2-hero-dots{justify-content:center}
}
@media(max-width:520px){
  .hero2-cta{flex-direction:column;align-items:stretch;gap:12px}
  .hero2-cta .btn{width:100%;justify-content:center}
  .hero2-badges{grid-template-columns:1fr 1fr;gap:10px}
  .hero2-badge{padding:12px 12px;gap:10px}
  .hero2-badge b{font-size:.9rem}
}

/* Review cards: clamp the review text to 5 lines (ellipsis) so all cards are the same height */
.tcard p,.st-card p{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:0}
.tcard{display:flex;flex-direction:column;height:100%}
.tcard .t-meta{margin-top:auto;padding-top:14px}
.car-slide{display:flex}
.st-card{display:flex;flex-direction:column}
.st-card .st-foot{margin-top:auto}

/* Homepage hero eyebrow: no leading dash (it sat orphaned on its own line on phones) */
.hero2 .eyebrow::before{display:none}
.hero2 .eyebrow{gap:0}

/* Mobile menu: scrollable drawer (long treatment list), compact rows, wrapping labels */
.mobile-nav{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:20px 20px calc(24px + env(safe-area-inset-bottom))}
.mobile-nav nav{margin-top:18px}
.mobile-nav nav a{font-size:1.25rem;padding:10px 0;min-height:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.mobile-sub{margin-top:6px}
.mobile-sub h5{margin:14px 0 2px}
.mobile-sub a{font-size:.98rem !important;padding:7px 0 !important;min-height:40px !important}
.mobile-nav.is-open{display:flex}

/* Readability pass: darker muted text (better contrast) + larger, less-light body copy */
:root{--ink-soft:#41525f}                 /* was #586878 — darker for AA contrast on light bg */

/* Section intros / leads */
.about2 .about-txt p,.svc-article h2 + p{font-size:1.06rem}
.about2 .about-txt p{color:#2b3a48}
.section-head p,.loc2 p,.cond-intro,#conditions .wrap > p{font-size:1.05rem;color:#41525f}

/* "Conditions treated" intro (image 1) */
#conditions p[style]{color:#41525f !important;font-size:1.06rem;line-height:1.7}

/* Education & qualifications list + other check-lists (image 2) */
.quals2 li{font-size:1.02rem;font-weight:600;color:#20303F;line-height:1.5}
.ab-h3{font-size:1.12rem}

/* Eyebrows / small labels: darker so they read against light backgrounds */
.eyebrow{color:var(--brand-mid)}

/* Body default a touch larger */
body{font-size:1.02rem}
@media(max-width:600px){
  body{font-size:1rem}
  .about2 .about-txt p,.section-head p{font-size:1.02rem}
}

/* Service-page images: fixed aspect ratios + cover, top-biased so portraits keep the face in frame */
.svc-hero-media{aspect-ratio:4/5;max-height:560px}
.svc-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.imgrow .img-slot{aspect-ratio:4/3}
.imgrow .img-slot img{width:100%;height:100%;object-fit:cover;object-position:center}
.ex-img{aspect-ratio:16/11}
.ex-img img{width:100%;height:100%;object-fit:cover;object-position:center}
.svc-side-img{aspect-ratio:3/4}
.svc-side-img img{object-position:top center}
@media(max-width:900px){
  .svc-hero-media{aspect-ratio:16/10;max-height:340px}
}

/* --- Contrast & definition pass ---------------------------------------
   The base palette is very pale, which reads as washed-out. These overrides
   deepen section backgrounds a little, strengthen card borders, and darken
   headings/labels for contrast. Brand hues are unchanged. */
:root{
  --ground:#EAF0F7;              /* was #F3F6FA — a touch deeper so white cards separate */
  --surface-2:#DCE7F2;          /* tint blocks a shade stronger */
  --line:#C4D3E2;               /* borders more visible */
  --ink:#1a2836;                /* headings/body a little darker */
  --ink-soft:#3d4e5c;
}
/* Cards / panels: clearer edge + slightly stronger shadow so they lift off the bg */
.proc-card,.why2-card,.tcard,.st-card,.video-card,.post-card,.loc-card,.svc-side-cta,.svc-side-all,.svc-article,.stat-card,.statseg,.drstat2,.faq,.acc-item,.contact-detail{
  border-color:var(--line);
}
.section.tint{background:linear-gradient(180deg,#e4eef8,#d8e6f4)}   /* was near-white */
.hero2{background:
  radial-gradient(90% 80% at 92% 0%,color-mix(in srgb,var(--brand-mid) 22%,#fff),transparent 60%),
  radial-gradient(70% 90% at 100% 100%,color-mix(in srgb,var(--accent) 18%,#fff),transparent 55%),
  linear-gradient(180deg,#e9f2fb,#dceaf7)}
/* Headings clearly dark */
h1,h2,h3,.section-head h2,.about2 h2,.svc-article h2{color:var(--brand)}
/* Section eyebrow label: solid brand-mid, a touch bolder */
.eyebrow{color:var(--brand-mid);font-weight:700}
/* Footer already dark — leave it. */

/* Ready-to-talk CTA band: dark background image + overlay */
.cta-talk{position:relative;overflow:hidden;background:linear-gradient(140deg,#16324F,#0f2338)!important}
.cta-talk::before{content:"";position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1516549655169-df83a0774514?auto=format&fit=crop&w=1600&q=70') center/cover;opacity:.22}
.cta-talk::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 110% at 50% 0%,rgba(97,206,112,.16),transparent 60%),linear-gradient(180deg,rgba(15,35,56,.55),rgba(15,35,56,.85))}
.cta-talk .wrap{position:relative;z-index:1}
.cta-talk .eyebrow{color:#8ee39b!important}
.cta-talk .eyebrow::before{background:#8ee39b!important}
.cta-talk h2{color:#fff!important}
.cta-talk p{color:rgba(255,255,255,.88)!important}
.cta-talk .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.cta-talk .btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff;border-color:#fff}

/* About page */
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.about-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:26px 22px;text-align:center;position:relative;overflow:hidden}
.about-stat::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--brand-mid))}
.about-stat b{display:block;font-family:var(--font-display);font-size:2.1rem;line-height:1;color:var(--brand);margin-bottom:8px}
.about-stat span{display:block;font-weight:600;color:var(--ink);margin-bottom:4px}
.about-stat small{color:var(--brand-mid);font-size:.88rem}
.about-lead-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:44px;align-items:start}
.about-portrait{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);aspect-ratio:3/4;background:var(--surface-2)}
.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.about-lead-copy h2{margin:6px 0 6px}
.about-cred{font-family:var(--font-display);font-weight:600;color:var(--brand-mid);margin:0 0 14px;font-size:.98rem}
.about-lead-copy p{color:var(--ink-soft);line-height:1.7}
.about-lead-copy .hero-cta{margin-top:20px}
.about-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.about-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 24px 22px;box-shadow:var(--shadow-sm);position:relative}
.about-card-ic{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--brand-mid);margin-bottom:14px}
.about-card-ic svg{width:24px;height:24px}
.about-card h3{margin:0 0 14px;font-size:1.1rem;color:var(--brand)}
.about-card .check-list li{margin-bottom:10px;line-height:1.5;font-size:.94rem}
/* Areas of expertise: list + portrait */
.expertise-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:44px;align-items:stretch}
.expertise-list{columns:2;column-gap:36px;margin:0;align-self:center}
.expertise-list li{break-inside:avoid;margin-bottom:12px}
.expertise-img{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.expertise-img img{width:100%;height:100%;min-height:340px;object-fit:cover;object-position:center top;display:block}
.about-focus{max-width:820px}
.about-focus-grid{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;align-items:start}
.about-focus-grid .article{max-width:none}
.about-focus-img{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm);position:sticky;top:96px}
.about-focus-img img{width:100%;height:100%;min-height:420px;object-fit:cover;object-position:center top;display:block}
.about-focus .article h3{margin-top:26px}
.about-focus .article h3:first-child{margin-top:0}
@media(max-width:900px){
  .about-lead-grid{grid-template-columns:1fr;gap:24px}
  .about-portrait{max-width:320px;margin:0 auto}
  .about-stats{grid-template-columns:1fr}
  .about-cards{grid-template-columns:1fr}
  .about-focus-grid{grid-template-columns:1fr;gap:24px}
  .about-focus-img{position:static;max-width:420px;order:-1}
  .expertise-grid{grid-template-columns:1fr;gap:24px}
  .expertise-img{max-width:320px;margin:0 auto;order:-1}
  .expertise-list{columns:1}
}
@media(max-width:600px){.about-card-ic{width:40px;height:40px}}

/* ===== Narrow / wide reading wrappers ===== */
.wrap-narrow{width:100%;max-width:760px;margin-inline:auto;padding-inline:24px}
.wrap-wide{width:100%;max-width:1040px;margin-inline:auto;padding-inline:24px}

/* ===== Single blog post ===== */
.blogpost{background:var(--surface)}
.blogpost-hero{padding:34px 0 24px;background:linear-gradient(180deg,var(--ground),var(--surface))}
.blogpost-hero .breadcrumb{margin-bottom:16px}
.blogpost-cat{display:inline-block;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-mid);background:var(--accent-soft);padding:5px 12px;border-radius:999px;margin-bottom:14px}
.blogpost-hero h1{font-size:clamp(1.9rem,4.2vw,2.9rem);line-height:1.12;letter-spacing:-.01em;color:var(--brand);margin:0 0 14px}
.blogpost-standfirst{font-size:1.2rem;line-height:1.6;color:var(--ink-soft);margin:0 0 22px}
.blogpost-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--ink-soft);font-size:.94rem}
.blogpost-author{display:inline-flex;align-items:center;gap:9px;font-weight:600;color:var(--ink)}
.blogpost-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--brand);color:#fff;font-family:var(--font-display);font-weight:700;font-size:.9rem}
.blogpost-dot{opacity:.5}
.blogpost-cover{margin:8px 0 0}
.blogpost-cover img{width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:18px;display:block;box-shadow:var(--shadow-sm)}
.blogpost .section{padding:40px 0 8px}
/* Two-column layout: article + sidebar */
.blogpost-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:52px;align-items:start}
.blogpost-main{min-width:0;max-width:760px}
.blogpost-sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:20px}
/* Article typography */
.blogpost-body{font-size:1.12rem;line-height:1.8;color:#243441}
.blogpost-body > *:first-child{margin-top:0}
.blogpost-body p{margin:0 0 22px}
.blogpost-body h2{font-family:var(--font-display);font-size:1.6rem;line-height:1.25;color:var(--brand);margin:44px 0 14px;scroll-margin-top:100px}
.blogpost-body h2::before{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--accent);margin-bottom:16px}
.blogpost-body h3{font-family:var(--font-display);font-size:1.25rem;color:var(--ink);margin:32px 0 10px}
.blogpost-body ul,.blogpost-body ol{margin:0 0 22px;padding-left:1.3em}
.blogpost-body li{margin-bottom:9px}
.blogpost-body a{color:var(--brand-mid);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.blogpost-body a:hover{color:var(--brand)}
.blogpost-body strong{color:var(--ink)}
.blogpost-body blockquote{margin:28px 0;padding:18px 24px;border-left:4px solid var(--accent);background:var(--surface-2);border-radius:0 12px 12px 0;font-size:1.14rem;line-height:1.6}
.blogpost-body img{border-radius:14px;margin:10px 0 24px}
.blogpost-body table{margin:0 0 24px}
/* Share row */
.blogpost-share{display:flex;align-items:center;gap:12px;margin:34px 0 8px;padding-top:22px;border-top:1px solid var(--line)}
.blogpost-share > span{font-family:var(--font-display);font-weight:700;color:var(--ink);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em}
.blogpost-share a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--surface-2);color:var(--brand-mid);border:1px solid var(--line);transition:background .15s,color .15s}
.blogpost-share a:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.blogpost-share svg{width:18px;height:18px}
.blogpost .post-nav{max-width:760px;margin:8px auto 0}
@media(max-width:600px){
  .blogpost-hero{padding:40px 0 20px}
  .blogpost-body{font-size:1.06rem}
  .blogpost-body h2{font-size:1.4rem;margin-top:34px}
}

/* Sidebar widgets */
.blog-widget{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 20px}
.blog-widget h4{margin:0 0 14px;font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft)}
.blog-cta{background:linear-gradient(160deg,var(--brand),var(--brand-strong));color:var(--invert-ink);text-align:center}
.blog-cta-avatar{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.3rem;margin-bottom:10px}
.blog-cta strong{display:block;font-family:var(--font-display);font-size:1.1rem}
.blog-cta p{margin:6px 0 14px;font-size:.9rem;color:var(--invert-muted);line-height:1.5}
.blog-cta .btn{width:100%;justify-content:center}
.blog-cta-link{display:inline-block;margin-top:10px;color:#fff;font-size:.9rem;font-weight:600;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}
.blog-recent{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.blog-recent a{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit}
.blog-recent-thumb{flex:none;width:60px;height:60px;border-radius:10px;overflow:hidden;background:var(--surface-2)}
.blog-recent-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.blog-recent-title{display:block;font-weight:600;color:var(--ink);line-height:1.35;font-size:.94rem}
.blog-recent a:hover .blog-recent-title{color:var(--brand-mid)}
.blog-recent-date{display:block;color:var(--ink-soft);font-size:.8rem;margin-top:3px}
.blog-cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.blog-cats a{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:.94rem}
.blog-cats a:hover{background:var(--surface-2);color:var(--brand)}
.blog-cats a span{background:var(--surface-2);color:var(--ink-soft);font-size:.78rem;font-weight:700;min-width:24px;text-align:center;padding:2px 7px;border-radius:999px}
.blog-cats a:hover span{background:var(--accent-soft);color:var(--brand-mid)}
/* Sidebar TOC */
.blogpost-toc nav{display:flex;flex-direction:column}
.blogpost-toc a{padding:6px 10px;border-left:2px solid var(--line);color:var(--ink-soft);text-decoration:none;font-size:.9rem;line-height:1.35}
.blogpost-toc a:hover,.blogpost-toc a.is-active{border-left-color:var(--accent);color:var(--brand);background:var(--surface-2)}
/* Prev / next article */
.blogpost-postnav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.ppost{display:flex;flex-direction:column;gap:5px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none;transition:border-color .15s,box-shadow .15s}
.ppost:hover{border-color:var(--brand-mid);box-shadow:var(--shadow-sm)}
.ppost--next{text-align:right}
.ppost-dir{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-mid)}
.ppost-title{font-family:var(--font-display);font-weight:600;color:var(--ink);line-height:1.3}
@media(max-width:960px){
  .blogpost-grid{grid-template-columns:1fr;gap:36px}
  .blogpost-sidebar{position:static}
  .blogpost-toc{display:none}
}
@media(max-width:560px){
  .blogpost-postnav{grid-template-columns:1fr}
  .ppost--next{text-align:left}
}

/* ===== Unify the service-page finalcta with the dark "Ready to talk" look ===== */
.finalcta{position:relative;overflow:hidden;background:linear-gradient(140deg,#16324F,#0f2338)}
.finalcta::before{content:"";position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1516549655169-df83a0774514?auto=format&fit=crop&w=1600&q=70') center/cover;opacity:.20}
.finalcta::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 110% at 50% 0%,rgba(97,206,112,.15),transparent 60%),linear-gradient(180deg,rgba(15,35,56,.6),rgba(15,35,56,.88))}
.finalcta .wrap{position:relative;z-index:1}
.finalcta .pic{display:none}
.finalcta .wrap{grid-template-columns:1fr;text-align:center;max-width:760px}
.finalcta .ey{color:#8ee39b;margin:0 auto}
.finalcta h2{color:#fff!important;margin-top:6px}
.finalcta p{color:rgba(255,255,255,.88)!important;margin:14px auto 18px}
.finalcta .callline{color:#fff!important}
.finalcta .cta{justify-content:center}
.finalcta .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.finalcta .btn-ghost:hover{background:rgba(255,255,255,.14);color:#fff;border-color:#fff}

/* ===== Contact page (modern) ===== */
.contact-hero{background:linear-gradient(180deg,var(--ground),var(--surface))}
.contact-layout{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:44px;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:16px}
.contact-card{display:flex;gap:16px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 22px}
.contact-card .cc-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:var(--accent-soft);color:var(--brand-mid)}
.contact-card .cc-ic svg{width:24px;height:24px}
.contact-card strong{display:block;font-family:var(--font-display);color:var(--ink);margin-bottom:3px}
.contact-card a{color:var(--brand-mid);text-decoration:none;font-weight:600;font-size:1.05rem}
.contact-card a:hover{text-decoration:underline}
.contact-card .cc-text{color:var(--ink-soft);line-height:1.5}
.contact-card--wa .cc-ic{background:rgba(97,206,112,.16);color:#3aa94f}
.contact-social{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 4px 0}
.contact-social > span{font-family:var(--font-display);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft)}
.contact-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--surface);border:1px solid var(--line);color:var(--brand-mid);transition:background .15s,color .15s,border-color .15s}
.contact-social a:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.contact-social svg{width:19px;height:19px}
/* Form card */
.contact-formcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px 34px 30px}
.contact-formcard h2{margin:0 0 6px;font-size:1.5rem;color:var(--brand)}
.contact-formnote{color:var(--ink-soft);margin:0 0 22px;font-size:.96rem;line-height:1.55}
.contact-form .cf-row{margin-bottom:16px}
.contact-form .cf-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:block;font-weight:600;color:var(--ink);font-size:.92rem}
.contact-form input,.contact-form textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);font:inherit;transition:border-color .15s,background .15s}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--brand-mid);background:var(--surface)}
.contact-form textarea{resize:vertical;min-height:120px}
.contact-form .btn{width:100%;justify-content:center;margin-top:4px}
/* Also style CF7 when dropped in */
.contact-formcard .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),.contact-formcard .wpcf7 textarea,.contact-formcard .wpcf7 select{width:100%;margin-top:7px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--ink);font:inherit}
.contact-formcard .wpcf7 input[type=submit]{width:100%;padding:14px;border:0;border-radius:12px;font-family:var(--font-display);font-weight:700;background:var(--accent);color:var(--accent-ink);cursor:pointer}
/* Map band */
.contact-mapsec{margin-top:8px}
.contact-map{position:relative}
.contact-map iframe{display:block;width:100%;height:460px;border:0;filter:grayscale(.1)}
.contact-mapcard{position:absolute;top:28px;left:28px;max-width:320px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;display:flex;gap:14px}
.contact-mapcard .cc-ic{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--brand-mid)}
.contact-mapcard .cc-ic svg{width:22px;height:22px}
.contact-mapcard strong{display:block;font-family:var(--font-display);color:var(--ink);margin-bottom:4px}
.contact-mapcard .cc-text{display:block;color:var(--ink-soft);line-height:1.5;margin-bottom:14px;font-size:.94rem}
.contact-mapcard .btn{width:100%;justify-content:center}
@media(max-width:900px){
  .contact-layout{grid-template-columns:1fr;gap:28px}
  .contact-formcard{padding:26px 22px 24px}
  .contact-map iframe{height:380px}
  .contact-mapcard{position:static;max-width:none;margin:-40px 20px 0;border-radius:var(--radius)}
}
@media(max-width:520px){
  .contact-form .cf-2{grid-template-columns:1fr}
}

/* ACF service template: plain <ul> inside a content row -> green-tick checklist */
.imgrow .txt ul{list-style:none;margin:0 0 12px;padding:0}
.imgrow .txt ul li{position:relative;padding-left:30px;margin-bottom:10px;line-height:1.55}
.imgrow .txt ul li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233aa94f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
.svc-article ul{list-style:none;margin:0 0 20px;padding:0}
.svc-article ul li{position:relative;padding-left:28px;margin-bottom:10px}
.svc-article ul li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233aa94f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/11px no-repeat}
.svc-fulltext{max-width:820px;margin:0 auto}
.svc-quote{max-width:760px;margin:0 auto;padding:24px 28px;border-left:4px solid var(--accent);background:var(--surface);border-radius:0 14px 14px 0;box-shadow:var(--shadow-sm)}
.svc-quote p{font-size:1.25rem;line-height:1.55;color:var(--ink);margin:0 0 10px}
.svc-quote cite{color:var(--brand-mid);font-style:normal;font-weight:600}
.svc-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc-gallery figure{margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3}
.svc-gallery img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){.svc-gallery{grid-template-columns:1fr 1fr}}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feature-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:26px 24px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
a.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--brand-mid)}
.feature-ic{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--accent-soft);margin-bottom:14px;overflow:hidden}
.feature-ic img{width:28px;height:28px;object-fit:contain}
.feature-card h3{margin:0 0 8px;font-size:1.12rem;color:var(--brand)}
.feature-card p{color:var(--ink-soft);line-height:1.55;font-size:.95rem;margin:0}
.feature-more{margin-top:14px;color:var(--brand-mid);font-weight:600;font-size:.9rem}
@media(max-width:900px){.feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.feature-grid{grid-template-columns:1fr}}
/* Services archive grid */
.proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.proc-card2{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.proc-card2:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--brand-mid)}
.proc-card2-media{aspect-ratio:16/10;background:var(--surface-2);display:block}
.proc-card2-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.proc-card2-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.proc-card2-cat{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-mid);margin-bottom:8px}
.proc-card2-body h3{margin:0 0 8px;font-size:1.12rem;color:var(--brand)}
.proc-card2-body p{color:var(--ink-soft);line-height:1.55;font-size:.95rem;margin:0 0 14px}
.proc-card2-more{margin-top:auto;color:var(--brand-mid);font-weight:600;font-size:.9rem}
@media(max-width:900px){.proc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.proc-grid{grid-template-columns:1fr}}

/* Tighten oversized vertical spacing across the site */
.section{padding:64px 0}
.section-head{margin-bottom:30px}
@media(max-width:600px){.section{padding:44px 0}.section-head{margin-bottom:22px}}

/* About "Areas of expertise": image is taller than the list, which left the list
   floating in the middle with big gaps. Top-align the list and cap the image height. */
.expertise-grid{align-items:start}
.expertise-list{align-self:start}
.expertise-img{align-self:start;max-height:520px}
.about-focus-img{max-height:520px}

/* Fail-safe: reveal animations only apply when JS is available (html.js).
   Without JS, or if a script is blocked/cached-out, all content stays visible. */
.reveal{opacity:1;transform:none}
html.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
html.js .reveal.in{opacity:1;transform:none}
