/* Phone layout, including landscape phones. Desktop rules remain in clinic.css. */
@media (max-width:767px) {
  :root{--contact-height:calc(73px + env(safe-area-inset-bottom,0px))}
  html{scroll-padding-top:82px;scroll-padding-bottom:calc(var(--contact-height) + 16px)}
  body{font-size:15px;line-height:1.75;padding-bottom:var(--contact-height)}
  .wrap{width:calc(100% - 40px)}
  .section{padding-block:44px}
  h2{font-size:clamp(28px,7.2vw,32px);line-height:1.4}
  h3{line-height:1.45}
  .eyebrow{font-size:11px;letter-spacing:.035em;margin-bottom:14px}
  .section-heading>p:last-child{font-size:15px;line-height:1.75;margin-top:16px}
  .section-heading>p br,.cost-list p br,.visit-steps p br{display:none}
  .section-note,.micro{font-size:12px;line-height:1.75}
  .section-note{margin-top:18px}
  .button,.text-link{min-height:44px;font-size:14px}
  .button{padding:12px 16px;gap:14px}
  .header{height:66px;padding-inline:16px;gap:12px}
  .header nav{display:none}
  .brand{gap:8px;min-width:0}
  .brand-mark{font-size:13px;padding:5px 3px}
  .brand-name{font-size:18px}
  .brand-name small{font-size:6px}
  .header .button.small{min-height:44px;font-size:12px;padding:9px 12px;gap:8px}
  .hero{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;padding-top:24px}
  .hero-content{display:contents}
  .hero-content>.eyebrow{grid-row:1;margin:0 20px 15px;font-size:10px;letter-spacing:0}
  .hero h1{grid-row:2;margin:0 20px;font-size:clamp(28px,8.1vw,34px);line-height:1.4}
  .hero-desc{grid-row:3;margin:16px 20px 20px;font-size:15px;line-height:1.75}
  .hero-desc br{display:none}
  .hero-visual{grid-row:4;height:300px;min-height:0;max-height:none}
  .hero-image{object-position:50% 46%}
  .hero-visual figcaption{left:20px;bottom:16px;right:20px;max-width:70%}
  .hero-visual figcaption>span{font-size:10px}
  .hero-visual figcaption strong{font-size:22px;line-height:1.4;margin-top:8px}
  .hero-visual figcaption small{font-size:10px;margin-top:9px}
  .photo-index{font-size:8px;top:16px;right:14px}
  .hero-answer{grid-row:5;margin:20px 20px 0;font-size:15px;line-height:1.75}
  .hero-answer br{display:none}
  .hero-answer strong{display:block;margin-bottom:8px}
  .hero-actions{grid-row:6;display:flex;align-items:stretch;gap:8px;flex-direction:column;margin:18px 20px 0}
  .hero-actions .button{font-size:14px;min-height:48px}
  .hero-actions .text-link{align-self:start;margin:0;font-size:13px}
  .hero .micro{grid-row:7;margin:8px 20px 16px;font-size:12px}
  .facts{padding-block:16px;gap:8px}
  .facts>div{padding-inline:8px}
  .facts span{font-size:10px}
  .facts strong{font-size:12px;line-height:1.65;word-break:keep-all;display:block}
  .pain-section>.section-heading{margin-bottom:24px}
  .pain-grid{grid-template-columns:1fr;gap:10px}
  .pain-card{padding:16px}
  .pain-card>span{font-size:10px;margin-bottom:8px}
  .pain-card h3{font-size:22px;line-height:1.4}
  .pain-card h3 br{display:none}
  .pain-card>p{font-size:15px;line-height:1.7;margin:8px 0}
  .mobile-detail{margin-top:0;border-top:1px solid var(--line)}
  .mobile-detail>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:9px 0;font-size:13px;font-weight:600;cursor:pointer;list-style:none}
  .mobile-detail>summary::-webkit-details-marker{display:none}
  .mobile-detail>summary span{font-size:20px;line-height:1;flex:none}
  .mobile-detail[open]>summary span{transform:rotate(45deg)}
  .mobile-detail .care-answer{border:0;padding:0 0 5px;font-size:15px;line-height:1.75}
  .care-answer b{font-size:12px;margin-bottom:6px}
  .pain-card .medication-note{font-size:12px!important;line-height:1.7;margin:5px 0 0!important}
  .approach-grid{grid-template-columns:1fr;gap:28px;margin-top:26px}
  .approach-grid img{height:220px;object-position:50% 49%;margin-bottom:16px}
  .approach-grid article:first-child img{object-position:50% 66%}
  .approach-grid article:nth-child(2) img{object-position:50% 52%}
  .approach-grid article:nth-child(3) img{object-position:50% 42%}
  .step-number{font-size:11px;margin-bottom:8px}
  .approach-grid h3{font-size:23px;line-height:1.4}
  .approach-grid h3 br{display:none}
  .approach-grid p{font-size:15px;line-height:1.75;margin-top:12px}
  .step-preview{display:block;margin-bottom:12px}
  .approach .mobile-detail{border-color:#667a68}
  .step-detail p{margin-top:4px}
  .card-foot{margin-top:16px;padding-top:12px;font-size:12px}
  .concern-section{grid-template-columns:1fr;gap:24px}
  .detail-photo{display:none}
  .concern-widget{padding:20px 14px}
  .concern-tabs{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:0}
  .concern-tabs button{font-size:12px;min-height:44px;min-width:44px;padding:8px 0;letter-spacing:-.055em}
  #concern-panel{padding-top:22px;min-height:0}
  #concern-panel .eyebrow{font-size:11px;margin-bottom:12px}
  #concern-panel h3{font-size:25px;line-height:1.4}
  #concern-pain{font-size:15px;line-height:1.75;margin-top:15px}
  .concern-answer-label{font-size:13px;margin-top:22px}
  #concern-list{font-size:15px;line-height:1.75;margin:10px 0 15px;padding-left:18px}
  #concern-list li+li{margin-top:7px}
  .widget-note{font-size:12px;margin-top:15px;padding-top:14px}
  .story-heading{display:block;margin-bottom:15px}
  .story-heading>p{font-size:15px;margin-top:16px;padding-bottom:0}
  .gallery-hint{display:block;font-size:12px;color:var(--muted);margin-bottom:12px}
  .clinic-mosaic{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;overscroll-behavior-x:contain;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#8e9d80 transparent}
  .clinic-mosaic figure{flex:0 0 86%;height:240px;scroll-snap-align:start;min-width:0}
  .clinic-mosaic .mosaic-tall{grid-column:auto;grid-row:auto}
  .clinic-mosaic .mosaic-tall img{object-position:50% 43%}
  .clinic-mosaic figure:last-child img{object-position:50% 62%}
  .clinic-mosaic figcaption{padding:50px 16px 16px;font-size:14px;line-height:1.65}
  .clinic-mosaic figcaption span{font-size:9px}
  .doctor{grid-template-columns:1fr;gap:24px}
  .doctor-photo img{height:260px;aspect-ratio:auto;object-position:50% 32%}
  .doctor-photo figcaption{padding:45px 20px 18px;font-size:12px}
  .doctor-photo strong{font-size:25px}
  .doctor-copy h2{font-size:28px}
  .doctor-copy>.lead{font-size:18px;margin-top:16px}
  .doctor-copy>p:not(.lead):not(.eyebrow){font-size:15px;line-height:1.75;margin-top:16px}
  .doctor-values{margin:20px 0 12px}
  .doctor-values>div{font-size:13px;gap:12px;padding-block:11px}
  .learning-band{padding-block:28px}
  .learning-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;align-items:start}
  .learning-grid h2{font-size:28px}
  .learning-grid figure img{height:200px;max-height:200px;aspect-ratio:auto;object-position:30% center}
  .learning-grid figcaption{font-size:11px}
  .learning-grid p:not(.eyebrow){font-size:15px;margin-top:12px}
  .learning-grid .text-link{margin-top:12px}
  .visit-heading{display:block}
  .visit-heading h2{font-size:28px}
  .visit-heading p:not(.eyebrow){font-size:15px;line-height:1.75;margin-top:16px}
  .visit-heading p br{display:none}
  .visit-note{border-left:0;border-top:1px solid #5d725a;margin-top:22px;padding:18px 0 0}
  .visit-note>span{font-size:11px;margin-bottom:9px}
  .visit-note>strong{display:none}
  .visit-note>strong br{display:none}
  .visit-note>p{font-size:13px!important}
  .visit-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;margin-top:26px}
  .visit-steps article{padding-top:13px}
  .visit-steps h3{font-size:17px;margin-top:8px}
  .visit-steps p{font-size:15px;line-height:1.7;margin-top:10px}
  .packing{display:block;font-size:13px;margin-top:24px;padding-top:18px;line-height:1.75}
  .packing p{margin-top:8px}
  .cost{grid-template-columns:1fr;gap:24px}
  .cost h2{font-size:28px;line-height:1.45}
  .cost .button{font-size:13px;margin-top:22px}
  .cost-list article{padding:18px 0;gap:16px}
  .cost-list h3{font-size:19px}
  .cost-list p{font-size:15px;line-height:1.75;margin-top:8px}
  .cost-list>.micro{font-size:12px}
  .faq-layout{grid-template-columns:1fr;gap:24px}
  .faq-list summary{min-height:48px;font-size:15px;padding:16px 0;gap:18px}
  .faq-list summary span{flex:none}
  .faq-list details p{font-size:15px;line-height:1.75;padding:0 0 20px}
  .closing h2{font-size:28px}
  .closing p:not(.eyebrow){font-size:15px;line-height:1.75;margin:20px 0 24px}
  .closing p:not(.eyebrow) br{display:none}
  .closing .button{font-size:13px}
  .closing-phone{display:flex;align-items:center;min-height:44px;font-size:13px;margin-top:14px}
  .closing-small{font-size:12px;margin-top:10px}
  .location{grid-template-columns:1fr;gap:26px}
  .location .phone{font-size:32px;margin-top:16px}
  .location p:not(.eyebrow){font-size:15px;margin-top:14px}
  .location p.micro{font-size:13px}
  .location-actions{flex-direction:row;align-items:center;gap:18px;flex-wrap:wrap;margin-top:15px}
  .location-actions .text-link{font-size:12px}
  .location-booking{margin-top:16px}
  .visit-card{padding:22px}
  .visit-card h3{font-size:24px}
  .visit-card ol{margin:18px 0}
  .visit-card li{padding:13px 0;gap:18px}
  .visit-card li p{font-size:14px!important}
  .visit-card .text-link{font-size:13px}
  .footer{padding:28px 0 24px}
  .footer-top{align-items:start;gap:18px}
  .footer-top>div{flex-direction:column;gap:0;font-size:11px}
  .footer-top>div a{display:flex;align-items:center;min-height:44px}
  .footer>.wrap>p{font-size:12px;line-height:1.75;margin-top:18px}
  .footer>.wrap>.footer-note{font-size:11px;line-height:1.75}
  .footer-bottom{font-size:9px;gap:14px;padding-top:16px;margin-top:18px;flex-wrap:wrap}
  .sticky-cta{bottom:0;left:0;transform:none;width:100%;display:grid;grid-template-columns:2fr 3fr;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border:0;border-top:1px solid var(--line);box-shadow:0 -3px 18px #20332615}
  .sticky-cta>div{display:none}
  .sticky-cta .sticky-call,.sticky-cta .button{display:flex;align-items:center;justify-content:center;min-height:52px;font-size:14px;font-weight:700;margin:0;padding:10px 8px;line-height:1.4}
  .sticky-call{border:1px solid var(--green);background:var(--paper)}
  .toast{bottom:calc(var(--contact-height) + 12px);font-size:13px}
  /* Short paragraphs remain comfortably readable without the desktop's loose leading. */
  .section-heading>p:last-child,.hero-answer,.approach-grid p,#concern-pain,#concern-list,
  .doctor-copy>p:not(.lead):not(.eyebrow),.visit-heading p:not(.eyebrow),.cost-list p,
  .faq-list details p,.closing p:not(.eyebrow){line-height:1.65}
  .doctor-copy>p:not(.lead):not(.eyebrow){margin-top:12px}
  .visit-card h3 br{display:none}
  .clinic-story.section,.doctor.section,.cost.section,.faq-section.section,.location.section{padding-block:32px}
  .location h2 br{display:none}
  .closing-small{display:none} /* The phone and booking links immediately above contain the same information. */
}
