/* Official brand-guide mark: centered high-resolution artwork with consistent clear space. */
.care-guide-launch-icon { display: grid; place-items: center; overflow: hidden; background: #fffbf5; }
.care-guide-launch-icon img { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; object-position: center; margin: 0; padding: 0; transform: none; }
.care-guide-status img { object-fit: contain; object-position: center; padding: 0; background: #fffbf5; }

.care-guide-launch { width: 56px; min-width: 56px; height: 56px; min-height: 56px; padding: 7px; justify-content: center; align-items: center; }
.care-guide-launch-icon { width: 40px; height: 40px; flex: 0 0 40px; aspect-ratio: 1; }

/* Mobile menu needs explicit foreground colors outside the dark header. */
.site-header.menu-active { background: #123240; color: #fff; }
.site-header.menu-active .header-inner { background: #123240; }
.site-header .mobile-panel { background: #fffbf5; color: #123240; }
.site-header .mobile-panel nav .mobile-main-link { color: #146398; font-weight: 400; }
.site-header .mobile-panel nav .mobile-main-link span { color: #39505f; }
.site-header .mobile-panel nav .mobile-main-link:focus-visible { outline: 2px solid #2181c1; outline-offset: 3px; }
body.menu-open .care-guide { visibility: hidden; pointer-events: none; }

/* Site-wide brand typography and shared interactive surfaces. */
:root { --sans: "Gill Sans", "Gill Sans MT", Calibri, sans-serif; --serif: var(--sans); --font-sans: var(--sans); }
body, button, input, select, textarea { font-family: var(--sans); }
h1, h2, h3, h4, h5, h6, .mobile-main-link, dialog, [role="dialog"], [role="tab"], .care-guide { font-family: var(--sans); }
h1, h2, h3, .mobile-main-link { font-weight: 300 !important; font-synthesis: none; }
h1 em, h2 em, h3 em { font-style: normal; }
.site-header .mobile-panel nav .mobile-main-link { font-family: var(--sans); font-weight: 300 !important; }
dialog, .care-guide-panel { background-color: #fffbf5; }
dialog h2, [role="dialog"] h2 { letter-spacing: -.015em; line-height: 1.15; }
button, input, select, textarea { accent-color: #2181c1; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #146398; outline-offset: 3px; }
@media(max-width:700px) { .care-guide { bottom: calc(94px + env(safe-area-inset-bottom)); } }

.care-guide h2, .care-guide button, .care-guide input { font-family: var(--sans); }

.menu-compare dialog .button { background: #146398; color: #fff; border-color: #146398; }
.care-guide-panel { background: #fffbf5; }
.care-guide-header { background: #123240; }
.care-guide-header h2 { color: #fff; font-weight: 300 !important; }
@media(max-width:700px) { .menu-compare-columns article { flex-basis: 100%; box-sizing: border-box; } }

/* Four clear destinations, comfortable controls at every header breakpoint. */
.site-header .header-inner{gap:clamp(16px,2vw,32px)}
.site-header .desktop-nav{gap:clamp(20px,2.2vw,38px);flex-shrink:0}
.site-header .desktop-nav a{display:inline-flex;align-items:center;min-height:48px;font-size:16px;line-height:1.3;letter-spacing:.085em;white-space:nowrap}
.site-header .desktop-nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:10px}
.site-header .header-book-link{font-size:13px;min-height:48px;letter-spacing:.045em;white-space:nowrap}
.site-header .header-location-link{font-size:13px;letter-spacing:.06em}
.site-header .menu-button{width:44px;min-width:44px;height:44px;margin-left:0}
.site-header .mobile-panel nav .mobile-main-link{font-size:23px;line-height:1.2;padding:14px 0;min-height:64px}
.site-header .mobile-panel nav .mobile-main-link span{font-size:14px;line-height:1.45;margin-top:5px}
.site-header .mobile-panel nav .mobile-main-link[aria-current="page"]{border-left:3px solid #2181c1;padding-left:12px;background:#2181c10a}
.site-header .mobile-panel{padding-bottom:calc(110px + env(safe-area-inset-bottom));overscroll-behavior:contain}
.site-header .mobile-utility-links a{min-height:44px;display:inline-flex;align-items:center;font-size:16px}
.site-header .mobile-branch-button small{font-size:14px}
html{scroll-padding-top:calc(var(--header-h) + 20px)}
@media(min-width:1101px) and (max-width:1390px){.site-header .header-location-link{display:none}.site-header .header-wordmark{width:210px;min-width:210px}.site-header .header-inner{width:calc(100% - 40px);gap:18px}.site-header .desktop-nav{gap:20px}}
@media(max-width:1100px){.site-header .header-compact-book{min-height:44px;font-size:15px;padding:10px 16px}.site-header .header-inner{gap:16px}}
@media(max-width:600px){.site-header .header-inner{width:calc(100% - 24px);gap:10px}.site-header .header-wordmark{width:145px;min-width:145px}.site-header .header-compact-book{font-size:13px;padding:9px 12px;letter-spacing:0}.site-header .header-compact-book .icon{display:none}input,select,textarea{font-size:16px}.care-paths a{font-size:16px}.page-hero h1,.detail-hero h1,.branch-detail-hero h1{font-size:clamp(36px,10vw,56px);line-height:1.08}.consultation-copy h2{font-size:clamp(32px,9vw,48px);line-height:1.12}}
@media(max-width:375px){.site-header .header-wordmark{width:120px;min-width:120px}.site-header .header-inner{gap:8px}.site-header .header-compact-book{padding-inline:9px}}

@media(max-width:1100px){.concern-page .concern-detail-hero h1{font-size:clamp(36px,6vw,64px);line-height:1.1;overflow-wrap:break-word}}
@media(max-width:600px){.concern-page .concern-detail-hero h1,.treatment-page .detail-hero h1{font-size:clamp(34px,9vw,48px);line-height:1.1}.booking-panel label{font-size:15px}}
/* Our Care shares the Real Results title-and-signature composition. */
.concerns-index .our-care-hero{min-height:0;padding:calc(var(--header-h) + 65px) 0 65px;background:linear-gradient(118deg,#2181c1 25%,#00b5de 160%)}
.our-care-hero .section-shell{display:flex;flex-direction:column;align-items:flex-start;gap:28px;min-height:260px;container-type:inline-size}
.concerns-index .our-care-hero h1{font-family:"Gill Sans Light","Gill Sans","Gill Sans MT",Calibri,sans-serif;font-weight:300!important;font-style:normal;text-transform:none;font-size:min(16cqw,180px);line-height:1;letter-spacing:-.035em;color:#fff;margin:0;white-space:nowrap;max-width:100%}
.our-care-signature{display:flex;align-items:center;gap:23px;margin-left:38%;max-width:62%;color:#fff}
.our-care-signature span{font-size:clamp(1.3rem,2.6vw,2.3rem);line-height:1}
.our-care-signature svg{display:block;width:clamp(180px,28vw,390px);height:auto;min-width:0}
@media(max-width:600px){.concerns-index .our-care-hero{padding:calc(var(--header-h) + 32px) 0 38px}.our-care-hero .section-shell{width:calc(100% - 40px);min-height:0;gap:20px}.our-care-signature{gap:9px;margin-left:30%;max-width:70%}.our-care-signature span{font-size:16px}.our-care-signature svg{width:165px}}

/* Retain the approved care message at a measured display size. */
.concerns-index .our-care-hero h1{font-size:clamp(52px,6.5vw,104px);white-space:normal;line-height:1.06;letter-spacing:-.035em}.our-care-hero .section-shell{gap:20px}.our-care-hero .eyebrow{color:#fff;margin:0;font-size:14px;letter-spacing:.2em}@media(max-width:600px){.concerns-index .our-care-hero h1{font-size:clamp(40px,10.5vw,60px)}.our-care-hero .eyebrow{font-size:12px}.our-care-hero .section-shell{gap:18px}}

/* One-line care message: enter, hold for 3.5 seconds, then fade from the center. */
.concerns-index .our-care-hero h1.care-message-motion{font-size:clamp(24px,6.5cqw,104px);white-space:nowrap;width:max-content;max-width:100%;line-height:1.12;transform-origin:center center;animation:care-message-cycle 5.25s infinite;will-change:transform,opacity}
@keyframes care-message-cycle{0%{opacity:0;transform:translateY(12px) scale(.99);animation-timing-function:cubic-bezier(.22,1,.36,1)}15.238%,81.905%{opacity:1;transform:translateY(0) scale(1);animation-timing-function:cubic-bezier(.4,0,.2,1)}95.238%,100%{opacity:0;transform:translateY(0) scale(1.02)}}
@media(max-width:600px){.concerns-index .our-care-hero h1.care-message-motion{font-size:6.5cqw;letter-spacing:-.035em}}
@media(prefers-reduced-motion:reduce){.concerns-index .our-care-hero h1.care-message-motion{animation:none;transform:none;opacity:1}}

.concerns-index .our-care-hero .care-message-motion span{font-weight:inherit!important;font-family:inherit}@media(max-width:600px){.concerns-index .our-care-hero h1.care-message-motion{font-size:clamp(40px,10.5vw,60px);white-space:normal;line-height:1.12}.care-message-motion span{display:block}}

/* Locations: stagger the message, then hold both lines for 3.5 seconds. */
.branches-hero .branch-title-motion{width:max-content;max-width:100%;transform-origin:center;animation:branch-title-exit 5.5s infinite}
.branches-hero .branch-title-motion span{display:block;color:#fff;font-family:inherit;font-weight:300!important;font-style:normal;white-space:nowrap;animation:branch-line-entry 5.5s infinite}
.branches-hero .branch-title-motion span+span{animation-name:branch-second-entry}
@keyframes branch-line-entry{0%{opacity:0;transform:translateY(14px);animation-timing-function:cubic-bezier(.22,1,.36,1)}14.545%,100%{opacity:1;transform:translateY(0)}}
@keyframes branch-second-entry{0%,5.455%{opacity:0;transform:translateY(10px);animation-timing-function:cubic-bezier(.22,1,.36,1)}18.182%,100%{opacity:1;transform:translateY(0)}}
@keyframes branch-title-exit{0%,81.818%{opacity:1;transform:scale(1);animation-timing-function:ease-in-out}95.455%,100%{opacity:0;transform:scale(1.015)}}
@media(prefers-reduced-motion:reduce){.branches-hero .branch-title-motion,.branches-hero .branch-title-motion span{animation:none;opacity:1;transform:none}}

/* Booking leads; two lightweight discovery links stay together beneath it. */
.home-campaign-content .hero-actions{align-items:flex-start;flex-direction:column;gap:18px}
.campaign-discovery-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.home .campaign-discovery-links .campaign-secondary{min-height:44px;margin:0;font-size:13px;letter-spacing:.06em;white-space:nowrap}
@media(max-width:600px){.home-campaign-content .hero-actions{width:100%;gap:12px}.home-campaign-content .campaign-primary{width:100%;justify-content:center}.campaign-discovery-links{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.home .campaign-discovery-links .campaign-secondary{font-size:14px;letter-spacing:0;text-transform:none;justify-content:center;gap:6px;min-height:48px}.home .campaign-discovery-links .campaign-secondary .icon{width:14px;height:14px}}

/* Clearly outlined discovery actions, subordinate to the filled consultation CTA. */
.home .campaign-discovery-links .campaign-secondary{border:1px solid rgba(255,255,255,.75);border-radius:999px;padding:12px 20px;min-height:48px;background:rgba(10,43,77,.2);text-decoration:none;transition:background .2s,border-color .2s}
.home .campaign-discovery-links .campaign-secondary:hover{background:rgba(255,255,255,.16);border-color:#fff}
.home .campaign-discovery-links .campaign-secondary:focus-visible{outline:3px solid #00b5de;outline-offset:4px}
@media(max-width:600px){.campaign-discovery-links{gap:10px}.home .campaign-discovery-links .campaign-secondary{padding:12px 8px;border-color:#146398;color:#146398;background:#fffbf5;font-size:14px;line-height:1.3;white-space:normal;text-align:center}.home .campaign-discovery-links .campaign-secondary:hover{background:#e8f5fc;border-color:#146398}}

/* A separate portfolio row for each broad concern. */
.result-concern-row{margin:0 0 56px}.result-row-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}.result-row-heading h2{font:300 clamp(28px,3vw,42px)/1.15 var(--sans);color:#146398;margin:0}.result-row-heading>span{font-size:14px;color:#39505f;white-space:nowrap}.result-portfolio-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.result-portfolio-row .journey-card{min-width:0;width:auto}.result-portfolio-row .journey-card-copy{padding:24px}.result-portfolio-row .journey-card h3{font-size:26px;line-height:1.2}.result-portfolio-row .journey-card-summary{font-size:16px;line-height:1.6}
@media(max-width:1000px){.result-portfolio-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.result-concern-row{margin-bottom:36px}.result-row-heading{margin-bottom:16px}.result-row-heading h2{font-size:28px}.result-portfolio-row{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;padding:0 0 14px;scrollbar-width:thin;scrollbar-color:#2181c1 #e8f0f5}.result-portfolio-row .journey-card{flex:0 0 88%;scroll-snap-align:start}.result-portfolio-row .journey-card:only-child{flex-basis:100%}.result-portfolio-row .journey-card-copy{padding:20px}.result-portfolio-row .journey-card h3{font-size:24px}}

.result-placeholder-media{position:relative;display:grid;grid-template-columns:1fr 1fr;aspect-ratio:3/2;background:linear-gradient(90deg,#edf3f5 49.5%,#fff 49.5%,#fff 50.5%,#edf3f5 50.5%);padding:18px;gap:24px;align-content:start;color:#39505f}.result-placeholder-media>span{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.result-placeholder-media>span:nth-child(2){text-align:right}.result-placeholder-media>p{position:absolute;inset:40% 16px auto;text-align:center;font-size:18px}.result-placeholder .journey-card-copy>p{font-size:16px;color:#39505f}.result-placeholder{box-shadow:none!important}.result-placeholder:hover{transform:none!important}

/* Desktop uses featured concern covers; phones use concern portfolio rows. */
.result-desktop-covers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.result-desktop-covers .journey-card{min-width:0}.result-concern-rows,.result-row-hint{display:none}.result-desktop-covers .journey-card h3{font-size:26px;line-height:1.2}
@media(min-width:601px) and (max-width:1100px){.result-desktop-covers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.result-desktop-covers{display:none}.result-concern-rows{display:block}}
