
/* v4: dedicated public pages and careful, non-distracting affiliation movement */
.sub-hero{background:linear-gradient(115deg,#e9f6f0 0%,#fff 67%);padding:88px 0 75px;border-bottom:1px solid #dcece5}
.sub-hero .container{max-width:1160px}.sub-hero h1{font-family:var(--serif,Georgia,serif);font-weight:500;font-size:clamp(3.1rem,6vw,5.7rem);line-height:1.13;letter-spacing:-.035em;color:#1a513d;margin:15px 0 24px}
.sub-hero h1 em{color:#0a8c88;font-weight:400}.sub-hero p{font-size:1.08rem;line-height:1.85;color:#405f53;max-width:790px;margin-bottom:25px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;color:#547168;font-size:.78rem;align-items:center;margin-top:22px}
.breadcrumb a{color:#175e4b}.sub-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}
.subpage h2{line-height:1.2}.subpage .section{padding-block:82px}.subpage .primary-nav a[aria-current=page]{color:#007d77;font-weight:750}
.subpage .primary-nav{gap:17px}.subpage .header-actions .btn{white-space:nowrap}
.subpage .team-page{background:#fff}.subpage .team-page .team-grid{margin-top:0}
.section-actions{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}.homepage-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card h3 a,.service-page-card h2 a{color:inherit;text-decoration:none}.service-card h3 a:hover,.service-page-card h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.home-location-row{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center}.home-location-row p{max-width:720px;line-height:1.85}.location-teaser-actions,.sub-cta-links{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.affiliations-section{padding:75px 0 82px;background:#f5faf7;border-top:1px solid #dbeae1}
.affiliations-section .section-head h2{font-size:clamp(2.1rem,3.5vw,3.35rem)}
.affiliation-floating-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.affiliation-lockup{display:flex;align-items:center;gap:13px;min-height:111px;padding:18px;border:1px solid #d0e4d9;border-radius:19px;background:#fff;box-shadow:0 12px 33px rgba(15,73,58,.06);text-decoration:none;animation:gentle-float 6s ease-in-out infinite;transform:translateY(0)}
.affiliation-lockup:nth-child(2){animation-delay:-2s}.affiliation-lockup:nth-child(3){animation-delay:-4s}
.affiliation-lockup:hover,.affiliation-lockup:focus-visible{animation-play-state:paused;outline-offset:4px;box-shadow:0 15px 35px rgba(23,91,73,.14)}
.affiliation-mark{flex:0 0 58px;height:58px;border-radius:15px;display:grid;place-items:center;font-size:1.5rem;font-weight:800;letter-spacing:-.04em;border:1px solid #b8d5c9}
.mark-hpcsa{color:#164bb1;background:#ecf4ff}.mark-otasa{color:#216d4c;background:#e4f5ea}.mark-saisi{color:#754a85;background:#f6eefa}
.affiliation-lockup strong{display:block;color:#1a4a3a;font-size:1.1rem}.affiliation-lockup small{display:block;color:#5c736a;font-size:.75rem;line-height:1.4;margin-top:5px}.affiliation-out{margin-left:auto;align-self:flex-start;color:#357d6a}
.affiliation-footnote{font-size:.74rem;color:#586e66;margin-top:22px;line-height:1.6}
@keyframes gentle-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.services-directory{grid-template-columns:repeat(3,minmax(0,1fr))}.service-page-card{min-height:355px}.service-page-card h2{font-size:1.55rem;color:#204f40;margin:13px 0}.service-page-card .service-tags span{font-size:.76rem}
.service-information,.service-detail-layout,.location-help{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(255px,.7fr);gap:60px;align-items:start}
.service-information p,.service-detail-layout p,.location-help p{line-height:1.85;color:#456358}.service-detail-main{max-width:850px}
.info-panel{background:#eaf6ef;border-radius:18px;border:1px solid #cbe6d8;padding:30px;line-height:1.8;color:#295747}.info-panel h3{font-size:1.3rem;margin-top:0}.info-panel a:not(.btn){color:#086c64;font-weight:700}.info-panel .btn{width:100%;margin-top:8px}.small-muted{font-size:.76rem;color:#576e64!important}
.check-list{padding:0;list-style:none;display:grid;gap:16px}.check-list li{padding-left:32px;position:relative;line-height:1.7;color:#36584b}.check-list li::before{content:'✓';position:absolute;left:0;top:0;color:#0c807a;font-weight:900}
.approach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.approach-card{padding:30px;background:#fff;border:1px solid #dce9e2;border-radius:16px}.approach-card>span{font-size:.79rem;color:#1f9486;font-weight:750}.approach-card h3{font-size:1.21rem;color:#194f3c;margin:13px 0}.approach-card p{font-size:.91rem;line-height:1.8;color:#44675a}
.faq-page{max-width:930px}.faq-page details{padding:21px 25px;margin-top:13px;border:1px solid #d8e9df;background:#fff;border-radius:12px}.faq-page summary{cursor:pointer;font-weight:700;color:#265440}.faq-page details p{margin-bottom:0;color:#486658;line-height:1.75}
.related-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.related-links a{display:flex;justify-content:space-between;gap:12px;padding:24px;border:1px solid #d7e5da;border-radius:12px;text-decoration:none;color:#175d4a;background:#f4faf6}.related-links a:hover{background:#e3f2e9}
.clinical-note{font-size:.83rem;color:#60776e;line-height:1.8;padding-block:15px}
.sub-cta{background:#e1f3eb;padding:57px 0}.sub-cta-inner{display:flex;justify-content:space-between;gap:35px;align-items:center}.sub-cta-inner h2{font-size:clamp(2rem,3vw,3rem);margin:9px 0}.sub-cta-inner p{max-width:700px;color:#496359;line-height:1.7}
.credentials-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.credential-card{padding:28px;background:#f0f8f3;border-radius:14px}.credential-card h3{color:#1b5544}.credential-card p{color:#49685b;line-height:1.7}
.location-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px}.map-branch-card{background:#fff;border:1px solid #dae8df;border-radius:22px;overflow:hidden;box-shadow:0 12px 28px rgba(40,91,73,.06)}.map-branch-head{padding:34px 30px 25px}.map-branch-head h2{font-size:1.72rem;color:#194d3e;margin:12px 0}.map-branch-head address{font-style:normal;line-height:1.85;color:#476659}.map-branch-head p a{font-weight:800;color:#0f7268}
.map-loader{height:295px;min-height:295px;background:#e7efe8;display:flex;align-items:stretch;justify-content:center}.map-placeholder{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;gap:10px}.map-placeholder>span{font-size:2.2rem;color:#1a8577}.map-placeholder strong{color:#1a5846}.map-placeholder p{max-width:330px;line-height:1.6;color:#516e62;margin:0 0 10px;font-size:.83rem}.map-loader iframe{border:0;height:100%;width:100%}
.map-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:15px;padding:20px 27px 28px}.map-buttons>a:not(.btn){color:#176d58;font-weight:700;font-size:.83rem}.map-buttons .btn{font-size:.82rem}
@media(max-width:1180px){.subpage .primary-nav{gap:10px}.subpage .header-actions .btn{padding-inline:12px;font-size:.8rem}}
@media(max-width:1000px){.subpage .primary-nav{display:none}.subpage .primary-nav.is-open{display:flex}.services-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.affiliation-floating-row{grid-template-columns:1fr}.affiliation-lockup{min-height:85px}.location-map-grid{grid-template-columns:1fr}.home-location-row{grid-template-columns:1fr}.location-teaser-actions{flex-direction:row}}
@media(max-width:730px){.sub-hero{padding:52px 0}.subpage .section{padding-block:60px}.sub-hero h1{font-size:clamp(2.7rem,9vw,3.7rem)}.sub-hero p{font-size:.98rem}.homepage-service-grid,.services-directory,.approach-grid,.related-links,.service-information,.service-detail-layout,.location-help,.credentials-layout{grid-template-columns:1fr}.sub-cta-inner{flex-direction:column;align-items:stretch}.location-teaser-actions{flex-direction:column}.affiliations-section{padding-block:58px}.affiliation-floating-row{gap:14px}.map-branch-head{padding:25px}.map-buttons{padding:19px}.map-loader{height:275px;min-height:275px}}
@media(prefers-reduced-motion:reduce){.affiliation-lockup{animation:none!important}}
body.calm-mode .affiliation-lockup{animation:none!important}
@media print{.affiliation-lockup{animation:none}.map-loader,.sub-cta-links,.subpage .site-header .header-actions{display:none}}

.official-affiliation-logo{width:58px;height:58px;object-fit:contain;flex:0 0 58px}

/* Practice-provided affiliation graphics: preserve their aspect ratios */
.official-affiliation-logo{flex:0 0 112px;width:112px;height:82px;object-fit:contain;object-position:center;background:#fff;padding:6px;border-radius:9px}
.affiliation-lockup{min-width:0;gap:12px;min-height:128px}
.affiliation-lockup>span:not(.affiliation-out){min-width:0}
.affiliation-lockup strong{font-size:1.05rem}
.affiliation-lockup small{overflow-wrap:anywhere}
@media(max-width:1160px) and (min-width:1001px){.official-affiliation-logo{flex-basis:76px;width:76px;height:75px}.affiliation-lockup{padding:12px}}
@media(max-width:430px){.official-affiliation-logo{flex-basis:94px;width:94px;height:70px}.affiliation-lockup{padding:13px}}
