
:root{--navy:#101721;--ink:#17222f;--muted:#60707e;--pink:#f5aaa9;--blue:#43b9ef;--cream:#f7fafb;--line:#e7edf0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;line-height:1.7}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 44px));margin:auto}.topbar{background:#0b111a;color:#d6e4eb;font-size:12px}.top-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:37px}.top-inner>div{display:flex;gap:22px}.top-appointment{color:#8cdaff}.header{background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 3px 22px #111b2a12}.nav{display:flex;justify-content:space-between;align-items:center;min-height:91px;gap:25px}.brand{width:225px;height:67px;background:#101721;border-radius:7px;display:flex;align-items:center;padding:4px 12px;flex-shrink:0}.brand img{width:100%;height:100%;object-fit:contain}.navlinks{display:flex;gap:22px;align-items:center;font-size:13px;font-weight:700}.navlinks>a:not(.btn):hover,.text-link:hover{color:#1688bb}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:6px;padding:14px 23px;font-weight:800;font-size:13px;transition:.25s;line-height:1.4}.btn:hover{transform:translateY(-3px);box-shadow:0 10px 28px #10172125}.btn-primary{background:var(--blue);color:#071622}.btn-outline{border:1px solid #ffffff8a;color:#fff}.btn-light{background:#fff;color:var(--navy)}.btn-outline-dark{border:1px solid #c7d7df;color:var(--navy)}.hero{background:linear-gradient(112deg,#0d1723,#182c3c 75%,#203b4d);color:white;position:relative;overflow:hidden}.hero-glow{position:absolute;width:650px;height:650px;right:-200px;top:-250px;background:#42b9ee24;filter:blur(70px);border-radius:50%}.hero-layout{display:grid;grid-template-columns:1.13fr .87fr;align-items:center;gap:70px;min-height:650px;padding:75px 0 90px}.eyebrow,.kicker{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow{color:#9bdaf8}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pink);margin-right:7px}.hero h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.18}.hero h1{font-size:clamp(44px,5vw,70px);letter-spacing:-.055em;margin:24px 0}.hero h1 em,h2 em{font-style:normal;color:var(--pink)}.hero-copy>p{color:#d4e2e9;font-size:17px;max-width:560px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.hero-foot{margin-top:30px;color:#c9dce5;font-size:12px}.check{color:#91e0f6}.separator{margin:0 9px}.hero-art{position:relative}.photo-frame{border-radius:190px 190px 18px 18px;overflow:hidden;position:relative;height:485px;background:#d9e6e9;border:7px solid #ffffff1e;box-shadow:0 35px 65px #0005}.photo-frame>img{width:100%;height:100%;object-fit:cover;object-position:center top}.photo-caption{position:absolute;bottom:20px;left:20px;right:20px;background:#fff;color:var(--ink);padding:16px;display:flex;gap:13px;align-items:center;border-radius:9px;box-shadow:0 8px 28px #0002}.caption-icon{background:#ffebe9;color:#d7727b;font-size:23px;padding:3px 12px;border-radius:8px}.photo-caption strong,.photo-caption small{display:block;line-height:1.4}.photo-caption small{color:var(--muted);font-size:12px}.orb{position:absolute;border-radius:50%;z-index:-1}.orb-a{background:#f5aaa945;width:180px;height:180px;right:-48px;top:-40px}.orb-b{background:#43b9ef30;width:150px;height:150px;left:-60px;bottom:-35px}.hero-bottom{height:7px;background:linear-gradient(90deg,var(--pink),var(--blue))}.quick-services{position:relative;margin-top:-1px;background:#fff;box-shadow:0 12px 35px #14263710}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr)}.quick-item{padding:28px 20px;display:flex;align-items:center;gap:17px;border-right:1px solid var(--line)}.quick-item:last-child{border:0}.quick-item:hover{background:#f2f9fc}.quick-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:#fff1f0;color:#cb7b7d;font-size:25px;flex-shrink:0}.quick-item strong,.quick-item small{display:block}.quick-item strong{font-size:14px}.quick-item small{font-size:12px;color:var(--muted)}.quick-item b{margin-left:auto;color:#2aa7d9}.section{padding:105px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.kicker{color:#2497c7}h2{font-size:clamp(32px,3.5vw,49px);letter-spacing:-.045em;margin:16px 0 22px}h2 em{color:#d98990}p{color:var(--muted)}.about-visual{position:relative;max-width:500px}.about-image{height:470px;border-radius:15px 160px 15px 15px;overflow:hidden;background:#e4eff2}.about-image img{width:100%;height:100%;object-fit:cover;object-position:center 18%}.floating-note{position:absolute;right:-20px;bottom:24px;display:flex;gap:14px;background:#fff;box-shadow:0 14px 45px #10243a24;padding:17px 24px;border-radius:10px;align-items:center}.floating-note>span{font-size:28px;color:#dd9094}.floating-note strong,.floating-note small{display:block}.floating-note small{color:var(--muted)}.benefits{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:30px 0}.benefits div{font-size:13px;font-weight:700}.benefits span{color:#1689ba;margin-right:6px}.text-link{color:#188cbd;font-weight:800}.services,.insurance,.faq{background:#f6f9fa}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:60px}.section-intro>div{max-width:570px}.section-intro>p{max-width:400px}.service-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0 24px}.service-controls input{padding:14px 17px;border:1px solid #d9e3e9;border-radius:8px;font:inherit;width:min(410px,100%);outline-color:var(--blue);background:#fff}.service-controls span{color:#72818a;font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{background:#fff;border:1px solid #e7eff3;border-radius:12px;padding:29px;transition:.3s;box-shadow:0 8px 22px #152c3a05}.service-card:hover{transform:translateY(-7px);box-shadow:0 17px 40px #172f4316;border-color:#a6ddec}.service-symbol{font-size:24px;color:#d98f95;background:#fff0ef;border-radius:12px;padding:5px 12px}.service-card h3{font-size:19px;margin:22px 0 10px}.service-card p{font-size:13px;margin:0}.band{background:linear-gradient(100deg,#172c3e,#244b63);padding:58px 0;color:#fff}.band-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.band .kicker{color:#8ad6f5}.band h2{font-size:32px;margin:10px 0}.band p{color:#c9dfe9;margin:0}.provider .role{color:#2699c6;font-weight:800}.provider h3{font-size:18px;margin-top:28px}.pill-list{display:flex;flex-wrap:wrap;gap:8px}.pill-list span{background:#f0f7f9;padding:7px 12px;border-radius:50px;font-size:12px;font-weight:700}.provider-photo{height:600px;border-radius:180px 18px 18px 18px;overflow:hidden;background:#e8f0f2}.provider-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}.center{text-align:center;max-width:730px;margin:0 auto 40px}.insurance-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.insurer{height:95px;border:1px solid #e1eaf0;background:white;border-radius:9px;display:grid;place-items:center;padding:14px}.insurer img{width:100%;height:100%;object-fit:contain}.payment-note{text-align:center;margin:30px auto 0;max-width:650px}.payment-note p{margin:5px}.reviews{background:#fff}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.review{margin:0;background:#f7fafb;padding:32px;border-radius:12px}.review p{font-size:15px;color:#3c4b57}.stars{color:#e4a1a3;letter-spacing:3px}.review cite{font-size:13px;font-weight:800;font-style:normal}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-items details{border-bottom:1px solid #dce5e9;padding:22px 0}.faq-items summary{cursor:pointer;font-weight:800;display:flex;justify-content:space-between;gap:20px;list-style:none}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary span{font-size:22px;color:#269dcc}.faq-items details[open] summary span{transform:rotate(45deg)}.faq-items p{margin-bottom:0}.contact-layout{display:grid;grid-template-columns:1fr .85fr;gap:100px}.contact-detail{display:flex;align-items:center;gap:20px;margin:26px 0}.contact-detail>span{width:48px;height:48px;background:#f0f9fd;color:#239cc9;display:grid;place-items:center;border-radius:10px;font-size:21px}.contact-detail small{display:block;font-size:10px;letter-spacing:.15em;color:#82929b;font-weight:800}.contact-detail a,.contact-detail strong{font-size:15px;font-weight:800}.contact-panel{background:#f4f9fb;border-radius:15px;padding:45px;align-self:center}.panel-icon{font-size:42px;color:#df9b9d}.contact-panel h3{font-size:30px}.contact-panel .btn{display:flex;margin-top:12px}.smallprint{font-size:11px;margin-top:25px}footer{background:#0c1520;color:#d5e0e7;padding:70px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr 1.4fr;gap:45px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-logo{width:240px}.footer-grid p{color:#aebec8;font-size:13px}.footer-grid h4{margin:0 0 12px;color:white}.footer-grid a{font-size:13px}.footer-grid a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid #ffffff20;margin-top:55px;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#aebec8}.menu-toggle{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1050px){.navlinks{gap:12px;font-size:12px}.brand{width:190px}.hero-layout{gap:35px}.two-col{gap:45px}.insurance-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:780px){.top-inner>span{display:none}.top-inner{justify-content:center}.top-inner>div{gap:16px}.nav{min-height:76px}.brand{width:185px;height:56px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:12px;cursor:pointer}.menu-toggle span{width:24px;height:2px;background:#152737}.navlinks{display:none;position:absolute;top:100%;left:0;right:0;background:white;box-shadow:0 12px 25px #0002;padding:22px;flex-direction:column;align-items:stretch;gap:12px}.navlinks.open{display:flex}.navlinks>a{padding:7px}.hero-layout,.two-col,.faq-layout,.contact-layout{grid-template-columns:1fr;gap:45px}.hero-layout{padding:70px 0}.hero-art{max-width:490px;width:100%;margin:auto}.photo-frame{height:450px}.quick-grid{grid-template-columns:1fr}.quick-item{border-right:0;border-bottom:1px solid var(--line)}.section{padding:70px 0}.section-intro{display:block}.service-grid{grid-template-columns:repeat(2,1fr)}.insurance-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.band-inner{align-items:flex-start;flex-direction:column}.provider-photo{max-width:500px;height:500px}.about-visual{margin-right:20px}}@media(max-width:510px){.wrap{width:min(100% - 30px,1180px)}.hero h1{font-size:44px}.hero-actions .btn{width:100%}.hero-foot{line-height:2}.photo-frame{height:360px}.service-grid,.review-grid,.insurance-grid{grid-template-columns:1fr 1fr}.service-card{padding:18px}.service-card h3{font-size:16px}.service-card p{font-size:12px}.insurance-grid{gap:8px}.insurer{height:80px}.benefits{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-bottom{flex-direction:column}.contact-panel{padding:28px}.about-image{height:360px}.floating-note{right:-8px}.topbar{font-size:10px}.top-appointment{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.service-card[hidden]{display:none!important}

/* Accessible cross-fading service illustrations in the homepage hero */
.hero-slideshow{position:absolute;inset:0;overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease-in-out;pointer-events:none}.hero-slide.active{opacity:1}.hero-slide img{display:block;width:100%;height:100%;object-fit:cover}.photo-frame>.hero-slideshow{z-index:0}.photo-frame .photo-caption{z-index:2}.hero-slide.active img{animation:heroGentleZoom 7s ease-out both}@keyframes heroGentleZoom{from{transform:scale(1.055)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero-slide.active img{animation:none}}

/* User-supplied photography: preserve crossfade and fill hero frame */
.hero-slide img{object-fit:cover;object-position:center center;}

/* Header logo: no inner padding, larger without changing sticky navigation. */
.header{position:sticky;top:0;z-index:100}
.brand{width:300px;height:90px;padding:0;overflow:hidden;flex-shrink:0}
.brand img{width:100%;height:100%;object-fit:contain}
.nav{min-height:102px;gap:16px}
@media(max-width:1100px){.brand{width:245px;height:74px}.navlinks{gap:12px}}
@media(max-width:780px){.brand{width:235px;height:71px}.nav{min-height:82px}}
@media(max-width:510px){.brand{width:min(235px,calc(100vw - 112px));height:67px}}

/* Brand logo: transparent, unboxed, larger, with responsive sticky navigation */
.header{position:sticky;top:0;z-index:100}
.brand{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;width:clamp(285px,29vw,420px)!important;height:auto!important;min-width:0!important;display:block!important;flex-shrink:1!important}
.brand img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}
.nav{min-height:100px;gap:18px}
.navlinks{gap:clamp(8px,1vw,20px)}
.footer-logo{width:300px;max-width:100%;height:auto;background:#fff;border-radius:5px;padding:5px}
@media(max-width:1100px){.brand{width:clamp(240px,28vw,340px)!important}.navlinks{gap:8px;font-size:12px}}
@media(max-width:780px){.brand{width:min(350px,calc(100vw - 112px))!important}.nav{min-height:78px}}
@media(max-width:510px){.brand{width:min(285px,calc(100vw - 100px))!important}.nav{min-height:70px}}

/* Logo reduced by 0.5 inch (48 CSS px) from previous maximum width. */
.brand{width:clamp(237px,calc(29vw - 48px),372px)!important}
@media(max-width:1100px){.brand{width:clamp(192px,calc(28vw - 48px),292px)!important}}
@media(max-width:780px){.brand{width:min(302px,calc(100vw - 112px))!important}}
@media(max-width:510px){.brand{width:min(237px,calc(100vw - 100px))!important}}

/* Second requested reduction: another half inch (48 CSS pixels). */
.brand{width:clamp(189px,calc(29vw - 96px),324px)!important}
@media(max-width:1100px){.brand{width:clamp(144px,calc(28vw - 96px),244px)!important}}
@media(max-width:780px){.brand{width:min(254px,calc(100vw - 160px))!important}}
@media(max-width:510px){.brand{width:min(189px,calc(100vw - 148px))!important}}

/* ADHD service card photo header */
.service-card-adhd{overflow:hidden;padding-top:0}
.service-card-adhd .service-card-image{margin:0 -29px 22px;height:195px;overflow:hidden;background:#e8d9d0}
.service-card-adhd .service-card-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 39%}
@media(max-width:510px){.service-card-adhd .service-card-image{margin-left:-18px;margin-right:-18px;height:145px}}

/* Uniform 2-inch photo headers for all image-backed service cards. */
.service-card:has(> .service-card-image){overflow:hidden;padding-top:0}
.service-card > .service-card-image{height:2in;margin:0 -29px 22px;overflow:hidden;background:#e8d9d0}
.service-card > .service-card-image img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:780px){.service-card > .service-card-image{margin-left:-18px;margin-right:-18px;height:2in}}

/* Anxiety card: consistent 2-inch photo header */
.service-card-anxiety .service-card-image img{object-position:center 44%}

/* Eating Disorders photo: retain the subject in the right half. */
.service-card-eating-disorders .service-card-image img{object-position:65% 48%}

.service-card-grief .service-card-image img{object-position:center 39%}

.service-card-hoarding .service-card-image img{object-position:center 53%}

/* OCD card uses the same 2-inch image header as other services. */
.service-card-ocd .service-card-image img{object-position:center 43%}

/* Slightly reduced header logo, preserving responsive layout */
.brand{width:clamp(170px,calc(26.1vw - 86px),292px)!important}
@media(max-width:1100px){.brand{width:clamp(130px,calc(25.2vw - 86px),220px)!important}}
@media(max-width:780px){.brand{width:min(229px,calc(100vw - 160px))!important}}
@media(max-width:510px){.brand{width:min(170px,calc(100vw - 148px))!important}}

/* Slightly shorter hero section across desktop and mobile. */
.hero-layout{min-height:570px;padding-top:52px;padding-bottom:60px}
.photo-frame{height:440px}
@media(max-width:780px){.hero-layout{min-height:0;padding-top:52px;padding-bottom:52px}.photo-frame{height:405px}}
@media(max-width:510px){.hero-layout{padding-top:42px;padding-bottom:42px}.photo-frame{height:330px}}
