/*
Theme Name: Safwat Specialist Practice
Theme URI: https://doctorsafwat.com/
Author: OpenAI for doctorsafwat.com
Description: Premium specialist orthopaedic and hand-surgery WordPress theme with a patient-first information architecture inspired by leading international upper-limb practices. Original implementation and content.
Version: 2.0.0
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: safwat-medical
*/
:root{--ink:#18335A;--ink2:#11223d;--teal:#11AAAE;--teal2:#0d8b8e;--mint:#5AC5C6;--lime:#D3AE63;--sand:#f5f5ef;--white:#fff;--muted:#5a6b7d;--line:rgba(24,51,90,.14);--shadow:0 24px 80px rgba(24,51,90,.14);--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Manrope,system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.sm-wrap{width:min(calc(100% - 48px),var(--max));margin:auto}.sm-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.74rem;color:var(--teal)}.sm-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border-radius:999px;background:var(--ink);color:#fff;font-weight:800;border:1px solid transparent;transition:.25s}.sm-btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(16,34,36,.18)}.sm-btn.alt{background:transparent;color:var(--ink);border-color:var(--line)}.sm-btn.light{background:#fff;color:var(--ink)}.sm-btn.accent{background:var(--lime);color:var(--ink)}
.sf-topbar{background:var(--ink);color:#fff;font-size:.76rem}.sf-topbar .sm-wrap{height:34px;display:flex;justify-content:space-between;align-items:center}.sf-topbar a{margin-left:22px;color:rgba(255,255,255,.78)}.sm-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.sm-header-inner{min-height:86px;display:flex;align-items:center;gap:24px}.sm-brand{display:flex;align-items:center;gap:11px;min-width:max-content}.sm-brand-mark{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-weight:800}.sm-brand-copy{display:flex;flex-direction:column;line-height:1.05}.sm-brand-copy b{font-size:.98rem}.sm-brand-copy small{font-size:.67rem;color:var(--muted);margin-top:5px}.custom-logo{max-height:52px;width:auto}.sm-nav{margin-left:auto}.sm-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:22px;align-items:center}.sm-nav li{position:relative}.sm-nav a{font-size:.88rem;font-weight:700}.sm-nav .sub-menu{display:none;position:absolute;top:100%;left:-18px;min-width:220px;background:#fff;padding:16px;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line)}.sm-nav li:hover>.sub-menu{display:grid;gap:10px}.sm-header-cta{font-size:.82rem}.sm-menu-toggle{display:none;border:0;background:none;font-size:26px;margin-left:auto}
.sf-hero{padding:28px 0 70px;background:linear-gradient(180deg,#f6faf8,#fff)}.sf-hero-grid{min-height:690px;display:grid;grid-template-columns:1.03fr .97fr;border-radius:38px;overflow:hidden;background:var(--mint)}.sf-hero-copy{padding:clamp(42px,6vw,86px);display:flex;flex-direction:column;justify-content:center}.sf-hero h1,.sf-section-intro h2,.sf-practice-copy h2,.sf-appointment h2,.sf-footer-top h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:-.035em}.sf-hero h1{font-size:clamp(3.6rem,6.6vw,7.1rem);line-height:.91;margin:.15em 0 .28em;max-width:800px}.sf-hero-copy>p{font-size:1.12rem;color:var(--muted);max-width:650px}.sf-actions{display:flex;align-items:center;gap:24px;margin-top:26px;flex-wrap:wrap}.sm-text-link{font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:4px}.sf-hero-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px;padding-top:25px;border-top:1px solid var(--line)}.sf-hero-meta strong,.sf-hero-meta span{display:block}.sf-hero-meta strong{font-size:.93rem}.sf-hero-meta span{font-size:.73rem;color:var(--muted);margin-top:4px}.sf-hero-media{position:relative;background:linear-gradient(145deg,#a9d1c7,#4f9f93);min-height:650px}.sf-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center top;position:absolute;inset:0}.sf-photo-placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:40px;text-align:center;color:#fff;background:linear-gradient(145deg,#9bc6bb,#378d81)}.sf-hero-card{position:absolute;left:28px;right:28px;bottom:28px;padding:24px 26px;border-radius:22px;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);box-shadow:var(--shadow)}.sf-hero-card span,.sf-hero-card strong,.sf-hero-card a{display:block}.sf-hero-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--teal);font-weight:800}.sf-hero-card strong{font-size:1.45rem;margin:4px 0}.sf-hero-card a{font-size:.84rem;font-weight:800;margin-top:8px}
.sm-section,.sf-search-band{padding:104px 0}.sf-search-band{background:#fff}.sf-section-intro{margin-bottom:44px}.sf-section-intro.centered{text-align:center;max-width:820px;margin-left:auto;margin-right:auto}.sf-section-intro.split{display:flex;justify-content:space-between;align-items:end;gap:50px}.sf-section-intro h2{font-size:clamp(2.7rem,4.7vw,5.3rem);line-height:.98;margin:.14em 0}.sf-section-intro p{color:var(--muted);max-width:620px;font-size:1.05rem}.sf-region-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:26px;overflow:hidden}.sf-region{min-height:190px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);transition:.25s}.sf-region:last-child{border:0}.sf-region:hover{background:var(--ink);color:#fff}.sf-region>span{font-size:.72rem;color:var(--muted)}.sf-region strong{font-family:"DM Serif Display",Georgia,serif;font-size:1.55rem;font-weight:400}.sf-region b{font-size:1.25rem}.sf-condition-search{display:flex;justify-content:center;gap:28px;align-items:center;margin-top:30px;color:var(--muted);font-size:.9rem}.sf-condition-search a{color:var(--ink);font-weight:800;border-bottom:1px solid var(--ink)}
.sf-dark{background:var(--ink);color:#fff}.inverse .sm-eyebrow{color:var(--lime)}.sf-section-intro.inverse p{color:rgba(255,255,255,.66)}.sf-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14)}.sf-feature-grid article{padding:38px 30px;border-right:1px solid rgba(255,255,255,.14)}.sf-feature-grid article:first-child{padding-left:0}.sf-feature-grid article:last-child{border-right:0}.sf-feature-grid span{color:var(--lime);font-size:.74rem;font-weight:800}.sf-feature-grid h3{font-size:1.25rem;margin:28px 0 10px}.sf-feature-grid p{color:rgba(255,255,255,.62);font-size:.92rem}
.sf-condition-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.sf-condition{padding:28px 6px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px}.sf-condition:nth-child(odd){padding-right:34px;border-right:1px solid var(--line)}.sf-condition:nth-child(even){padding-left:34px}.sf-condition h3{font-size:1.18rem;margin:0}.sf-condition p{margin:5px 0 0;color:var(--muted);font-size:.9rem}.sf-condition>span{font-size:1.2rem}.sf-soft{background:var(--sand)}.sf-practice-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:72px;align-items:center}.sf-practice-media{min-height:650px;border-radius:32px;overflow:hidden;background:#b8d6ce;position:relative}.sf-practice-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sf-badge{position:absolute;right:22px;bottom:22px;width:150px;height:150px;border-radius:50%;background:var(--lime);display:grid;place-items:center;text-align:center;font-weight:800;line-height:1.1;letter-spacing:.04em}.sf-practice-copy h2{font-size:clamp(3rem,5vw,5.2rem);line-height:.95;margin:.15em 0}.sf-practice-copy h3{font-size:1rem;color:var(--teal);margin-bottom:22px}.sf-practice-copy>p{font-size:1.07rem;color:var(--muted)}.sf-points{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:28px 0 34px}.sf-points span:before{content:"✓";color:var(--teal);font-weight:900;margin-right:9px}
.sf-journey{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.sf-journey article{padding:32px;border-radius:24px;background:var(--sand);min-height:270px}.sf-journey span{font-size:.72rem;color:var(--teal);font-weight:800}.sf-journey h3{font-size:1.22rem;margin:55px 0 10px}.sf-journey p{color:var(--muted);font-size:.9rem}.sf-center-link{text-align:center;margin-top:30px}.sf-center-link a{font-weight:800;border-bottom:1px solid var(--ink)}
.sf-review-section{background:var(--teal);color:#fff}.sf-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.sf-reviews blockquote{margin:0;padding:32px;background:#fff;color:var(--ink);border-radius:24px;min-height:260px}.stars{color:#d9a900;letter-spacing:.08em}.sf-reviews blockquote p{font-family:"DM Serif Display",Georgia,serif;font-size:1.4rem;line-height:1.35}.sf-reviews footer{color:var(--muted);font-size:.78rem}.sm-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.sm-post{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff}.sm-post-thumb{aspect-ratio:16/10;background:var(--mint);overflow:hidden}.sm-post-thumb img{width:100%;height:100%;object-fit:cover}.sm-post-body{padding:24px}.sm-post-meta{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--teal);font-weight:800}.sm-post h3{font-size:1.2rem;line-height:1.25}.sm-post p{color:var(--muted);font-size:.9rem}.sm-post-body>span{font-weight:800;font-size:.82rem}.sf-empty-editorial{padding:32px;border:1px dashed var(--line);border-radius:20px;color:var(--muted)}
.sf-appointment{padding:40px 0 0}.sf-appointment-inner{background:var(--ink);color:#fff;border-radius:34px 34px 0 0;padding:70px;display:flex;justify-content:space-between;align-items:center;gap:40px}.sf-appointment .sm-eyebrow{color:var(--lime)}.sf-appointment h2{font-size:clamp(2.8rem,5vw,5rem);line-height:.95;margin:.12em 0}.sf-appointment p{color:rgba(255,255,255,.62)}.sf-appointment-actions{display:flex;flex-direction:column;align-items:flex-end;gap:13px}.sf-appointment-actions>a:last-child{font-weight:800}.sm-footer{background:#0a1a1c;color:#fff;padding:76px 0 28px}.sf-footer-top{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.12)}.sf-footer-top .sm-eyebrow{color:var(--lime)}.sf-footer-top h2{font-size:clamp(2.4rem,4vw,4rem);margin:.15em 0 0;max-width:700px}.sm-footer-grid{display:grid;grid-template-columns:1.4fr .75fr .75fr .85fr;gap:46px;padding-top:50px}.sm-footer h4{margin-top:0}.sm-footer p,.sm-footer a{color:rgba(255,255,255,.67)}.sm-footer ul{list-style:none;margin:0;padding:0}.sm-footer li{margin:9px 0}.footer-brand{color:#fff!important;margin-bottom:20px}.footer-brand .sm-brand-copy small{color:rgba(255,255,255,.55)}.sm-copyright{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:24px;color:rgba(255,255,255,.42);font-size:.75rem}.sm-content{width:min(calc(100% - 48px),900px);margin:auto;padding:80px 0}.sm-content h1{font-family:"DM Serif Display",Georgia,serif;font-size:clamp(3rem,6vw,5.5rem);line-height:.95;font-weight:400}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px)}
@media(max-width:1080px){.sm-nav,.sm-header-cta{display:none}.sm-menu-toggle{display:block}.sm-nav.open{display:block;position:absolute;top:86px;left:0;right:0;background:#fff;padding:20px 30px;border-bottom:1px solid var(--line)}.sm-nav.open ul{display:grid;gap:14px}.sm-nav.open .sub-menu{position:static;display:grid;box-shadow:none;border:0;padding:10px 0 0 18px}.sf-hero-grid,.sf-practice-grid{grid-template-columns:1fr}.sf-hero-media{min-height:580px}.sf-region-grid{grid-template-columns:repeat(3,1fr)}.sf-region{border-bottom:1px solid var(--line)}.sf-feature-grid,.sf-journey{grid-template-columns:1fr 1fr}.sf-feature-grid article:nth-child(2){border-right:0}.sf-reviews{grid-template-columns:1fr 1fr}.sm-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.sm-wrap{width:min(calc(100% - 24px),var(--max))}.sf-topbar{display:none}.sm-header-inner{min-height:72px}.sm-nav.open{top:72px}.sf-hero{padding-top:12px}.sf-hero-grid{border-radius:24px}.sf-hero-copy{padding:40px 24px}.sf-hero h1{font-size:clamp(3.1rem,15vw,4.7rem)}.sf-hero-meta{grid-template-columns:1fr}.sf-hero-media{min-height:480px}.sm-section,.sf-search-band{padding:72px 0}.sf-section-intro.split,.sf-footer-top,.sf-appointment-inner{display:block}.sf-section-intro.split>.sm-btn,.sf-footer-top>.sm-btn{margin-top:20px}.sf-region-grid{grid-template-columns:1fr 1fr}.sf-region{min-height:150px}.sf-condition-search{flex-direction:column;gap:10px}.sf-feature-grid,.sf-condition-grid,.sf-journey,.sf-reviews,.sm-posts,.sm-footer-grid{grid-template-columns:1fr}.sf-feature-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.14);padding:28px 0}.sf-condition:nth-child(odd),.sf-condition:nth-child(even){padding:24px 0;border-right:0}.sf-practice-grid{gap:36px}.sf-practice-media{min-height:470px}.sf-badge{width:120px;height:120px;font-size:.75rem}.sf-points{grid-template-columns:1fr}.sf-journey article{min-height:220px}.sf-appointment-inner{padding:48px 28px}.sf-appointment-actions{align-items:flex-start;margin-top:25px}.sm-copyright{display:block}.sm-copyright span{display:block;margin-top:8px}}

/* ============================================================
   v2.1 — Elite rebuild additions (mega-menu, homepage sections,
   condition/treatment templates, forms, mobile bar)
   ============================================================ */

/* --- Mega menu --- */
.sm-nav__list{list-style:none;display:flex;gap:26px;margin:0;padding:0;align-items:center}
.sm-nav__item{position:relative}
.sm-nav__item>a,.sm-nav__trigger{font-size:.88rem;font-weight:700;background:none;border:0;cursor:pointer;color:var(--ink);font-family:inherit;padding:8px 0}
.sm-mega-menu{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(920px,90vw);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:36px;z-index:200}
.sm-nav__item.sm-open .sm-mega-menu{display:block}
.sm-mega-menu__eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:var(--teal);margin:0 0 20px}
.sm-mega-menu__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.sm-mega-menu__region{font-weight:800;font-size:.95rem;display:block;margin-bottom:10px;border-bottom:2px solid var(--line);padding-bottom:8px}
.sm-mega-menu__col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.sm-mega-menu__col a{font-size:.85rem;color:var(--muted)}
.sm-mega-menu__col a:hover{color:var(--teal)}
.sm-mega-menu__empty{color:var(--muted);font-size:.8rem;font-style:italic}

/* --- Header extras --- */
.sm-header-actions{display:flex;align-items:center;gap:14px;margin-left:auto}
.sm-search-toggle{border:0;background:none;cursor:pointer;color:var(--ink);display:flex}
.sm-search-panel{display:none;border-top:1px solid var(--line);padding:18px 0;background:#fff}
.sm-search-panel.sm-open{display:block}
.sm-search-form{display:flex;gap:10px;width:min(600px,90%);margin:0 auto}
.sm-search-form input{flex:1;padding:12px 16px;border-radius:999px;border:1px solid var(--line)}
.sm-search-form button{padding:12px 22px;border-radius:999px;background:var(--ink);color:#fff;border:0;font-weight:700}
.sm-menu-toggle{display:none;flex-direction:column;gap:5px;border:0;background:none;cursor:pointer}
.sm-menu-toggle span{width:24px;height:2px;background:var(--ink);display:block}

/* --- Mobile bottom bar --- */
.sm-mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:150;background:#fff;border-top:1px solid var(--line);padding:10px 16px;gap:10px;justify-content:space-between}
.sm-mobile-bar a{flex:1;text-align:center;padding:12px 8px;border-radius:12px;font-weight:700;font-size:.82rem;border:1px solid var(--line)}
.sm-mobile-bar__primary{background:var(--ink);color:#fff!important;border-color:var(--ink)}

/* --- Buttons/links shared --- */
.sm-btn--primary{background:var(--ink);color:#fff}
.sm-btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.sm-link-arrow{font-weight:800;display:inline-block;margin-top:14px}
.sm-section-title{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(1.65rem,2.5vw,2.4rem);line-height:1.18;margin:0 0 24px}

/* --- Hero --- */
.sm-hero{position:relative;min-height:min(850px,90vh);display:flex;align-items:center;overflow:hidden;background:var(--sand)}
.sm-hero__media{position:absolute;inset:0;z-index:0}
.sm-hero__img{width:100%;height:100%;object-fit:cover;object-position:right center}
.sm-hero__content{position:relative;z-index:1;max-width:640px;padding:60px 0}
.sm-hero__title{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(3rem,6vw,5.2rem);line-height:1.02;margin:.2em 0}
.sm-hero__text{font-size:1.1rem;color:var(--muted);max-width:520px}
.sm-hero__actions{display:flex;gap:18px;flex-wrap:wrap;margin:28px 0}
.sm-hero__tags{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}

/* --- Where does it hurt --- */
.sm-hurt{padding:100px 0}
.sm-hurt__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.sm-hurt__region{border:1px solid var(--line);border-radius:20px;padding:36px 20px;text-align:center;font-weight:800;font-size:1.05rem;transition:.25s}
.sm-hurt__region:hover{background:var(--ink);color:#fff}

/* --- Symptom search --- */
.sm-symptom-search{padding:0 0 100px;text-align:center}
.sm-symptom-search__form{display:flex;gap:12px;max-width:640px;margin:0 auto}
.sm-symptom-search__form input{flex:1;padding:16px 22px;border-radius:999px;border:1px solid var(--line);font-size:1rem}
.sm-symptom-search__hint{color:var(--muted);font-size:.85rem;margin-top:16px}

/* --- Authority --- */
.sm-authority{padding:100px 0;background:var(--sand)}
.sm-authority__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.sm-authority__media img{border-radius:24px;width:100%}
.sm-authority__copy h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(2.2rem,4vw,3.4rem);margin:.2em 0}

/* --- Expertise --- */
.sm-expertise{padding:100px 0}
.sm-expertise__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sm-expertise__card{border:1px solid var(--line);border-radius:20px;padding:32px;display:block;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}
.sm-expertise__card:hover{background:var(--ink);color:#fff}
.sm-expertise__card h3{margin:0;font-size:1.2rem}

/* --- Condition/story/article cards --- */
.sm-condition-grid,.sm-education__grid,.sm-stories__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.sm-condition-card,.sm-article-card,.sm-story-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:block;background:#fff}.sm-condition-card{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:104px;transition:border-color .18s,background .18s}.sm-condition-card:hover{border-color:var(--teal2);background:#f4faf9}.sm-condition-card::after{content:"↗";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--teal2);font-size:1.25rem}.sm-condition-card h3{padding-right:48px}
.sm-condition-card img,.sm-article-card img,.sm-story-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.sm-condition-card h3,.sm-article-card h3,.sm-story-card h3{padding:22px 48px 22px 24px;margin:0;font-size:1.15rem;line-height:1.4}
.sm-story-card{padding-bottom:20px}
.sm-story-card .sm-eyebrow{margin:18px 20px 0;display:block}
.sm-story-card h3{padding:6px 20px 0}
.sm-story-card .sm-link-arrow{margin:10px 20px 0}
.sm-featured-conditions,.sm-stories,.sm-research,.sm-education{padding:100px 0}

/* --- Patient journey --- */
.sm-journey{padding:100px 0;background:var(--sand)}
.sm-journey__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:20px}
.sm-journey__num{font-family:"DM Serif Display",Georgia,serif;font-size:2rem;color:var(--teal)}
.sm-journey__step h3{margin:8px 0}
.sm-journey__step p{color:var(--muted);font-size:.9rem}

/* --- Publications --- */
.sm-publication-list{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:16px}
.sm-publication-list li{border-bottom:1px solid var(--line);padding-bottom:14px}
.sm-publication-list a{font-weight:700}
.sm-publication-meta{display:block;color:var(--muted);font-size:.82rem;margin-top:4px}

/* --- CTA band --- */
.sm-cta-band{background:var(--ink);color:#fff;padding:clamp(28px,4vw,52px);border-radius:20px}
.sm-cta-band__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}.sm-cta-band__inner>h2{flex:1 1 280px;max-width:24ch}.sm-cta-band .sm-btn--primary{background:#fff;color:var(--ink);border-color:#fff;flex-shrink:0}
.sm-cta-band h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(1.8rem,3vw,2.6rem);margin:0}

/* --- Condition / treatment single template --- */
.sm-breadcrumb{font-size:.8rem;color:var(--muted);margin-bottom:16px}
.sm-breadcrumb a{color:var(--muted)}
.sm-condition__hero{padding:60px 0 0}
.sm-condition__hero h1{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(2.4rem,4.5vw,4rem);margin:.1em 0 30px}
.sm-condition__image img{width:100%;max-height:480px;object-fit:cover}
.sm-condition__body{display:grid;grid-template-columns:1fr 320px;gap:60px;padding:60px 0 100px}
.sm-condition__section{margin-bottom:44px}
.sm-condition__section h2{font-size:1.5rem;margin-bottom:14px}
.sm-condition__content p{color:var(--ink2);font-size:1.02rem}
.sm-faq{border-bottom:1px solid var(--line);padding:16px 0}
.sm-faq summary{font-weight:700;cursor:pointer}
.sm-related ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.sm-related li a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:.95rem}.sm-related li a:hover{color:var(--teal2)}
.sm-sidebar-card{border:1px solid var(--line);border-radius:20px;padding:26px;margin-bottom:20px;background:var(--sand)}
.sm-sidebar-card h3{margin-top:0}
.sm-sidebar-card ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}

/* --- Archive hero (conditions index, body-region archive) --- */
.sm-archive-hero{padding:70px 0 50px;background:var(--sand)}
.sm-archive-hero h1{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(2.4rem,5vw,4rem);margin:.15em 0}
.sm-archive-body{padding:clamp(36px,5vw,64px) 0 clamp(56px,7vw,88px)}.sm-archive-body>section+section{margin-top:clamp(36px,5vw,56px)}.sm-archive-body>.sm-related{padding-top:32px;border-top:1px solid var(--line)}

/* --- Appointment form --- */
.sm-appointment{padding:0 0 100px;max-width:760px}
.sm-appointment-form{display:grid;gap:18px}
.sm-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sm-appointment-form label{display:grid;gap:8px;font-weight:700;font-size:.88rem}
.sm-appointment-form input,.sm-appointment-form select,.sm-appointment-form textarea{padding:12px 14px;border-radius:12px;border:1px solid var(--line);font-family:inherit;font-size:.95rem}
.sm-checkbox{display:flex!important;flex-direction:row;align-items:center;gap:10px;font-weight:400!important}
.sm-form-note{color:var(--muted);font-size:.82rem;margin-top:16px}

/* --- Responsive --- */
@media(max-width:1080px){
	.sm-nav{display:none}
	.sm-nav.sm-open{display:block;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px}
	.sm-nav.sm-open .sm-nav__list{flex-direction:column;align-items:flex-start;gap:16px}
	.sm-nav.sm-open .sm-mega-menu{display:block;position:static;transform:none;width:100%;box-shadow:none;border:0;padding:16px 0 0}
	.sm-menu-toggle{display:flex}
	.sm-header-cta{display:none}
	.sm-mobile-bar{display:flex}
	.sm-authority__grid{grid-template-columns:1fr}
	.sm-expertise__grid,.sm-condition-grid,.sm-education__grid,.sm-stories__grid,.sm-journey__steps{grid-template-columns:1fr 1fr}
	.sm-condition__body{grid-template-columns:1fr}
	.sm-mega-menu__grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
	.sm-expertise__grid,.sm-condition-grid,.sm-education__grid,.sm-stories__grid,.sm-journey__steps,.sm-form-row,.sm-related ul{grid-template-columns:1fr}
	.sm-mega-menu__grid{grid-template-columns:1fr}
	body{padding-bottom:64px} /* room for mobile bar */
}


/* Jetpack Interactivity-API forms: elements with aria-hidden="true" are
   meant to be visually hidden until the block's reactive state flips it
   to "false" after a real submission. Ensure that binding is respected. */
.contact-form-submission[aria-hidden="true"]{display:none}
.jetpack-contact-form-container form[aria-hidden="true"]{display:none}


/* ============================================================
   Jetpack "grunion" contact form — restyled to match the site
   design system instead of bare browser defaults.
   ============================================================ */
.jetpack-contact-form-container{max-width:640px;margin:0 auto;padding:20px 0 60px}
.jetpack-contact-form-container form{display:flex;flex-direction:column;gap:22px}
.grunion-field-wrap,
.contact-form .grunion-field-wrap{display:flex;flex-direction:column;gap:8px;width:100%}
.grunion-field-label{font-weight:700;font-size:.92rem;color:var(--ink)}
.grunion-field-label .required{color:var(--teal);margin-left:2px}
input.grunion-field,
textarea.grunion-field,
select.grunion-field{
	width:100%;
	padding:13px 16px;
	border:1px solid var(--line);
	border-radius:12px;
	font-family:inherit;
	font-size:.95rem;
	background:#fff;
	color:var(--ink);
	box-sizing:border-box;
	transition:.15s border-color;
}
input.grunion-field:focus,
textarea.grunion-field:focus,
select.grunion-field:focus{outline:none;border-color:var(--teal)}
textarea.grunion-field{min-height:130px;resize:vertical}

/* Radio field group (New/Returning Patient) */
fieldset.grunion-field-wrap,
.grunion-radio-wrap fieldset{
	border:1px solid var(--line);
	border-radius:12px;
	padding:16px 18px;
	margin:0;
}
fieldset.grunion-field-wrap legend,
.grunion-field-label.radio{font-weight:700;font-size:.92rem;padding:0 6px;margin-left:-6px}
.grunion-field-wrap .options-label,
.grunion-radio-label,
.grunion-radio-wrap label{
	display:flex;
	align-items:center;
	gap:10px;
	font-weight:400;
	font-size:.92rem;
	padding:8px 0;
	cursor:pointer;
}
.grunion-field-wrap input[type="radio"],
.grunion-field-wrap input[type="checkbox"]{width:auto;accent-color:var(--teal);margin:0}

/* Two-column pairing for short fields, matching the original design intent */
.jetpack-contact-form-container form > .grunion-field-wrap:nth-child(1),
.jetpack-contact-form-container form > .grunion-field-wrap:nth-child(2),
.jetpack-contact-form-container form > .grunion-field-wrap:nth-child(3),
.jetpack-contact-form-container form > .grunion-field-wrap:nth-child(4){
	display:inline-flex;
}

/* Submit button */
.jetpack-contact-form-container button[type="submit"],
.wp-block-jetpack-button__button{
	background:var(--ink);
	color:#fff;
	border:none;
	border-radius:999px;
	padding:15px 28px;
	font-weight:800;
	font-size:.95rem;
	cursor:pointer;
	align-self:flex-start;
	transition:.2s;
}
.jetpack-contact-form-container button[type="submit"]:hover,
.wp-block-jetpack-button__button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(16,34,36,.18)}

/* Stray inline validation copy Jetpack renders next to a field on error —
   only meaningful after a real failed submit, hide the ambient default */
.grunion-field-wrap .form-error,
.contact-form .form-error{display:none}
.grunion-field-wrap.form-error .form-error,
.contact-form .grunion-field-wrap[data-has-error="true"] .form-error{display:block;color:#b3261e;font-size:.82rem}

@media(max-width:680px){
	.jetpack-contact-form-container form > .grunion-field-wrap{display:flex !important}
}


.jetpack-contact-form-container form.submission-success{display:none !important}


.jetpack-contact-form-container form.submission-success{display:none !important}


/* Bespoke Treatments landing page — editorial list, not blog-archive cards */
.sm-treatment-group{margin-bottom:56px}
.sm-treatment-group .sm-section-title{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:8px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.sm-treatment-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}
.sm-treatment-item{display:block;padding:24px 0;border-bottom:1px solid var(--line);transition:.2s}
.sm-treatment-item h3{margin:0 0 6px;font-size:1.12rem;color:var(--ink);font-weight:700}
.sm-treatment-item p{margin:0 0 10px;color:var(--muted);font-size:.92rem;line-height:1.55}
.sm-treatment-item .sm-link-arrow{margin:0;font-size:.82rem;color:var(--teal);opacity:0;transition:.2s}
.sm-treatment-item:hover{padding-inline-start:10px}
.sm-treatment-item:hover .sm-link-arrow{opacity:1}
.sm-treatment-item:hover h3{color:var(--teal)}
@media(max-width:820px){
	.sm-treatment-list{grid-template-columns:1fr;gap:0}
	.sm-treatment-item:hover{padding-inline-start:0}
	.sm-treatment-item .sm-link-arrow{opacity:1}
}


/* Consultant profile hero — editorial, replaces the generic navy rectangle */
.sf-profile-hero{padding:88px 0 56px;border-bottom:1px solid var(--line);margin-bottom:56px}
.sf-profile-hero h1{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:clamp(2.6rem,5.4vw,4.2rem);line-height:1.02;margin:.12em 0 .18em;color:var(--ink)}
.sf-profile-hero__title{font-size:clamp(1rem,1.5vw,1.2rem);color:var(--ink);font-weight:600;margin:0 0 18px}
.sf-profile-hero__focus{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 30px}
.sf-profile-hero__actions{margin:0}
.sm-page__body{padding-bottom:80px}
@media(max-width:680px){
	.sf-profile-hero{padding:52px 0 36px;margin-bottom:36px}
	.sf-profile-hero__focus{font-size:.72rem;line-height:1.9}
	.sf-profile-hero__actions .sm-btn{display:block;text-align:center}
}


/* ============================================================
   GLOBAL DESIGN SYSTEM — v3.0.0
   Single source of truth for typography, rhythm and controls.
   Everything below intentionally overrides earlier page-specific
   values so pages stop looking like separate websites.
   ============================================================ */
:root{
  --font-display:"DM Serif Display",Georgia,"Times New Roman",serif;
  --font-body:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;

  --fs-display-xl:clamp(2.5rem,4.8vw,4.25rem);
  --fs-display-lg:clamp(2.05rem,3.4vw,3.1rem);
  --fs-h2:clamp(1.7rem,2.5vw,2.4rem);
  --fs-h3:clamp(1.1rem,1.35vw,1.3rem);
  --fs-h4:1.02rem;
  --fs-body:1.0625rem;
  --fs-lead:1.15rem;
  --fs-small:.875rem;
  --fs-nav:.875rem;
  --fs-eyebrow:.72rem;
  --fs-btn:.875rem;

  --lh-display:1.08;
  --lh-heading:1.2;
  --lh-body:1.68;

  --measure:38rem;
  --measure-wide:52rem;
  --wrap-gutter:clamp(20px,4vw,48px);

  --space-2xs:.35rem; --space-xs:.65rem; --space-sm:1rem;
  --space-md:1.75rem; --space-lg:3rem; --space-xl:clamp(3.5rem,6vw,5.5rem);
  --space-section:clamp(4rem,7.5vw,7.5rem);

  --radius:4px; --radius-lg:6px;
  --btn-h:48px;
  --rule:1px solid var(--line);
  --focus:2px solid var(--teal2);
}
.sm-wrap{width:min(calc(100% - (var(--wrap-gutter) * 2)),var(--max))}
body{font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body)}

/* --- Typography normalisation --------------------------------- */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:-.012em}
h1{font-size:var(--fs-display-xl);line-height:var(--lh-display);margin:0 0 var(--space-sm)}
h2{font-size:var(--fs-h2);line-height:var(--lh-heading);margin:0 0 var(--space-sm)}
h3{font-size:var(--fs-h3);line-height:1.3;margin:0 0 var(--space-xs)}
h4,h5,h6{font-family:var(--font-body);font-weight:700;font-size:var(--fs-h4);letter-spacing:0;margin:0 0 var(--space-2xs)}
.sf-hero h1{font-size:var(--fs-display-xl);line-height:var(--lh-display);font-family:var(--font-display)}
.sf-section-intro h2{font-size:var(--fs-display-lg);line-height:1.12;font-family:var(--font-display)}
.sf-hero-copy>p,.sf-section-intro p{font-size:var(--fs-lead);max-width:var(--measure-wide)}
.sm-eyebrow,.sf-eyebrow{font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--teal2)}

/* --- Editorial page hero (replaces the navy rectangle) -------- */
.sf-page-hero{padding:clamp(3.5rem,6vw,6rem) 0 clamp(2rem,3.5vw,3rem);border-bottom:var(--rule)}
.sf-page-hero__inner{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}
.sf-page-hero h1{max-width:20ch}
.sf-page-hero__lead{font-size:var(--fs-lead);color:var(--muted);max-width:var(--measure-wide);margin:0}
.sf-page-hero__title-note{font-family:var(--font-body);font-size:var(--fs-small);letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);margin:0}
@media(min-width:900px){
  .sf-page-hero__inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:end;gap:clamp(2rem,4vw,4rem)}
}

/* --- Sections & rules ---------------------------------------- */
.sf-sec{padding:var(--space-section) 0}
.sf-sec--tight{padding:clamp(32px,4.5vw,56px) 0}
.sf-sec + .sf-sec{border-top:var(--rule)}
.sf-measure{max-width:var(--measure)}
.sf-measure-wide{max-width:var(--measure-wide)}
.sf-rule{border:0;border-top:var(--rule);margin:var(--space-lg) 0}

/* --- Buttons -------------------------------------------------- */
.sf-btn,.sf-btn--ghost{display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--btn-h);padding:0 1.6rem;border-radius:var(--radius);
  font-family:var(--font-body);font-size:var(--fs-btn);font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;transition:background .18s ease,color .18s ease,border-color .18s ease}
.sf-btn{background:var(--ink);color:#fff;border:1px solid var(--ink)}
.sf-btn:hover{background:var(--teal2);border-color:var(--teal2)}
.sf-btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.sf-btn--ghost:hover{border-color:var(--ink)}

/* --- Accessibility ------------------------------------------- */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:var(--focus);outline-offset:3px;border-radius:2px}
.sf-skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink);color:#fff;
  padding:.75rem 1.25rem;font-size:var(--fs-small)}
.sf-skip:focus{left:0}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ============================================================
   PATIENT JOURNEY — editorial numbered pathway
   ============================================================ */
.sj-steps{border-top:var(--rule)}
.sj-step{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm);
  padding:var(--space-xl) 0;border-bottom:var(--rule)}
.sj-step__num{font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.4rem);
  line-height:1;color:var(--teal);opacity:.85}
.sj-step__body>p{max-width:var(--measure);color:var(--ink)}
.sj-step__body>p:first-of-type{font-size:var(--fs-lead)}
.sj-list{list-style:none;margin:var(--space-sm) 0 0;padding:0;max-width:var(--measure)}
.sj-list li{position:relative;padding-left:1.4rem;margin-bottom:.5rem;font-size:var(--fs-small);color:var(--muted)}
.sj-list li::before{content:"";position:absolute;left:0;top:.62em;width:.5rem;height:1px;background:var(--teal)}
.sj-note{margin-top:var(--space-sm);padding-left:1.1rem;border-left:2px solid var(--teal);
  font-size:var(--fs-small);color:var(--muted);max-width:var(--measure)}
.sj-links{margin-top:var(--space-sm);display:flex;flex-wrap:wrap;gap:1.25rem}
.sj-links a{font-size:var(--fs-small);font-weight:700;border-bottom:1px solid var(--teal);padding-bottom:2px}
.sj-links a:hover{color:var(--teal2)}
@media(min-width:820px){
  .sj-step{grid-template-columns:8rem minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
  .sj-step:nth-child(even) .sj-step__body{padding-left:clamp(0px,2vw,2.5rem)}
}

/* ============================================================
   EDUCATION HUB
   ============================================================ */
.se-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md)}
@media(min-width:760px){.se-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .se-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.se-item{border:var(--rule);border-radius:12px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;background:#fff;transition:border-color .18s,background .18s}.se-item:hover{border-color:var(--teal2);background:#f4faf9}.se-item .se-more{margin-top:auto}
.se-item h3{margin-bottom:.35rem}
.se-item p{font-size:var(--fs-small);color:var(--muted);margin:0 0 .75rem}
.se-item a.se-more{font-size:var(--fs-small);font-weight:700;border-bottom:1px solid var(--teal);padding-bottom:2px}
.se-channels{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm);margin-top:var(--space-md)}
@media(min-width:700px){.se-channels{grid-template-columns:repeat(2,minmax(0,1fr))}}
.se-channel{display:flex;justify-content:space-between;align-items:center;gap:1rem;
  border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.4rem;transition:border-color .18s ease}
.se-channel:hover{border-color:var(--ink)}
.se-channel strong{display:block;font-size:var(--fs-h4)}
.se-channel span{display:block;font-size:var(--fs-small);color:var(--muted)}
.se-channel em{font-style:normal;font-size:var(--fs-small);font-weight:700;color:var(--teal2);white-space:nowrap}

/* ============================================================
   PHYSICIAN PROFILE
   ============================================================ */
.sp-profile__lead{font-size:var(--fs-lead);max-width:var(--measure-wide)}
.sp-block{padding:var(--space-xl) 0;border-top:var(--rule)}
.sp-block__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm)}
@media(min-width:900px){.sp-block__grid{grid-template-columns:14rem minmax(0,1fr);gap:clamp(2rem,5vw,4rem)}}
.sp-block__label{font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:.4rem 0 0}
.sp-block__body>p{max-width:var(--measure)}
.sp-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md)}
@media(min-width:700px){.sp-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sp-cols h3{font-family:var(--font-body);font-weight:700;font-size:var(--fs-h4);letter-spacing:0}
.sp-cols p{font-size:var(--fs-small);color:var(--muted);margin:0}

/* --- Closing appointment CTA (shared) ------------------------ */
.sf-cta-band{border-top:var(--rule);padding:var(--space-xl) 0;background:var(--sand)}
.sf-cta-band__inner{display:grid;gap:var(--space-sm);align-items:center}
@media(min-width:820px){.sf-cta-band__inner{grid-template-columns:minmax(0,1fr) auto}}
.sf-cta-band h2{margin:0 0 .4rem}
.sf-cta-band p{margin:0;color:var(--muted);max-width:var(--measure)}

/* --- Mobile rebalance ---------------------------------------- */
@media(max-width:520px){
  :root{--fs-display-xl:clamp(2.1rem,8.5vw,2.7rem);--fs-lead:1.05rem;--btn-h:46px}
  .sf-btn,.sf-btn--ghost{width:100%}
  .sj-step__num{font-size:2.1rem}
}

/* --- Page body context adjustments --------------------------- */
.sm-page__body{padding-bottom:0}
.sm-page__body>.sf-page-hero:first-child{padding-top:clamp(2.5rem,4.5vw,4rem)}
.sm-page__body .sf-cta-band{background:var(--sand);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(2rem,4vw,3rem) clamp(1.5rem,4vw,3rem);margin:var(--space-xl) 0 var(--space-section)}
.sm-page__body .sj-steps{margin-top:0}

/* --- FOOTER v3 — white, columnar ----------------------------- */
.sf-footer{background:#fff;color:var(--ink);border-top:var(--rule);
  padding:var(--space-xl) 0 var(--space-md);font-size:var(--fs-small)}
.sf-footer a:not(.sf-btn){color:var(--ink)}
.sf-footer a:not(.sf-btn):hover{color:var(--teal2)}
.sf-footer__top{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;
  justify-content:space-between;padding-bottom:var(--space-md);border-bottom:var(--rule)}
.sf-footer__brand{display:flex;align-items:center;gap:.9rem}
.sf-footer__brand img,.sf-footer__brand .custom-logo{max-height:52px;width:auto}
.sf-footer__brand-copy b{display:block;font-family:var(--font-display);font-weight:400;
  font-size:1.25rem;line-height:1.2}
.sf-footer__brand-copy small{display:block;font-size:.78rem;color:var(--muted);letter-spacing:.02em}
.sf-footer__social{display:flex;gap:1.5rem;font-weight:700;letter-spacing:.04em}
.sf-footer__social a{border-bottom:1px solid var(--line);padding-bottom:2px}
.sf-footer__social a:hover{border-color:var(--teal2)}

.sf-footer__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md);
  padding:var(--space-lg) 0}
@media(min-width:700px){.sf-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg)}}
@media(min-width:1040px){.sf-footer__grid{grid-template-columns:1.2fr 1fr 1fr 1fr;gap:clamp(2rem,4vw,3.5rem)}}
.sf-footer__head{font-family:var(--font-body);font-size:var(--fs-eyebrow);font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin:0 0 .9rem}
.sf-footer__sub{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin:0 0 .5rem}
.sf-footer__col ul{list-style:none;margin:0 0 1.25rem;padding:0}
.sf-footer__col li{margin-bottom:.5rem;line-height:1.4}
.sf-footer__col p{margin:0 0 .75rem}
.sf-footer__addr{color:var(--muted);max-width:22rem}
.sf-footer__col--contact .sf-btn{margin-top:.5rem}

.sf-footer__bottom{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center;
  justify-content:space-between;padding-top:var(--space-sm);border-top:var(--rule);
  font-size:.8rem;color:var(--muted)}
.sf-footer__bottom p{margin:0}
.sf-footer__bottom nav{display:flex;gap:1.5rem}
.sf-footer__bottom a{color:var(--muted)}
@media(max-width:520px){.sf-footer__top{flex-direction:column;align-items:flex-start}
  .sf-footer__bottom{flex-direction:column;align-items:flex-start}}
/* --- FOOTER FIXES -------------------------------------------- */
.sf-footer__top{align-items:flex-end}
.sf-footer__brand{gap:1rem;align-items:center;min-width:0}
.sf-footer__logo{display:block;max-height:56px;width:auto;flex:0 0 auto}
.sf-footer__brand-copy b{font-size:1.35rem}
.sf-footer__col--contact .sf-btn{width:auto;max-width:100%;color:#fff}
.sf-footer__col--contact .sf-btn:hover{color:#fff}
.sf-footer__addr{margin-bottom:1rem}
/* dark bands: headings must not inherit the navy ink colour */
.sm-cta-band,.sm-cta-band h2,.sm-cta-band p{color:#fff}
/* --- SOCIAL ICONS -------------------------------------------- */
.sf-footer__social a{display:inline-flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--line);padding-bottom:3px}
.sf-ico{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linejoin:round;overflow:visible}
.sf-ico .sf-ico-dot{fill:currentColor;stroke:none}
.sf-ico .sf-ico-fill{fill:currentColor;stroke:none}
.sf-footer__social a:hover .sf-ico{color:var(--teal2)}
@media(max-width:520px){.sf-footer__social{gap:1.1rem}}
/* --- PROFILE HERO / PORTRAIT --------------------------------- */
.sf-profile-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-md);
  align-items:center;padding:clamp(2rem,4vw,3.5rem) 0 clamp(2.5rem,4vw,3.5rem);
  border-bottom:var(--rule)}
.sf-profile-hero__copy{min-width:0}
.sf-profile-hero h1{margin-bottom:.35rem}
.sf-profile-hero__title{font-size:var(--fs-lead);color:var(--ink);margin:0 0 .9rem}
.sf-profile-hero__focus{font-family:var(--font-body);font-size:.72rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 1.6rem}
.sf-profile-hero__actions{margin:0}

.sf-profile-hero__portrait{margin:0;order:-1;position:relative}
.sf-profile-hero__portrait img{display:block;width:100%;height:auto;
  aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;
  border-radius:var(--radius-lg)}

@media(min-width:900px){
  .sf-profile-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
    gap:clamp(2.5rem,5vw,5rem)}
  .sf-profile-hero__portrait{order:0;justify-self:end;width:100%;max-width:420px}
  /* fine teal rule offset behind the frame — editorial, not decorative clutter */
  .sf-profile-hero__portrait::before{content:"";position:absolute;left:-14px;top:18px;
    bottom:18px;width:1px;background:var(--teal);opacity:.55}
}
@media(max-width:899px){
  .sf-profile-hero__portrait{max-width:300px}
}
.sm-authority__media img{display:block;width:100%;height:auto;aspect-ratio:4/5;
  object-fit:cover;object-position:50% 18%;border-radius:var(--radius-lg)}
