:root {
  --navy: #071d2c;
  --navy-2: #102f43;
  --ink: #10222c;
  --coral: #ff6b59;
  --coral-dark: #e95240;
  --mint: #82d9d0;
  --cream: #f5f0e6;
  --paper: #fbfaf6;
  --white: #fff;
  --line: rgba(16, 34, 44, .14);
  --font-display: "Manrope", sans-serif;
  --font-body: "DM Sans", sans-serif;
  --max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-body); line-height: 1.6; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { color: var(--navy); background: var(--mint); }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; padding: .8rem 1rem; background: var(--white); }
.skip-link:focus { top: 1rem; }
.section { max-width: var(--max); margin: auto; padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 5vw, 5rem); }
.eyebrow { display: flex; align-items: center; gap: .65rem; margin: 0 0 1.5rem; font: 700 .73rem/1 var(--font-display); text-transform: uppercase; letter-spacing: .17em; }
.eyebrow span { width: 1.9rem; height: 2px; background: var(--coral); }
.eyebrow.light { color: rgba(255,255,255,.72); }
.eyebrow.dark { color: #42606f; }
h1,h2,h3,p { margin-top: 0; }
h1,h2,h3 { font-family: var(--font-display); letter-spacing: -.045em; }
h1 { font-size: clamp(3.25rem, 7.2vw, 7.25rem); line-height: .93; color: var(--white); margin-bottom: 2rem; }
h2 { font-size: clamp(2.55rem, 5vw, 5.5rem); line-height: 1.02; margin: 0; }
h1 em,h2 em { color: var(--mint); font-style: normal; font-weight: 500; }
.button { min-height: 3.35rem; padding: .85rem 1.2rem; display: inline-flex; align-items: center; justify-content: center; gap: .75rem; font-weight: 700; font-size: .9rem; border: 1px solid transparent; transition: transform .25s ease, background .25s ease, color .25s ease; }
.button svg,.text-link svg,.header-cta svg { width: 1rem; height: 1rem; transition: transform .25s ease; }
.button:hover { transform: translateY(-2px); }
.button:hover svg,.text-link:hover svg,.header-cta:hover svg { transform: translate(3px,-3px); }
.button-coral { background: var(--coral); color: var(--navy); }
.button-coral:hover { background: #ff836f; }
.button-navy { background: var(--navy); color: var(--white); }
.button-outline-light { border-color: rgba(255,255,255,.4); color: var(--white); }
.button-outline-light:hover { background: var(--white); color: var(--navy); }
.text-link { display: inline-flex; align-items: center; gap: .6rem; font-weight: 700; padding-block: .5rem; border-bottom: 1px solid currentColor; }
.light-link { color: var(--white); }
.reveal { opacity: 0; transform: translateY(34px); transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.reveal.in-view { opacity: 1; transform: none; }

.site-header { position: fixed; z-index: 100; top: 0; left: 0; right: 0; height: 88px; padding: 0 clamp(1.25rem,4vw,4rem); display: flex; align-items: center; gap: 2rem; color: var(--white); border-bottom: 1px solid rgba(255,255,255,.15); transition: height .3s, background .3s, color .3s, box-shadow .3s; }
.site-header.scrolled { height: 72px; background: rgba(251,250,246,.94); color: var(--ink); box-shadow: 0 10px 35px rgba(7,29,44,.08); backdrop-filter: blur(16px); }
.brand { display: flex; align-items: center; gap: .7rem; margin-right: auto; }
.brand-mark { width: 2.55rem; height: 2.55rem; display: grid; place-items: center; border-radius: 50%; background: var(--mint); color: var(--navy); }
.brand-mark svg { width: 1.45rem; }
.brand b,.brand small { display: block; }
.brand b { font: 800 1rem/1 var(--font-display); letter-spacing: .15em; }
.brand small { font-size: .62rem; letter-spacing: .08em; opacity: .72; margin-top: .3rem; }
.desktop-nav { display: flex; gap: clamp(1rem,2vw,2rem); }
.desktop-nav a { font-size: .82rem; font-weight: 600; position: relative; }
.desktop-nav a::after { content: ""; position: absolute; height: 1px; left: 0; right: 100%; bottom: -.4rem; background: var(--coral); transition: right .25s; }
.desktop-nav a:hover::after { right: 0; }
.header-cta { display: inline-flex; align-items: center; gap: .65rem; font-weight: 700; font-size: .82rem; padding: .75rem 1rem; border: 1px solid rgba(255,255,255,.35); }
.scrolled .header-cta { border-color: var(--line); }
.menu-button { display: none; width: 3rem; height: 3rem; border: 0; background: transparent; padding: .8rem; flex-direction: column; justify-content: center; gap: .45rem; color: inherit; }
.menu-button span { width: 100%; height: 2px; background: currentColor; transition: .3s; }
.menu-button[aria-expanded="true"] span:first-child { transform: translateY(4.5px) rotate(45deg); }
.menu-button[aria-expanded="true"] span:last-child { transform: translateY(-4.5px) rotate(-45deg); }
.mobile-menu { position: fixed; z-index: 90; inset: 0; padding: 8rem 1.5rem 2rem; background: var(--navy); color: var(--white); display: grid; align-content: center; visibility: hidden; opacity: 0; transform: translateY(-10px); transition: .3s; }
.mobile-menu.open { visibility: visible; opacity: 1; transform: none; }
.mobile-menu nav { display: grid; margin-bottom: 2rem; }
.mobile-menu nav a { padding: .8rem 0; font: 600 clamp(1.8rem,8vw,3rem)/1.15 var(--font-display); border-bottom: 1px solid rgba(255,255,255,.16); }

.hero { min-height: 100svh; position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr); gap: clamp(2rem,5vw,6rem); align-items: center; padding: 9rem clamp(1.25rem,5vw,5rem) 5rem; background: var(--navy); }
.hero::before { content:""; position:absolute; inset:0; z-index:-3; background: radial-gradient(circle at 18% 82%, rgba(130,217,208,.12), transparent 30%), linear-gradient(120deg, rgba(255,255,255,.025) 1px, transparent 1px); background-size: auto, 70px 70px; }
.hero-copy { max-width: 860px; position: relative; z-index: 2; }
.hero-lede { max-width: 680px; color: rgba(255,255,255,.72); font-size: clamp(1.05rem,1.6vw,1.35rem); line-height: 1.6; }
.hero-actions { display: flex; align-items: center; gap: 2rem; color: var(--white); margin-top: 2.2rem; }
.hero-trust { display: flex; gap: clamp(1.4rem,4vw,4rem); margin-top: clamp(3rem,6vh,5rem); color: var(--white); }
.hero-trust div { display: grid; }
.hero-trust strong { font: 700 clamp(1.55rem,2.5vw,2.4rem)/1 var(--font-display); color: var(--mint); }
.hero-trust span { color: rgba(255,255,255,.52); font-size: .72rem; text-transform: uppercase; letter-spacing: .09em; margin-top: .5rem; }
.hero-visual { width: min(100%, 560px); justify-self: end; position: relative; z-index: 2; }
.photo-frame { position: relative; background: var(--cream); padding: .7rem; clip-path: polygon(0 8%, 100% 0, 94% 100%, 4% 95%); }
.photo-frame img { width: 100%; height: min(67vh, 700px); object-fit: cover; object-position: center 18%; filter: saturate(.82) contrast(1.04); clip-path: polygon(0 8%, 100% 0, 94% 100%, 4% 95%); }
.photo-caption { position: absolute; left: 0; bottom: 5%; padding: 1rem 1.25rem 1rem 2rem; background: var(--cream); color: var(--navy); }
.photo-caption span,.photo-caption small { display:block; font-size:.65rem; text-transform:uppercase; letter-spacing:.09em; }
.photo-caption strong { display:block; font:700 1.15rem var(--font-display); }
.floating-note { position: absolute; display: flex; align-items: center; gap: .7rem; padding: .8rem 1rem; color: var(--navy); background: var(--mint); box-shadow: 0 20px 50px rgba(0,0,0,.2); font-size: .72rem; line-height: 1.3; animation: float 5s ease-in-out infinite; }
.floating-note svg { width: 1.5rem; }
.floating-note b { font-family: var(--font-display); }
.note-top { top: 12%; left: -8%; }
.note-bottom { right: -5%; bottom: 18%; background: var(--coral); animation-delay: -2s; }
@keyframes float { 50% { transform: translateY(-9px); } }
.hero-orbit { position:absolute; z-index:-1; border:1px solid rgba(130,217,208,.2); border-radius:50%; pointer-events:none; }
.orbit-one { width:42vw; height:42vw; right:-11vw; top:-16vw; }
.orbit-two { width:25vw; height:25vw; left:38%; bottom:-16vw; border-color:rgba(255,107,89,.2); }
.scroll-cue { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:.6rem; color:rgba(255,255,255,.55); font-size:.66rem; text-transform:uppercase; letter-spacing:.18em; }
.scroll-cue svg { width:.9rem; animation:nudge 1.7s infinite; }
@keyframes nudge { 50%{ transform:translateY(5px); } }
.care-marquee { background:var(--coral); color:var(--navy); overflow:hidden; padding:1rem 0; font:800 .8rem var(--font-display); text-transform:uppercase; letter-spacing:.12em; }
.marquee-track { width:max-content; display:flex; align-items:center; gap:1.6rem; animation:marquee 25s linear infinite; }
@keyframes marquee { to { transform:translateX(-50%); } }

.section-number { padding-bottom:1.1rem; border-bottom:1px solid var(--line); color:#5b717c; font:700 .7rem var(--font-display); letter-spacing:.12em; text-transform:uppercase; }
.approach-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,8vw,9rem); padding-top:clamp(3rem,6vw,6rem); }
.sticky-title { align-self:start; position:sticky; top:120px; }
.sticky-title h2 em { color:var(--coral); }
.principles { display:grid; }
.principle { display:grid; grid-template-columns:2.5rem 3rem 1fr; gap:1.2rem; padding:2rem 0; border-top:1px solid var(--line); }
.principle:first-child { border-top:0; padding-top:0; }
.principle > span { color:#6d7f87; font-size:.7rem; }
.principle > svg { color:var(--coral); }
.principle h3 { font-size:clamp(1.35rem,2vw,2rem); margin-bottom:.5rem; }
.principle p { color:#58707c; max-width:36rem; }

.specialised { max-width:none; background:var(--navy); color:var(--white); display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(3rem,8vw,9rem); }
.specialised-intro { align-self:center; max-width:600px; margin-left:auto; }
.specialised-intro > p:last-child { color:rgba(255,255,255,.65); font-size:1.05rem; margin-top:2rem; }
.speciality-stack { display:grid; align-content:center; }
.speciality { min-height:170px; display:grid; grid-template-columns:2.5rem minmax(180px,.75fr) 1.25fr 2rem; gap:1.4rem; align-items:center; padding:1.8rem 0; border-top:1px solid rgba(255,255,255,.18); cursor:pointer; transition:color .3s, padding .3s; }
.speciality:last-child { border-bottom:1px solid rgba(255,255,255,.18); }
.speciality:hover,.speciality:focus,.speciality.active { color:var(--mint); padding-left:1rem; outline:0; }
.speciality-index { font-size:.68rem; opacity:.6; }
.speciality-copy p { color:var(--coral); font-size:.65rem; text-transform:uppercase; letter-spacing:.15em; margin:0 0 .4rem; }
.speciality-copy h3 { font-size:clamp(1.5rem,2.3vw,2.4rem); margin:0; }
.speciality-copy span { display:block; color:rgba(255,255,255,.5); font-size:.75rem; margin-top:.25rem; }
.speciality-detail { color:rgba(255,255,255,.65); margin:0; transition:color .3s; }
.speciality:hover .speciality-detail,.speciality.active .speciality-detail { color:rgba(255,255,255,.88); }

.section-heading { display:grid; grid-template-columns:1.2fr .65fr; align-items:end; gap:3rem; margin-bottom:clamp(3rem,6vw,6rem); }
.section-heading h2 em,.visit h2 em,.journey h2 em,.reviews h2 em { color:var(--coral); }
.section-heading > p { color:#58707c; max-width:34rem; justify-self:end; }
.service-explorer { display:grid; grid-template-columns:.72fr 1.28fr; min-height:600px; border:1px solid var(--line); background:var(--white); }
.service-tabs { display:grid; align-content:start; border-right:1px solid var(--line); }
.service-tab { border:0; border-bottom:1px solid var(--line); background:transparent; padding:1.35rem 1.5rem; color:#60747e; text-align:left; cursor:pointer; transition:.25s; }
.service-tab span { font-size:.65rem; margin-right:1rem; color:#91a0a7; }
.service-tab:hover,.service-tab.active { background:var(--navy); color:var(--white); padding-left:2rem; }
.service-panel { padding:clamp(2rem,5vw,5rem); position:relative; overflow:hidden; }
.service-art { position:absolute; right:clamp(1rem,4vw,4rem); top:clamp(1rem,4vw,3rem); width:clamp(8rem,16vw,14rem); height:clamp(8rem,16vw,14rem); display:grid; place-items:center; color:var(--navy); }
.service-art span { position:absolute; inset:0; border:1px solid var(--mint); border-radius:45% 55% 62% 38% / 48% 42% 58% 52%; animation:morph 9s ease-in-out infinite; background:rgba(130,217,208,.2); }
.service-art svg { width:4rem; height:4rem; z-index:1; }
@keyframes morph { 50% { border-radius:60% 40% 35% 65% / 55% 62% 38% 45%; transform:rotate(12deg); } }
.service-kicker { color:var(--coral); font-size:.7rem; text-transform:uppercase; letter-spacing:.15em; font-weight:700; padding-top:clamp(8rem,17vw,14rem); }
.service-panel h3 { font-size:clamp(2rem,4vw,4.2rem); max-width:720px; line-height:1.03; }
.service-panel > p:not(.service-kicker) { max-width:650px; color:#58707c; font-size:1.05rem; }
.service-panel ul { padding:0; margin:2rem 0; list-style:none; display:grid; gap:.55rem; }
.service-panel li::before { content:"+"; color:var(--coral); margin-right:.7rem; font-weight:700; }

.doctor { max-width:none; padding-block:0; background:var(--navy-2); display:grid; grid-template-columns:1fr 1fr; color:var(--white); }
.doctor-portrait { min-height:760px; position:relative; overflow:hidden; background:var(--cream); }
.doctor-portrait img { width:100%; height:100%; object-fit:cover; object-position:center 18%; filter:saturate(.75); }
.doctor-portrait::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent 70%, rgba(16,47,67,.55)); }
.portrait-line { position:absolute; width:50%; aspect-ratio:1; right:-18%; top:15%; border:1px solid var(--coral); border-radius:50%; z-index:2; }
.doctor-copy { padding:clamp(4rem,8vw,9rem); align-self:center; }
.doctor-lede { color:rgba(255,255,255,.72); max-width:650px; font-size:1.1rem; margin:2rem 0; }
.credentials { display:flex; flex-wrap:wrap; gap:.5rem; }
.credentials span { border:1px solid rgba(255,255,255,.25); padding:.5rem .7rem; font-size:.72rem; }
.doctor blockquote { margin:2.5rem 0; padding-left:1.5rem; border-left:2px solid var(--coral); font:500 clamp(1.15rem,1.8vw,1.6rem)/1.5 var(--font-display); color:var(--mint); }

.journey-line { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.journey-line article { min-height:320px; padding:2rem; border-right:1px solid var(--line); position:relative; }
.journey-line article:last-child { border-right:0; }
.journey-line article > span { position:absolute; right:1.5rem; top:1.5rem; color:#87949a; font-size:.7rem; }
.journey-line svg { width:2.3rem; height:2.3rem; color:var(--coral); margin:3rem 0 2rem; }
.journey-line h3 { font-size:1.35rem; }
.journey-line p { color:#61757e; }

.movement-break { min-height:clamp(500px,70vw,850px); position:relative; isolation:isolate; overflow:hidden; display:grid; place-items:center; padding:4rem 1.25rem; color:var(--white); text-align:center; }
.movement-break::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(7,29,44,.2),rgba(7,29,44,.82)); }
.movement-break img { position:absolute; inset:-5%; z-index:-2; width:110%; height:110%; object-fit:cover; filter:saturate(.62) contrast(1.05); transition:transform 8s cubic-bezier(.22,1,.36,1); }
.movement-break.in-view img { transform:scale(1.045); }
.movement-break > div { max-width:900px; }
.movement-break .eyebrow { justify-content:center; }
.movement-break h2 { font-size:clamp(3rem,7vw,7rem); }
.movement-break > div > p:last-child { max-width:550px; margin:2rem auto 0; color:rgba(255,255,255,.75); font-size:1.05rem; }
.movement-break > a { position:absolute; right:1rem; bottom:1rem; color:rgba(255,255,255,.6); font-size:.62rem; text-transform:uppercase; letter-spacing:.12em; }

.reviews { display:grid; grid-template-columns:.4fr 1.6fr; gap:5rem; background:var(--cream); max-width:none; }
.reviews-head { align-self:start; }
.reviews-head h2 { font-size:clamp(2.6rem,4vw,4.5rem); }
.reviews-widget { min-width:0; background:rgba(255,255,255,.45); padding:1rem; min-height:260px; }

.evidence { max-width:none; background:var(--navy); color:var(--white); display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,8vw,9rem); }
.evidence-title { align-self:center; }
.evidence-title h2 { font-size:clamp(2.8rem,4.8vw,5.1rem); margin-bottom:2.5rem; }
.publication-list { display:grid; align-content:center; }
.publication-list a { position:relative; padding:2rem 4rem 2rem 0; border-top:1px solid rgba(255,255,255,.2); transition:.3s; }
.publication-list a:last-child { border-bottom:1px solid rgba(255,255,255,.2); }
.publication-list a:hover { padding-left:1rem; color:var(--mint); }
.publication-list span { color:var(--coral); text-transform:uppercase; letter-spacing:.14em; font-size:.65rem; }
.publication-list h3 { font-size:clamp(1.4rem,2.4vw,2.4rem); line-height:1.2; margin:.5rem 0 0; }
.publication-list svg { position:absolute; right:1rem; top:50%; }

.visit { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,7vw,7rem); }
.visit-info { align-self:center; }
.visit-details { display:grid; gap:1.2rem; margin:2.5rem 0; }
.visit-details > div { display:flex; gap:1rem; align-items:flex-start; }
.visit-details svg { flex:0 0 auto; width:1.25rem; color:var(--coral); margin-top:.25rem; }
.visit-details a { text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:3px; }
.visit-actions { display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.map-wrap { min-height:620px; position:relative; overflow:hidden; background:#dce7e4; }
.map-wrap iframe { width:100%; height:100%; border:0; filter:saturate(.7) contrast(1.05); }
.map-wrap > a { position:absolute; left:1rem; bottom:1rem; background:var(--white); padding:.8rem 1rem; display:flex; gap:.6rem; align-items:center; font-size:.8rem; font-weight:700; box-shadow:0 10px 30px rgba(7,29,44,.15); }
.map-wrap > a svg { width:1rem; }

.final-cta { min-height:600px; padding:6rem 1.25rem; background:var(--navy-2); color:var(--white); display:grid; place-content:center; text-align:center; position:relative; overflow:hidden; }
.final-cta .eyebrow { justify-content:center; }
.final-cta h2 { font-size:clamp(3rem,7vw,7.5rem); margin-bottom:2.5rem; }
.cta-ring { position:absolute; border:1px solid rgba(130,217,208,.22); border-radius:50%; }
.ring-a { width:30vw; height:30vw; left:-10vw; bottom:-16vw; }
.ring-b { width:40vw; height:40vw; right:-17vw; top:-24vw; border-color:rgba(255,107,89,.25); }

footer { padding:clamp(3rem,6vw,6rem) clamp(1.25rem,5vw,5rem) 1.5rem; background:#04131e; color:rgba(255,255,255,.68); display:grid; grid-template-columns:1.5fr .6fr .6fr; gap:3rem; }
.brand.inverse { color:var(--white); }
.footer-brand p { margin-top:1.5rem; }
.footer-column { display:grid; align-content:start; gap:.6rem; }
.footer-column b { color:var(--mint); text-transform:uppercase; font-size:.7rem; letter-spacing:.14em; margin-bottom:.6rem; }
.footer-column a:hover { color:var(--white); }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; gap:2rem; margin-top:3rem; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.12); font-size:.67rem; }
.footer-bottom a { text-decoration:underline; }
.whatsapp-float { position:fixed; z-index:80; right:1.2rem; bottom:1.2rem; min-height:3.2rem; display:flex; align-items:center; gap:.55rem; padding:.7rem 1rem; border-radius:2rem; background:#25d366; color:#062a15; font-size:.78rem; font-weight:700; box-shadow:0 12px 35px rgba(0,0,0,.2); transition:.25s; }
.whatsapp-float:hover { transform:translateY(-3px); }
.whatsapp-float svg { width:1.2rem; }
.scroll-progress { position:fixed; z-index:120; top:0; left:0; right:0; height:2px; }
.scroll-progress span { display:block; height:100%; width:0; background:var(--coral); }

/* Insights page */
.insights-body { background:var(--paper); }
.insights-hero { min-height:75vh; padding:10rem clamp(1.25rem,5vw,5rem) 5rem; background:var(--navy); color:var(--white); position:relative; overflow:hidden; display:grid; align-items:end; }
.insights-hero::after { content:""; width:45vw; aspect-ratio:1; position:absolute; right:-12vw; top:-20vw; border:1px solid rgba(130,217,208,.25); border-radius:50%; }
.insights-hero h1 { max-width:1100px; margin-bottom:1.4rem; }
.insights-hero > div > p:last-child { max-width:650px; color:rgba(255,255,255,.68); font-size:1.1rem; }
.insights-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,8vw,8rem); }
.article-meta { position:sticky; top:110px; align-self:start; }
.article-meta > span { color:var(--coral); font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; }
.article-meta h2 { font-size:clamp(2.2rem,4vw,4rem); margin:1rem 0; }
.article-meta p { color:#63767f; }
.language-switch { display:inline-flex; border:1px solid var(--line); margin-top:1rem; }
.language-switch button { border:0; padding:.7rem 1rem; background:transparent; cursor:pointer; }
.language-switch button.active { background:var(--navy); color:var(--white); }
.article-copy { font-size:1.05rem; }
.article-copy h3 { font-size:clamp(1.5rem,2.5vw,2.2rem); margin-top:2.5rem; }
.article-copy p { color:#405965; }
.article-copy .callout { padding:1.6rem; margin:2rem 0; border-left:3px solid var(--coral); background:var(--cream); font:600 1.2rem/1.5 var(--font-display); color:var(--navy); }
.article-copy [data-lang-panel] { display:none; }
.article-copy [data-lang-panel].active { display:block; animation:fadeUp .35s ease; }
@keyframes fadeUp { from{opacity:0;transform:translateY(8px)} }
.more-insights { background:var(--cream); text-align:center; }
.more-insights h2 { margin-bottom:2rem; }

@media (max-width: 1050px) {
  .desktop-nav,.header-cta { display:none; }
  .menu-button { display:flex; }
  .hero { grid-template-columns:1.05fr .95fr; }
  .hero h1 { font-size:clamp(3.3rem,8vw,6rem); }
  .floating-note { display:none; }
  .specialised { grid-template-columns:1fr; }
  .specialised-intro { margin:0; }
  .speciality { grid-template-columns:2rem .8fr 1.2fr 1.5rem; }
  .reviews { grid-template-columns:1fr; gap:3rem; }
  .evidence { grid-template-columns:1fr; }
  .visit { grid-template-columns:1fr; }
  .map-wrap { min-height:500px; }
}

@media (max-width: 820px) {
  .site-header { height:72px; }
  .brand-mark { width:2.2rem;height:2.2rem; }
  .brand b { font-size:.85rem; }
  .brand small { font-size:.54rem; }
  .section { padding-block:5.2rem; }
  .hero { min-height:auto; grid-template-columns:1fr; padding-top:8.5rem; }
  .hero h1 { font-size:clamp(3.2rem,15vw,5rem); }
  .hero-lede { font-size:1rem; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:1rem; }
  .hero-visual { width:min(90%,450px); justify-self:center; margin-top:1rem; }
  .photo-frame img { height:min(60vh,550px); }
  .photo-caption { padding:.8rem 1rem; }
  .hero-trust { justify-content:space-between; gap:.6rem; }
  .hero-trust span { max-width:80px; }
  .scroll-cue { display:none; }
  .approach-grid,.section-heading,.service-explorer,.doctor,.insights-grid { grid-template-columns:1fr; }
  .sticky-title,.article-meta { position:static; }
  .principles { margin-top:1rem; }
  .principle { grid-template-columns:2rem 2rem 1fr; gap:.8rem; }
  .speciality { min-height:0; grid-template-columns:1.5rem 1fr 1.5rem; gap:.8rem; }
  .speciality-detail { grid-column:2/-1; }
  .speciality > svg { grid-column:3;grid-row:1; }
  .section-heading { align-items:start; }
  .section-heading > p { justify-self:start; }
  .service-explorer { min-height:0; }
  .service-tabs { grid-auto-flow:column; grid-auto-columns:max-content; overflow-x:auto; border-right:0; border-bottom:1px solid var(--line); scrollbar-width:none; }
  .service-tab { border-bottom:0; border-right:1px solid var(--line); white-space:nowrap; }
  .service-tab:hover,.service-tab.active { padding-left:1.5rem; }
  .service-panel { padding:2rem 1.25rem 2.5rem; }
  .service-art { position:relative; inset:auto; width:9rem; height:9rem; margin-left:auto; }
  .service-kicker { padding-top:1rem; }
  .doctor-portrait { min-height:520px; }
  .doctor-copy { padding:4rem 1.25rem; }
  .journey-line { grid-template-columns:1fr; }
  .journey-line article { min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .journey-line svg { margin:1.8rem 0 1rem; }
  .reviews-widget { padding:0; }
  .publication-list a { padding-right:2.5rem; }
  .map-wrap { min-height:420px; }
  .final-cta { min-height:520px; }
  footer { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; gap:.6rem; }
  .whatsapp-float span { display:none; }
  .whatsapp-float { width:3.2rem; justify-content:center; padding:.7rem; }
}

@media (max-width: 390px) {
  .brand small { display:none; }
  .hero-trust { flex-wrap:wrap; }
  .hero-trust div { min-width:30%; }
  .speciality-copy h3 { font-size:1.35rem; }
  footer { grid-template-columns:1fr; }
  .footer-brand,.footer-bottom { grid-column:auto; }
}

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