/* Speed24 visual identity. Shared by every generated page. */
@font-face{font-family:'Pretendard Variable';src:url('/assets/fonts/PretendardVariable.woff2') format('woff2');font-weight:45 920;font-style:normal;font-display:swap}
/* Copyright (c) Viva Republica. See fonts/Tossface-LICENSE.txt. Original font. */
@font-face{font-family:Tossface;src:url('/assets/fonts/TossFaceFontMac-09.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--bg:#eff0e5;--panel:#fff;--line:#daddca;--text:#18283f;--muted:#68768a;--aqua:#2563eb;--pink:#2563eb;--max:1120px}
body{font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;letter-spacing:-.015em}
p{color:#536278}h1,h2,h3{letter-spacing:-.04em}.lead{color:#24344e}.glow,.section-heading h2,.intro-panel h2{color:#18283f;text-shadow:none}.accent{color:#2563eb;text-shadow:none}.eyebrow{color:#607a9e;font-weight:650;letter-spacing:.13em}.panel{border:1px solid #dfe2d2;border-radius:24px;box-shadow:0 6px 24px #17365b04}.section{margin:76px auto}.section-note{color:#66758b}.section-heading h2{font-weight:750}.tossface{font-family:Tossface!important;font-weight:400!important;font-style:normal;line-height:1}
.brand-header{height:106px;max-width:1240px;padding:0 42px;margin:auto;justify-content:space-between;background:#fff}.brand-header:before{content:'';position:absolute;left:0;right:0;height:106px;background:white;z-index:-1}.brand{flex-direction:row;gap:22px}.brand>img{width:194px;height:74px;object-fit:contain}.brand-description{border-left:1px solid #dce3ee;padding-left:22px;color:#738096;font-size:12px;line-height:1.8;text-align:left}.brand-description strong{display:block;font-size:17px;letter-spacing:-.02em;color:#24344e}.header-consult{font-size:14px;font-weight:650;border:1px solid #dce4ef;padding:9px 16px;border-radius:10px;color:#24405f}.header-consult:hover{background:#edf3ff}
.main-nav{background:#fff;border-bottom:1px solid #dfe2d2;border-top:1px solid #f2f4eb}.nav-inner{max-width:1160px;justify-content:space-between;min-height:60px}.nav-inner>a,.nav-group>a,.menu-toggle{color:#4a5a70;font-size:13px;padding:19px 13px;font-weight:600}.nav-inner a:hover,.menu-toggle:hover{color:#2563eb}.dropdown{background:#fff;border:1px solid #dce0cf;border-radius:0 0 14px 14px;box-shadow:0 15px 35px #233b5514}.dropdown>a{color:#536278}.dropdown>a:hover{color:#2563eb;background:#f0f3e4}.mega-menu{background:#fff;border-color:#dfe2d2}.mega-menu h2{color:#24405f}.mega-menu a:hover{color:#2563eb}
.hero{min-height:570px;max-width:1240px;margin:28px auto 0;border-radius:28px;background:#e9ecdb;text-align:left;padding:65px 58px}.hero>img{left:auto;right:0;width:49%;object-position:70% center}.hero-shade{background:linear-gradient(90deg,#e9ecdb 0%,#e9ecdb 47%,#e9ecdb00 67%)}.hero-copy{width:100%;max-width:none}.hero-eyebrow{color:#3868b0;font-size:12px;letter-spacing:.13em;margin-bottom:24px}.hero h1{font-size:clamp(34px,4.5vw,56px);font-style:normal;font-weight:780;max-width:570px;width:54%;line-height:1.2;color:#14243c;text-shadow:none;word-break:keep-all;margin-bottom:25px}.hero-subtitle{color:#24344e;font-size:25px;max-width:50%;font-weight:650;line-height:1.6}.hero-description{color:#536278;font-size:16px;line-height:1.9;max-width:47%;margin-bottom:26px}.hero-note{color:#65758a;font-size:12px;max-width:49%}.region-hero{min-height:460px}.region-hero h1{font-size:48px;width:54%}.call-button{background:#2563eb;border:1px solid #2563eb;color:#fff;box-shadow:none;border-radius:12px;padding:14px 23px;gap:11px;font-size:15px;min-height:52px}.call-button:hover{background:#194ed0;border-color:#194ed0;color:white}.call-button>.tossface{font-size:21px}.intro-panel{max-width:100%;padding:55px 60px}.intro-panel h2{font-size:30px}.intro-panel>.lead{font-weight:650}.intro-points span{color:#50627e;border-color:#dbe4f1;background:#f4f5ed;border-radius:8px}.intro-panel>p{color:#536278}.intro-panel>.lead{color:#253951}
.region-filter button{background:#fff;border-color:#dce1cf;color:#576b85;border-radius:10px;font-weight:550}.region-filter button.active{background:#2563eb;border-color:#2563eb;color:#fff}.region-search{color:#65758a}.region-search input{background:#fff;border-color:#dce1cf;color:#24344e;border-radius:10px}.region-search input::placeholder{color:#8995a7}.region-group{border:1px solid #dce0cf;border-radius:18px;background:#fff}.region-group h3{background:#eef0e2;border-color:#dce0cf;font-size:20px;padding:21px 24px}.region-group h3 a{color:#243d60}.region-group h3 span{color:#687b95}.region-grid{background:#dfe3d2}.region-grid>a{background:#fff;color:#4e617c;padding:17px 20px}.region-grid>a:hover{background:#f0f3e4;color:#2563eb}.region-grid>a>span:last-child{color:#8ca0bb}.related .region-grid{border-color:#dce0cf;border-radius:15px;overflow:hidden}.information-row{border-color:#dfe2d2}.information-row strong{color:#24405f}.information-row p{color:#64748b}.regional-intro>h2{color:#243d60}.regional-intro>.lead{color:#345b8c}.breadcrumbs{border-color:#dce0cf;color:#77869a}.breadcrumbs a:last-child{color:#2563eb}.program-grid article{border-color:#dce0cf}.program-grid p,.steps p{color:#64748b}.program-no{font-family:inherit;font-style:normal;font-size:27px;font-weight:650;color:#2563eb}.steps li{border-color:#dce0cf}.steps li:before{font-family:inherit;font-weight:650;color:#2563eb}.faq details{background:#fff;border-color:#dce0cf}.faq details:first-of-type{border-color:#dce0cf;border-radius:16px 16px 0 0}.faq details:last-child{border-radius:0 0 16px 16px}.faq summary{font-weight:550;color:#344761}.faq details[open] summary{color:#2563eb}.faq summary:after{color:#59799f}.faq details p{color:#64748b}.closing h2{color:#263d5d}.closing .glow{color:#2563eb}
.site-footer{background:#e4e8d5;border-color:#e0e7f0;padding-bottom:145px}.footer-inner>strong{color:#253951}.footer-inner>p{color:#68798e}.footer-inner nav{color:#4c6380}.footer-inner>small{color:#7a8ba1}.prose a{color:#2563eb}.prose .call-button{color:white}
.sticky-contact{left:50%;right:auto;transform:translateX(-50%);bottom:18px;width:380px;max-width:calc(100% - 30px);padding:0;background:#152b4b;border:1px solid #234268;border-radius:18px;box-shadow:0 8px 28px #12284526;overflow:hidden}.sticky-call{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 23px;width:100%;color:#fff;font-size:16px;line-height:1.4}.sticky-call>.tossface{font-size:25px;color:inherit}.sticky-call>span:nth-child(2){flex:1;text-align:left}.sticky-call>span:last-child{color:#a7c5f4;font-size:21px}.sticky-call small{display:block;color:#b6c7df;font-size:11px;font-weight:450;margin-top:4px}.sticky-call:hover{background:#203c64}
@media(max-width:1100px){.hero{margin:22px 22px 0;padding:50px 40px}.hero h1{font-size:48px}.nav-inner{padding:0 18px}.brand-header{padding:0 32px}}
@media(max-width:650px){.brand-header{height:88px;padding:0 20px}.brand-header:before{height:88px}.brand>img{width:146px;height:60px}.brand{gap:0}.brand-description{display:none}.header-consult{font-size:12px;padding:8px 11px;border-radius:9px}.nav-inner{padding:0 7px;min-height:52px;justify-content:center}.nav-inner>a,.nav-group>a,.menu-toggle{font-size:10.5px;padding:16px 7px}.hero{margin:16px 14px 0;padding:32px 25px 300px;min-height:690px;border-radius:22px;align-items:flex-start}.hero>img{width:100%;height:270px;top:auto;bottom:0;object-position:center 65%}.hero-shade{background:linear-gradient(180deg,#e9ecdb 0%,#e9ecdb 53%,#e9ecdb00 78%)}.hero h1{font-size:36px;width:100%;max-width:100%;line-height:1.2;margin-bottom:18px}.hero-eyebrow{font-size:10px;margin-bottom:20px}.hero-subtitle{font-size:20px;max-width:100%;margin-bottom:14px}.hero-description{font-size:14px;max-width:100%;margin-bottom:20px}.hero-note{max-width:100%;font-size:10px}.hero .call-button{font-size:14px;padding:12px 18px;min-height:48px}.region-hero{min-height:650px}.region-hero h1{font-size:34px;width:100%}.section{margin:52px auto}.panel{border-radius:20px;padding:30px 23px}.intro-panel{padding:38px 23px}.intro-panel h2{font-size:25px}.intro-points{gap:7px}.region-group h3{padding:18px;font-size:18px}.region-grid>a{padding:14px 13px;font-size:13px}.region-filter button{padding:9px 16px}.program-grid article{border-color:#dce0cf}.sticky-contact{bottom:max(12px,env(safe-area-inset-bottom));width:350px}.sticky-call{font-size:15px;padding:13px 19px}.sticky-call small{font-size:11px}.sticky-call>.tossface{font-size:24px}.site-footer{padding-bottom:125px}}

/* Neighborhood content: readable HTML, with local jump links. */
.neighborhood-jumps{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto 30px;max-width:960px}.neighborhood-jumps a{padding:9px 14px;border:1px solid #dce1cf;border-radius:9px;background:#fff;color:#456181;font-size:13px}.neighborhood-jumps a:hover{color:#2563eb;border-color:#9ab8ef;background:#f0f3e4}.neighborhood-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.neighborhood-card{background:#fff;border:1px solid #dce0cf;border-radius:20px;padding:32px;scroll-margin-top:90px}.neighborhood-card .eyebrow{font-size:11px;margin-bottom:12px}.neighborhood-card h3{font-size:24px;margin-bottom:16px;color:#1e3a5d}.neighborhood-card h4{font-size:15px;margin:22px 0 10px;color:#31537e}.neighborhood-card p{font-size:14px;line-height:1.95;color:#617189;margin-bottom:0}.neighborhood-contact{text-align:center;margin:30px 0}.neighborhood-contact p{font-size:14px;color:#68798e}.neighborhood-card:target{border-color:#83a7ed;box-shadow:0 0 0 3px #2563eb10}@media(max-width:650px){.neighborhood-cards{grid-template-columns:1fr;gap:16px}.neighborhood-card{padding:26px 23px}.neighborhood-card h3{font-size:22px}.neighborhood-jumps{gap:7px;justify-content:flex-start}.neighborhood-jumps a{font-size:12px;padding:8px 11px}}

/* Khaki surroundings and a continuous editorial service banner. */
body{background:#eff0e5}
.nav-inner>a,.nav-group>a,.menu-toggle{font-size:16px;font-weight:680;padding:20px 12px;color:#26374c}
.dropdown>a{font-size:15px;padding:9px 12px}
.hero,.region-hero{min-height:540px;padding:62px 58px;background:#394332}
.hero>img{inset:0;width:100%;height:100%;object-position:center 62%}
.hero-shade{background:linear-gradient(90deg,rgba(22,34,29,.94) 0%,rgba(28,41,32,.84) 37%,rgba(37,48,33,.36) 68%,rgba(37,48,33,.12) 100%)}
.hero h1,.region-hero h1{color:#fff;font-size:clamp(38px,4.5vw,56px);width:65%;max-width:720px;line-height:1.16;margin-bottom:24px}
.hero-eyebrow{color:#e2e9c8;font-size:13px;margin-bottom:24px}
.hero-subtitle{color:#f5f7ed;font-size:25px;max-width:65%;line-height:1.5}
.hero-description{color:#e1e6d8;max-width:60%;font-size:17px}
.hero-note{color:#d7decb;max-width:65%;font-size:12px}
.hero .call-button{background:#fff;border-color:#fff;color:#18283f;font-weight:700}
.hero .call-button:hover{background:#e9edda;border-color:#e9edda}
@media(max-width:1200px){.desktop-link{display:none!important}.nav-inner{padding:0 20px}.hero{margin:22px 22px 0;padding:52px 40px}}
@media(max-width:650px){
.nav-inner{padding:0 8px;min-height:56px;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}
.nav-inner::-webkit-scrollbar{display:none}
.nav-inner>*{flex-shrink:0}
.nav-inner>a,.nav-group>a,.menu-toggle{font-size:14px;padding:18px 10px}
.hero,.region-hero{margin:16px 14px 0;padding:38px 25px;min-height:540px;align-items:center;border-radius:22px}
.hero>img{inset:0;width:100%;height:100%;object-position:65% center}
.hero-shade{background:linear-gradient(90deg,rgba(22,34,29,.9),rgba(28,41,32,.55)),linear-gradient(0deg,rgba(22,34,29,.35),transparent)}
.hero h1,.region-hero h1{font-size:36px;width:100%;max-width:100%;line-height:1.22;margin-bottom:22px}
.hero-eyebrow{font-size:11px;margin-bottom:24px}
.hero-subtitle{font-size:21px;max-width:100%;margin-bottom:18px}
.hero-description{font-size:15px;max-width:100%;margin-bottom:25px}
.hero-note{font-size:11px;max-width:100%;line-height:1.7}
}

/* Neon care artwork and unified brand lockup. */
.brand-header{height:122px}.brand-header:before{height:122px}
.brand{gap:25px}.brand>img{width:207px;height:80px}
.brand-description{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border-left:1px solid #dce1cf;padding:0 0 0 25px;line-height:1.2}
.brand-service{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.04em;color:#3d6258;background:#edf4e9;border:1px solid #d7e5d3;border-radius:99px;padding:4px 8px}
.brand-service i{width:5px;height:5px;border-radius:50%;background:#459681;box-shadow:0 0 6px #6cd6b7}
.brand-description strong{font-size:26px!important;font-weight:800;letter-spacing:-.05em!important;color:#152b35;line-height:1.15}
.brand-description strong span{color:#3f7262;margin-left:2px}
.brand-caption{font-size:10px;letter-spacing:.025em;color:#73806c}
.hero>img{object-position:center 40%}
.hero-shade{background:linear-gradient(90deg,rgba(17,26,22,.55),rgba(17,26,22,.25) 43%,transparent 72%)}
.hero-eyebrow{color:#a6f7dc;letter-spacing:.16em}
.hero .call-button{box-shadow:0 0 22px #70e3be15}
@media(max-width:650px){
.brand-header{height:100px;padding:0 14px}.brand-header:before{height:100px}
.brand{gap:10px}.brand>img{width:116px;height:53px}
.brand-description{display:flex;padding-left:10px;gap:4px}
.brand-service{font-size:8px;padding:3px 5px;gap:4px}
.brand-description strong{font-size:20px!important}.brand-caption{font-size:8px}
.header-consult{font-size:11px;padding:8px}
.hero>img{object-position:64% center}
.hero-shade{background:linear-gradient(90deg,rgba(17,26,22,.83),rgba(17,26,22,.37)),linear-gradient(0deg,rgba(17,26,22,.25),transparent)}
}
@media(min-width:651px){.hero>img{object-position:center 10%}}

/* Keep the therapist visible on phones, with copy below the photograph. */
@media(max-width:650px){
 .hero,.region-hero{display:flex;flex-direction:column;min-height:0;padding:0;align-items:stretch;background:#111f1a}
 .hero>img{position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:right top;z-index:auto;flex:none}
 .hero-shade{display:none}
 .hero-copy{margin:0;padding:28px 24px 30px}
 .hero h1,.region-hero h1{font-size:clamp(29px,8vw,36px)}
}

.neighborhood-search{display:flex;flex-direction:column;gap:8px;max-width:480px;margin:0 auto 12px;font-size:14px;font-weight:650;color:#334536}
.neighborhood-search input{width:100%;border:1px solid #ccd4bd;background:white;border-radius:12px;padding:14px 16px;font:inherit;color:#18283f}
.neighborhood-count{text-align:center;font-size:13px;margin-bottom:20px;color:#617158}
.neighborhood-jumps{max-height:235px;overflow-y:auto;justify-content:flex-start;padding:8px;border:1px solid #dde2cd;border-radius:14px;background:#e9ecdc}
.neighborhood-card .place-type{font-size:11px;color:#5d765e;margin:-5px 0 14px}
.neighborhood-empty{text-align:center;padding:30px}
