/* Shared phone and tablet layout. Loaded after each page’s desktop stylesheet. */
.mobile-menu-toggle{display:none}
.article-reader>img{height:auto;display:block;max-width:100%}
@media(max-width:900px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:20px}
 body{font-size:17px;line-height:1.7;background-attachment:scroll!important}
 header{position:relative}
 header>.wrap{padding-inline:16px}
 header .utility{justify-content:space-between;gap:8px;padding-block:6px}
 header .utility label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;line-height:1.3}
 header .utility select,header .motion-toggle{font-size:16px;min-height:44px;padding:8px}
 header nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:0;padding:12px 0}
 header nav .brand{flex:1;min-width:0;max-width:100%;gap:10px;font-size:13px;line-height:1.4;letter-spacing:0}
 header nav .brand>span{min-width:0;overflow-wrap:anywhere}
 header nav .brand strong{font-size:14px;letter-spacing:0}
 header nav .brand img{width:76px;height:76px;flex:0 0 76px}
 header .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;max-width:112px;padding:10px 12px;border:1px solid #633451;border-radius:8px;background:#fff9e8;color:#57324f;font:700 16px/1.3 Arial,sans-serif;cursor:pointer;flex-shrink:0}
 header .mobile-menu-toggle:focus-visible{outline:3px solid #9b713c;outline-offset:3px}
 header .mobile-menu-icon{font-size:21px;line-height:1}
 header .links{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:100%;gap:8px;padding:10px 0 0;align-items:stretch;font-size:17px}
 header .links a,header .links .button{display:flex;justify-content:flex-start;align-items:center;min-height:48px;min-width:0;margin:0;padding:12px 14px;font-size:17px;line-height:1.3;overflow-wrap:anywhere;border:1px solid #d0b578;border-radius:6px;background:#fff9e8;color:#254637}
 header .links .button{background:#633451;color:white;grid-column:1/-1;justify-content:center}
 header .links a[aria-current="page"]{border:2px solid #633451}
 header .links a:hover{background:#f1e2ea;color:#57324f}
 .mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon{transform:rotate(90deg)}
 main,.wrap,.section,.section>.wrap{min-width:0}
 main img{max-width:100%}
 .home-intro,.about-hero-wrap,.page-top{overflow:clip}
 .home-hero,.about-hero,.page-hero,.split,.story .split,.contact-grid,.pressure-grid,.about-preview,.approach-grid,.primary-services,.concern-grid,.methods-layout,.resource-grid,.start-grid,.home-services-grid,.home-steps .step-grid,.journey,.service-grid,.inquiry-layout,.contact-options,.blog-grid,.service-directory-grid,.education-strip,.experience-item,.photo-mosaic,.personal-gallery,.photo-spaces,.credential-row,.trust-row{grid-template-columns:minmax(0,1fr)!important;gap:24px}
 .home-hero,.about-hero,.page-hero{display:grid!important}
 .home-hero>*:not(.home-portrait),.about-hero>*,.page-hero>*,.split>*,.contact-grid>*,.inquiry-layout>*,.blog-grid>*,.experience-item>*{min-width:0}
 .home-hero{min-height:0;padding:24px 0 54px}
 .about-hero{padding:26px 0 42px}
 .page-hero{padding:24px 0 34px}
 .home-portrait,.about-hero .hero-photo{justify-self:center;max-width:360px;width:calc(100% - 24px);margin-inline:auto}
 .home-portrait>img,.about-hero .hero-photo img{width:100%;height:auto;max-height:none;object-fit:contain;animation:none}
 .portrait-card{left:0;right:0;bottom:-20px;padding:16px}
 .portrait-card strong{font-size:24px}
 .experience-seal{right:0;width:100px;height:100px}
 .home-hero h1,.about-hero h1,.page-hero h1,.detail-hero h1{font-size:clamp(32px,6vw,44px);line-height:1.15;overflow-wrap:anywhere}
 main h2,.contact h2,.home-contact h2,.inquiry-intro h2{font-size:clamp(27px,5vw,36px);line-height:1.2;overflow-wrap:anywhere}
 main h3{font-size:clamp(23px,4.5vw,29px);line-height:1.25;overflow-wrap:anywhere}
 .home-hero .support-copy,.home-hero .lead,.home-online-note,.bodycopy,.therapy-panel p,.approach-card p,.experience-item p,.concern-card p,.resource-card p,.start-step p,.home-step p,.home-service-card p,.blog-card p,.home-post p,.care-point p,.question-list details p,.article-reader p,.detail-section p{font-size:17px;line-height:1.75}
 .eyebrow{font-size:12px!important;letter-spacing:.08em!important;max-width:100%;line-height:1.5}
 .eyebrow:before{width:20px;flex-shrink:0}
 .section{padding:20px 12px!important}
 .section>.wrap{padding:26px 18px!important}
 .home-copy,.page-hero>div:first-child,.about-intro{padding:24px 18px}
 .wrap{padding-inline:18px}
 .home-heading{display:block}
 .hero-actions,.detail-related{display:flex;flex-wrap:wrap;gap:12px}
 .hero-actions>a{max-width:100%}
 .button,.secondary-button,.blog-topic,.clear-search,.text-link,.post-link,.service-page-links a,.footer-nav a{min-height:44px;display:inline-flex;align-items:center;font-size:16px;line-height:1.4}
 .button,.secondary-button{max-width:100%;white-space:normal;text-align:center;justify-content:center;padding:13px 18px}
 .home-service-card,.therapy-panel,.concern-card,.resource-card,.scope-box,.contact-option,.approach-card{padding:24px 20px}
 .trust-row>div,.credential-row>div{border-right:0;border-bottom:1px solid #c8b779;padding-bottom:14px}
 .trust-row strong,.credential-row strong{font-size:24px;line-height:1.4}
 .trust-row span,.credential-row div{font-size:16px;line-height:1.6}
 .story .bodycopy{padding-top:0}
 .story-illustration,.story-illustration img{width:100%;max-width:100%;height:auto}
 .story-illustration figcaption,.showcase-slide figcaption,.new-photo figcaption,.about-caption{font-size:15px;line-height:1.6}
 .career-graphic img,.personal-gallery img,.photo-mosaic img{max-width:100%;height:auto;max-height:none;object-fit:contain}
 .care-diagram{display:flex;flex-direction:column;gap:20px;padding:24px 18px}
 .care-center{width:180px;max-width:100%;min-height:180px;align-self:center;margin:0 0 12px;padding:20px;flex-shrink:0}
 .care-point{width:100%;gap:12px}
 .care-point h3{font-size:23px}
 .diagram-note{font-size:15px}
 .care-diagram:before{display:none}
 .education-strip>div{padding-left:0;padding-top:80px}
 .faq-layout{display:flex;flex-direction:column;gap:24px}
 .faq-main,.faq-aside{width:100%;min-width:0}
 .faq-aside,.inquiry-intro{position:static}
 .faq-search-row{flex-wrap:wrap}
 .faq-search{flex:1 1 200px;min-width:0}
 .question-list summary,summary{font-size:17px;line-height:1.55;min-height:48px}
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .form-field.full{grid-column:auto}
 input,select,textarea{font-size:16px!important;max-width:100%;min-height:44px;box-sizing:border-box}
 textarea{min-height:130px}
 input[type="checkbox"],input[type="radio"]{min-height:24px;min-width:24px;flex-shrink:0}
 .form-actions,.inquiry-form .actions{display:flex;flex-wrap:wrap;gap:12px}
 .inquiry-form{padding:24px 18px}
 .contact-option a,.email,.home-contact a[href^="mailto:"],.contact a[href^="mailto:"]{font-size:16px;overflow-wrap:anywhere;word-break:normal}
 .form-help,.form-disclosure{font-size:15px;line-height:1.65}
 .license-note{font-size:16px;line-height:1.7}
 .fee-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:24px 18px}
 .blog-toolbar{display:block}
 .blog-search{min-width:0;width:100%;max-width:none;margin-top:16px}
 .blog-topics{flex-wrap:wrap;gap:8px}
 .blog-card.featured{display:block;grid-column:auto}
 .blog-card img,.blog-card.featured img,.home-post img{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}
 .home-post{display:block}
 .blog-card-content,.blog-card.featured .blog-card-content,.home-post-content{padding:22px 18px}
 .article-reader{margin:18px 12px;padding:24px 18px;min-width:0}
 .article-reader a,.article-reader li{overflow-wrap:anywhere}
 .article-reader>img{width:100%;height:auto}
 .article-downloads{padding:16px}
 .restored-banner{width:calc(100% - 24px);margin:16px auto}
 .restored-banner .banner-artwork{grid-template-columns:minmax(0,1fr) minmax(0,7fr) minmax(0,1fr);gap:4px;padding:6px}
 .restored-banner .banner-artwork>img:not(.banner-side-logo){height:auto;max-height:none;object-fit:contain}
 .restored-banner .banner-side-logo{width:100%;height:auto;max-height:54px}
 .restored-banner figcaption{font-size:15px;padding:10px;line-height:1.5}
 .photo-showcase{margin:0 12px 28px}
 .showcase-heading{padding:16px 12px}
 .showcase-controls{flex-wrap:wrap;gap:8px;padding:12px}
 .showcase-controls button{min-height:44px;min-width:44px;font-size:16px}
 .showcase-controls .slide-play{padding-inline:12px}
 .showcase-slide figcaption{min-height:0}
 .footer-row,.footer-nav{flex-wrap:wrap;gap:12px 18px}
 .footer-row{display:flex;flex-direction:column}
 .service-page-links{justify-content:flex-start;gap:8px 18px;padding:18px}
 footer,.home-footer{padding:26px 18px}
 footer .wrap,.home-footer .wrap{padding-inline:0}
 footer .license-service-area,.home-footer .license-service-area,footer small{font-size:15px;line-height:1.7}
 .detail-breadcrumb{font-size:15px}
 .service-detail{padding:18px 18px 40px}
 .detail-hero{padding:12px 0 24px}
 .detail-cta{padding:24px 18px}
 .reveal{opacity:1!important;transform:none!important;transition:none!important}
 .home-portrait,.about-hero .hero-photo,.light-mote{animation:none!important}
}
@media(max-width:380px){
 header nav .brand img{width:58px;height:58px;flex-basis:58px}
 header nav .brand,header nav .brand strong{font-size:12px}
 header .mobile-menu-toggle{max-width:100px;padding:10px;font-size:15px}
 header .utility{align-items:flex-start}
 header .utility label{font-size:12px;gap:4px}
 header .utility select,header .motion-toggle{font-size:16px;padding:6px}
 .hero-actions>a{width:100%}
}
[hidden]{display:none!important}
