/* This stylesheet applies only at the mobile breakpoint in index.html. */
.mobile-only[hidden]{display:block}
.desktop-copy,.signature,.hero-note,.scroll,.about-detail,.about-values,.journey{display:none}
body{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
html{scroll-padding-top:96px}
.hero{padding:22px 7% 34px;gap:12px}
.hero-image{order:0;width:160px;max-width:45vw;margin:0 auto;animation:none;filter:drop-shadow(0 10px 14px #717b8e20)}
.hero-content{order:1;padding:0}
.hero .eyebrow{font-size:12px;letter-spacing:1.3px;margin-bottom:14px}
h1{font-size:clamp(40px,11vw,60px);letter-spacing:-1.3px;margin-bottom:18px}
.intro{line-height:1.65;max-width:340px;margin-bottom:22px}
.hero .button{width:100%;max-width:340px;min-height:54px;padding:14px 18px;font-size:15px}
.section{padding:48px 7%}
h2{font-size:clamp(39px,10.5vw,52px);margin-bottom:22px}
.eyebrow{letter-spacing:1.6px;margin-bottom:18px}
.about{gap:32px}
.portrait-panel{display:grid;grid-template-columns:118px minmax(0,1fr);column-gap:16px;align-items:center;padding:24px 20px;width:100%;box-shadow:4px 4px 0 #e5e9ee}
.portrait-label,.portrait-panel small{display:none}
.portrait-ring{grid-column:1;grid-row:1/3;width:118px;padding:5px;margin:0}
.portrait-panel p{grid-column:2;grid-row:1;font-size:28px;line-height:1.05;text-align:left;margin:0 0 10px;align-self:end}
.portrait-panel a{grid-column:2;grid-row:2;align-self:start;justify-self:start;font-size:12px;overflow-wrap:anywhere}
.about-copy>p:not(.eyebrow){line-height:1.75;margin-bottom:0}
.mobile-care{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}
.mobile-care .eyebrow{margin-bottom:10px}
.mobile-care h3{font-size:30px;line-height:1.1;margin-bottom:22px}
.mobile-care ol{list-style:none;padding:0;margin:0;display:grid;gap:18px}
.mobile-care li{display:flex;gap:15px;align-items:flex-start}
.mobile-care li>span{font-family:var(--serif);font-size:28px;color:#8994a3;line-height:1.2}
.mobile-care strong{font-size:15px;font-weight:600}
.mobile-care li p{font-size:16px;line-height:1.6;color:var(--muted);margin:3px 0 0}
.section-head{margin-bottom:26px}
.section-head>p{margin-top:20px;line-height:1.65}
.treatment-grid{gap:14px}
.treatment-grid article{padding:24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 10px}
.number{grid-column:2;grid-row:1;font-size:31px;margin:0;padding-top:3px}
.treatment-grid h3{grid-column:1;grid-row:1;font-size:31px;margin-bottom:14px}
.treatment-grid p{grid-column:1/-1;font-size:16px;line-height:1.65;margin-bottom:14px}
.treatment-grid a{grid-column:1/-1;font-size:14px;margin:0;min-height:44px;display:flex;align-items:center}
.treatment-grid article:after{display:none}
.treatment-grid article:hover,.js-motion .treatment-grid article.reveal.visible:hover{transform:none;box-shadow:0 14px 35px #6b778b0b}
.fine{line-height:1.7;margin-top:22px}
.google-link{margin-top:18px;min-height:44px;padding:8px 0}
.quotes{gap:14px}
.quotes blockquote{padding:24px}
.quotes blockquote>span{font-size:52px}
.quotes p{font-size:27px;margin-bottom:12px}
.quotes footer{margin-top:0}
.questions h2{margin-bottom:26px}
.faq details{padding:18px 0}
.faq summary{min-height:30px;align-items:center;line-height:1.6}
.faq p{line-height:1.7}
.contact{gap:30px}
.contact .button{width:100%;max-width:340px;margin-top:8px}
.contact-details{padding-top:26px}
.contact-details h3{font-size:32px;margin-bottom:18px}
.contact-details a{min-height:44px;display:flex;align-items:center;margin-top:8px}
.site-footer{padding:30px 7%}
.site-footer>small{margin-top:18px}
.floating{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;height:56px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;font-weight:700;box-shadow:0 6px 24px #957d413b,inset 0 1px 0 #fff}
.floating .floating-label{display:inline}
.floating svg{width:24px;height:24px;flex-shrink:0}
@media(max-width:360px){.portrait-panel{grid-template-columns:96px minmax(0,1fr);padding:20px 16px;column-gap:12px}.portrait-ring{width:96px}.portrait-panel p{font-size:26px}.treatment-grid article{padding:22px}.treatment-grid h3{font-size:29px}}
@media(prefers-reduced-motion:no-preference){.floating{animation:mobile-cta-in .5s ease-out both}@keyframes mobile-cta-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
