/* Dr Ankita's Dental Hospital — front-end design system v2.0 */

:root{
  --navy:#002860; --navy-2:#0B3B85; --teal:#3A7D02; --teal-2:#60B800; --aqua:#8AD92B; --brand:#60B800;
  --coral:#60B800; --coral-d:#4FA000; --ice:#F3F7FC; --mint:#EAF6DA;
  --ink:#0E1B33; --muted:#566478; --line:#DDE5F0; --white:#fff; --gold:#F5B301; --wa:#1FAF5A;
  --radius:20px; --radius-s:12px; --max:1240px;
  --shadow:0 14px 34px -16px rgba(0,40,96,.28); --shadow-s:0 6px 18px -10px rgba(0,40,96,.25);
  --serif:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --hw:700; --hls:-.02em; --hlh:1.16;
  --cta:#60B800; --cta-d:#4FA000; --cta-glow:rgba(96,184,0,.7); --cta-ink:#002860;
}
/* Font styles (Dental Site > Design & Fonts) */
.font-modern{--serif:'Plus Jakarta Sans',system-ui,sans-serif; --sans:'Inter',system-ui,sans-serif; --hw:700; --hls:-.02em;}
.font-classic{--serif:'Fraunces',Georgia,serif; --sans:'Work Sans',system-ui,sans-serif; --hw:500; --hls:-.01em;}
.font-elegant{--serif:'Playfair Display',Georgia,serif; --sans:'DM Sans',system-ui,sans-serif; --hw:600; --hls:-.01em;}
.font-editorial{--serif:'Lora',Georgia,serif; --sans:'Inter',system-ui,sans-serif; --hw:600; --hls:-.01em;}
.font-clean{--serif:'Manrope',system-ui,sans-serif; --sans:'Inter',system-ui,sans-serif; --hw:700; --hls:-.025em;}
.tint-teal{--t:#3A7D02; --tb:#E8F5D8}
.tint-aqua{--t:#1D5FD0; --tb:#E4ECFA}
.tint-coral{--t:#002860; --tb:#E1E7F3}
.tint-violet{--t:#2A5CAA; --tb:#E6EDF8}
.tint-amber{--t:#5C8F00; --tb:#EEF5D6}
.tint-rose{--t:#0B3B85; --tb:#E6ECF8}
.tint-red{--t:#D32F2F; --tb:#FDE8E8}
.tint-green{--t:#3A7D02; --tb:#E8F5D8}

/* ---------- Base ---------- */
html{scroll-behavior:smooth; scroll-padding-top:112px;}
body.dadh-site{margin:0; font-family:var(--sans); color:var(--ink); background:#fff; line-height:1.65; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip;}
.dadh-site *,.dadh-site *::before,.dadh-site *::after{box-sizing:border-box;}
.dadh-site h1,.dadh-site h2,.dadh-site h3,.dadh-site h4{font-family:var(--serif); font-weight:var(--hw); line-height:var(--hlh); color:var(--navy); margin:0 0 .5em; letter-spacing:var(--hls);}
.dadh-site h1{font-size:clamp(2rem,4.2vw,3.5rem);}
.dadh-site h2{font-size:clamp(1.6rem,2.9vw,2.4rem);}
.dadh-site h3,.dadh-site .h3{font-size:1.28rem;}
.dadh-site h4,.dadh-site .h4{font-size:1.1rem;}
.dadh-site p{margin:0 0 1.05em;}
.dadh-site a{color:var(--teal); text-decoration-thickness:1px; text-underline-offset:3px;}
.dadh-site a:hover{color:var(--navy);}
.dadh-site img{max-width:100%; height:auto; display:block;}
.dadh-site ul,.dadh-site ol{margin:0; padding:0;}
.dadh-site .wrap{max-width:var(--max); margin:0 auto; padding:0 28px; width:100%;}
.dadh-site .muted{color:var(--muted);}
.dadh-site .sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
.dadh-site :focus-visible{outline:3px solid var(--coral); outline-offset:2px; border-radius:6px;}
.skip-link{position:absolute; left:-999px; top:8px; background:var(--navy); color:#fff!important; padding:10px 16px; border-radius:8px; z-index:1000;}
.skip-link:focus{left:12px;}
.ic{width:1.15em; height:1.15em; flex:none; vertical-align:-.2em;}

/* ---------- Buttons ---------- */
.dadh-site .btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:13px 26px; border-radius:999px; font:600 .95rem/1.2 var(--sans); text-decoration:none; cursor:pointer; border:2px solid transparent; transition:transform .15s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease; white-space:nowrap;}
.dadh-site .btn:hover{transform:translateY(-1px);}
.dadh-site .btn:active{transform:scale(.98);}
.dadh-site .btn-primary{background:var(--cta); color:var(--cta-ink); box-shadow:0 10px 22px -12px var(--cta-glow);}
.dadh-site .btn-primary:hover{background:var(--cta-d); color:var(--cta-ink);}
.dadh-site .btn-dark{background:var(--navy); color:#fff;}
.dadh-site .btn-dark:hover{background:var(--navy-2); color:#fff;}
.dadh-site .btn-outline{background:transparent; border-color:var(--navy); color:var(--navy);}
.dadh-site .btn-outline:hover{background:var(--navy); color:#fff;}
.dadh-site .btn-ghost{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.55); color:#fff;}
.dadh-site .btn-ghost:hover{background:#fff; color:var(--navy);}
.dadh-site .btn-light{background:#fff; color:var(--navy);}
.dadh-site .btn-light:hover{background:var(--mint); color:var(--navy);}
.dadh-site .btn-wa{background:var(--wa); color:#fff;}
.dadh-site .btn-wa:hover{background:#188f49; color:#fff;}
.dadh-site .btn-lg{padding:16px 30px; font-size:1rem;}
.dadh-site .btn-sm{padding:10px 18px; font-size:.88rem;}
.dadh-site .btn-block{display:flex; width:100%;}
.btn-row{display:flex; gap:12px; flex-wrap:wrap; margin-top:8px;}

/* ---------- Layout bits ---------- */
.section{padding:92px 0; position:relative;}
.section.alt{background:var(--ice);}
.sec-head{max-width:720px; margin:0 0 40px;}
.sec-head.is-center{margin-left:auto; margin-right:auto; text-align:center;}
.sec-head h2,.sec-head h1{margin-bottom:.35em;}
.sec-head .lede{color:var(--muted); font-size:1.08rem; margin:0;}
.sec-head.is-center .lede{margin-left:auto; margin-right:auto;}
.sec-row{display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:34px;}
.sec-row .sec-head{margin:0;}
.eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); font-weight:700; margin-bottom:14px;}
.eyebrow::before{content:""; width:26px; height:2px; background:var(--coral); display:inline-block; border-radius:2px;}
.eyebrow-light{color:var(--aqua);}
.dadh-site .center-note{margin-top:32px;}
.center-note{text-align:center; color:var(--muted); margin:32px auto 0; max-width:none;}
.split{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.has-side-image{display:grid; grid-template-columns:1.3fr .7fr; gap:56px; align-items:center;}
.side-image img,.clinic-photo img,.loc-photo img,.cta-image img{width:100%; height:auto; max-height:560px; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow);}
.clinic-photo{margin-top:40px;}
.clinic-photo img{max-height:520px;}
.process-with-image{display:grid; grid-template-columns:1.6fr .7fr; gap:40px; align-items:center;}
.prose{max-width:760px;}
.disclaimer{display:flex; gap:10px; align-items:flex-start; background:var(--ice); border:1px solid var(--line); padding:14px 18px; border-radius:var(--radius-s); color:var(--muted); font-size:.9rem; margin-top:32px;}
.disclaimer .ic{margin-top:3px; color:var(--teal);}
.note{color:var(--muted); font-size:.95rem;}

/* ---------- Top bar ---------- */
.topbar{background:var(--navy); color:#D3DDF0; font-size:.82rem; padding:8px 0;}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center; gap:16px;}
.topbar-left,.topbar-right{display:flex; align-items:center; gap:22px; min-width:0;}
.topbar a{color:#fff; text-decoration:none; display:inline-flex; align-items:center; gap:7px; white-space:nowrap;}
.topbar a:hover{color:var(--aqua);}
.topbar-hours{display:inline-flex; align-items:center; gap:7px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.topbar-emergency .ic{color:var(--gold);}

/* ---------- Header ---------- */
.site-header{position:relative; background:#fff; border-bottom:1px solid var(--line); transition:box-shadow .25s ease;}
.site-header.is-scrolled{box-shadow:0 10px 26px -18px rgba(0,40,96,.45);}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:14px; padding-bottom:14px;}
.brand{display:flex; align-items:center; gap:12px; text-decoration:none!important; flex:none; min-width:0; max-width:340px;}
.brand-mark{width:44px; height:44px; border-radius:14px; background:linear-gradient(135deg,var(--teal),var(--navy-2)); color:#fff; display:grid; place-items:center; flex:none; box-shadow:0 8px 18px -10px rgba(58,125,2,.9);}
.brand-mark .ic{width:24px; height:24px;}
.brand-text{display:flex; flex-direction:column; min-width:0; line-height:1.2;}
.brand-text strong{font-family:var(--serif); font-size:1.14rem; color:var(--navy); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.brand-text em{font-style:normal; font-size:.72rem; color:var(--muted); letter-spacing:.03em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.main-nav{display:flex; align-items:center; flex:1; justify-content:center; min-width:0;}
.nav-list{display:flex; align-items:center; gap:2px; list-style:none;}
.nav-item{position:relative; display:flex; align-items:center;}
.nav-item > a{display:block; padding:10px 14px; font-weight:500; font-size:.94rem; color:var(--ink); text-decoration:none; border-radius:10px; white-space:nowrap; position:relative;}
.nav-item > a:hover,.nav-item.is-active > a{color:var(--teal); background:var(--mint);}
.sub-toggle{background:none; border:0; cursor:pointer; color:var(--ink); padding:6px 6px 6px 0; margin-left:-8px; display:flex;}
.sub-toggle .ic{width:15px; height:15px; transition:transform .2s;}
.sub-panel{position:absolute; top:100%; left:0; min-width:230px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); padding:10px; opacity:0; visibility:hidden; transform:translateY(8px); transition:all .18s ease; z-index:70;}
.sub-panel ul{list-style:none;}
.sub-panel a{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; text-decoration:none; color:var(--ink); font-size:.92rem; font-weight:500;}
.sub-panel a:hover{background:var(--mint); color:var(--teal);}
.has-sub:hover > .sub-panel,.has-sub:focus-within > .sub-panel,.has-sub.open > .sub-panel{opacity:1; visibility:visible; transform:none;}
.has-sub:hover > .sub-toggle .ic,.has-sub.open > .sub-toggle .ic{transform:rotate(180deg);}
.is-mega{position:static;}
.nav-list{position:relative;}
.mega-panel{left:50%; transform:translate(-50%,8px); width:min(860px,92vw); padding:20px;}
.has-sub.is-mega:hover > .mega-panel,.has-sub.is-mega:focus-within > .mega-panel,.has-sub.is-mega.open > .mega-panel{transform:translate(-50%,0);}
.mega-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:4px;}
.mega-grid a{padding:11px 12px;}
.mega-grid .ic{width:20px; height:20px; color:var(--teal);}
.mega-all{display:flex!important; justify-content:flex-end; margin-top:10px; padding-top:12px; border-top:1px solid var(--line); font-weight:600!important; color:var(--teal)!important;}
.nav-right{display:flex; align-items:center; gap:14px; flex:none;}
.nav-phone{display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:.92rem; color:var(--navy); text-decoration:none; white-space:nowrap;}
.nav-phone .ic{color:var(--coral);}
.nav-cta{padding:11px 20px; font-size:.9rem;}
.hamburger{display:none; background:var(--mint); border:0; border-radius:12px; width:44px; height:44px; cursor:pointer; color:var(--navy); place-items:center;}
.hamburger .ic{width:24px; height:24px;}
.hamburger .i-close{display:none;}
.hamburger[aria-expanded="true"] .i-open{display:none;}
.hamburger[aria-expanded="true"] .i-close{display:block;}
.nav-mobile-cta{display:none;}
.nav-backdrop{position:fixed; inset:0; background:rgba(0,40,96,.5); z-index:55;}
.nav-backdrop[hidden]{display:none;}

/* ---------- Hero ---------- */
.hero,.page-hero{position:relative; color:#fff; overflow:hidden; background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 55%,#0A4A9E 100%);}
.hero-bg{position:absolute; inset:0; background:radial-gradient(600px 400px at 85% 10%,rgba(40,110,220,.38),transparent 70%),radial-gradient(500px 360px at 5% 100%,rgba(96,184,0,.22),transparent 70%); pointer-events:none;}
.hero{padding:76px 0 130px;}
.hero-grid{display:grid; grid-template-columns:1.08fr .92fr; gap:56px; align-items:center; position:relative;}
.hero h1{color:#fff; font-size:clamp(2.1rem,4.4vw,3.6rem); margin-bottom:.45em;}
.hero h1 span{color:var(--aqua);}
.hero .lede{color:#CBD7EE; font-size:1.1rem; max-width:56ch;}
.pill{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); padding:8px 16px; border-radius:999px; font-size:.86rem; margin-bottom:22px; color:#fff;}
.pill .ic{color:var(--gold);}
.hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin:28px 0 26px;}
.hero-checks{list-style:none; display:flex; gap:22px; flex-wrap:wrap; color:#CBD7EE; font-size:.92rem;}
.hero-checks li{display:inline-flex; align-items:center; gap:8px;}
.hero-checks .ic{color:var(--aqua);}
.hero-art{position:relative; display:flex; justify-content:center;}
.hero-photo{width:100%; max-width:470px;}
.hero-photo img{width:100%; aspect-ratio:4/5; max-height:580px; object-fit:cover; border-radius:230px 230px 28px 28px; border:6px solid rgba(255,255,255,.18); box-shadow:0 30px 60px -24px rgba(0,0,0,.55);}
.hero-illus{position:relative; width:min(430px,86vw); aspect-ratio:1; border-radius:50%; background:radial-gradient(circle at 35% 30%,rgba(138,217,43,.45),rgba(58,125,2,.35) 60%,rgba(255,255,255,.04)); display:grid; place-items:center; box-shadow:inset 0 0 0 2px rgba(255,255,255,.18);}
.hero-illus .ring{position:absolute; border-radius:50%; border:2px dashed rgba(255,255,255,.28);}
.hero-illus .r1{inset:-26px;} .hero-illus .r2{inset:-60px; border-style:solid; border-color:rgba(255,255,255,.1);}
.hero-tooth{width:52%; height:52%; color:#fff; fill:rgba(255,255,255,.16); stroke-width:1.1; filter:drop-shadow(0 18px 24px rgba(0,0,0,.28));}
.hero-spark{position:absolute; color:var(--aqua); width:46px; height:46px;}
.hero-spark.s1{top:12%; right:12%;} .hero-spark.s2{bottom:16%; left:8%; width:30px; height:30px; color:var(--gold);}
.float-card{position:absolute; background:#fff; color:var(--navy); border-radius:16px; padding:12px 16px; display:flex; align-items:center; gap:12px; box-shadow:var(--shadow); animation:floaty 6s ease-in-out infinite;}
.float-card .ic{width:28px; height:28px; color:var(--coral);}
.float-card strong{display:block; font-family:var(--serif); font-size:1.1rem; line-height:1.1;}
.float-card span{font-size:.76rem; color:var(--muted);}
.fc-exp{left:-6px; top:14%;} .fc-care{right:-4px; bottom:12%; animation-delay:-3s;}
@keyframes floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}

/* page hero */
.page-hero{padding:56px 0 64px;}
.page-hero .wrap{position:relative;}
.page-hero h1{color:#fff; max-width:22ch; margin-bottom:.4em;}
.page-hero .lede{color:#CBD7EE; font-size:1.1rem; max-width:62ch; margin:0;}
.page-hero .hero-actions{margin:26px 0 0;}
.breadcrumbs{margin-bottom:20px; font-size:.84rem;}
.breadcrumbs ol{list-style:none; display:flex; flex-wrap:wrap; gap:6px;}
.breadcrumbs li{color:#B9C9E6;}
.breadcrumbs li + li::before{content:"/"; margin-right:6px; opacity:.6;}
.breadcrumbs a{color:#fff; text-decoration:none;}
.breadcrumbs a:hover{text-decoration:underline; color:var(--aqua);}

/* ---------- Quick actions ---------- */
.quick{margin-top:-74px; position:relative; z-index:5; padding-bottom:20px;}
.quick-card{background:#fff; border-radius:26px; box-shadow:0 30px 60px -28px rgba(0,40,96,.45); padding:26px 28px 28px; border:1px solid var(--line);}
.quick-card h2{font-size:1.25rem; margin-bottom:16px; font-family:var(--sans); font-weight:600; letter-spacing:0;}
.quick-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.quick-tile{display:flex; flex-direction:column; gap:3px; padding:18px; border-radius:16px; background:var(--ice); border:1px solid transparent; text-decoration:none!important; color:var(--muted)!important; font-size:.86rem; transition:all .2s ease;}
.quick-tile strong{color:var(--navy); font-size:1rem; font-weight:600;}
.quick-tile:hover{background:#fff; border-color:var(--line); box-shadow:var(--shadow-s); transform:translateY(-3px);}
.q-ic{width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:var(--tb); color:var(--t); margin-bottom:10px;}
.q-ic .ic{width:24px; height:24px;}

/* ---------- Treatment cards ---------- */
.treat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.treat-grid.is-detailed{grid-template-columns:repeat(3,1fr);}
.treat-card{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; text-decoration:none!important; color:var(--ink)!important; transition:all .22s ease; position:relative; overflow:hidden;}
.treat-card::after{content:""; position:absolute; left:0; right:0; top:0; height:4px; background:var(--t); opacity:0; transition:opacity .2s;}
.treat-card:hover{transform:translateY(-5px); box-shadow:var(--shadow); border-color:transparent;}
.treat-card:hover::after{opacity:1;}
.treat-icon{width:54px; height:54px; border-radius:16px; background:var(--tb); color:var(--t); display:grid; place-items:center; margin-bottom:18px;}
.treat-icon .ic{width:28px; height:28px;}
.treat-card h3{font-size:1.14rem; margin-bottom:.4em;}
.treat-card p{color:var(--muted); font-size:.94rem; margin-bottom:14px;}
.treat-points{list-style:none; margin:0 0 14px; display:grid; gap:7px; font-size:.88rem; color:var(--ink);}
.treat-points li{display:flex; gap:8px; align-items:flex-start;}
.treat-points .ic{color:var(--t); margin-top:3px; width:16px; height:16px;}
.treat-link{margin-top:auto; display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:.92rem; color:var(--teal); text-decoration:none;}
.treat-link .ic{transition:transform .2s;}
.treat-card:hover .treat-link .ic,.treat-link:hover .ic{transform:translateX(4px);}

/* ---------- Stats ---------- */
.stats-band{background:linear-gradient(110deg,var(--navy),var(--navy-2) 60%,#0A4A9E); color:#fff; padding:56px 0;}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center;}
.stat{padding:0 10px; border-right:1px solid rgba(255,255,255,.14);}
.stat:last-child{border-right:0;}
.stat-num{display:block; font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,4vw,3.3rem); line-height:1.1; color:#fff;}
.stat-num small{font-size:.5em; color:var(--aqua); margin-left:2px;}
.stat > span{display:block; color:#B9C9E6; font-size:.92rem; margin-top:6px;}

/* ---------- About ---------- */
.about-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:center;}
.doc-card{background:linear-gradient(160deg,var(--navy),var(--navy-2)); border-radius:28px; padding:34px; color:#fff; position:relative; overflow:hidden; box-shadow:var(--shadow);}
.doc-card::before{content:""; position:absolute; width:260px; height:260px; border-radius:50%; background:rgba(25,181,176,.2); right:-80px; top:-80px;}
.doc-photo img{width:100%; aspect-ratio:1; object-fit:cover; border-radius:20px; margin-bottom:22px; position:relative;}
.doc-mono{width:132px; height:132px; border-radius:50%; background:linear-gradient(135deg,var(--aqua),var(--teal)); display:grid; place-items:center; font-family:var(--serif); font-size:3.4rem; color:#fff; margin-bottom:20px; position:relative; border:5px solid rgba(255,255,255,.2);}
.doc-card h3,.doc-card .h3{color:#fff; margin-bottom:.15em; font-size:1.55rem; position:relative;}
.doc-card .role{display:block; color:var(--aqua); font-size:.9rem; margin-bottom:18px; position:relative;}
.doc-card ul{list-style:none; display:grid; gap:10px; margin-bottom:22px; position:relative;}
.doc-card li{display:flex; align-items:center; gap:10px; color:#E1E9F5;}
.doc-card li .ic{color:var(--aqua);}
.care-cols{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:26px 0 22px;}
.care-col{background:var(--ice); border-radius:16px; padding:18px;}
.care-n{display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--coral); color:#fff; font-weight:700; font-size:.85rem; margin-bottom:10px;}
.care-col h4{font-family:var(--sans); font-weight:600; font-size:1rem; margin-bottom:.25em;}
.care-col p{font-size:.88rem; color:var(--muted); margin:0;}

/* ---------- Why / philosophy ---------- */
.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.has-side-image .why-grid{grid-template-columns:repeat(2,1fr);}
.why-card,.phil-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 24px; transition:all .2s;}
.why-card:hover,.phil-card:hover{box-shadow:var(--shadow); transform:translateY(-3px);}
.why-ic{width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:var(--mint); color:var(--teal); margin-bottom:16px;}
.why-ic .ic{width:26px; height:26px;}
.why-card h3,.phil-card h3{font-size:1.14rem;}
.why-card p,.phil-card p{color:var(--muted); font-size:.94rem; margin:0;}
.philosophy{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.patient-box{background:linear-gradient(135deg,var(--navy),var(--navy-2)); color:#fff; border-radius:28px; padding:48px; display:grid; grid-template-columns:1.1fr .9fr; gap:44px; align-items:center; position:relative; overflow:hidden;}
.patient-box h2{color:#fff;}
.patient-box .big{font-size:1.15rem; color:#D3DDF0; max-width:46ch;}
.pb-quote{width:44px; height:44px; color:var(--aqua); margin-bottom:12px;}
.pb-label{color:#B9C9E6; margin-bottom:14px;}
.feedback-tags{display:flex; flex-wrap:wrap; gap:10px;}
.feedback-tags span{background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); padding:8px 16px; border-radius:999px; font-size:.9rem;}
.pb-rating{margin:20px 0 0; color:#D3DDF0;} .pb-rating .ic{color:var(--gold);} .pb-rating a{color:var(--aqua);}
.check-card{list-style:none; background:var(--ice); border-radius:var(--radius); padding:28px; display:grid; gap:14px;}
.check-card li,.tick-list li{display:flex; gap:12px; align-items:flex-start;}
.check-card .ic,.tick-list .ic{color:#fff; background:var(--teal); border-radius:50%; padding:4px; width:24px; height:24px; margin-top:2px;}
.tick-list{list-style:none; display:grid; gap:12px; margin:0 0 1.2em;}

/* ---------- Journey ---------- */
.journey{list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; counter-reset:j; position:relative;}
.journey li{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px 22px; position:relative;}
.journey li:not(:last-child)::after{content:""; position:absolute; top:46px; right:-20px; width:20px; border-top:2px dashed var(--aqua);}
.journey-n{display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--coral); color:#fff; font-weight:700; margin-bottom:14px; font-family:var(--serif);}
.journey h3{font-size:1.1rem;} .journey p{color:var(--muted); font-size:.92rem; margin:0;}
.process-with-image .journey{grid-template-columns:repeat(2,1fr);}
.process-with-image .journey li::after{display:none;}

/* ---------- Featured care ---------- */
.feat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.feat-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px; display:flex; flex-direction:column; gap:6px;}
.feat-card .tag{align-self:flex-start; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:var(--coral); background:#FDEBE4; padding:4px 12px; border-radius:999px; margin-bottom:8px;}
.feat-card p{color:var(--muted); font-size:.94rem;}

/* ---------- Testimonials ---------- */
.testi-carousel{max-width:820px; margin:0 auto; position:relative;}
.testi-slide{display:none;} .testi-slide.is-active{display:block; animation:fadeUp .5s ease;}
@keyframes fadeUp{from{opacity:0; transform:translateY(10px);}to{opacity:1; transform:none;}}
.testi-card{margin:0; background:#fff; border-radius:26px; padding:44px 44px 36px; box-shadow:var(--shadow); text-align:center; position:relative; border:1px solid var(--line);}
.testi-quote{position:absolute; top:22px; left:26px; width:44px; height:44px; color:var(--mint); stroke-width:1.2; fill:var(--mint);}
.testi-stars{color:var(--gold); font-size:1.3rem; letter-spacing:3px; margin-bottom:12px;}
.testi-card blockquote{margin:0 0 20px; font-family:var(--serif); font-size:1.25rem; line-height:1.55; color:var(--navy);}
.testi-card blockquote p{margin:0; max-width:none;}
.testi-card figcaption{display:flex; align-items:center; justify-content:center; gap:14px; text-align:left;}
.testi-card figcaption strong{display:block; color:var(--navy);} .testi-card figcaption em{font-style:normal; color:var(--muted); font-size:.88rem;}
.testi-avatar img{width:54px; height:54px; border-radius:50%; object-fit:cover;}
.testi-controls{display:flex; align-items:center; justify-content:center; gap:18px; margin-top:24px;}
.testi-controls button,.gallery-nav button{width:44px; height:44px; border-radius:50%; border:1.5px solid var(--navy); background:#fff; color:var(--navy); cursor:pointer; display:grid; place-items:center; transition:all .2s;}
.testi-controls button:hover,.gallery-nav button:hover{background:var(--navy); color:#fff;}
.testi-dots{display:flex; gap:8px;}
.testi-dots button{width:10px; height:10px; padding:0; border-radius:50%; border:0; background:#C7D3E6;}
.testi-dots button.is-active{background:var(--coral); width:26px; border-radius:6px;}

/* ---------- Gallery ---------- */
.gallery-track{display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; scrollbar-width:thin;}
.gallery-item{flex:0 0 min(320px,78vw); scroll-snap-align:start;}
.gallery-item img{width:100%; height:230px; object-fit:cover; border-radius:var(--radius);}
.gallery-nav{display:flex; gap:12px; justify-content:center; margin-top:18px;}

/* ---------- FAQ ---------- */
.faq-list{display:grid; gap:12px;}
.faq-item{background:#fff; border:1px solid var(--line); border-radius:16px; overflow:hidden; transition:box-shadow .2s;}
.faq-item[open]{box-shadow:var(--shadow-s); border-color:#C9DDB0;}
.faq-item summary{list-style:none; cursor:pointer; padding:18px 22px; display:flex; justify-content:space-between; align-items:center; gap:16px; font-weight:600; color:var(--navy);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .ic{color:var(--teal); transition:transform .25s; width:20px; height:20px;}
.faq-item[open] summary .ic{transform:rotate(180deg);}
.faq-a{padding:0 22px 20px; color:var(--muted);} .faq-a p{margin:0; max-width:none;}
.faq-page{max-width:880px;}
.faq-jump{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:34px;}
.faq-jump a{padding:9px 18px; border-radius:999px; background:var(--mint); color:var(--teal); text-decoration:none; font-weight:600; font-size:.9rem;}
.faq-jump a:hover{background:var(--teal); color:#fff;}
.faq-group{margin-bottom:40px;} .faq-group h2{font-size:1.5rem; margin-bottom:16px;}
.faq-more{margin-top:20px;}

/* ---------- Blog ---------- */
.post-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.post-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:all .22s;}
.post-card:hover{transform:translateY(-5px); box-shadow:var(--shadow); border-color:transparent;}
.post-cover{display:block; aspect-ratio:16/10; overflow:hidden; background:var(--tb,var(--mint));}
.post-cover .cover-img{width:100%; height:100%; object-fit:cover; transition:transform .5s;}
.post-card:hover .cover-img{transform:scale(1.05);}
.cover-fallback{width:100%; height:100%; min-height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--t,#3A7D02); background:radial-gradient(circle at 25% 20%,#fff 0,var(--tb,#E0F3F2) 70%); position:relative;}
.cover-fallback::before{content:""; position:absolute; width:70%; aspect-ratio:1; border-radius:50%; border:2px dashed var(--t,#3A7D02); opacity:.18;}
.cover-fallback .ic{width:54px; height:54px; stroke-width:1.4;}
.cover-fallback span{font-weight:700; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; position:relative;}
.post-body{padding:22px 24px 24px; display:flex; flex-direction:column; flex:1;}
.post-meta{display:flex; gap:12px; align-items:center; font-size:.8rem; color:var(--muted); margin-bottom:10px;}
.post-topic{background:var(--tb,var(--mint)); color:var(--t,var(--teal))!important; font-weight:700; padding:3px 12px; border-radius:999px; text-decoration:none!important; font-size:.76rem; letter-spacing:.02em;}
.post-body h3{font-size:1.18rem; margin-bottom:.45em;}
.post-body h3 a{color:var(--navy); text-decoration:none;} .post-body h3 a:hover{color:var(--teal);}
.post-body p{color:var(--muted); font-size:.93rem; margin-bottom:14px;}
.post-featured{margin-bottom:26px;}
.post-card.is-featured{flex-direction:row;}
.post-card.is-featured .post-cover{flex:0 0 52%; aspect-ratio:auto; min-height:340px;}
.post-card.is-featured .post-body{justify-content:center; padding:36px;}
.post-card.is-featured h3{font-size:1.7rem;}
.blog-tools{display:grid; gap:20px; margin-bottom:34px;}
.blog-search{display:flex; align-items:center; gap:10px; background:#fff; border:1.5px solid var(--line); border-radius:999px; padding:6px 6px 6px 20px; max-width:560px;}
.blog-search:focus-within{border-color:var(--teal);}
.blog-search .ic{color:var(--muted);}
.blog-search input[type=search]{flex:1; border:0; outline:0; font:inherit; font-size:1rem; background:none; min-width:0; padding:8px 0;}
.topic-chips{display:flex; gap:10px; flex-wrap:wrap;}
.topic-chips a{padding:8px 16px; border-radius:999px; background:var(--ice); border:1px solid var(--line); color:var(--navy); text-decoration:none; font-weight:500; font-size:.88rem;}
.topic-chips a small{color:var(--muted); margin-left:4px;}
.topic-chips a:hover,.topic-chips a.is-active{background:var(--navy); color:#fff; border-color:var(--navy);}
.topic-chips a.is-active small,.topic-chips a:hover small{color:var(--aqua);}
.pagination ul{list-style:none; display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:44px;}
.pagination a,.pagination span{display:grid; place-items:center; min-width:44px; height:44px; padding:0 14px; border-radius:12px; border:1px solid var(--line); text-decoration:none; color:var(--navy); font-weight:600;}
.pagination .current{background:var(--navy); color:#fff; border-color:var(--navy);}
.pagination a:hover{background:var(--mint);}
.empty-state{text-align:center; padding:60px 0; color:var(--muted);} .empty-state .ic{width:48px; height:48px; color:var(--teal);}
.related-treat{display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap;}
.related-treat h2{margin-bottom:.2em;} .related-treat p{margin:0; color:var(--muted);}

/* ---------- Article ---------- */
.read-progress{position:fixed; top:0; left:0; height:4px; width:0; background:linear-gradient(90deg,var(--teal),var(--coral)); z-index:100;}
.article-hero h1{max-width:26ch;}
.topic-pill{display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.28); color:#fff!important; padding:6px 14px; border-radius:999px; text-decoration:none!important; font-weight:600; font-size:.82rem; margin-bottom:16px;}
.topic-pill:hover{background:#fff; color:var(--navy)!important;}
.byline{display:flex; gap:10px 24px; flex-wrap:wrap; color:#B9C9E6; font-size:.88rem; margin:18px 0 0!important;}
.byline span{display:inline-flex; align-items:center; gap:7px;}
.article-layout{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:56px; align-items:start;}
.article-main{min-width:0; max-width:780px;}
.article-cover{margin:0 0 30px;} .article-cover img{width:100%; height:auto; max-height:480px; object-fit:cover; border-radius:var(--radius);}
.answer-box{background:var(--mint); border-left:5px solid var(--teal); border-radius:0 var(--radius-s) var(--radius-s) 0; padding:20px 24px; margin:0 0 28px;}
.answer-box p{margin:0; font-size:1.06rem; color:var(--ink); max-width:none;}
.answer-label{display:flex; align-items:center; gap:8px; font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--teal); margin-bottom:8px;}
.toc ol{margin:10px 0 0 1.1em; display:grid; gap:7px; font-size:.93rem;} .toc a{text-decoration:none; color:var(--ink);} .toc a:hover,.toc a.is-current{color:var(--teal); font-weight:600;}
.toc-inline{background:var(--ice); border:1px solid var(--line); border-radius:var(--radius-s); padding:18px 24px; margin-bottom:30px; display:none;}
.article-body{font-size:1.06rem; max-width:none;}
.prose h2{font-size:1.6rem; margin:1.7em 0 .55em;} .prose h3{font-size:1.25rem; margin:1.4em 0 .4em;}
.prose p,.prose li{max-width:none;} .prose ul,.prose ol{padding-left:1.3em; margin:0 0 1.2em; display:grid; gap:.4em;}
.prose blockquote{margin:1.5em 0; padding:14px 22px; border-left:4px solid var(--coral); background:var(--ice); border-radius:0 12px 12px 0; font-family:var(--serif); font-size:1.12rem;}
.prose img{border-radius:var(--radius-s); margin:1.4em auto; height:auto;} .prose figure{margin:1.6em 0;} .prose figcaption{font-size:.86rem; color:var(--muted); text-align:center; margin-top:8px;}
.prose table{width:100%; border-collapse:collapse; margin:1.4em 0; font-size:.95rem;} .prose th,.prose td{border:1px solid var(--line); padding:10px 14px; text-align:left;} .prose th{background:var(--ice);}
.prose a{font-weight:500;}
.article-gallery{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; margin:34px 0;}
.article-gallery img{width:100%; height:190px; object-fit:cover; border-radius:var(--radius-s);}
.article-faq{margin-top:44px;} .article-faq h2{font-size:1.6rem;}
.share-row{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:36px 0 24px; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.share-btn{display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:999px; border:1px solid var(--line); background:#fff; color:var(--navy)!important; text-decoration:none; font:600 .86rem var(--sans); cursor:pointer;}
.share-btn:hover{background:var(--navy); color:#fff!important;}
.author-box{display:flex; gap:16px; background:var(--ice); border-radius:var(--radius); padding:22px; align-items:flex-start;}
.author-ic{width:50px; height:50px; border-radius:14px; background:linear-gradient(135deg,var(--teal),var(--navy-2)); color:#fff; display:grid; place-items:center; flex:none;}
.author-box p{margin:.2em 0 0; color:var(--muted); font-size:.92rem;}
.article-side{position:sticky; top:104px; display:grid; gap:18px;}
.side-card{background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:22px;}
.side-card .h4{margin-bottom:.6em;}
.book-card{background:linear-gradient(160deg,var(--navy),var(--navy-2)); color:#D3DDF0; border:0;}
.book-card .h4{color:#fff;} .book-card .btn{margin-top:10px;} .book-card p{margin-bottom:14px; font-size:.94rem;}
.book-card .btn-outline{border-color:rgba(255,255,255,.5); color:#fff;} .book-card .btn-outline:hover{background:#fff; color:var(--navy);}
.related-card{display:flex; flex-direction:column; gap:6px; text-decoration:none!important; color:var(--muted)!important; font-size:.92rem;}
.related-card strong{font-family:var(--serif); font-size:1.15rem; color:var(--navy);}
.related-card:hover{box-shadow:var(--shadow);}
.side-links{list-style:none; display:grid; gap:2px;} .side-links a{display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:10px; text-decoration:none; color:var(--ink); font-size:.92rem; font-weight:500;}
.side-links a:hover{background:var(--mint); color:var(--teal);} .side-links .ic{color:var(--teal);}

/* ---------- Treatment page ---------- */
.treat-layout{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:56px; align-items:start;}
.treat-main h2{margin-top:1.6em; font-size:1.6rem;} .treat-main > .answer-box + .quick-facts{margin-top:0;}
.quick-facts{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:0 0 10px;}
.quick-facts div{background:var(--ice); border-radius:var(--radius-s); padding:16px 18px; border:1px solid var(--line);}
.quick-facts dt{font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--teal); font-weight:700; margin-bottom:4px;} .quick-facts dd{margin:0; font-size:.92rem; color:var(--ink);}
.steps{list-style:none; display:grid; gap:14px; margin:0 0 1em;}
.steps li{display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:var(--radius-s); padding:18px 20px;}
.step-n{flex:none; width:38px; height:38px; border-radius:50%; background:var(--coral); color:#fff; display:grid; place-items:center; font-weight:700; font-family:var(--serif);}
.steps h3{font-size:1.05rem; margin-bottom:.15em;} .steps p{margin:0; color:var(--muted); font-size:.94rem;}

/* ---------- CTA band ---------- */

/* ---------- Contact ---------- */
.contact-section{background:var(--ice);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:start;}
.contact-info .lede{color:var(--muted);}
.info-list{list-style:none; display:grid; gap:18px; margin:24px 0;}
.info-list li{display:flex; gap:16px; align-items:flex-start;} .info-list strong{display:block; color:var(--navy);} .info-list address{font-style:normal; color:var(--muted);}
.info-list a{color:var(--teal); font-weight:500;}
.info-ic{width:46px; height:46px; border-radius:14px; background:#fff; color:var(--teal); display:grid; place-items:center; flex:none; box-shadow:var(--shadow-s);}
.form-box{background:#fff; border-radius:26px; padding:34px; box-shadow:var(--shadow); border:1px solid var(--line);}
.form-box h3{font-size:1.5rem; margin-bottom:18px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px; min-width:0;}
.form-field{margin-bottom:14px; min-width:0;}
.form-field label{display:block; font-size:.84rem; font-weight:600; color:var(--navy); margin-bottom:6px;}
.form-field input,.form-field select,.form-field textarea{width:100%; font:inherit; font-size:16px; padding:12px 14px; border:1.5px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); transition:border-color .2s, box-shadow .2s; min-width:0;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:0; border-color:var(--teal); box-shadow:0 0 0 4px rgba(58,125,2,.14);}
.form-field textarea{resize:vertical; min-height:90px;}
.hp-field{position:absolute!important; left:-5000px; width:1px; height:1px; overflow:hidden;}
.form-note{font-size:.8rem; color:var(--muted); margin:12px 0 0; max-width:none;}
.appt-result{margin-top:16px; padding:16px 18px; border-radius:14px; font-size:.95rem;}
.appt-result[hidden]{display:none;}
.appt-result p{margin:0 0 10px;} .appt-result p:last-child{margin:0;}
.appt-result.is-success{background:#E3F6EA; border:1px solid #A9DDB9; color:#14532D;}
.appt-result.is-error{background:#FDEAEA; border:1px solid #F3B4B4; color:#7A1C1C;}
.map-frame{margin-top:8px; border-radius:var(--radius); overflow:hidden; background:var(--mint); aspect-ratio:16/10; position:relative; border:1px solid var(--line);}
.map-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.map-load{position:absolute; inset:0; width:100%; border:0; background:linear-gradient(135deg,var(--mint),#D5E3F5); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; cursor:pointer; font:inherit; color:var(--navy);}
.map-load .ic{width:34px; height:34px; color:var(--coral);} .map-load strong{font-size:1.05rem;} .map-load span{font-size:.86rem; color:var(--muted);}
.loc-photo,.cta-image{margin:0 0 22px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy); color:#B9C9E6; padding:70px 0 26px; font-size:.94rem;}
.footer-grid{display:grid; grid-template-columns:1.4fr .9fr 1.1fr 1.2fr; gap:44px; padding-bottom:40px;}
.brand-light .brand-text strong{color:#fff;} .brand-light .brand-text em{color:#9FB4D6;}
.footer-brand p{margin:18px 0; max-width:36ch;}
.social{display:flex; gap:10px;} .social a{width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.08); color:#fff; display:grid; place-items:center; transition:background .2s;} .social a:hover{background:var(--coral); color:#fff;}
.footer-h{font-family:var(--sans)!important; font-size:.82rem!important; letter-spacing:.14em; text-transform:uppercase; color:#fff!important; font-weight:700!important; margin:0 0 18px!important;}
.footer-links,.footer-contact,.footer-blog ul{list-style:none; display:grid; gap:10px;}
.site-footer a{color:#B9C9E6; text-decoration:none;} .site-footer a:hover{color:#fff; text-decoration:underline;}
.footer-contact li{display:flex; gap:12px; align-items:flex-start;} .footer-contact .ic{color:var(--aqua); margin-top:4px;}
.footer-contact + .btn{margin-top:18px;} .site-footer .btn-light{color:var(--navy);} .site-footer .btn-light:hover{color:var(--navy); text-decoration:none;}
.footer-more{color:var(--aqua)!important; font-weight:600;}
.footer-blog{padding:26px 0; border-top:1px solid rgba(255,255,255,.12);} .footer-blog ul{grid-template-columns:repeat(3,1fr); gap:10px 30px;}
.footer-bottom{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; border-top:1px solid rgba(255,255,255,.12); padding-top:22px; font-size:.86rem;}
.footer-bottom strong{color:#fff;}
.footer-disclaimer{font-size:.78rem; color:#93A9CE; margin:14px 0 0; max-width:none;}

/* ---------- Floating UI ---------- */
.mobile-bar{display:none;}
.enquiry-dialog{border:0; padding:0; background:transparent; max-width:520px; width:calc(100% - 28px); margin:auto; overflow:visible;}
.enquiry-dialog::backdrop{background:rgba(0,40,96,.65); backdrop-filter:blur(3px);}
.enquiry-card{background:#fff; border-radius:26px; padding:32px; position:relative; max-height:92vh; overflow:auto;}
.enquiry-card h2{font-size:1.6rem; margin-bottom:.2em;} .enquiry-card > p{margin-bottom:18px;}
.enquiry-close{position:absolute; top:16px; right:16px; width:40px; height:40px; border-radius:50%; border:0; background:var(--ice); color:var(--navy); cursor:pointer; display:grid; place-items:center;}

/* ---------- Motion ---------- */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1; transform:none; transition:none;}
  .float-card,.testi-slide.is-active{animation:none;}
  *{transition-duration:.01ms!important;}
}

/* ---------- Responsive ---------- */
@media (max-width:1500px){
  .nav-phone{width:44px; height:44px; background:var(--mint); border-radius:12px; justify-content:center;}
  .nav-phone span{display:none;}
  .nav-wrap{gap:18px;}
  .brand-text strong{font-size:1.04rem;}
  .nav-cta{padding:11px 18px;}
}
@media (max-width:1180px){
  .treat-grid{grid-template-columns:repeat(3,1fr);}
  .nav-item > a{padding:10px 8px; font-size:.88rem;}
}
@media (max-width:1024px){
  .hamburger{display:grid;}
  .dadh-site .nav-cta{display:none;}
  .nav-phone{display:inline-flex; width:44px; height:44px; background:var(--mint); border-radius:12px; justify-content:center;}
  .main-nav{position:fixed; top:0; right:0; height:100vh; height:100dvh; width:min(88vw,390px); background:#fff; z-index:75; flex-direction:column; align-items:stretch; justify-content:flex-start; padding:84px 22px 24px; overflow-y:auto; transform:translateX(105%); transition:transform .3s ease; box-shadow:-20px 0 40px -20px rgba(0,0,0,.35); visibility:hidden;}
  .main-nav.open{transform:none; visibility:visible;}
  .site-header{z-index:70;}
  .hamburger{position:relative; z-index:80;}
  .nav-list{flex-direction:column; align-items:stretch; gap:0;}
  .nav-item{flex-wrap:wrap; border-bottom:1px solid var(--line);}
  .nav-item > a{flex:1; padding:15px 4px; font-size:1.02rem; background:none!important;}
  .sub-toggle{padding:14px 10px; margin:0;}
  .sub-panel,.mega-panel{position:static; width:100%; min-width:0; box-shadow:none; border:0; border-radius:0; padding:0 0 10px 10px; opacity:1; visibility:visible; transform:none!important; display:none; flex-basis:100%;}
  .has-sub.open > .sub-panel{display:block;}
  .has-sub:hover > .sub-panel{opacity:1;}
  .mega-grid{grid-template-columns:1fr;}
  .nav-mobile-cta{display:grid; gap:10px; margin-top:22px;}
  .hero-grid,.about-grid,.split,.contact-grid,.has-side-image,.process-with-image,.patient-box{grid-template-columns:1fr; gap:38px;}
  .hero{padding:56px 0 110px;}
  .hero-photo{max-width:380px;} .hero-illus{width:min(320px,70vw);}
  .fc-exp{left:0;} .fc-care{right:0;}
  .why-grid,.has-side-image .why-grid{grid-template-columns:repeat(2,1fr);}
  .journey{grid-template-columns:repeat(2,1fr);} .journey li::after{display:none!important;}
  .post-grid{grid-template-columns:repeat(2,1fr);}
  .treat-grid.is-detailed{grid-template-columns:repeat(2,1fr);}
  .article-layout,.treat-layout{grid-template-columns:1fr; gap:36px;}
  .article-side{position:static;}
  .toc-inline{display:block;} .toc-side{display:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .stats-grid{grid-template-columns:repeat(2,1fr);} .stat:nth-child(2){border-right:0;}
  .post-card.is-featured{flex-direction:column;} .post-card.is-featured .post-cover{flex:none; min-height:0; aspect-ratio:16/10;}
}
@media (max-width:820px){
  .section{padding:68px 0;}
  .quick-grid{grid-template-columns:repeat(2,1fr);}
  .topbar-hours,.topbar-right a:nth-child(2){display:none;}
  .mobile-bar{display:grid; grid-template-columns:repeat(3,1fr); position:fixed; left:0; right:0; bottom:0; z-index:79; background:#fff; border-top:1px solid var(--line); box-shadow:0 -10px 24px -14px rgba(0,40,96,.4); padding-bottom:env(safe-area-inset-bottom);}
  .mobile-bar a{display:flex; flex-direction:column; align-items:center; gap:2px; padding:9px 4px; font-size:.74rem; font-weight:600; text-decoration:none; color:var(--navy);}
  .mobile-bar .ic{width:22px; height:22px;} .mobile-bar .mb-call .ic{color:var(--teal);} .mobile-bar .mb-wa .ic{color:var(--wa);} .mobile-bar .mb-book{background:var(--cta); color:var(--cta-ink);}
  .float-stack{display:none!important;}
  body.dadh-site{padding-bottom:64px;}
  .care-cols,.philosophy,.feat-grid{grid-template-columns:1fr;}
  .quick-facts{grid-template-columns:1fr;}
  .footer-blog ul{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .dadh-site .wrap{padding:0 18px;}
  .topbar-left .topbar-emergency{font-size:.8rem;}
  .topbar-right{display:none;}
  .brand-text strong{font-size:.92rem;} .brand{max-width:74vw; gap:10px;} .brand-mark{width:40px; height:40px;}
  .nav-phone{display:none;}
  .treat-grid,.treat-grid.is-detailed,.why-grid,.has-side-image .why-grid,.post-grid,.journey,.process-with-image .journey{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .hero-actions .btn,.cta-band-actions .btn,.btn-row .btn{width:100%;}
  .hero-checks{gap:10px 18px;}
  .float-card{padding:9px 12px;} .float-card .ic{width:22px; height:22px;} .float-card strong{font-size:.95rem;}
  .quick{margin-top:-60px;} .quick-card{padding:20px 16px;} .quick-grid{gap:10px;} .quick-tile{padding:14px;}
  .testi-card{padding:36px 22px 28px;} .testi-card blockquote{font-size:1.08rem;}
  .footer-grid{grid-template-columns:1fr; gap:32px;}
  .form-box,.enquiry-card{padding:22px;} .patient-box{padding:30px 22px;}
  .stats-grid{grid-template-columns:1fr 1fr; gap:26px 8px;} .stat{border:0;}
  .page-hero{padding:44px 0 50px;}
}
@media print{.topbar,.site-header,.float-stack,.mobile-bar,.cta-band,.site-footer,.article-side{display:none!important;}}

/* =====================================================================
   v2.1 professional refinements: spacing, buttons, CTA panel, floating UI
   ===================================================================== */
.dadh-site.cta-navy{--cta:#002860; --cta-d:#0B3B85; --cta-glow:rgba(0,40,96,.7); --cta-ink:#fff;}
.dadh-site.cta-blue{--cta:#1D5FD0; --cta-d:#174EAD; --cta-glow:rgba(29,95,208,.7); --cta-ink:#fff;}
.dadh-site.btn-rounded .btn,.dadh-site.btn-rounded .nav-cta{border-radius:12px;}
.dadh-site.btn-square .btn,.dadh-site.btn-square .nav-cta{border-radius:4px;}
.dadh-site .btn{letter-spacing:.01em; padding:14px 28px; font-weight:600;}
.dadh-site .btn-lg{padding:17px 32px; font-size:1.02rem;}
.dadh-site .btn-primary{box-shadow:0 1px 2px rgba(0,40,96,.18), 0 12px 24px -14px var(--cta-glow);}
.dadh-site .btn-primary:hover{transform:translateY(-2px); box-shadow:0 1px 2px rgba(0,40,96,.18), 0 16px 28px -14px var(--cta-glow);}
.dadh-site .btn-outline{border-width:1.5px;}
.dadh-site .btn-ghost{border-width:1.5px; background:rgba(255,255,255,.06);}
.dadh-site .nav-cta{padding:12px 22px;}
.dadh-site .btn .ic{width:1.2em; height:1.2em;}

/* generous, consistent rhythm */
.dadh-site .wrap{padding-left:32px; padding-right:32px;}
.section{padding:116px 0;}
.sec-head{margin-bottom:60px; max-width:760px;}
.sec-head .lede{font-size:1.1rem; line-height:1.7;}
.sec-row{margin-bottom:52px;}
.eyebrow{margin-bottom:18px;}
.dadh-site h2{margin-bottom:.55em;}
.dadh-site p{line-height:1.75;}
.split,.has-side-image{gap:72px;}
.treat-grid,.why-grid,.post-grid{gap:28px;}
.page-hero{padding-top:84px; padding-bottom:92px;}
.hero{padding-top:92px;}
.disclaimer{margin-top:44px; padding:18px 22px;}
.treat-card{padding:32px 30px;}
.why-card{padding:32px 30px;}
.faq-item summary{padding:22px 26px;}
.post-body{padding:26px 26px 28px;}

/* CTA band: a floating panel instead of a full-width strip */
.cta-band{background:#fff; padding:28px 0 112px; position:relative; color:#fff;}
.cta-panel{position:relative; overflow:hidden; display:grid; grid-template-columns:1.2fr .8fr; gap:56px; align-items:center; padding:68px 68px; border-radius:28px; background:linear-gradient(118deg,#001B45 0%,#0B3B85 52%,#0A4A9E 100%); box-shadow:0 40px 70px -40px rgba(0,40,96,.7);}
.cta-panel::before{content:""; position:absolute; right:-140px; top:-160px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(138,217,43,.28),rgba(138,217,43,0) 68%);}
.cta-panel::after{content:""; position:absolute; left:-90px; bottom:-150px; width:320px; height:320px; border-radius:50%; border:1px solid rgba(255,255,255,.1); box-shadow:0 0 0 44px rgba(255,255,255,.03);}
.cta-copy,.cta-band-actions{position:relative; z-index:1;}
.cta-eyebrow{display:inline-flex; align-items:center; gap:8px; padding:8px 16px; border-radius:999px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16); color:#B8E67A; font-size:.76rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:22px;}
.dadh-site .cta-band h2{color:#fff; font-size:clamp(1.7rem,3vw,2.5rem); max-width:21ch; margin-bottom:.45em;}
.cta-band p{color:#C9D7EF; margin:0; max-width:50ch; font-size:1.05rem;}
.cta-band-actions{display:flex; flex-direction:column; gap:14px;}
.cta-band-actions .btn{width:100%;}
.dadh-site a.cta-wa{display:inline-flex; align-items:center; justify-content:center; gap:9px; color:#DCE8F8; text-decoration:none; font-weight:500; font-size:.95rem; padding-top:6px;}
.dadh-site a.cta-wa .ic{color:#4ADE80; width:1.25em; height:1.25em;}
.dadh-site a.cta-wa:hover{color:#fff; text-decoration:underline; text-underline-offset:4px;}

/* Floating action buttons (desktop/tablet) */
.float-stack{position:fixed; right:26px; bottom:26px; z-index:80; display:flex; flex-direction:column; align-items:flex-end; gap:12px;}
.fab{display:inline-flex; flex-direction:row-reverse; align-items:center; justify-content:center; gap:0; height:54px; min-width:54px; padding:0 15px; border:0; border-radius:999px; cursor:pointer; color:#fff!important; text-decoration:none!important; font:600 .9rem/1 var(--sans); box-shadow:0 14px 28px -12px rgba(0,40,96,.55), 0 2px 6px rgba(0,40,96,.16); transition:transform .2s ease, box-shadow .2s ease, background .2s ease, gap .25s ease, padding .25s ease; -webkit-tap-highlight-color:transparent;}
.fab .ic{width:24px; height:24px; flex:none;}
.fab-label{max-width:0; opacity:0; overflow:hidden; white-space:nowrap; transition:max-width .28s ease, opacity .2s ease;}
.fab:hover,.fab:focus-visible{gap:10px; padding:0 20px 0 18px; transform:translateY(-2px); box-shadow:0 18px 30px -12px rgba(0,40,96,.6), 0 2px 6px rgba(0,40,96,.18);}
.fab:hover .fab-label,.fab:focus-visible .fab-label{max-width:110px; opacity:1;}
.fab-wa{background:var(--wa);} .fab-wa:hover{background:#188f49;}
.fab-call{background:var(--navy);} .fab-call:hover{background:var(--navy-2);}
.fab-top{width:44px; height:44px; min-width:44px; padding:0; background:#fff; color:var(--navy)!important; border:1px solid var(--line); box-shadow:0 10px 22px -12px rgba(0,40,96,.4); opacity:0; transform:translateY(8px);}
.fab-top .ic{width:20px; height:20px;}
.fab-top.is-in{opacity:1; transform:none;}
.fab-top:hover{padding:0; gap:0; background:var(--mint);}
.fab[hidden]{display:none;}

/* Phones: refined bottom action bar */
@media (max-width:820px){
  .dadh-site .wrap{padding-left:20px; padding-right:20px;}
  .section{padding:72px 0;}
  .sec-head{margin-bottom:40px;}
  .sec-row{margin-bottom:34px;}
  .split,.has-side-image{gap:44px;}
  .cta-band{padding:12px 0 84px;}
  .cta-panel{grid-template-columns:1fr; gap:32px; padding:44px 26px; border-radius:22px;}
  body.dadh-site{padding-bottom:calc(64px + env(safe-area-inset-bottom));}
  .mobile-bar{padding-bottom:env(safe-area-inset-bottom); box-shadow:0 -14px 28px -18px rgba(0,40,96,.4);}
  .mobile-bar a{padding:11px 4px 9px; gap:3px; font-size:.72rem; letter-spacing:.02em;}
  .mobile-bar a + a{border-left:1px solid var(--line);} .mobile-bar .mb-book{border-left:0!important;}
}
@media (max-width:1024px){.section{padding:92px 0;} .cta-panel{padding:52px 44px; gap:36px;}}
@media (max-width:820px){.section{padding:72px 0;}}
.fab-wa,.fab-call{box-shadow:0 0 0 3px rgba(255,255,255,.96), 0 14px 28px -10px rgba(0,40,96,.55);}
.fab-wa:hover,.fab-call:hover,.fab-wa:focus-visible,.fab-call:focus-visible{box-shadow:0 0 0 3px #fff, 0 18px 30px -10px rgba(0,40,96,.6);}
.blog-search{width:100%; box-sizing:border-box;}
.blog-search .btn{flex:none; padding:11px 20px; border-radius:999px;}
.blog-tools{grid-template-columns:minmax(0,1fr);}
.blog-search input[type=search]{width:100%; min-width:0;}

/* =====================================================================
   v2.2 frozen header + logo
   ===================================================================== */
.site-top{position:fixed; top:0; left:0; right:0; z-index:70; background:#fff; box-shadow:0 1px 0 var(--line);}
body.admin-bar .site-top{top:32px;}
@media (max-width:782px){body.admin-bar .site-top{top:46px;}}
@media (max-width:600px){body.admin-bar .site-top{top:0;}}
.site-top-spacer{height:124px;}
.topbar{overflow:hidden; max-height:48px; transition:max-height .28s ease, padding .28s ease, opacity .2s ease;}
.site-top.is-scrolled .topbar{max-height:0; padding-top:0; padding-bottom:0; opacity:0;}
.site-top.is-scrolled .site-header,.site-header.is-scrolled{box-shadow:0 12px 28px -20px rgba(0,40,96,.55);}
.nav-wrap{padding-top:10px; padding-bottom:10px;}
.brand{max-width:none; flex:none;}
.dadh-site .brand-logo{display:block; height:62px; width:auto; max-width:none; transition:height .25s ease;}
.dadh-site .site-top.is-scrolled .brand-logo{height:52px;}
.dadh-site .brand-light .brand-logo{height:76px;}
.dadh-site .brand-light.has-chip .brand-logo{background:#fff; padding:10px 14px; border-radius:12px; height:76px; box-sizing:content-box;}
.nav-item > a{font-weight:500;}
@media (max-width:1180px){.dadh-site .brand-logo{height:54px;} .dadh-site .site-top.is-scrolled .brand-logo{height:46px;}}
@media (max-width:820px){
  .site-top-spacer{height:104px;}
  .topbar{font-size:.78rem; padding:6px 0;}
  .dadh-site .brand-logo{height:46px;} .dadh-site .site-top.is-scrolled .brand-logo{height:40px;}
  .nav-wrap{padding-top:8px; padding-bottom:8px;}
  .dadh-site .brand-light .brand-logo,.dadh-site .brand-light.has-chip .brand-logo{height:64px;}
}
