/*
Theme Name: Turkish Hair Experts
Theme URI: https://turkishhairexperts.com/
Author: Turkish Hair Experts
Description: Lightweight, conversion-focused theme for Turkish Hair Experts Nairobi and Kampala.
Version: 0.42.1
Requires at least: 6.4
Requires PHP: 8.1
Text Domain: turkish-hair-experts
*/

:root {
  --the-navy: #111111;
  --the-navy-soft: #242424;
  --the-blue: #df0712;
  --the-cyan: #ff4a51;
  --the-gold: #d8b06c;
  --the-cream: #f7f5f2;
  --the-white: #fff;
  --the-ink: #171717;
  --the-muted: #666;
  --the-line: rgba(17, 17, 17, .12);
  --the-radius: 24px;
  --the-shadow: 0 24px 70px rgba(7, 21, 35, .14);
  --the-wrap: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--the-ink); background: var(--the-white); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.the-wrap { width: var(--the-wrap); margin-inline: auto; }
.the-section { padding: 96px 0; }
.the-section--cream { background: var(--the-cream); }
.the-section--dark { color: var(--the-white); background: var(--the-navy); }
.the-eyebrow { margin: 0 0 12px; color: var(--the-blue); font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.the-section--dark .the-eyebrow { color: var(--the-cyan); }
.the-title { max-width: 760px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 5vw, 4.25rem); line-height: 1.04; letter-spacing: -.035em; }
.the-lead { max-width: 700px; margin: 22px 0 0; color: var(--the-muted); font-size: 1.08rem; }
.the-section--dark .the-lead { color: rgba(255,255,255,.72); }
.the-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 10px; padding: 13px 22px; border: 1px solid transparent; border-radius: 999px; color: var(--the-white); background: var(--the-blue); font-weight: 800; text-decoration: none; cursor: pointer; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.the-button:hover { transform: translateY(-2px); background: #b90009; box-shadow: 0 12px 30px rgba(223,7,18,.25); }
.the-button--light { color: var(--the-navy); background: var(--the-white); }
.the-button--ghost { color: var(--the-white); background: transparent; border-color: rgba(255,255,255,.3); }

.site-header { position: fixed; z-index: 90; inset: 0 0 auto; padding: 10px 0; color: var(--the-ink); transition: padding .25s ease; }
.site-header::before { content: ""; position: absolute; inset: 0; background: rgba(247,245,242,.9); border-bottom: 1px solid rgba(17,17,17,.06); backdrop-filter: blur(18px); }
.site-header.is-scrolled { padding: 6px 0; }
.header-inner { position: relative; display: flex; min-height: 70px; align-items: center; gap: 18px; }
.site-brand { position: relative; z-index: 3; display: inline-flex; width: 190px; height: 60px; align-items: center; text-decoration: none; }
.site-brand img { display: block; width: auto; max-width: 100%; height: 58px; object-fit: contain; object-position: left center; }
.site-nav { margin-left: auto; }
.site-nav__top, .site-nav__mobile-action { display: none; }
.site-nav ul { display: flex; align-items: center; gap: 4px; padding: 5px; margin: 0; list-style: none; border: 1px solid rgba(17,17,17,.08); border-radius: 999px; background: rgba(255,255,255,.72); box-shadow: 0 10px 35px rgba(17,17,17,.06); }
.site-nav li { margin: 0; }
.site-nav a, .nav-services__trigger { display: flex; min-height: 46px; align-items: center; gap: 8px; padding: 0 15px; border: 0; border-radius: 999px; color: var(--the-ink); background: transparent; font: inherit; font-size: .83rem; font-weight: 800; text-decoration: none; cursor: pointer; transition: color .2s ease, background .2s ease; }
.site-nav a small, .nav-services__trigger small { color: var(--the-blue); font-size: .56rem; font-weight: 900; letter-spacing: .1em; }
.site-nav a:hover, .nav-services__trigger:hover, .nav-services.is-open > .nav-services__trigger { color: var(--the-blue); background: #fff; }
.nav-services { position: relative; }
.nav-services__trigger i { width: 7px; height: 7px; margin: -3px 1px 0 3px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; }
.nav-services.is-open .nav-services__trigger i { margin-top: 3px; transform: rotate(225deg); }
.services-mega { position: absolute; top: calc(100% + 17px); left: 50%; display: grid; width: min(850px, calc(100vw - 40px)); grid-template-columns: 240px 1fr; padding: 12px; border: 1px solid rgba(17,17,17,.1); border-radius: 26px; background: rgba(255,255,255,.98); box-shadow: 0 30px 90px rgba(17,17,17,.2); opacity: 0; pointer-events: none; transform: translate(-50%, 10px); transition: opacity .2s ease, transform .2s ease; }
.nav-services.is-open .services-mega { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.services-mega__intro { padding: 24px; border-radius: 18px; color: #fff; background: radial-gradient(circle at 100% 0, rgba(223,7,18,.42), transparent 38%), #111; }
.services-mega__intro .the-eyebrow { margin-bottom: 54px; color: #ff555d; font-size: .6rem; }
.services-mega__intro strong { display: block; font-family: Georgia, serif; font-size: 1.5rem; line-height: 1.08; }
.services-mega__intro > p:last-child { margin: 14px 0 0; color: rgba(255,255,255,.65); font-size: .75rem; line-height: 1.55; }
.services-mega__grid { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; }
.services-mega .services-mega__grid a { min-height: 76px; padding: 11px 14px; border-radius: 15px; }
.services-mega__grid a:hover { color: var(--the-ink); background: #f5f2ef; }
.services-mega__grid a small { align-self: flex-start; margin-top: 5px; }
.services-mega__grid a span { display: grid; gap: 2px; flex: 1; }
.services-mega__grid a strong { font-family: Georgia, serif; font-size: .92rem; line-height: 1.15; }
.services-mega__grid a em { color: #777; font-size: .59rem; font-style: normal; font-weight: 700; line-height: 1.2; text-transform: uppercase; }
.services-mega__grid a b { color: #999; font-size: .75rem; }
.header-cta { position: relative; display: grid; min-width: 168px; min-height: 58px; align-content: center; padding: 7px 42px 7px 18px; border-radius: 16px; color: #fff; background: var(--the-blue); text-decoration: none; box-shadow: 0 12px 30px rgba(223,7,18,.2); transition: transform .2s ease, box-shadow .2s ease; }
.header-cta:hover { transform: translateY(-2px); box-shadow: 0 16px 35px rgba(223,7,18,.3); }
.header-cta span { color: rgba(255,255,255,.72); font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.header-cta strong { font-size: .84rem; }
.header-cta i { position: absolute; right: 17px; top: 50%; font-style: normal; transform: translateY(-50%); }
.menu-toggle, .menu-scrim { display: none; }

.hero { position: relative; display: grid; height: 100svh; min-height: 760px; align-items: center; overflow: hidden; color: var(--the-white); background: var(--the-navy); isolation: isolate; }
.hero-media { position: absolute; inset: 0; }
.hero-media::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(8,8,8,.98) 0%, rgba(8,8,8,.93) 37%, rgba(8,8,8,.52) 66%, rgba(8,8,8,.3) 100%), linear-gradient(0deg, rgba(8,8,8,.9), transparent 58%); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-fallback { position: absolute; inset: 0; background: radial-gradient(circle at 78% 32%, rgba(223,7,18,.28), transparent 28%), linear-gradient(135deg, #080808, #252525 65%, #5e0004); }
.hero-inner { position: relative; z-index: 5; width: calc(100% - 44px); max-width: none; margin: 0; padding: 110px 0 30px 2.2vw; }
.hero-copy { position: relative; z-index: 7; max-width: min(49vw, 720px); }
.hero h1 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.35rem, 6.2vw, 6.5rem); line-height: .91; letter-spacing: -.058em; text-wrap: balance; }
.hero h1 em { color: #ff343d; font-weight: inherit; }
.hero p { max-width: 670px; margin: 26px 0 0; color: rgba(255,255,255,.82); font-size: clamp(1.05rem, 2vw, 1.25rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero-actions .hero-choice { position: relative; min-width: 205px; min-height: 68px; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 22px 11px; text-align: left; overflow: hidden; }
.hero-actions .hero-choice::after { content: ""; position: absolute; width: 85px; height: 85px; right: -55px; top: -55px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; transition: transform .3s ease; }
.hero-actions .hero-choice:hover::after { transform: scale(1.2); }
.hero-choice__value { display: inline-flex; align-items: center; gap: 5px; color: rgba(255,255,255,.78); font-size: .62rem; font-weight: 900; letter-spacing: .115em; line-height: 1; text-transform: uppercase; }
.hero-choice--online .hero-choice__value { color: #fff3cf; }
.hero-choice__value > span:first-child { display: grid; width: 15px; height: 15px; place-items: center; border-radius: 50%; color: #7b090e; background: #fff; font-size: .58rem; letter-spacing: 0; }
.hero-choice--clinic .hero-choice__value > span:first-child { color: #111; }
.hero-choice__dot { width: 3px; height: 3px; border-radius: 50%; background: currentColor; }
.hero-choice__label { font-size: .96rem; line-height: 1.25; white-space: nowrap; }
.trust-row { display: none; }
.trust-item { padding: 20px; background: rgba(7,21,35,.7); }
.trust-item strong { display: block; color: var(--the-white); font-family: Georgia, serif; font-size: 1.55rem; }
.trust-item span { color: rgba(255,255,255,.62); font-size: .84rem; }

.hero-stage { position: absolute; z-index: 3; top: 92px; right: 1.2vw; bottom: 22px; width: 52vw; pointer-events: none; }
.hero-glow { position: absolute; inset: 5% 4% 0; border-radius: 48% 52% 38% 62%; background: radial-gradient(circle at 62% 45%, rgba(223,7,18,.42), transparent 45%), radial-gradient(circle at 48% 56%, rgba(216,176,108,.2), transparent 58%); filter: blur(28px); animation: hero-breathe 5.5s ease-in-out infinite; }
.hero-scene { position: absolute; inset: 5% 1% 3% 9%; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 42% 58% 45% 55% / 55% 42% 58% 45%; opacity: .34; box-shadow: 0 30px 100px rgba(0,0,0,.65); animation: hero-reveal 1.4s .15s both; }
.hero-scene img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.07); }
.hero-scene::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,8,8,.65), transparent 35%), linear-gradient(0deg, rgba(8,8,8,.45), transparent 45%); }
.hero-person { position: absolute; overflow: hidden; border: 1px solid rgba(255,255,255,.38); border-radius: 26px; background-repeat: no-repeat; background-color: #1c1c1c; box-shadow: 0 24px 65px rgba(0,0,0,.5); opacity: 0; transform: translateY(24px) scale(.88); animation: hero-pop 1s cubic-bezier(.2,.8,.2,1) forwards; }
.hero-person::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1), inset 0 -55px 70px rgba(0,0,0,.32); }
.hero-person span { position: absolute; z-index: 2; left: 14px; bottom: 12px; padding: 6px 10px; border-radius: 999px; color: white; background: rgba(10,10,10,.72); backdrop-filter: blur(9px); font-size: .67rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.hero-compare { position: absolute; z-index: 3; top: 3%; right: 1%; width: min(34vw, 500px); aspect-ratio: 2 / 1; overflow: hidden; border: 1px solid rgba(255,255,255,.42); border-radius: 28px; background: #1c1c1c; box-shadow: 0 28px 75px rgba(0,0,0,.55); opacity: 0; transform: translateY(24px) scale(.88); animation: hero-pop 1s .65s cubic-bezier(.2,.8,.2,1) forwards; }
.hero-compare img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.hero-compare::after { content: "Real before • Real after"; position: absolute; left: 50%; bottom: 10px; translate: -50% 0; padding: 6px 11px; border-radius: 999px; color: white; background: rgba(10,10,10,.74); backdrop-filter: blur(8px); font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.hero-person--ug-before { top: 31%; left: 0; width: 30%; height: 39%; background-size: 365% auto; background-position: 0 23%; animation-delay: 1.2s; }
.hero-person--ug-after { top: 27%; right: 25%; width: 31%; height: 41%; background-size: 365% auto; background-position: 100% 23%; animation-delay: 1.7s; }
.hero-person--barry { right: 0; bottom: 4%; width: 31%; height: 39%; background-size: 370% auto; background-position: 73% 22%; animation-delay: 2.2s; }
.hero-person--usa { left: 22%; bottom: 0; width: 31%; height: 39%; background-size: 350% auto; background-position: 100% 12%; animation-delay: 2.7s; }
.hero-person--woman { left: 1%; bottom: 2%; width: 28%; height: 36%; background-size: cover; background-position: center top; animation-delay: 3.2s; }
.hero-particles { position: absolute; z-index: 4; inset: 0; width: 100%; height: 100%; opacity: .82; }
@keyframes hero-pop { 0% { opacity: 0; transform: translateY(26px) scale(.84); filter: blur(8px); } 70% { opacity: 1; transform: translateY(-5px) scale(1.03); filter: blur(0); } 100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); } }
@keyframes hero-reveal { from { opacity: 0; transform: scale(1.08); filter: blur(9px); } to { opacity: .34; transform: scale(1); filter: blur(0); } }
@keyframes hero-breathe { 50% { transform: scale(1.08) rotate(2deg); opacity: .78; } }

.proof-grid, .journey-grid, .locations-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.proof-card, .journey-card, .location-card { overflow: hidden; border: 1px solid var(--the-line); border-radius: var(--the-radius); background: var(--the-white); box-shadow: 0 12px 40px rgba(7,21,35,.06); }
.proof-visual { aspect-ratio: 4 / 3; background: linear-gradient(135deg, #dce7ec, #9ac6d8); }
.proof-visual img { width: 100%; height: 100%; object-fit: cover; }
.proof-body, .journey-card, .location-body { padding: 28px; }
.proof-body h3, .journey-card h3, .location-body h3 { margin: 0 0 8px; font-family: Georgia, serif; font-size: 1.5rem; }
.proof-body p, .journey-card p, .location-body p { margin: 0; color: var(--the-muted); }
.journey-card { position: relative; }

.expertise-intro { position: relative; overflow: hidden; background: linear-gradient(180deg, #fff 0%, #fbfaf8 100%); }
.expertise-intro > .the-wrap { width: min(1320px, calc(100% - 40px)); }
.expertise-intro::before { content: ""; position: absolute; width: 430px; height: 430px; top: -210px; right: -180px; border-radius: 50%; background: radial-gradient(circle, rgba(223,7,18,.08), transparent 68%); pointer-events: none; }
.expertise-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr); align-items: end; gap: clamp(40px, 8vw, 110px); }
.expertise-heading .the-title { max-width: 820px; }
.expertise-heading .the-lead { margin: 0 0 7px; }
.expertise-panels { display: grid; grid-template-columns: 1.16fr .84fr; grid-template-rows: repeat(2, minmax(330px, 1fr)); gap: 14px; min-height: 720px; margin-top: 54px; }
.expertise-panel { position: relative; min-width: 0; min-height: 0; overflow: hidden; border-radius: 30px; color: #fff; background: #111; box-shadow: 0 25px 70px rgba(17,17,17,.16); isolation: isolate; }
.expertise-panel--trust { grid-row: 1 / 3; }
.expertise-panel > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.8,.2,1), filter 1s ease; }
.expertise-panel--trust > img { object-position: center center; }
.expertise-panel--technique > img { object-position: 68% center; }
.expertise-panel--care > img { object-position: center 42%; }
.expertise-panel:hover > img { transform: scale(1.035); filter: saturate(1.04) contrast(1.025); }
.expertise-panel__veil { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(5,5,5,.02) 15%, rgba(5,5,5,.16) 42%, rgba(5,5,5,.95) 100%); }
.expertise-panel--trust .expertise-panel__veil { background: linear-gradient(180deg, rgba(5,5,5,.01) 28%, rgba(5,5,5,.24) 53%, rgba(5,5,5,.96) 100%); }
.expertise-panel__content { position: absolute; inset: auto 0 0; padding: clamp(24px, 3.2vw, 42px); }
.expertise-panel__number { display: grid; width: 36px; height: 36px; place-items: center; margin-bottom: 16px; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; background: rgba(12,12,12,.25); backdrop-filter: blur(10px); font-size: .68rem; font-weight: 900; }
.expertise-panel__kicker { margin: 0 0 8px; color: #ff848a; font-size: .66rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.expertise-panel h3 { max-width: 560px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.75rem, 3vw, 3rem); line-height: .98; letter-spacing: -.025em; }
.expertise-panel--trust h3 { font-size: clamp(2.3rem, 4.4vw, 4.25rem); }
.expertise-panel__content > p:not(.expertise-panel__kicker) { max-width: 570px; margin: 15px 0 0; color: rgba(255,255,255,.8); font-size: clamp(.82rem, 1.15vw, 1rem); line-height: 1.6; }
.expertise-panel__proof { display: inline-flex; align-items: center; gap: 8px; margin-top: 19px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: rgba(255,255,255,.86); background: rgba(10,10,10,.26); backdrop-filter: blur(9px); font-size: .62rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.expertise-panel__proof::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #e30a17; box-shadow: 0 0 12px rgba(227,10,23,.7); }
.expertise-next { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 32px; padding: 20px 22px 20px 28px; border-radius: 20px; background: #111; color: #fff; }
.expertise-next p { margin: 0; color: rgba(255,255,255,.76); }
.expertise-next p strong { color: #fff; }
.journey-number { display: inline-grid; width: 40px; height: 40px; place-items: center; margin-bottom: 30px; border-radius: 50%; color: var(--the-white); background: var(--the-blue); font-weight: 900; }

/* Scroll driven patient journey */
.journey-ribbon { position: relative; height: 250vh; color: #fff; background: #080809; }
.journey-ribbon__sticky { position: sticky; top: 0; display: flex; flex-direction: column; justify-content: center; min-height: 100vh; overflow: hidden; background: radial-gradient(circle at 16% 78%, rgba(223,7,18,.2), transparent 34%), radial-gradient(circle at 85% 15%, rgba(170,19,31,.13), transparent 30%), #080809; }
.journey-ribbon__sticky::before { content: ""; position: absolute; inset: 0; opacity: .25; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg, #000, transparent 85%); }
.journey-ribbon__heading { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 40px; width: min(1320px, calc(100% - 40px)); margin-bottom: 42px; }
.journey-ribbon__heading .the-title { max-width: 920px; margin-bottom: 0; color: #fff; font-size: clamp(2.6rem, 5vw, 5.4rem); line-height: .94; }
.journey-ribbon__status { display: flex; align-items: center; gap: 12px; padding-bottom: 8px; font-size: .68rem; font-weight: 900; letter-spacing: .12em; }
.journey-ribbon__status strong { color: #ff4251; }
.journey-ribbon__status > span { width: 120px; height: 2px; overflow: hidden; background: rgba(255,255,255,.16); }
.journey-ribbon__status > span i { display: block; width: 100%; height: 100%; background: linear-gradient(90deg, #df0712, #ff6d77); transform: scaleX(0); transform-origin: left; }
.journey-ribbon__status small { color: rgba(255,255,255,.45); }
.journey-ribbon__viewport { position: relative; z-index: 2; width: 100%; overflow: hidden; }
.journey-ribbon__viewport::before { content: ""; position: absolute; z-index: 4; top: 50%; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, transparent, rgba(255,54,69,.45) 8%, rgba(255,54,69,.14) 85%, transparent); box-shadow: 0 0 20px rgba(223,7,18,.3); pointer-events: none; }
.journey-ribbon__track { display: flex; gap: 22px; width: max-content; padding: 0 max(24px, calc((100vw - 1320px) / 2)) 22px; will-change: transform; transform: translate3d(0,0,0); }
.journey-flashcard { position: relative; flex: 0 0 clamp(330px, 38vw, 570px); min-height: 390px; overflow: hidden; padding: clamp(32px, 4vw, 54px); border: 1px solid rgba(255,255,255,.13); border-radius: 30px; background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025)); box-shadow: 0 30px 80px rgba(0,0,0,.35); opacity: .34; transform: scale(.9) rotateY(5deg); transform-origin: center; transition: opacity .45s ease, transform .55s cubic-bezier(.2,.8,.2,1), border-color .45s ease, background .45s ease; backdrop-filter: blur(18px); }
.journey-flashcard::before { content: ""; position: absolute; width: 180px; height: 180px; right: -90px; top: -90px; border: 1px solid rgba(255,72,84,.3); border-radius: 50%; box-shadow: 0 0 0 34px rgba(255,255,255,.025), 0 0 0 68px rgba(255,255,255,.018); }
.journey-flashcard::after { content: ""; position: absolute; right: 28px; bottom: 29px; width: 8px; height: 8px; border-radius: 50%; background: #ff3847; box-shadow: 0 0 22px #df0712; }
.journey-flashcard.is-active { opacity: 1; transform: scale(1) rotateY(0); border-color: rgba(255,68,82,.52); background: linear-gradient(145deg, rgba(223,7,18,.2), rgba(255,255,255,.045) 48%, rgba(255,255,255,.02)); box-shadow: 0 36px 110px rgba(0,0,0,.52), inset 0 1px rgba(255,255,255,.12); }
.journey-flashcard__roman { display: block; margin-bottom: 46px; color: rgba(255,255,255,.16); font-family: Georgia, serif; font-size: clamp(4rem, 7vw, 7.2rem); line-height: .6; }
.journey-flashcard.is-active .journey-flashcard__roman { color: rgba(255,72,84,.48); text-shadow: 0 0 35px rgba(223,7,18,.28); }
.journey-flashcard__phase { margin: 0 0 12px; color: #ff5360; font-size: .64rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.journey-flashcard h3 { max-width: 470px; margin: 0; font-family: Georgia, serif; font-size: clamp(2rem, 3.5vw, 3.45rem); line-height: .98; }
.journey-flashcard > p:not(.journey-flashcard__phase) { max-width: 470px; margin: 22px 0 34px; color: rgba(255,255,255,.68); line-height: 1.65; }
.journey-flashcard > small { display: flex; align-items: center; gap: 9px; color: rgba(255,255,255,.82); font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.journey-flashcard > small i { width: 7px; height: 7px; border-radius: 50%; background: #ff3847; box-shadow: 0 0 13px #df0712; }
.journey-ribbon__cue { position: relative; z-index: 3; display: flex; align-items: center; gap: 12px; width: min(1320px, calc(100% - 40px)); margin: 12px auto 0; color: rgba(255,255,255,.42); font-size: .62rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.journey-ribbon__cue i { display: inline-block; color: #ff4351; font-size: 1.15rem; font-style: normal; animation: journeyCue 1.5s ease-in-out infinite; }
@keyframes journeyCue { 50% { transform: translateX(8px); } }

/* Expert authority */
.experts-authority { position: relative; overflow: hidden; padding: clamp(90px, 11vw, 160px) 0; color: #151313; background: #f3f0ec; }
.experts-authority::before { content: ""; position: absolute; width: 650px; height: 650px; top: -330px; right: -270px; border: 1px solid rgba(223,7,18,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(223,7,18,.025), 0 0 0 140px rgba(223,7,18,.018); }
.experts-authority > .the-wrap { width: min(1320px, calc(100% - 40px)); }
.experts-authority__intro { position: relative; z-index: 1; display: grid; grid-template-columns: 1.3fr .7fr; align-items: end; gap: clamp(40px, 8vw, 110px); margin-bottom: 62px; }
.experts-authority__intro .the-title { max-width: 810px; margin-bottom: 0; }
.experts-authority__intro > div:last-child > p:first-child { margin: 0; color: #625c5c; line-height: 1.75; }
.experts-authority__locations { display: flex; align-items: center; gap: 12px; margin: 25px 0 0; color: #262222; font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.experts-authority__locations i { width: 6px; height: 6px; border-radius: 50%; background: #df0712; box-shadow: 0 0 0 5px rgba(223,7,18,.1); }
.experts-authority__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.expert-profile { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1fr); min-height: 680px; overflow: hidden; border: 1px solid rgba(30,24,24,.1); border-radius: 34px; background: #fff; box-shadow: 0 28px 80px rgba(40,30,30,.09); transition: transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease; }
.expert-profile:hover { transform: translateY(-7px); box-shadow: 0 38px 100px rgba(40,30,30,.14); }
.expert-profile__portrait { position: relative; min-width: 0; overflow: hidden; background: #cfc7bd; }
.expert-profile__portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(15,12,12,.5), transparent 36%); }
.expert-profile__portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.expert-profile:hover .expert-profile__portrait img { transform: scale(1.025); }
.expert-profile__portrait > span { position: absolute; z-index: 2; left: 20px; bottom: 20px; display: grid; width: 43px; height: 43px; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: #fff; background: rgba(12,10,10,.42); font-size: .67rem; font-weight: 900; backdrop-filter: blur(10px); }
.expert-profile__body { display: flex; min-width: 0; flex-direction: column; padding: clamp(30px, 3.4vw, 46px) clamp(24px, 3vw, 40px); }
.expert-profile__role { margin: 0 0 12px; color: #df0712; font-size: .63rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.expert-profile h3 { max-width: 100%; margin: 0; font-family: Georgia, serif; font-size: clamp(1.9rem, 2.55vw, 2.85rem); line-height: .96; letter-spacing: -.035em; overflow-wrap: normal; }
.expert-profile h3 span { display: block; }
.expert-profile__body > p:not(.expert-profile__role):not(.expert-profile__recognition) { margin: 22px 0; color: #665f5f; font-size: .88rem; line-height: 1.72; }
.expert-profile__metrics { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #e8e2de; border-bottom: 1px solid #e8e2de; }
.expert-profile__metrics span { padding: 20px 12px 20px 0; color: #6d6666; font-size: .68rem; line-height: 1.35; }
.expert-profile__metrics span + span { padding-left: 18px; border-left: 1px solid #e8e2de; }
.expert-profile__metrics strong { display: block; color: #181414; font-family: Georgia, serif; font-size: 1.7rem; }
.expert-profile ul { display: flex; flex-wrap: wrap; gap: 7px; padding: 0; margin: 23px 0; list-style: none; }
.expert-profile li { padding: 7px 10px; border: 1px solid #ded8d4; border-radius: 999px; color: #514b4b; font-size: .62rem; font-weight: 800; }
.expert-profile__recognition { margin: auto 0 0; padding: 15px 0 0 24px; border-top: 1px solid #e8e2de; color: #302b2b; font-size: .7rem; line-height: 1.45; }
.expert-profile__recognition::before { content: "★"; margin-left: -24px; margin-right: 8px; color: #df0712; }
.experts-authority__clinical { display: grid; grid-template-columns: 1.22fr .78fr; min-height: 500px; margin-top: 18px; overflow: hidden; border-radius: 34px; color: #fff; background: radial-gradient(circle at 90% 10%, rgba(223,7,18,.3), transparent 35%), #111; }
.experts-authority__clinical-photo { min-height: 500px; overflow: hidden; }
.experts-authority__clinical-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.experts-authority__clinical > div:last-child { align-self: center; padding: clamp(38px, 6vw, 78px); }
.experts-authority__clinical h3 { max-width: 540px; margin: 0; font-family: Georgia, serif; font-size: clamp(2.35rem, 3.7vw, 4.1rem); line-height: .95; }
.experts-authority__clinical > div:last-child > p:not(.the-eyebrow) { color: rgba(255,255,255,.68); line-height: 1.72; }
.experts-authority__clinical-credit { display: flex; flex-direction: column; gap: 4px; margin: 30px 0 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.16); }
.experts-authority__clinical-credit strong { color: #fff; font-family: Georgia, serif; font-size: 1.08rem; }
.experts-authority__clinical-credit span { color: rgba(255,255,255,.56); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

.split { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 70px; }
.split-visual { min-height: 560px; overflow: hidden; border-radius: 34px; background: linear-gradient(150deg, #cce1e9, #487b92); box-shadow: var(--the-shadow); }
.split-visual img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; }
.check-list { display: grid; gap: 18px; padding: 0; margin: 34px 0 0; list-style: none; }
.check-list li { position: relative; padding-left: 34px; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--the-blue); font-weight: 900; }

.location-card { position: relative; min-height: 430px; color: white; border: 0; background: var(--the-navy-soft); }
.locations-grid { grid-template-columns: repeat(2, 1fr); }
.location-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,14,24,.95), rgba(4,14,24,.16)); }
.location-card img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.location-body { position: absolute; z-index: 1; inset: auto 0 0; }
.location-body p { color: rgba(255,255,255,.7); }

.final-cta { position: relative; display: grid; min-height: clamp(640px, 78vh, 880px); overflow: hidden; place-items: center; color: #171313; background-color: #edf2f3; background-image: var(--final-cta-image); background-position: center; background-size: cover; background-repeat: no-repeat; background-attachment: fixed; }
.final-cta__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.88) 28%, rgba(255,255,255,.28) 52%, rgba(255,255,255,.02) 72%); }
.final-cta__inner { position: relative; z-index: 1; width: min(1320px, calc(100% - 64px)); }
.final-cta__message { width: min(560px, 46vw); padding: clamp(38px, 5vw, 68px) 0; }
.final-cta__message .the-eyebrow { display: flex; align-items: center; gap: 10px; }
.final-cta__message .the-eyebrow i { display: block; width: 5px; height: 5px; border-radius: 50%; background: #df0712; }
.final-cta__message h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(3.7rem, 6vw, 6.8rem); line-height: .89; letter-spacing: -.05em; }
.final-cta__message > p:not(.the-eyebrow) { margin: 26px 0 32px; color: #514b4b; font-size: 1.05rem; line-height: 1.6; }
.final-cta__primary { justify-content: space-between; gap: 28px; min-width: 250px; color: #fff; background: #df0712; box-shadow: 0 18px 42px rgba(146,8,16,.22); }
.final-cta__primary:hover { color: #fff; background: #f11924; transform: translateY(-2px); }
.google-reviews { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: stretch; min-height: 116px; overflow: hidden; color: #171313; background: rgba(255,255,255,.95); border-top: 1px solid rgba(20,18,18,.1); backdrop-filter: blur(18px); }
.google-reviews a { color: inherit; text-decoration: none; }
.google-reviews__score { display: grid; grid-template-columns: 1fr auto; align-content: center; column-gap: 14px; min-width: 310px; padding: 16px clamp(24px, 3vw, 46px); border-right: 1px solid rgba(20,18,18,.1); }
.google-reviews__score strong { display: flex; align-self: end; flex-direction: column; font-size: .78rem; letter-spacing: .04em; }
.google-maps-attribution { color: #1f1f1f; font-family: Arial, sans-serif; font-size: .86rem; font-style: normal; font-weight: 400; letter-spacing: normal; white-space: nowrap; }
.google-reviews__score strong small { margin-top: 5px; color: #777; font-size: .6rem; font-weight: 500; letter-spacing: 0; }
.google-reviews__score b { grid-row: span 2; align-self: center; font-family: Georgia, serif; font-size: 2rem; line-height: 1; }
.google-reviews__score i { color: #f4b400; font-size: .78rem; font-style: normal; letter-spacing: .08em; }
.google-reviews__score em { color: #696363; font-size: .66rem; font-style: normal; }
.google-reviews__verified-copy { display: flex; align-items: center; padding: 0 clamp(28px, 4vw, 64px); color: #4f4848; font-size: .86rem; font-weight: 800; }
.google-reviews--plugin { display: block; min-height: 0; overflow: visible; background: #fff; backdrop-filter: none; }
.google-reviews--plugin .google-reviews-plugin, .google-reviews--plugin .google-reviews-plugin > * { width: 100%; margin: 0; }
.google-reviews__viewport { min-width: 0; overflow: hidden; }
.google-reviews__track { display: flex; align-items: stretch; width: max-content; min-height: 116px; will-change: transform; }
.google-reviews__track.is-live { animation: googleReviewsFlow 72s linear infinite; }
.google-reviews__track.is-fallback { min-width: 100%; }
.google-review-card { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr; width: 390px; padding: 16px 28px; border-right: 1px solid rgba(20,18,18,.1); }
.google-review-card__author { display: flex; min-width: 0; align-items: center; gap: 10px; }
.google-review-card__author img { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; object-fit: cover; }
.google-review-card__author span, .google-review-card__author strong, .google-review-card__author small { display: block; min-width: 0; }
.google-review-card__author strong { overflow: hidden; font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.google-review-card__author small { margin-top: 2px; color: #7b7474; font-size: .62rem; }
.google-review-card__stars { align-self: center; margin-left: 12px; color: #f4b400; font-size: .64rem; letter-spacing: .03em; }
.google-review-card__text { grid-column: 1 / -1; align-self: end; margin-top: 9px; overflow: hidden; color: #504949; font-size: .76rem; font-weight: 700; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.google-reviews__fallback { display: flex; min-width: min(620px, 70vw); align-items: center; justify-content: center; gap: 12px; padding: 20px 40px; font-size: .86rem; font-weight: 800; }
.google-reviews__arrow { display: grid; width: 78px; place-items: center; border-left: 1px solid rgba(20,18,18,.1); font-size: 1.1rem; }
.google-reviews:hover .google-reviews__track, .google-reviews:focus-visible .google-reviews__track { animation-play-state: paused; }
@keyframes googleReviewsFlow { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .google-reviews__track { animation: none; } }

.contact-hero { position: relative; padding: 145px 0 70px; overflow: hidden; color: #fff; background: radial-gradient(circle at 84% 25%, rgba(223,7,18,.3), transparent 27%), #111; }
.contact-hero::after { content: "CONTACT"; position: absolute; right: -2vw; bottom: -7vw; color: rgba(255,255,255,.025); font-family: Georgia, serif; font-size: 18vw; font-weight: 900; line-height: 1; pointer-events: none; }
.contact-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr); align-items: center; gap: clamp(48px, 7vw, 110px); }
.contact-hero__copy h1 { max-width: 720px; margin: 0; font-family: Georgia, serif; font-size: clamp(3.7rem, 7vw, 7rem); line-height: .9; letter-spacing: -.055em; text-wrap: balance; }
.contact-hero__copy > p:last-child { max-width: 610px; margin: 28px 0 0; color: rgba(255,255,255,.72); font-size: 1.02rem; }
.contact-hero__visual { position: relative; min-width: 0; padding-bottom: 104px; }
.contact-hero__visual figure { position: relative; height: clamp(390px, 44vw, 560px); margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.17); border-radius: 30px; background: #2a2020; box-shadow: 0 36px 90px rgba(0,0,0,.42); }
.contact-hero__visual figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(17,17,17,.48), transparent 42%); }
.contact-hero__visual figure img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.94) contrast(1.04); }
.contact-hero__visual figcaption { position: absolute; z-index: 1; left: 22px; bottom: 20px; color: #fff; font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.contact-actions { position: absolute; right: -18px; bottom: 0; left: 34px; display: grid; grid-template-columns: 1.15fr .85fr; gap: 8px; padding: 9px; border: 1px solid rgba(17,17,17,.1); border-radius: 23px; background: rgba(255,255,255,.97); box-shadow: 0 24px 60px rgba(0,0,0,.32); }
.contact-action { display: grid; min-height: 82px; align-content: center; grid-template-columns: 1fr auto; padding: 14px 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 19px; color: #fff; background: rgba(255,255,255,.055); text-decoration: none; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.contact-action:not(.contact-action--primary) { color: #171717; border-color: rgba(17,17,17,.1); background: #f4f1ee; }
.contact-action:hover { border-color: rgba(17,17,17,.22); transform: translateY(-3px); }
.contact-action--primary { border-color: var(--the-blue); background: var(--the-blue); }
.contact-action--primary:hover { background: #c9000a; }
.contact-action span { grid-column: 1; color: #777; font-size: .61rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.contact-action--primary span { color: rgba(255,255,255,.7); }
.contact-action strong { grid-column: 1; overflow-wrap: anywhere; font-size: .94rem; }
.contact-action i { grid-column: 2; grid-row: 1 / 3; align-self: center; font-style: normal; }
.contact-clinics { padding: 100px 0; background: #f7f5f2; }
.contact-clinics__heading { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 60px; margin-bottom: 54px; }
.contact-clinics__heading h2, .contact-guide h2, .contact-faq h2 { margin: 0; font-family: Georgia, serif; font-size: clamp(2.5rem, 5vw, 4.7rem); line-height: .96; letter-spacing: -.04em; }
.contact-clinics__heading > p { max-width: 520px; margin: 0 0 8px; color: #666; font-size: 1rem; }
.clinic-location { display: grid; min-height: 520px; grid-template-columns: 35% 65%; overflow: hidden; border: 1px solid rgba(17,17,17,.1); border-radius: 30px; background: #fff; box-shadow: 0 24px 70px rgba(17,17,17,.1); }
.clinic-location + .clinic-location { margin-top: 30px; }
.clinic-location--kampala { grid-template-columns: 65% 35%; }
.clinic-location--kampala .clinic-location__details { grid-column: 2; grid-row: 1; }
.clinic-location--kampala .clinic-location__map { grid-column: 1; grid-row: 1; }
.clinic-location__details { position: relative; display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: clamp(34px, 5vw, 70px); color: #fff; background: radial-gradient(circle at 100% 0, rgba(223,7,18,.34), transparent 38%), #111; }
.clinic-location__country { margin: 0 0 60px; color: #ff424b; font-size: .68rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.clinic-location__details h3 { margin: 0 0 22px; font-family: Georgia, serif; font-size: clamp(2.2rem, 3.5vw, 3.6rem); line-height: 1; }
.clinic-location__details address { color: rgba(255,255,255,.7); font-size: .96rem; font-style: normal; line-height: 1.65; }
.clinic-location__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.clinic-location__actions a { display: inline-flex; min-height: 48px; align-items: center; gap: 12px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #fff; font-size: .74rem; font-weight: 900; text-decoration: none; }
.clinic-location__actions a:first-child { border-color: var(--the-blue); background: var(--the-blue); }
.clinic-location__map { min-width: 0; background: #ddd; }
.clinic-location__map iframe { display: block; width: 100%; height: 100%; min-height: 520px; border: 0; filter: saturate(.78) contrast(1.05); }
.contact-guide { padding: 100px 0; color: #fff; background: #111; }
.contact-guide__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 10vw, 150px); }
.contact-guide__portraits { display: grid; height: 245px; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 42px; }
.contact-guide__portraits img { width: 100%; height: 100%; min-width: 0; object-fit: cover; border-radius: 20px; filter: saturate(.9); }
.contact-guide__portraits img:first-child { object-position: 50% 42%; }
.contact-guide__portraits img:last-child { object-position: 56% 50%; }
.contact-guide__steps { display: grid; }
.contact-guide__steps p { display: grid; grid-template-columns: 190px 1fr; gap: 28px; padding: 22px 0; margin: 0; border-top: 1px solid rgba(255,255,255,.13); }
.contact-guide__steps strong { color: #fff; font-family: Georgia, serif; font-size: 1.05rem; }
.contact-guide__steps span { color: rgba(255,255,255,.6); font-size: .9rem; }
.contact-faq { padding: 100px 0; background: #fff; }
.contact-faq__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px, 10vw, 150px); }
.contact-faq__list details { border-top: 1px solid rgba(17,17,17,.14); }
.contact-faq__list details:last-child { border-bottom: 1px solid rgba(17,17,17,.14); }
.contact-faq__list summary { position: relative; padding: 22px 46px 22px 0; font-family: Georgia, serif; font-size: 1.15rem; font-weight: 700; cursor: pointer; list-style: none; }
.contact-faq__list summary::-webkit-details-marker { display: none; }
.contact-faq__list summary::after { content: "+"; position: absolute; right: 4px; top: 19px; color: var(--the-blue); font-family: Inter, sans-serif; font-size: 1.45rem; }
.contact-faq__list details[open] summary::after { content: "−"; }
.contact-faq__list details p { max-width: 680px; margin: -4px 50px 24px 0; color: #666; font-size: .92rem; }

.site-footer { position: relative; overflow: hidden; padding: 0 0 24px; color: rgba(255,255,255,.68); background: radial-gradient(circle at 88% 8%, rgba(223,7,18,.2), transparent 30%), linear-gradient(135deg, #0b0a0a 0%, #151010 55%, #090909 100%); }
.site-footer::before { content: "THE"; position: absolute; right: -1vw; bottom: -15vw; color: rgba(255,255,255,.018); font-family: Georgia, serif; font-size: 34vw; font-weight: 900; line-height: 1; pointer-events: none; }
.footer-lower { position: relative; width: 100%; background: linear-gradient(90deg, rgba(255,255,255,.025), rgba(223,7,18,.035)); }
.footer-lower::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--the-blue) 0 18%, transparent 18%); opacity: .14; transform: scaleY(.012); transform-origin: top; pointer-events: none; }
.footer-wide { width: calc(100% - clamp(40px, 7vw, 140px)); margin-inline: auto; }
.footer-main { position: relative; display: grid; grid-template-columns: minmax(270px, 1.4fr) minmax(150px, .7fr) minmax(190px, .85fr) minmax(230px, 1fr); gap: clamp(34px, 5vw, 92px); padding: 72px 0 60px; }
.footer-identity img { display: block; width: 178px; height: auto; padding: 10px; border-radius: 16px; background: #fff; }
.footer-identity p { max-width: 290px; margin: 20px 0 0; color: rgba(255,255,255,.78); font-family: Georgia, serif; font-size: 1.1rem; line-height: 1.35; }
.footer-contact { display: grid; gap: 4px; margin-top: 24px; }
.footer-contact a { width: fit-content; color: rgba(255,255,255,.62); font-size: .76rem; text-decoration: none; }
.footer-contact a:hover { color: #fff; }
.footer-links, .footer-socials { display: flex; align-items: flex-start; flex-direction: column; gap: 10px; }
.footer-links > p, .footer-socials > p { margin: 0 0 13px; color: #ff3942; font-size: .64rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.footer-links a { color: rgba(255,255,255,.72); font-size: .86rem; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.footer-links a:hover { color: #fff; transform: translateX(3px); }
.footer-links > span { display: grid; color: #fff; font-family: Georgia, serif; font-size: 1rem; line-height: 1.25; }
.footer-links > span small { color: rgba(255,255,255,.45); font-family: Inter, sans-serif; font-size: .56rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.social-links { display: flex; flex-wrap: wrap; gap: 9px; }
.social-links a { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 50%; color: #161616; background: #fff; box-shadow: 0 10px 25px rgba(0,0,0,.2); transition: transform .2s ease, background .2s ease, color .2s ease; }
.social-links a:hover { color: #fff; transform: translateY(-4px); }
.social-links a:nth-child(1):hover { background: #e4405f; }
.social-links a:nth-child(2):hover { background: #1877f2; }
.social-links a:nth-child(3):hover { background: #000; }
.social-links a:nth-child(4):hover { background: #111; }
.social-links a:nth-child(5):hover { background: #0a66c2; }
.social-links svg { width: 19px; height: 19px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.8; }
.social-links .social-fill { fill: currentColor; stroke: none; }
.footer-bottom { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 24px 0 0; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.45); font-size: .7rem; font-weight: 700; letter-spacing: .04em; }
.footer-bottom > a { display: inline-flex; align-items: center; gap: 10px; padding: 9px 14px; border-radius: 999px; color: #fff; background: var(--the-blue); text-decoration: none; }
.footer-bottom > a i { width: auto; height: auto; background: transparent; font-style: normal; }
.footer-bottom span:last-child { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.72); }
.footer-bottom span:last-child { justify-self: end; }
.footer-bottom i { width: 4px; height: 4px; border-radius: 50%; background: var(--the-blue); }

.ask-the-launch { position: fixed; z-index: 110; right: 20px; bottom: 20px; display: flex; align-items: center; gap: 11px; padding: 10px 17px 10px 10px; border: 0; border-radius: 999px; color: white; background: var(--the-navy); box-shadow: 0 18px 45px rgba(4,14,24,.3); font-weight: 900; cursor: pointer; }
.ask-the-mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: white; background: linear-gradient(135deg, var(--the-blue), #ff545b); }
.ask-the-panel { position: fixed; z-index: 120; right: 20px; bottom: 82px; display: none; width: min(390px, calc(100% - 28px)); overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 24px; background: white; box-shadow: 0 28px 80px rgba(4,14,24,.32); }
.ask-the-panel.is-open { display: block; animation: the-rise .22s ease-out; }
@keyframes the-rise { from { opacity: 0; transform: translateY(12px); } }
.ask-the-head { display: flex; align-items: center; gap: 12px; padding: 18px; color: white; background: var(--the-navy); }
.ask-the-head strong { display: block; }
.ask-the-head small { display: block; color: rgba(255,255,255,.63); }
.ask-the-close { margin-left: auto; border: 0; color: white; background: transparent; font-size: 1.4rem; cursor: pointer; }
.ask-the-body { max-height: 62vh; overflow-y: auto; padding: 18px; }
.ask-message { padding: 13px 15px; margin: 0 0 12px; border-radius: 16px 16px 16px 4px; background: #eff6f8; font-size: .92rem; }
.ask-options { display: grid; gap: 8px; }
.ask-option { padding: 11px 13px; border: 1px solid var(--the-line); border-radius: 12px; color: var(--the-ink); background: white; text-align: left; cursor: pointer; }
.ask-option:hover { border-color: var(--the-blue); color: var(--the-blue); }
.ask-note { margin: 14px 0 0; color: var(--the-muted); font-size: .72rem; }

@media (max-width: 1100px) {
  .footer-main { grid-template-columns: 1.2fr 1fr; }
}

@media (max-width: 900px) {
  .the-section { padding: 72px 0; }
  body.menu-open { overflow: hidden; }
  .site-header { padding: 5px 0; }
  .site-header::before { background: rgba(255,255,255,.96); }
  .header-inner { min-height: 68px; }
  .site-brand { width: 144px; height: 54px; }
  .site-brand img { max-height: 50px; }
  .menu-toggle { position: relative; z-index: 103; display: inline-flex; min-width: 92px; min-height: 46px; align-items: center; justify-content: center; gap: 10px; margin-left: auto; padding: 0 14px; border: 1px solid rgba(17,17,17,.12); border-radius: 999px; color: var(--the-ink); background: #fff; font: inherit; font-size: .72rem; font-weight: 900; text-transform: uppercase; cursor: pointer; }
  .menu-toggle__icon { position: relative; width: 17px; height: 12px; }
  .menu-toggle__icon i { position: absolute; left: 0; display: block; width: 17px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease, top .2s ease; }
  .menu-toggle__icon i:first-child { top: 2px; }
  .menu-toggle__icon i:last-child { top: 9px; }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon i:first-child { top: 6px; transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon i:last-child { top: 6px; transform: rotate(-45deg); }
  .header-cta { display: none; }
  .site-nav { position: fixed; z-index: 102; inset: 0 0 0 auto; display: block; width: min(470px, 100%); height: 100dvh; padding: 20px 18px 24px; overflow-y: auto; background: #f8f6f3; box-shadow: -20px 0 70px rgba(17,17,17,.18); visibility: hidden; transform: translateX(102%); transition: transform .32s cubic-bezier(.22,.75,.25,1), visibility .32s; }
  .site-nav.is-open { visibility: visible; transform: translateX(0); }
  .site-nav__top { display: flex; min-height: 58px; align-items: center; justify-content: space-between; padding-right: 104px; color: #777; font-size: .64rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
  .menu-close { border: 0; color: var(--the-blue); background: transparent; font: inherit; font-size: .68rem; font-weight: 900; cursor: pointer; }
  .site-nav ul { display: flex; align-items: stretch; gap: 5px; flex-direction: column; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .site-nav a, .nav-services__trigger { width: 100%; min-height: 64px; justify-content: flex-start; padding: 0 14px; border-radius: 15px; font-size: 1.05rem; text-align: left; }
  .site-nav a small, .nav-services__trigger small { width: 28px; }
  .nav-services__trigger i { margin-left: auto; }
  .services-mega { position: static; display: grid; width: 100%; max-height: 0; grid-template-columns: 1fr; padding: 0; overflow: hidden; border: 0; border-radius: 18px; background: #fff; box-shadow: none; opacity: 1; pointer-events: none; transform: none; transition: max-height .35s ease, padding .35s ease; }
  .nav-services.is-open .services-mega { max-height: 920px; padding: 7px; pointer-events: auto; transform: none; }
  .services-mega__intro { display: none; }
  .services-mega__grid { grid-template-columns: 1fr; padding: 0; }
  .services-mega .services-mega__grid a { min-height: 58px; padding: 8px 10px; }
  .services-mega__grid a strong { font-size: .9rem; }
  .services-mega__grid a em { font-size: .54rem; }
  .site-nav__mobile-action { display: grid; gap: 16px; padding: 21px; margin-top: 18px; border-radius: 20px; color: #fff; background: radial-gradient(circle at 100% 0, rgba(223,7,18,.55), transparent 42%), #111; }
  .site-nav__mobile-action p { margin: 0; color: rgba(255,255,255,.72); font-size: .8rem; }
  .site-nav__mobile-action p strong { color: #fff; }
  .site-nav .site-nav__mobile-action a { min-height: 52px; justify-content: space-between; padding: 0 17px; border-radius: 999px; color: #fff; background: var(--the-blue); font-size: .78rem; }
  .menu-scrim { position: fixed; z-index: 101; inset: 0; border: 0; background: rgba(17,17,17,.38); opacity: 0; pointer-events: none; transition: opacity .3s ease; }
  body.menu-open .menu-scrim { display: block; opacity: 1; pointer-events: auto; }
  .hero { min-height: 760px; }
  .hero-stage { right: -5vw; width: 56vw; opacity: .76; }
  .hero-copy { max-width: 54vw; }
  .trust-row { grid-template-columns: repeat(2, 1fr); }
  .proof-grid, .journey-grid { grid-template-columns: 1fr 1fr; }
  .split { grid-template-columns: 1fr; gap: 40px; }
  .split-visual, .split-visual img { min-height: 420px; }
  .footer-main { grid-template-columns: 1.25fr 1fr; }
  .contact-hero__grid { grid-template-columns: 1fr; gap: 48px; }
  .contact-hero__visual { max-width: 720px; padding-bottom: 100px; }
  .contact-clinics__heading, .contact-guide__grid, .contact-faq__grid { grid-template-columns: 1fr; gap: 38px; }
  .clinic-location, .clinic-location--kampala { grid-template-columns: 42% 58%; }
  .clinic-location--kampala .clinic-location__details { grid-column: 2; }
  .clinic-location--kampala .clinic-location__map { grid-column: 1; }
}

@media (max-width: 620px) {
  :root { --the-wrap: min(100% - 28px, 1180px); }
  .header-inner { min-height: 64px; }
  .site-brand { width: 132px; }
  .site-brand img { max-height: 46px; }
  .site-nav { width: 100%; padding: 16px 14px 22px; }
  .site-nav__top { min-height: 54px; }
  .site-nav a, .nav-services__trigger { min-height: 59px; }
  .footer-wide { width: calc(100% - 28px); }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 42px 24px; padding: 48px 0; }
  .footer-identity, .footer-socials { grid-column: 1 / -1; }
  .footer-bottom { grid-template-columns: 1fr; align-items: flex-start; gap: 14px; }
  .footer-bottom > a { grid-row: 1; }
  .footer-bottom span:last-child { justify-self: start; }
  .contact-hero { padding: 118px 0 62px; }
  .contact-hero__copy h1 { font-size: clamp(3.2rem, 15vw, 4.4rem); }
  .contact-hero__copy > p:last-child { margin-top: 20px; font-size: .92rem; }
  .contact-hero__visual { padding-bottom: 0; }
  .contact-hero__visual figure { height: 330px; border-radius: 24px; }
  .contact-actions { position: relative; right: auto; bottom: auto; left: auto; grid-template-columns: 1fr; margin: -24px 10px 0; }
  .contact-action--primary { grid-column: auto; }
  .contact-clinics, .contact-guide, .contact-faq { padding: 72px 0; }
  .contact-clinics__heading { margin-bottom: 36px; }
  .clinic-location, .clinic-location--kampala { grid-template-columns: 1fr; min-height: 0; border-radius: 24px; }
  .clinic-location--kampala .clinic-location__details, .clinic-location--kampala .clinic-location__map { grid-column: 1; grid-row: auto; }
  .clinic-location__details { padding: 36px 26px; }
  .clinic-location__country { margin-bottom: 34px; }
  .clinic-location__map iframe { min-height: 330px; }
  .contact-guide__steps p { grid-template-columns: 1fr; gap: 6px; }
  .contact-guide__portraits { height: 190px; margin-top: 30px; }
  .contact-guide__portraits img { border-radius: 16px; }
  .hero { height: 100svh; min-height: 780px; align-items: start; }
  .hero-inner { width: calc(100% - 24px); padding: 100px 0 0 12px; }
  .hero-copy { max-width: 94vw; }
  .hero h1 { max-width: 94vw; font-size: clamp(2.8rem, 13.2vw, 4.25rem); line-height: .9; }
  .hero-copy > p:not(.the-eyebrow) { max-width: 92vw; margin-top: 16px; font-size: .92rem; line-height: 1.5; }
  .hero-actions { margin-top: 20px; }
  .hero-actions .the-button { width: 100%; }
  .hero-stage { top: 53%; right: -3%; bottom: 1.5%; width: 106%; height: auto; opacity: 1; }
  .hero-scene { inset: 3% 3% 1% 5%; opacity: .25; }
  .hero-compare { top: 0; right: 2%; width: 58%; border-radius: 18px; }
  .hero-person { border-radius: 18px; }
  .hero-person span { left: 8px; bottom: 7px; padding: 4px 7px; font-size: .5rem; }
  .hero-person--ug-before { top: 24%; left: 1%; width: 29%; height: 42%; }
  .hero-person--ug-after { top: 27%; right: 31%; width: 29%; height: 43%; }
  .hero-person--barry { right: 1%; bottom: 1%; width: 29%; height: 42%; }
  .hero-person--usa { left: 35%; bottom: 0; width: 29%; height: 41%; }
  .hero-person--woman { left: 1%; bottom: 0; width: 29%; height: 39%; }
  .trust-row { margin-top: 48px; }
  .trust-item { padding: 15px; }
  .trust-item strong { font-size: 1.22rem; }
  .proof-grid, .journey-grid, .locations-grid, .footer-grid { grid-template-columns: 1fr; }
  .location-card { min-height: 360px; }
  .final-cta { background-attachment: scroll; background-position: 58% center; }
  .ask-the-launch span:last-child { display: none; }
  .ask-the-launch { padding-right: 10px; }
}

/* v0.8 complete flashcard labels and patient-specific framing */
.hero-flash-card::after {
  right: 10px;
  width: auto;
  max-width: none;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  text-align: center;
  line-height: 1.25;
  border-radius: 12px;
}
.hero-flash-card--uganda-before { background-size:250% auto; background-position:0 12%; }
.hero-flash-card--uganda-after { background-size:250% auto; background-position:100% 12%; }
.hero-flash-card--usa-before { background-size:100% 202%; background-position:center top; }
.hero-flash-card--usa-after { background-size:100% 202%; background-position:center bottom; }
@media (max-width:620px) {
  .hero-flash-card { width:clamp(118px,34vw,148px); height:clamp(164px,46vw,202px); }
  .hero-flash-card:nth-child(1),.hero-flash-card:nth-child(3),.hero-flash-card:nth-child(5),.hero-flash-card:nth-child(7),.hero-flash-card:nth-child(9) { --card-x:2%; --card-y:7%; }
  .hero-flash-card:nth-child(2),.hero-flash-card:nth-child(4),.hero-flash-card:nth-child(6),.hero-flash-card:nth-child(8),.hero-flash-card:nth-child(10) { --card-x:58%; --card-y:52%; }
  .hero-flash-card::after { left:7px; right:7px; bottom:7px; max-width:none; padding:6px 6px; font-size:clamp(.48rem,2.1vw,.6rem); letter-spacing:.055em; white-space:normal; overflow:visible; text-overflow:clip; }
  .hero-flash-card--uganda-before { background-size:245% auto; background-position:0 11%; }
  .hero-flash-card--uganda-after { background-size:245% auto; background-position:100% 11%; }
}

/* v0.42 article navigation and compact clinic consultation */
.journal-aside__sticky{position:sticky;top:110px}.journal-aside__card{position:static;padding:27px}.journal-aside__card h2{font-size:1.72rem}.journal-neighbours{display:grid;margin-top:14px;overflow:hidden;border:1px solid #dedad4;border-radius:21px;background:#fff}.journal-neighbours a{position:relative;display:grid;gap:5px;padding:18px 48px 18px 20px;color:#171718;text-decoration:none}.journal-neighbours a+a{border-top:1px solid #eeeae5}.journal-neighbours span{color:#df0712;font-size:.59rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.journal-neighbours strong{font-family:Georgia,serif;font-size:.95rem;line-height:1.22}.journal-neighbours i{position:absolute;right:20px;top:50%;color:#df0712;font-style:normal;transform:translateY(-50%)}.journal-neighbours__all{background:#f3f0ec}.journal-consultation{padding:54px 0;color:#fff;background:radial-gradient(circle at 88% 30%,rgba(223,7,18,.32),transparent 28%),#111}.journal-consultation__inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.journal-consultation h2{margin:7px 0 8px;font-family:Georgia,serif;font-size:clamp(1.9rem,3.3vw,3.2rem);line-height:1}.journal-consultation p:last-child{max-width:650px;margin:0;color:#b9b9bc;line-height:1.55}.journal-consultation .the-button{flex:0 0 auto}

/* Contact hero action cards */
.contact-hero__visual figure img{object-position:center 38%}.contact-action{min-width:0;row-gap:4px}.contact-action strong{line-height:1.18}.contact-actions{grid-template-columns:1fr 1fr}.contact-actions .contact-action:last-child{grid-column:1/-1}
.contact-hero__visual figcaption{display:none}.contact-actions{z-index:3}.contact-action span,.contact-action strong,.contact-action i{position:relative;z-index:1}.contact-action strong{white-space:normal;overflow-wrap:normal;word-break:normal}

@media(max-width:900px){.journal-aside{display:block}.journal-aside__sticky{position:static;display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-actions{right:0}}
@media(max-width:620px){.journal-aside__sticky{grid-template-columns:1fr}.journal-consultation__inner{align-items:flex-start;flex-direction:column;gap:25px}.journal-consultation{padding:42px 0}.journal-consultation .the-button{width:100%}.contact-actions{grid-template-columns:1fr;margin:-18px 8px 0;padding:7px}.contact-actions .contact-action:last-child{grid-column:auto}.contact-action{min-height:70px;padding:12px 17px}.contact-action strong{font-size:.86rem}.contact-hero__visual figure img{object-position:center 35%}}

/* v0.39 editorial journal */
.journal-index,.journal-single{background:#f6f4f1;color:#171718}.journal-index__hero{padding:190px 0 92px;background:radial-gradient(circle at 84% 22%,rgba(223,7,18,.12),transparent 28%),#f6f4f1}.journal-index__hero h1{max-width:900px;margin:12px 0 22px;font-family:Georgia,serif;font-size:clamp(3.7rem,7.8vw,8.2rem);line-height:.86;letter-spacing:-.055em}.journal-index__hero>div>p:last-child{max-width:590px;margin:0;color:#666;font-size:1.08rem;line-height:1.65}.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:66px 28px;padding-top:30px;padding-bottom:120px}.journal-card{min-width:0}.journal-card__image{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;border-radius:26px;background:#171718}.journal-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.journal-card__image:hover img{transform:scale(1.025)}.journal-card__image>span{position:absolute;left:18px;bottom:18px;padding:9px 12px;border-radius:999px;color:#fff;background:rgba(15,15,16,.82);backdrop-filter:blur(10px);font-size:.66rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.journal-card>div{padding:25px 8px 0}.journal-card>div>p:first-child{margin:0 0 12px;color:#df0712;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.journal-card h2{margin:0;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,3rem);line-height:1.02}.journal-card h2 a{color:inherit;text-decoration:none}.journal-card>div>p:not(:first-child){max-width:600px;margin:15px 0;color:#68686b;line-height:1.65}.journal-card__link{display:inline-flex;gap:12px;margin-top:5px;padding-bottom:7px;border-bottom:1px solid #d7d3ce;color:#171718;font-size:.76rem;font-weight:900;text-decoration:none;text-transform:uppercase}.journal-card__link span{color:#df0712}.journal-grid .navigation{grid-column:1/-1}.journal-hero{position:relative;display:flex;min-height:min(860px,92vh);align-items:flex-end;overflow:hidden;background:#111}.journal-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.journal-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,6,.93) 0%,rgba(5,5,6,.62) 47%,rgba(5,5,6,.08) 82%),linear-gradient(0deg,rgba(5,5,6,.75),transparent 46%)}.journal-hero__inner{position:relative;z-index:2;padding-bottom:72px;color:#fff}.journal-back{display:inline-block;margin-bottom:58px;color:rgba(255,255,255,.72);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.journal-back:before{content:'←';margin-right:9px;color:#ff3542}.journal-hero h1{max-width:930px;margin:13px 0 28px;font-family:Georgia,serif;font-size:clamp(3.5rem,6.8vw,7.2rem);line-height:.88;letter-spacing:-.05em}.journal-meta{display:flex;flex-wrap:wrap;gap:11px 0;color:rgba(255,255,255,.76);font-size:.73rem;font-weight:800;text-transform:uppercase}.journal-meta span+span:before{content:'•';padding:0 12px;color:#ff2432}.journal-layout{display:grid;grid-template-columns:minmax(0,760px) 330px;justify-content:space-between;gap:80px;padding-top:92px;padding-bottom:120px}.journal-article{font-size:1.06rem;line-height:1.82}.journal-article>p,.journal-article>h2,.journal-article>h3,.journal-article>ul,.journal-article>ol,.journal-article>details,.journal-article>blockquote{max-width:730px}.journal-article .article-intro{margin:0 0 52px;font-family:Georgia,serif;font-size:clamp(1.65rem,2.8vw,2.45rem);font-weight:700;line-height:1.24;letter-spacing:-.02em}.journal-article h2{margin:76px 0 20px;font-family:Georgia,serif;font-size:clamp(2.15rem,4vw,3.65rem);line-height:1}.journal-article h3{margin:45px 0 14px;font-family:Georgia,serif;font-size:1.55rem}.journal-article p{color:#555559}.journal-article blockquote{margin:55px 0;padding:12px 0 12px 29px;border-left:4px solid #df0712;font-family:Georgia,serif;font-size:1.65rem;font-weight:700;line-height:1.3}.article-toc{display:grid;margin:0 0 64px;padding:28px;border:1px solid #dedad4;border-radius:22px;background:#fff}.article-toc strong{margin-bottom:12px;font-family:Georgia,serif;font-size:1.3rem}.article-toc a{padding:9px 0;border-top:1px solid #eeeae5;color:#3f3f42;text-decoration:none}.article-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:34px 0 60px;overflow:hidden;border:1px solid #dedad4;border-radius:22px;background:#dedad4}.article-points>div{padding:25px 22px;background:#fff}.article-points b,.article-points span{display:block}.article-points b{margin-bottom:10px;font-family:Georgia,serif;font-size:1.15rem}.article-points span{color:#6c6c70;font-size:.84rem;line-height:1.55}.article-feature{margin:64px -70px 70px}.article-feature img{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:28px}.article-feature figcaption{padding:12px 18px;color:#777;font-size:.76rem}.article-feature--portrait img{object-position:center 35%}.article-note{display:grid;grid-template-columns:180px 1fr;gap:25px;margin:48px 0;padding:27px 30px;border-radius:20px;color:#fff;background:#151516}.article-note b{font-family:Georgia,serif;font-size:1.22rem}.article-note span{color:#c9c9cb;font-size:.9rem;line-height:1.55}.journal-article details{border-bottom:1px solid #d9d5cf}.journal-article summary{padding:19px 30px 19px 0;font-weight:800;cursor:pointer}.journal-article details p{margin-top:-6px;padding-bottom:14px}.article-steps{margin:35px 0 60px;padding:0;list-style:none;counter-reset:article-step}.article-steps li{counter-increment:article-step;display:grid;grid-template-columns:46px 150px 1fr;align-items:start;gap:15px;padding:20px 0;border-bottom:1px solid #dedad4}.article-steps li:before{content:counter(article-step,decimal-leading-zero);color:#df0712;font-size:.7rem;font-weight:900}.article-steps span{color:#666;font-size:.9rem}.article-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:34px 0 62px}.article-service-grid>div{padding:25px;border:1px solid #dedad4;border-radius:18px;background:#fff}.article-service-grid h3{margin:0 0 9px;font-size:1.3rem}.article-service-grid p{margin:0;font-size:.88rem;line-height:1.55}.result-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:35px -70px 70px}.result-strip figure{position:relative;margin:0;overflow:hidden;border-radius:24px;background:#ddd}.result-strip img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.result-strip figcaption{position:absolute;left:14px;bottom:14px;padding:8px 11px;border-radius:999px;color:#fff;background:rgba(10,10,10,.78);font-size:.68rem;font-weight:900;text-transform:uppercase}.article-cta{max-width:none!important;margin:82px -70px 0;padding:55px;border-radius:28px;color:#fff;background:radial-gradient(circle at 93% 7%,rgba(223,7,18,.42),transparent 33%),#111}.article-cta>span{color:#ff4853;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.journal-article .article-cta h2{margin:14px 0;font-size:3.3rem}.journal-article .article-cta p{max-width:540px;margin:0;color:#c4c4c6}.journal-aside{position:relative}.journal-aside__card{position:sticky;top:110px;padding:30px;border-radius:24px;color:#fff;background:#111;box-shadow:0 24px 60px rgba(0,0,0,.15)}.journal-aside__card h2{margin:10px 0 16px;font-family:Georgia,serif;font-size:2.05rem;line-height:1.02}.journal-aside__card>p:not(.the-eyebrow){color:#aaa;line-height:1.55}.journal-aside__card .the-button{width:100%;margin-top:12px}.journal-whatsapp{display:block;margin-top:17px;color:#fff;font-size:.72rem;font-weight:800;text-align:center;text-decoration:none}.journal-clinics{display:grid;margin-top:18px;padding:24px;border:1px solid #dedad4;border-radius:22px;background:#fff}.journal-clinics b{margin-bottom:9px;font-family:Georgia,serif;font-size:1.25rem}.journal-clinics a{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid #eeeae5;color:#4d4d50;font-size:.82rem;text-decoration:none}.journal-clinics span{color:#df0712}.journal-next{padding:95px 0;color:#fff;background:#101011}.journal-next h2{max-width:700px;margin:10px 0 28px;font-family:Georgia,serif;font-size:clamp(3rem,6vw,6rem);line-height:.9}.journal-next a{display:inline-flex;gap:15px;color:#fff;font-weight:900;text-decoration:none}.journal-next a span{color:#ff2432}

@media(max-width:900px){.journal-layout{grid-template-columns:1fr;gap:50px}.journal-aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.journal-aside__card{position:static}.article-feature,.result-strip,.article-cta{margin-right:0;margin-left:0}}
@media(max-width:620px){.journal-index__hero{padding:128px 0 64px}.journal-index__hero h1{font-size:clamp(3.15rem,14vw,4.6rem)}.journal-grid{grid-template-columns:1fr;gap:48px;padding-bottom:80px}.journal-card__image{border-radius:20px}.journal-card>div{padding:19px 2px 0}.journal-hero{min-height:720px}.journal-hero__shade{background:linear-gradient(0deg,rgba(5,5,6,.96) 0%,rgba(5,5,6,.62) 53%,rgba(5,5,6,.05) 82%)}.journal-hero>img{object-position:center}.journal-hero__inner{padding-bottom:39px}.journal-back{margin-bottom:28px}.journal-hero h1{font-size:clamp(2.85rem,12.5vw,4.2rem);line-height:.91}.journal-layout{width:calc(100% - 30px);padding-top:60px;padding-bottom:80px}.journal-article{font-size:1rem;line-height:1.72}.journal-article .article-intro{margin-bottom:38px;font-size:1.55rem}.journal-article h2{margin-top:58px;font-size:2.35rem}.article-points,.article-service-grid{grid-template-columns:1fr}.article-points>div{padding:21px}.article-note{grid-template-columns:1fr;gap:8px;padding:24px}.article-feature{margin-top:46px;margin-bottom:52px}.article-feature img{border-radius:20px;aspect-ratio:4/3}.article-feature--portrait img{aspect-ratio:4/5}.result-strip{gap:7px;margin-top:25px;margin-bottom:52px}.result-strip figure{border-radius:16px}.article-steps li{grid-template-columns:34px 1fr}.article-steps li span{grid-column:2}.article-cta{padding:35px 24px;border-radius:22px}.journal-article .article-cta h2{font-size:2.5rem}.journal-aside{grid-template-columns:1fr}.journal-next{padding:70px 0}.journal-next h2{font-size:3.2rem}}

@media (max-width: 900px) {
  .expertise-heading { grid-template-columns: 1fr; gap: 22px; }
  .expertise-heading .the-lead { max-width: 760px; }
  .expertise-story { min-height: 520px; }
  .expertise-benefits { grid-template-columns: 1fr; }
  .expertise-benefit + .expertise-benefit { border-top: 1px solid var(--the-line); border-left: 0; }
  .expertise-panels { grid-template-columns: 1fr; grid-template-rows: none; min-height: 0; }
  .expertise-panel, .expertise-panel--trust { grid-row: auto; min-height: 520px; }
  .expertise-panel--trust h3 { font-size: clamp(2.3rem, 8vw, 4rem); }
}

@media (max-width: 620px) {
  .expertise-intro > .the-wrap { width: min(100% - 28px, 1320px); }
  .expertise-panels { gap: 10px; margin-top: 34px; }
  .expertise-panel, .expertise-panel--trust { min-height: 500px; border-radius: 22px; }
  .expertise-panel--trust > img { object-position: center 40%; }
  .expertise-panel--technique > img { object-position: 63% center; }
  .expertise-panel__content { padding: 24px 21px; }
  .expertise-panel__number { width: 31px; height: 31px; margin-bottom: 12px; }
  .expertise-panel h3, .expertise-panel--trust h3 { font-size: clamp(2rem, 9.5vw, 2.75rem); }
  .expertise-panel__content > p:not(.expertise-panel__kicker) { font-size: .88rem; line-height: 1.55; }
  .expertise-panel__proof { margin-top: 15px; font-size: .54rem; }
  .expertise-story { grid-template-columns: 1fr 1fr; grid-template-rows: 310px 190px; min-height: 0; gap: 8px; margin-top: 34px; }
  .expertise-photo { border-radius: 18px; }
  .expertise-photo--main { grid-column: 1 / 3; grid-row: 1; }
  .expertise-photo--talha, .expertise-photo--berkay { grid-row: 2; }
  .expertise-photo figcaption { left: 14px; right: 14px; bottom: 12px; display: block; }
  .expertise-photo figcaption strong { display: block; font-size: 1.05rem; }
  .expertise-photo figcaption span { display: block; margin-top: 3px; font-size: .51rem; text-align: left; }
  .expertise-photo--talha figcaption span, .expertise-photo--berkay figcaption span { display: none; }
  .expertise-benefits { margin-top: 32px; }
  .expertise-benefit { padding: 25px 4px 27px; }
  .expertise-benefit__number { margin-bottom: 14px; }
  .expertise-next { align-items: stretch; flex-direction: column; padding: 22px; }
  .expertise-next .the-button { width: 100%; }
}

/* v0.13 cinematic reading zones: protect faces and clinical detail from copy */
.expertise-panels { grid-template-rows: repeat(2, minmax(390px, 1fr)); min-height: 800px; }
.expertise-panel--trust > img { inset: 0 0 auto; height: 64%; object-position: center 35%; }
.expertise-panel--trust .expertise-panel__veil { z-index: -1; background: linear-gradient(180deg, transparent 0%, transparent 43%, rgba(9,9,9,.45) 57%, #090909 72%, #090909 100%); }
.expertise-panel--trust .expertise-panel__content { min-height: 47%; padding-top: 68px; background: linear-gradient(180deg, transparent, rgba(9,9,9,.98) 35%); }
.expertise-panel--trust .expertise-panel__content::before { content: ""; position: absolute; width: 64px; height: 3px; top: 43px; left: clamp(24px, 3.2vw, 42px); border-radius: 999px; background: linear-gradient(90deg, #e30a17, rgba(227,10,23,0)); box-shadow: 0 0 18px rgba(227,10,23,.45); }
.expertise-panel--technique > img, .expertise-panel--care > img { inset: 0 0 0 auto; width: 62%; height: 100%; }
.expertise-panel--technique > img { object-position: 62% center; }
.expertise-panel--care > img { object-position: 48% center; }
.expertise-panel--technique .expertise-panel__veil, .expertise-panel--care .expertise-panel__veil { background: linear-gradient(90deg, #090909 0%, #090909 45%, rgba(9,9,9,.93) 58%, rgba(9,9,9,.16) 88%, rgba(9,9,9,.04) 100%); }
.expertise-panel--technique .expertise-panel__content, .expertise-panel--care .expertise-panel__content { inset: 0 auto 0 0; display: flex; width: 64%; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: 30px 20px 30px 30px; }
.expertise-panel--technique h3, .expertise-panel--care h3 { max-width: 380px; font-size: clamp(1.8rem, 2.5vw, 2.65rem); }
.expertise-panel--technique .expertise-panel__content > p:not(.expertise-panel__kicker), .expertise-panel--care .expertise-panel__content > p:not(.expertise-panel__kicker) { max-width: 390px; font-size: clamp(.75rem, .9vw, .9rem); line-height: 1.5; }
.expertise-panel--technique .expertise-panel__proof, .expertise-panel--care .expertise-panel__proof { font-size: .54rem; }

@media (max-width: 900px) {
  .expertise-panels { min-height: 0; }
  .expertise-panel, .expertise-panel--trust { min-height: 620px; }
  .expertise-panel--trust > img { height: 66%; }
  .expertise-panel--technique > img, .expertise-panel--care > img { inset: 0 0 auto; width: 100%; height: 57%; }
  .expertise-panel--technique .expertise-panel__veil, .expertise-panel--care .expertise-panel__veil { background: linear-gradient(180deg, transparent 0%, transparent 35%, rgba(9,9,9,.48) 51%, #090909 68%, #090909 100%); }
  .expertise-panel--technique .expertise-panel__content, .expertise-panel--care .expertise-panel__content { inset: auto 0 0; display: block; width: 100%; padding: 70px 30px 32px; background: linear-gradient(180deg, transparent, rgba(9,9,9,.98) 34%); }
  .expertise-panel--technique h3, .expertise-panel--care h3 { max-width: 600px; }
}

@media (max-width: 620px) {
  .expertise-panel, .expertise-panel--trust { min-height: 610px; }
  .expertise-panel--trust > img, .expertise-panel--technique > img, .expertise-panel--care > img { height: 55%; }
  .expertise-panel--trust .expertise-panel__content { min-height: 53%; padding: 62px 21px 24px; }
  .expertise-panel--trust .expertise-panel__content::before { top: 40px; left: 21px; }
  .expertise-panel--technique .expertise-panel__content, .expertise-panel--care .expertise-panel__content { padding: 70px 21px 24px; }
  .expertise-panel--trust h3, .expertise-panel--technique h3, .expertise-panel--care h3 { font-size: clamp(2rem, 9vw, 2.65rem); }
}

/* Treatment discovery */
.treatments-showcase { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 82% 36%, #2a1114 0, #0b0b0c 37%, #050506 72%); }
.treatments-showcase::before { content: ""; position: absolute; inset: 0; opacity: .22; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(90deg, transparent, #000 45%, #000); }
.treatments-showcase > .the-wrap { width: min(1320px, calc(100% - 40px)); }
.treatments-heading { display: grid; grid-template-columns: 1.15fr .65fr; align-items: end; gap: clamp(40px, 8vw, 110px); }
.treatments-heading .the-lead { margin: 0 0 7px; color: rgba(255,255,255,.65); }
.treatment-navigator { display: grid; grid-template-columns: minmax(250px, .58fr) minmax(0, 1.7fr); min-height: 680px; margin-top: 58px; border: 1px solid rgba(255,255,255,.13); border-radius: 34px; overflow: hidden; background: rgba(8,8,9,.76); box-shadow: 0 40px 110px rgba(0,0,0,.48); backdrop-filter: blur(18px); }
.treatment-mobile-cue { display: none; }
.treatment-index { z-index: 2; display: flex; flex-direction: column; padding: 18px; border-right: 1px solid rgba(255,255,255,.1); background: rgba(5,5,6,.76); }
.treatment-index__item { position: relative; display: grid; grid-template-columns: 35px 1fr 18px; align-items: center; gap: 10px; flex: 1; width: 100%; padding: 12px 14px; border: 0; border-bottom: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.46); background: transparent; text-align: left; cursor: pointer; transition: color .35s ease, background .35s ease, padding .35s ease; }
.treatment-index__item { text-decoration: none; }
.treatment-index__item:last-child { border-bottom: 0; }
.treatment-index__item > span { color: #e31b2b; font-size: .63rem; font-weight: 900; letter-spacing: .12em; }
.treatment-index__item strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(.93rem, 1.3vw, 1.15rem); line-height: 1.08; }
.treatment-index__item i { position: relative; width: 7px; height: 7px; border: 1px solid currentColor; border-radius: 50%; }
.treatment-index__item i::after { content: ""; position: absolute; inset: -6px; border: 1px solid rgba(227,27,43,.4); border-radius: inherit; opacity: 0; transform: scale(.4); transition: .35s ease; }
.treatment-index__item:hover, .treatment-index__item.is-active { color: #fff; background: linear-gradient(90deg, rgba(227,27,43,.14), transparent); padding-left: 19px; }
.treatment-index__item.is-active i { color: #ff3848; background: #ff3848; box-shadow: 0 0 18px #e31b2b; }
.treatment-index__item.is-active i::after { opacity: 1; transform: scale(1); }
.treatment-stage { position: relative; min-width: 0; overflow: hidden; }
.treatment-stage__orbit { position: absolute; z-index: 3; right: -130px; top: -170px; width: 420px; height: 420px; border: 1px solid rgba(255,70,82,.18); border-radius: 50%; pointer-events: none; animation: treatmentOrbit 16s linear infinite; }
.treatment-stage__orbit::before, .treatment-stage__orbit::after { content: ""; position: absolute; border-radius: 50%; }
.treatment-stage__orbit::before { inset: 65px; border: 1px dashed rgba(255,255,255,.12); }
.treatment-stage__orbit::after { top: 50%; left: -4px; width: 8px; height: 8px; background: #ff3040; box-shadow: 0 0 22px #ff3040; }
.treatment-scene { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(350px, .9fr); align-items: end; opacity: 0; pointer-events: none; transform: translateY(15px); transition: opacity .5s ease, transform .65s cubic-bezier(.2,.8,.2,1); }
.treatment-scene[hidden] { display: grid; }
.treatment-scene.is-active { z-index: 1; opacity: 1; pointer-events: auto; transform: none; }
.treatment-scene:target { z-index: 2; opacity: 1; pointer-events: auto; transform: none; }
.treatment-scene__image { position: absolute; inset: 0; overflow: hidden; }
.treatment-scene__image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.04); transform: scale(1.035); transition: transform 7s ease; }
.treatment-scene.is-active .treatment-scene__image img { transform: scale(1); }
.treatment-scene__image > span { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,5,6,.12), rgba(5,5,6,.1) 35%, rgba(5,5,6,.84) 68%, #070708 100%), linear-gradient(0deg, rgba(5,5,6,.64), transparent 50%); }
.treatment-scene__content { position: relative; z-index: 2; grid-column: 2; align-self: center; min-width: 0; padding: 54px 38px 95px 14px; }
.treatment-scene__content > p:first-child { display: flex; align-items: center; gap: 11px; margin: 0 0 18px; color: #ff5260; font-size: .64rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.treatment-scene__content > p:first-child span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(255,82,96,.6); border-radius: 50%; }
.treatment-scene__content h3 { max-width: 100%; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.4rem, 3.75vw, 4.35rem); line-height: .94; letter-spacing: -.045em; overflow-wrap: normal; }
.treatment-scene__content--long h3 { font-size: clamp(2.15rem, 2.8vw, 3.15rem); line-height: .98; }
.treatment-scene__line { width: min(210px, 60%); height: 1px; margin: 28px 0 23px; overflow: hidden; background: rgba(255,255,255,.2); }
.treatment-scene__line i { display: block; width: 100%; height: 100%; background: #e31b2b; transform: translateX(-100%); }
.treatment-scene.is-active .treatment-scene__line i { animation: treatmentLine .85s .2s forwards; }
.treatment-scene__summary { max-width: 420px; color: rgba(255,255,255,.72); font-size: .95rem; line-height: 1.65; }
.treatment-scene__content > a { display: inline-flex; align-items: center; gap: 18px; margin-top: 22px; color: #fff; font-size: .69rem; font-weight: 900; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.treatment-scene__content > a span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: #09090a; background: #fff; transition: transform .25s ease, background .25s ease; }
.treatment-scene__content > a:hover span { background: #ff3344; transform: rotate(45deg); }
.treatment-scene__proof { position: absolute; z-index: 4; left: 28px; bottom: 28px; width: 180px; height: 128px; margin: 0; padding: 6px; border: 1px solid rgba(255,255,255,.24); border-radius: 18px; background: rgba(8,8,9,.74); box-shadow: 0 20px 45px rgba(0,0,0,.35); transform: translateY(16px); opacity: 0; backdrop-filter: blur(10px); transition: .55s .22s ease; }
.treatment-scene.is-active .treatment-scene__proof { transform: none; opacity: 1; }
.treatment-scene__proof img { width: 100%; height: 100%; border-radius: 12px; object-fit: cover; }
.treatment-scene__proof figcaption { position: absolute; left: 13px; bottom: 12px; padding: 5px 7px; color: #fff; background: rgba(4,4,5,.72); border-radius: 6px; font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.treatment-stage__counter { position: absolute; z-index: 5; right: 28px; bottom: 25px; display: flex; align-items: center; gap: 10px; font-size: .64rem; letter-spacing: .1em; }
.treatment-stage__counter strong { color: #ff4351; }
.treatment-stage__counter span { width: 56px; height: 1px; background: rgba(255,255,255,.35); }
@keyframes treatmentLine { to { transform: none; } }
@keyframes treatmentOrbit { to { transform: rotate(360deg); } }

/* Individual treatment pages */
.service-page { background: #fff; }
.service-hero { position: relative; display: grid; min-height: min(84svh, 850px); align-items: end; overflow: hidden; color: #fff; background: #111; isolation: isolate; }
.service-hero > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.service-hero__shade { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(7,7,7,.96) 0%, rgba(7,7,7,.8) 41%, rgba(7,7,7,.14) 76%), linear-gradient(0deg, rgba(7,7,7,.82), transparent 55%); }
.service-hero__inner { padding-top: 150px; padding-bottom: clamp(55px, 8vw, 95px); }
.service-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; color: rgba(255,255,255,.62); font-size: .72rem; }
.service-breadcrumb a { text-decoration: none; }
.service-breadcrumb a:hover { color: #fff; }
.service-hero h1 { max-width: 860px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.1rem, 7vw, 7rem); line-height: .9; letter-spacing: -.055em; text-wrap: balance; }
.service-hero__inner > p:not(.the-eyebrow) { max-width: 680px; margin: 24px 0 0; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.8vw, 1.2rem); }
.service-hero__actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 32px; }
.service-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: start; gap: clamp(45px, 7vw, 90px); }
.service-main h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.25rem, 4vw, 4rem); line-height: 1.02; letter-spacing: -.035em; }
.service-opening__lead { max-width: 850px; margin: 24px 0 0; color: #252525; font-size: clamp(1.15rem, 2vw, 1.42rem); line-height: 1.55; }
.service-opening > p:last-child { max-width: 800px; color: var(--the-muted); }
.service-deep-dive { margin: 55px 0; border-top: 1px solid var(--the-line); }
.service-deep-dive > section { display: grid; grid-template-columns: 48px 1fr; gap: 20px; padding: 30px 0; border-bottom: 1px solid var(--the-line); }
.service-deep-dive > section > span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(223,7,18,.25); border-radius: 50%; color: var(--the-blue); font-size: .65rem; font-weight: 900; }
.service-deep-dive h2 { margin: 0; font-size: clamp(1.55rem, 2.5vw, 2.25rem); }
.service-deep-dive p { margin: 10px 0 0; color: var(--the-muted); line-height: 1.75; }
.service-feature-photo { position: relative; overflow: hidden; margin: 54px 0; border-radius: 30px; background: #111; box-shadow: var(--the-shadow); }
.service-feature-photo img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.service-feature-photo figcaption { position: absolute; right: 18px; bottom: 18px; max-width: 430px; padding: 12px 15px; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; color: rgba(255,255,255,.86); background: rgba(8,8,8,.68); backdrop-filter: blur(12px); font-size: .75rem; }
.service-real-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 15px; margin: -30px 0 54px; }
.service-real-gallery figure { position: relative; overflow: hidden; min-height: 360px; margin: 0; border-radius: 24px; background: #111; }
.service-real-gallery img { width: 100%; height: 100%; object-fit: cover; }
.service-real-gallery figcaption { position: absolute; right: 14px; bottom: 14px; left: 14px; padding: 11px 13px; border-radius: 10px; color: #fff; background: rgba(8,8,9,.74); font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(9px); }
.service-two-up { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.service-info-card { padding: clamp(28px, 4vw, 46px); border: 1px solid var(--the-line); border-radius: 28px; background: #f7f5f2; }
.service-info-card--dark { color: #fff; background: #111; }
.service-info-card > span { color: var(--the-blue); font-size: .64rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.service-info-card h2 { margin-top: 10px; font-size: clamp(1.8rem, 3vw, 2.65rem); }
.service-info-card ul { display: grid; gap: 12px; padding: 0; margin: 28px 0 0; list-style: none; }
.service-info-card li { position: relative; padding-left: 24px; color: var(--the-muted); }
.service-info-card--dark li { color: rgba(255,255,255,.72); }
.service-info-card li::before { content: ""; position: absolute; width: 8px; height: 8px; top: .6em; left: 0; border-radius: 50%; background: var(--the-blue); box-shadow: 0 0 0 5px rgba(223,7,18,.09); }
.service-process { padding: 78px 0 28px; }
.service-process > h2 { max-width: 750px; }
.service-process ol { padding: 0; margin: 42px 0 0; border-top: 1px solid var(--the-line); list-style: none; }
.service-process li { display: grid; grid-template-columns: 58px 1fr; gap: 22px; padding: 25px 0; border-bottom: 1px solid var(--the-line); }
.service-process li > span { color: var(--the-blue); font-size: .72rem; font-weight: 900; }
.service-process h3 { margin: 0; font-family: Georgia, serif; font-size: 1.45rem; }
.service-process li p { margin: 5px 0 0; color: var(--the-muted); }
.service-faq { padding-top: 58px; }
.service-faq details { border-bottom: 1px solid var(--the-line); }
.service-faq summary { padding: 24px 40px 24px 0; font-family: Georgia, serif; font-size: 1.25rem; font-weight: 700; cursor: pointer; }
.service-faq details p { max-width: 740px; margin: -8px 0 24px; color: var(--the-muted); }
.service-disclaimer { margin-top: 35px; padding: 18px 20px; border-left: 3px solid var(--the-blue); color: var(--the-muted); background: #f7f5f2; font-size: .78rem; }
.service-aside { position: sticky; top: 110px; display: grid; gap: 16px; }
.service-nav-card, .service-help-card { overflow: hidden; border: 1px solid var(--the-line); border-radius: 22px; background: #fff; box-shadow: 0 18px 50px rgba(17,17,17,.07); }
.service-nav-card > p { padding: 19px 20px; margin: 0; color: var(--the-blue); font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.service-nav-card nav { display: grid; }
.service-nav-card a { display: flex; justify-content: space-between; gap: 12px; padding: 13px 20px; border-top: 1px solid var(--the-line); color: #343434; font-size: .78rem; text-decoration: none; }
.service-nav-card a b { color: var(--the-blue); }
.service-nav-card a:hover, .service-nav-card a.is-current { color: #fff; background: #111; }
.service-help-card { padding: 27px; color: #fff; background: radial-gradient(circle at 95% 5%, rgba(223,7,18,.42), transparent 36%), #111; }
.service-help-card > span { color: #ff747b; font-size: .62rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.service-help-card h2 { margin: 10px 0 0; font-family: Georgia, serif; font-size: 2rem; line-height: 1.02; }
.service-help-card p { color: rgba(255,255,255,.68); font-size: .83rem; }
.service-help-card .the-button { width: 100%; margin-top: 8px; }
.service-help-link { display: block; margin-top: 15px; color: rgba(255,255,255,.76); font-size: .75rem; text-align: center; text-decoration: none; }
.service-closing { padding: 85px 0; color: #fff; background: #0b0b0c; }
.service-closing .the-wrap { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 30px; }
.service-closing h2 { max-width: 820px; margin: 0; font-family: Georgia, serif; font-size: clamp(2.5rem, 5vw, 5rem); line-height: .95; }
.service-closing .the-eyebrow { grid-column: 1 / -1; margin-bottom: -10px; }
.service-closing .the-wrap > div { display: flex; flex-wrap: wrap; gap: 10px; }

@media (max-width: 1000px) {
  .treatment-navigator { grid-template-columns: 210px minmax(0, 1fr); min-height: 620px; }
  .treatment-index { padding: 10px; }
  .treatment-index__item { grid-template-columns: 27px 1fr 12px; padding: 9px; }
  .treatment-scene { grid-template-columns: 1fr minmax(300px, .95fr); }
  .treatment-scene__content { padding: 45px 30px 80px 10px; }
  .treatment-scene__proof { width: 145px; height: 105px; }
  .service-layout { grid-template-columns: 1fr; }
  .service-aside { position: static; grid-template-columns: 1fr 1fr; }
  .service-closing .the-wrap { grid-template-columns: 1fr; }
  .experts-authority__intro { grid-template-columns: 1fr; gap: 24px; }
  .experts-authority__grid { grid-template-columns: 1fr; }
  .expert-profile { min-height: 610px; }
}

@media (max-width: 620px) {
  .treatments-showcase > .the-wrap { width: min(100% - 28px, 1320px); }
  .treatments-heading { grid-template-columns: 1fr; gap: 22px; }
  .treatment-navigator { display: flex; flex-direction: column; min-height: 0; margin-top: 34px; border-radius: 25px; overflow: visible; background: transparent; box-shadow: none; backdrop-filter: none; }
  .treatment-mobile-cue { order: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 1px 10px; color: rgba(255,255,255,.68); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
  .treatment-mobile-cue span { display: flex; align-items: center; gap: 5px; color: rgba(255,255,255,.48); }
  .treatment-mobile-cue b { color: #ff4351; }
  .treatment-mobile-cue i { margin-left: 7px; color: #fff; font-style: normal; animation: treatmentSwipeCue 1.7s ease-in-out infinite; }
  .treatment-index { position: relative; z-index: 6; display: flex; flex-direction: row; gap: 7px; margin: 0 -14px 12px; padding: 0 14px 8px; overflow-x: auto; border: 0; background: transparent; scrollbar-width: none; }
  .treatment-index { order: 2; }
  .treatment-index::-webkit-scrollbar { display: none; }
  .treatment-index__item { display: flex; flex: 0 0 auto; width: auto; gap: 8px; min-height: 42px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: #141416; }
  .treatment-index__item strong { font-family: inherit; font-size: .72rem; white-space: nowrap; }
  .treatment-index__item i { display: none; }
  .treatment-index__item:hover, .treatment-index__item.is-active { padding-left: 13px; border-color: #e31b2b; background: #e31b2b; }
  .treatment-index__item.is-active > span { color: #fff; }
  .treatment-stage { order: 3; height: 700px; border: 1px solid rgba(255,255,255,.13); border-radius: 25px; background: #09090a; box-shadow: 0 30px 70px rgba(0,0,0,.4); touch-action: pan-y; }
  .treatment-scene, .treatment-scene[hidden] { display: block; }
  .treatment-scene__image { height: 58%; }
  .treatment-scene__image > span { background: linear-gradient(0deg, #09090a 0, rgba(9,9,10,.72) 24%, transparent 68%); }
  .treatment-scene__content { position: absolute; right: 0; bottom: 0; left: 0; padding: 22px 22px 38px; }
  .treatment-scene__content h3 { max-width: 90%; font-size: clamp(2.55rem, 12.5vw, 4rem); }
  .treatment-scene__content--long h3 { font-size: clamp(2.15rem, 10vw, 3.15rem); }
  .treatment-scene__summary { font-size: .83rem; line-height: 1.5; }
  .treatment-scene__line { margin: 18px 0 15px; }
  .treatment-scene__content > a { margin-top: 13px; }
  .treatment-scene__proof { top: 22px; right: 18px; bottom: auto; left: auto; width: 105px; height: 84px; border-radius: 14px; }
  .treatment-scene__proof img { border-radius: 9px; }
  .treatment-scene__proof figcaption { display: none; }
  .treatment-stage__counter { right: 18px; bottom: 19px; }
  .treatment-stage__orbit { width: 250px; height: 250px; right: -110px; top: -90px; }
  @keyframes treatmentSwipeCue { 0%, 100% { transform: translateX(0); opacity: .65; } 50% { transform: translateX(6px); opacity: 1; } }
  .service-hero { min-height: 760px; }
  .service-hero__shade { background: linear-gradient(0deg, rgba(7,7,7,.97) 0%, rgba(7,7,7,.76) 50%, rgba(7,7,7,.08) 85%); }
  .service-hero > img { object-position: 62% center; }
  .service-hero__inner { padding-top: 120px; padding-bottom: 45px; }
  .service-hero h1 { font-size: clamp(3rem, 14vw, 4.6rem); }
  .service-hero__actions { display: grid; }
  .service-two-up, .service-aside { grid-template-columns: 1fr; }
  .service-feature-photo { margin: 38px 0; border-radius: 22px; }
  .service-deep-dive { margin: 38px 0; }
  .service-deep-dive > section { grid-template-columns: 38px 1fr; gap: 12px; padding: 24px 0; }
  .service-real-gallery { margin-top: -20px; }
  .service-feature-photo img { aspect-ratio: 4 / 5; }
  .service-feature-photo figcaption { right: 10px; bottom: 10px; left: 10px; }
  .service-process { padding-top: 58px; }
  .service-closing .the-wrap > div { display: grid; }
  .journey-ribbon { height: auto; padding: 78px 0 88px; background: #080809; }
  .journey-ribbon__sticky { position: relative; display: block; min-height: 0; overflow: visible; padding: 0; background: radial-gradient(circle at 90% 8%, rgba(223,7,18,.18), transparent 25%), #080809; }
  .journey-ribbon__heading { display: block; width: calc(100% - 28px); margin-bottom: 30px; }
  .journey-ribbon__heading .the-title { max-width: 94%; font-size: clamp(2.35rem, 11.5vw, 3.5rem); }
  .journey-ribbon__status { display: none; }
  .journey-ribbon__heading::after { content: "Four clear stages. Scroll to explore."; display: block; width: fit-content; margin-top: 20px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(255,255,255,.68); background: rgba(255,255,255,.045); font-size: .64rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
  .journey-ribbon__viewport { width: auto; margin: 0 14px; overflow: visible; }
  .journey-ribbon__viewport::before { display: none; }
  .journey-ribbon__track { position: relative; display: grid; width: auto; gap: 18px; padding: 0 0 0 28px; transform: none !important; }
  .journey-ribbon__track::before { content: ""; position: absolute; top: 30px; bottom: 30px; left: 7px; width: 2px; background: linear-gradient(#ff4351, rgba(255,67,81,.18)); box-shadow: 0 0 14px rgba(223,7,18,.38); }
  .journey-flashcard, .journey-flashcard.is-active { flex: none; min-height: 0; padding: 27px 23px 29px; border-radius: 23px; opacity: 1; transform: none; background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: 0 20px 48px rgba(0,0,0,.32); }
  .journey-flashcard::after { right: auto; bottom: auto; top: 30px; left: -27px; width: 11px; height: 11px; border: 3px solid #080809; background: #ff4351; box-shadow: 0 0 0 4px rgba(255,67,81,.16), 0 0 18px #df0712; }
  .journey-flashcard::before { width: 125px; height: 125px; right: -66px; top: -66px; }
  .journey-flashcard__roman { display: inline-grid; width: 52px; height: 52px; place-items: center; margin: 0 0 31px; border: 1px solid rgba(255,72,84,.38); border-radius: 15px; color: #ff5360; background: rgba(223,7,18,.12); font-size: 1.65rem; line-height: 1; }
  .journey-flashcard.is-active .journey-flashcard__roman { color: #ff5360; }
  .journey-flashcard h3 { max-width: 96%; font-size: clamp(2rem, 9vw, 2.75rem); }
  .journey-flashcard > p:not(.journey-flashcard__phase) { margin: 17px 0 25px; font-size: .9rem; line-height: 1.65; }
  .journey-flashcard > small { padding-top: 16px; border-top: 1px solid rgba(255,255,255,.09); }
  .journey-ribbon__cue { display: none; }
  .experts-authority { padding: 78px 0; }
  .experts-authority > .the-wrap { width: calc(100% - 28px); }
  .experts-authority__intro { margin-bottom: 35px; }
  .experts-authority__intro .the-title { font-size: clamp(2.6rem, 12vw, 4rem); }
  .experts-authority__locations { align-items: flex-start; flex-direction: column; }
  .experts-authority__locations i { display: none; }
  .expert-profile { display: block; min-height: 0; border-radius: 25px; }
  .expert-profile__portrait { height: 490px; }
  .expert-profile__body { padding: 28px 22px 30px; }
  .expert-profile h3 { font-size: 2.55rem; }
  .expert-profile__metrics strong { font-size: 1.45rem; }
  .experts-authority__clinical { display: block; min-height: 0; border-radius: 25px; }
  .experts-authority__clinical-photo { height: clamp(245px, 63vw, 320px); min-height: 0; }
  .experts-authority__clinical-photo img { display: block; object-position: center 48%; }
  .experts-authority__clinical > div:last-child { padding: 30px 23px 34px; }
  .experts-authority__clinical h3 { max-width: 330px; font-size: clamp(2.35rem, 10.5vw, 3rem); line-height: .93; }
  .experts-authority__clinical > div:last-child > p:not(.the-eyebrow) { margin-top: 20px; font-size: 1rem; line-height: 1.65; }
  .experts-authority__clinical-credit { margin-top: 24px; padding-top: 18px; }
  .final-cta { min-height: 720px; align-items: end; background-position: 62% center; }
  .final-cta__shade { background: linear-gradient(0deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 37%, rgba(255,255,255,.28) 64%, rgba(255,255,255,.02) 82%); }
  .final-cta__inner { width: calc(100% - 34px); }
  .final-cta__message { width: 100%; padding: 52px 0 48px; }
  .final-cta__message h2 { max-width: 350px; font-size: clamp(3.15rem, 14.5vw, 4.4rem); line-height: .9; }
  .final-cta__message > p:not(.the-eyebrow) { max-width: 330px; margin: 20px 0 26px; font-size: 1rem; }
  .final-cta__primary { width: 100%; }
  .google-reviews { grid-template-columns: auto minmax(0, 1fr); min-height: 108px; }
  .google-reviews__score { min-width: 154px; padding: 13px 12px; column-gap: 7px; }
  .google-maps-attribution { font-size: .76rem; }
  .google-reviews__score strong small { font-size: .52rem; }
  .google-reviews__score b { font-size: 1.45rem; }
  .google-reviews__score i { font-size: .57rem; }
  .google-reviews__score em { font-size: .56rem; }
  .google-reviews__verified-copy { padding: 0 20px; font-size: .72rem; }
  .google-reviews__track { min-height: 108px; }
  .google-reviews__track.is-live { animation-duration: 82s; }
  .google-review-card { width: 310px; padding: 13px 20px; }
  .google-review-card__text { font-size: .7rem; }
  .google-reviews__arrow { display: none; }
  .final-cta__message { padding-bottom: 150px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-person, .hero-scene, .hero-glow { animation: none; opacity: 1; transform: none; filter: none; }
  .hero-scene { opacity: .34; }
  .hero-particles { display: none; }
  .treatment-stage__orbit, .treatment-scene__line i { animation: none; }
  .journey-ribbon { height: auto; padding: 80px 0; }
  .journey-ribbon__sticky { position: relative; min-height: auto; overflow: visible; }
  .journey-ribbon__viewport { overflow-x: auto; }
  .journey-ribbon__track { transform: none !important; }
  .journey-flashcard { opacity: 1; transform: none; }
}

/* v0.5 cinematic flashcard sequence */
.hero-scene { inset: 5% 1% 3% 4%; opacity: .52; }
.hero-flash-stack { position: absolute; z-index: 6; top: 50%; right: 2%; width: clamp(185px, 18vw, 250px); height: clamp(250px, 27vw, 355px); transform: translateY(-50%); perspective: 1000px; }
.hero-flash-card { --delay: 0s; position: absolute; inset: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.5); border-radius: 28px; background-color: #eee; background-repeat: no-repeat; box-shadow: 0 28px 78px rgba(0,0,0,.62); opacity: 0; transform: translate3d(45px,22px,0) rotateY(-9deg) scale(.88); animation: hero-flash 30s var(--delay) infinite cubic-bezier(.2,.76,.2,1); }
.hero-flash-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.38), transparent 35%); }
.hero-flash-card::after { content: attr(data-label); position: absolute; left: 13px; bottom: 12px; padding: 7px 11px; border-radius: 999px; color: white; background: rgba(10,10,10,.78); backdrop-filter: blur(8px); font-size: .66rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.hero-flash-card:nth-child(even)::after { background: rgba(223,7,18,.86); }
.hero-flash-card--kenya-before { background-size: 205% 100%; background-position: left top; }
.hero-flash-card--kenya-after { background-size: 205% 100%; background-position: right top; }
.hero-flash-card--uganda-before { background-size: 372% auto; background-position: 0 22%; }
.hero-flash-card--uganda-after { background-size: 372% auto; background-position: 100% 22%; }
.hero-flash-card--usa-before { background-size: 100% 205%; background-position: center top; }
.hero-flash-card--usa-after { background-size: 100% 205%; background-position: center bottom; }
.hero-flash-card--woman-before { background-size: 305% 100%; background-position: left top; }
.hero-flash-card--woman-after { background-size: 305% 100%; background-position: right top; }
.hero-flash-card--barry-before { background-size: 310% auto; background-position: left 20%; }
.hero-flash-card--barry-after { background-size: 310% auto; background-position: right 20%; }
.hero-flash-progress { position: absolute; z-index: 8; right: calc(2% + clamp(185px, 18vw, 250px) / 2); bottom: 5%; display: flex; gap: 6px; transform: translateX(50%); }
.hero-flash-progress i { width: 5px; height: 5px; border-radius: 999px; background: rgba(255,255,255,.35); box-shadow: 0 0 12px rgba(255,255,255,.2); }
.hero-flash-progress i:nth-child(2n) { background: rgba(223,7,18,.8); }
@keyframes hero-flash {
  0%, 9.9%, 100% { opacity: 0; transform: translate3d(45px,22px,0) rotateY(-9deg) scale(.88); filter: blur(7px); }
  1.5%, 8.2% { opacity: 1; transform: translate3d(0,0,0) rotateY(0) scale(1); filter: blur(0); }
  9.2% { opacity: 0; transform: translate3d(-22px,-8px,0) rotateY(5deg) scale(.96); filter: blur(4px); }
}

@media (max-width: 620px) {
  .hero-stage { top: 52%; right: -1%; bottom: 1%; width: 102%; height: auto; opacity: 1; }
  .hero-scene { inset: 2% 2% 1% 1%; opacity: .46; }
  .hero-flash-stack { top: 51%; right: 4%; width: clamp(132px, 38vw, 170px); height: clamp(188px, 54vw, 235px); }
  .hero-flash-card { border-radius: 20px; }
  .hero-flash-card::after { left: 8px; bottom: 8px; padding: 5px 8px; font-size: .52rem; }
  .hero-flash-progress { right: calc(4% + clamp(132px, 38vw, 170px) / 2); bottom: 4%; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-flash-card { animation: none; display: none; }
.hero-flash-card:first-child { display: block; opacity: 1; transform: none; filter: none; }
}

/* v0.6 distributed flashcards and compact mobile composition */
.hero-flash-stack { inset: 0; width: auto; height: auto; transform: none; perspective: 1000px; }
.hero-flash-card { --card-x: 68%; --card-y: 30%; --from-x: 45px; --from-y: 22px; --card-rotate: -7deg; top: var(--card-y); left: var(--card-x); right: auto; bottom: auto; width: clamp(160px, 15vw, 215px); height: clamp(220px, 22vw, 300px); transform: translate3d(var(--from-x),var(--from-y),0) rotate(var(--card-rotate)) scale(.86); }
.hero-flash-card:nth-child(1) { --card-x: 4%; --card-y: 5%; --from-x: -55px; --from-y: -34px; --card-rotate: -7deg; }
.hero-flash-card:nth-child(2) { --card-x: 62%; --card-y: 4%; --from-x: 58px; --from-y: -38px; --card-rotate: 7deg; }
.hero-flash-card:nth-child(3) { --card-x: 2%; --card-y: 55%; --from-x: -60px; --from-y: 42px; --card-rotate: 6deg; }
.hero-flash-card:nth-child(4) { --card-x: 68%; --card-y: 54%; --from-x: 62px; --from-y: 42px; --card-rotate: -6deg; }
.hero-flash-card:nth-child(5) { --card-x: 10%; --card-y: 16%; --from-x: -48px; --from-y: -38px; --card-rotate: -5deg; }
.hero-flash-card:nth-child(6) { --card-x: 64%; --card-y: 14%; --from-x: 58px; --from-y: -40px; --card-rotate: 6deg; }
.hero-flash-card:nth-child(7) { --card-x: 4%; --card-y: 52%; --from-x: -58px; --from-y: 45px; --card-rotate: 5deg; }
.hero-flash-card:nth-child(8) { --card-x: 67%; --card-y: 50%; --from-x: 58px; --from-y: 44px; --card-rotate: -5deg; }
.hero-flash-card:nth-child(9) { --card-x: 7%; --card-y: 10%; --from-x: -58px; --from-y: -36px; --card-rotate: -6deg; }
.hero-flash-card:nth-child(10) { --card-x: 67%; --card-y: 51%; --from-x: 58px; --from-y: 42px; --card-rotate: 6deg; }
.hero-flash-card--uganda-before { background-size: 330% auto; background-position: 0 39%; }
.hero-flash-card--uganda-after { background-size: 330% auto; background-position: 100% 39%; }
.hero-flash-card--woman-before { background-size: 385% auto; background-position: 3% 50%; }
.hero-flash-card--woman-after { background-size: 385% auto; background-position: 100% 50%; }
.hero-flash-card--barry-before { background-size: 328% auto; background-position: 0 32%; }
.hero-flash-card--barry-after { background-size: 328% auto; background-position: 100% 32%; }
.hero-flash-progress { right: 50%; bottom: 2.5%; }
@keyframes hero-flash {
  0%, 9.9%, 100% { opacity: 0; transform: translate3d(var(--from-x),var(--from-y),0) rotate(var(--card-rotate)) scale(.86); filter: blur(7px); }
  1.5%, 8.2% { opacity: 1; transform: translate3d(0,0,0) rotate(0) scale(1); filter: blur(0); }
  9.2% { opacity: 0; transform: translate3d(calc(var(--from-x) * -.3),calc(var(--from-y) * -.3),0) rotate(calc(var(--card-rotate) * -.4)) scale(.96); filter: blur(4px); }
}

@media (max-width: 620px) {
  .hero-inner { padding-top: 84px; }
  .hero-copy { max-width: 96vw; }
  .hero h1 { max-width: 96vw; font-size: clamp(2.45rem, 11.4vw, 3.4rem); line-height: .91; }
  .hero .the-eyebrow { margin-bottom: 7px; font-size: .64rem; line-height: 1.35; }
  .hero-copy > p:not(.the-eyebrow) { max-width: 94vw; margin-top: 12px; font-size: .82rem; line-height: 1.42; }
  .hero-actions { display: grid; grid-template-columns: 1.08fr .92fr; gap: 8px; margin-top: 14px; }
  .hero-actions .the-button { min-height: 58px; padding: 8px 11px 9px; font-size: .72rem; line-height: 1.15; }
  .hero-actions .hero-choice { width: 100%; min-width: 0; align-items: flex-start; gap: 3px; }
  .hero-choice__value { gap: 4px; font-size: .5rem; letter-spacing: .08em; }
  .hero-choice__value > span:first-child { width: 13px; height: 13px; font-size: .5rem; }
  .hero-choice__label { max-width: 100%; font-size: clamp(.65rem, 2.8vw, .78rem); white-space: normal; }
  .hero-stage { top: 46%; bottom: 1%; }
  .hero-flash-card { width: clamp(104px, 29vw, 130px); height: clamp(145px, 40vw, 180px); border-radius: 17px; }
  .hero-flash-card:nth-child(1), .hero-flash-card:nth-child(3), .hero-flash-card:nth-child(5), .hero-flash-card:nth-child(7), .hero-flash-card:nth-child(9) { --card-x: 3%; --card-y: 8%; }
  .hero-flash-card:nth-child(2), .hero-flash-card:nth-child(4), .hero-flash-card:nth-child(6), .hero-flash-card:nth-child(8), .hero-flash-card:nth-child(10) { --card-x: 68%; --card-y: 54%; }
  .hero-flash-card::after { max-width: none; overflow: visible; text-overflow: clip; white-space: normal; }
  .hero-flash-progress { right: 50%; bottom: 1%; }
}

/* v0.8 final mobile overrides: keep full labels and complete hair-result framing */
.hero-flash-card::after { right:10px; max-width:none; white-space:normal; overflow:visible; text-overflow:clip; text-align:center; line-height:1.25; border-radius:12px; }
.hero-flash-card--uganda-before { background-size:250% auto; background-position:0 12%; }
.hero-flash-card--uganda-after { background-size:250% auto; background-position:100% 12%; }
.hero-flash-card--usa-before { background-size:100% 202%; background-position:center top; }
.hero-flash-card--usa-after { background-size:100% 202%; background-position:center bottom; }
@media (max-width:620px) {
  .hero-flash-card { width:clamp(118px,34vw,148px); height:clamp(164px,46vw,202px); }
  .hero-flash-card:nth-child(1),.hero-flash-card:nth-child(3),.hero-flash-card:nth-child(5),.hero-flash-card:nth-child(7),.hero-flash-card:nth-child(9) { --card-x:2%; --card-y:7%; }
  .hero-flash-card:nth-child(2),.hero-flash-card:nth-child(4),.hero-flash-card:nth-child(6),.hero-flash-card:nth-child(8),.hero-flash-card:nth-child(10) { --card-x:58%; --card-y:52%; }
  .hero-flash-card::after { left:7px; right:7px; bottom:7px; max-width:none; padding:6px; font-size:clamp(.48rem,2.1vw,.6rem); letter-spacing:.055em; white-space:normal; overflow:visible; text-overflow:clip; }
  .hero-flash-card--uganda-before { background-size:245% auto; background-position:0 11%; }
  .hero-flash-card--uganda-after { background-size:245% auto; background-position:100% 11%; }
}
