/* EC Clinic London – About Us page styles (page-specific only).
   Loaded after homepage.css, which already holds the shared design system, header, footer, booking modal, etc. */
.ab-team{background:var(--ivory)}
.ab-team-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:48px}
.ab-team-head h2{margin-top:10px}
.ab-team-head p{font-size:16.5px;line-height:1.7;color:#5a4a3f;max-width:480px;justify-self:end}
.ab-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 24px}
.tm-group{font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--espresso);display:flex;align-items:center;gap:16px;margin:0 0 22px}
.tm-group::after{content:"";flex:1;height:1px;background:var(--line)}
.ab-team-grid+.tm-group{margin-top:56px}
.tm{display:flex;flex-direction:column;min-width:0}
.tm-photo{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#e9e4df}
.tm-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;transition:transform .8s cubic-bezier(.2,.7,.2,1);cursor:pointer}
.tm:hover .tm-photo img{transform:scale(1.04)}
.tm-cred{display:none}
.tm-more{position:absolute;left:12px;right:12px;bottom:12px;height:40px;border-radius:999px;border:0;background:rgba(255,253,250,.94);color:var(--espresso);font:inherit;font-size:11px;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;z-index:2;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s,background .3s}
.tm-more i{font-style:normal;font-size:16px;color:var(--gold)}
.tm-more:hover{background:#fff}
.tm:hover .tm-more,.tm-more:focus-visible{opacity:1;transform:none}
@media (hover:none){.tm-more{opacity:1;transform:none;left:auto;width:auto;padding:0 14px;height:34px;font-size:10px}}
.tm-dlg{position:fixed;inset:0;margin:auto;height:fit-content;border:0;padding:0;border-radius:26px;max-width:880px;width:calc(100% - 32px);background:var(--ivory);color:var(--espresso);box-shadow:0 40px 100px -30px rgba(30,20,12,.6)}
.tm-dlg::backdrop{background:rgba(30,22,17,.6);backdrop-filter:blur(3px)}
.tm-dlg-x{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,253,250,.95);font-size:22px;cursor:pointer;z-index:2;color:var(--espresso)}
.tm-dlg-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.tm-dlg-img{margin:0;background:#e9e4df;min-height:100%}
.tm-dlg-img img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block;aspect-ratio:4/5}
.tm-dlg-txt{padding:44px 40px 40px;display:flex;flex-direction:column;align-items:flex-start}
.tm-dlg-txt h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3vw,40px);line-height:1.1;margin:8px 0 6px}
.tm-dlg-hl{font-size:15px;color:var(--muted);margin-bottom:24px}
.tm-dlg-lab{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding-top:20px;border-top:1px solid var(--line);width:100%;margin-bottom:12px}
.tm-dlg-txt ul{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:10px}
.tm-dlg-txt li{font-size:15px;line-height:1.5;padding-left:18px;position:relative;color:#4a3d34}
.tm-dlg-txt li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.tm-dlg-book{margin-top:auto}
@media (max-width:700px){.tm-dlg-in{grid-template-columns:1fr}.tm-dlg-img img{aspect-ratio:1/1;max-height:42vh}.tm-dlg-txt{padding:26px 22px 28px}.tm-dlg{max-height:calc(100% - 24px);overflow-y:auto}.tm-dlg-book{width:100%;justify-content:center}}
.tm-body{padding:16px 2px 0;display:flex;flex-direction:column}
.tm-body h3{order:-1;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.2;color:var(--espresso);margin:0 0 6px}
.tm-role{font-size:10.5px;line-height:1.45;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.tm-body p{font-size:13.5px;color:var(--muted)}
@media (max-width:900px){.ab-team-head{grid-template-columns:minmax(0,1fr);gap:16px}.ab-team-head p{justify-self:start}.ab-team-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 18px}}
@media (max-width:640px){.ab-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}.tm-body h3{font-size:19px}.tm-body p{font-size:12.5px}.tm-role{font-size:9.5px}.tm-photo{border-radius:14px}}
.crumbs{display:flex;gap:10px;align-items:center;font-size:12.5px;letter-spacing:.06em;color:var(--muted);margin-bottom:26px}
.crumbs a{color:var(--muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(90,60,40,.25)}
.ab-hero{background:linear-gradient(180deg,#f3e8dc 0%,var(--ivory) 100%);padding:clamp(48px,6vw,90px) 0 clamp(64px,8vw,110px)}
.ab-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(36px,6vw,90px);align-items:center}
.ab-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,4.9vw,74px);line-height:1.02;color:var(--espresso);margin:14px 0 22px}
.ab-hero h1 em{color:var(--gold);font-style:italic;display:block;white-space:nowrap}
.ab-hero .lead{max-width:470px;margin-bottom:32px}
.ab-hero .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:0}
.ab-hero-media{position:relative;padding:0 0 60px 0}
.ab-main{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:4/3.3;box-shadow:0 40px 80px -50px rgba(60,40,25,.55)}
.ab-main img{width:100%;height:100%;object-fit:cover;display:block}
.ab-main figcaption{position:absolute;left:18px;top:18px;background:rgba(255,253,250,.92);padding:8px 14px;border-radius:999px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--espresso)}
.ab-inset{position:absolute;left:-40px;bottom:0;width:38%;aspect-ratio:3/4;border-radius:20px;overflow:hidden;border:6px solid var(--ivory);box-shadow:0 30px 60px -30px rgba(60,40,25,.5)}
.ab-inset img{width:100%;height:100%;object-fit:cover}
.ab-story{background:var(--ivory)}
.ab-story-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,6vw,96px);align-items:start}
.ab-story-head h2{margin:10px 0 34px}
.ab-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.ab-stats div{padding:22px 10px 0 0}
.ab-stats b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(40px,4vw,56px);line-height:1;color:var(--espresso)}
.ab-stats span{display:block;margin-top:8px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ab-story-txt p{font-size:16.5px;line-height:1.8;color:#5a4a3f;margin-bottom:20px}
.ab-story-txt .ab-drop{font-family:var(--serif);font-size:clamp(21px,1.9vw,26px);line-height:1.55;color:var(--espresso)}
.ab-cities{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.ab-cities small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.ab-cities p{margin:10px 0 0!important;font-family:var(--serif);font-size:20px!important;color:var(--espresso)!important;display:flex;flex-wrap:wrap;gap:6px 0}
.ab-cities span::after{content:"·";margin:0 12px;color:var(--gold)}
.ab-cities em{color:var(--gold)}
.ab-values{background:#2f241e;color:#f4ebe1;text-align:center;position:relative;overflow:hidden}
.ab-values::before{content:"";position:absolute;left:50%;top:-220px;width:620px;height:620px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(201,150,95,.22),rgba(201,150,95,0) 70%)}
.ab-values-in{position:relative;max-width:900px;margin:0 auto}
.ab-values .eyebrow{color:#d9ad78}
.ab-values blockquote{font-family:var(--serif);font-size:clamp(28px,3.4vw,46px);line-height:1.3;color:#fffaf4;margin:22px 0 26px}
.ab-values blockquote em{color:#d9ad78}
.ab-values p{font-size:16.5px;line-height:1.8;color:rgba(244,235,225,.72);max-width:700px;margin:0 auto}
.ab-prov{background:var(--ivory)}
.ab-prov-head{text-align:center;margin-bottom:40px}
.ab-mq{border:0!important;padding:10px 0}
.ab-mq .mq-track{gap:72px;padding-right:72px;animation-duration:34s}
.ab-mq .mq-track li{height:56px}
.ab-mq .mq-track img{height:36px;max-width:150px;filter:none;opacity:1}
.ab-mq:hover .mq-track{animation-play-state:paused}
@media (max-width:640px){.ab-mq .mq-track{gap:44px;padding-right:44px}.ab-mq .mq-track img{height:28px;max-width:110px}}
.ab-prov-head .eyebrow{justify-content:center}
.ab-prov-head h2{margin-top:10px}
.ab-prov-grid{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding:0;margin:0}
.ab-prov-grid li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#fff;border:1px solid rgba(90,60,40,.08);border-radius:18px;padding:28px 16px 18px;min-height:150px;transition:transform .3s,box-shadow .3s}
.ab-prov-grid li:hover{transform:translateY(-4px);box-shadow:0 24px 40px -30px rgba(70,45,25,.45)}
.ab-prov-grid img{max-height:48px;max-width:80%;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.85;transition:filter .3s,opacity .3s}
.ab-prov-grid li:hover img{filter:none;opacity:1}
.ab-prov-grid span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.ab-approach{background:linear-gradient(180deg,#f3e8dc,#efe2d4)}
.ab-ap-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,96px);align-items:start}
.ab-ap-sticky{position:sticky;top:120px}
.ab-ap-sticky h2{margin:10px 0 16px}
.ab-ap-sticky p{font-size:16.5px;line-height:1.7;color:#5a4a3f;max-width:420px}
.ab-ap-img{margin-top:30px;border-radius:22px;overflow:hidden;aspect-ratio:4/3.4}
.ab-ap-img img{width:100%;height:100%;object-fit:cover}
.ap-steps{list-style:none;margin:0;padding:0}
.ap-step{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;padding:34px 0;border-top:1px solid rgba(90,60,40,.18)}
.ap-step:last-child{border-bottom:1px solid rgba(90,60,40,.18)}
.ap-n{font-family:var(--serif);font-size:44px;line-height:1;color:var(--gold)}
.ap-step h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.2vw,30px);line-height:1.2;color:var(--espresso);margin-bottom:12px}
.ap-step p{font-size:16px;line-height:1.75;color:#5a4a3f}
.ab-cta{background:var(--ivory)}
.ab-cta-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:center}
.ab-cta-img{border-radius:26px;overflow:hidden;aspect-ratio:4/3}
.ab-cta-img img{width:100%;height:100%;object-fit:cover}
.ab-cta-txt h2{margin:10px 0 16px}
.ab-cta-txt p{font-size:16.5px;line-height:1.7;color:#5a4a3f;margin-bottom:28px;max-width:460px}
@media (max-width:1080px){.ab-prov-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:900px){.ab-hero-grid,.ab-story-grid,.ab-ap-grid,.ab-cta-in{grid-template-columns:minmax(0,1fr)}.ab-inset{left:auto;right:16px}.ab-ap-sticky{position:static}.ab-prov-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.ab-hero{padding-top:28px}.ab-hero-media{padding-bottom:44px}.ab-inset{width:40%;right:10px;border-width:4px}.ab-hero .ctas{display:grid;grid-template-columns:1fr;gap:10px}.ab-hero .ctas .btn{justify-content:center}.ab-hero h1 em{white-space:normal}
.ab-prov-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ab-prov-grid li{min-height:120px;padding:22px 10px 14px}.ab-prov-grid img{max-height:38px}
.ap-step{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:26px 0}.ap-n{font-size:34px}.ab-cities p{font-size:18px!important}.ab-cities span::after{margin:0 8px}
.ab-cta-txt .ctas{display:grid;grid-template-columns:1fr;gap:10px}.ab-cta-txt .ctas .btn{justify-content:center}}
.tm-dlg-bio{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 18px}
.tm-dlg-bio p+p{margin-top:10px}
.tm-dlg-bio:empty{display:none}
