/* Shared mobile refinements. Desktop layouts and original patient photos are unchanged. */
/* Keep navigation visible on laptop screens; reserve the menu button for smaller widths. */
@media (min-width:901px) and (max-width:1440px){
  :root{--nav-height:116px}
  .home-page .header .container{flex-direction:column;justify-content:center;gap:4px;padding:6px 16px}
  .home-page .header .logo{flex-shrink:0}
  .home-page .header .official-logo{width:195px;max-height:36px}
  .home-page .nav{display:flex;position:static;flex-direction:row;justify-content:center;align-items:center;flex-wrap:wrap;width:100%;gap:0 13px;overflow:visible;padding:0;background:#fff;box-shadow:none}
  .home-page .nav>a,.home-page .nav-dropdown summary{font-size:.8rem;white-space:nowrap}
  .home-page .nav .btn{font-size:.76rem;margin-left:0;padding:8px 12px;min-height:38px}
  .home-page .burger{display:none}
}
@media (min-width:901px) and (max-width:1100px){
  :root{--nav-height:150px}
  .home-page .nav{gap:0 11px}
}
@media (max-width:360px){
  .home-page .header .official-logo{width:175px}
  .home-page .header .container{gap:8px;padding-left:12px;padding-right:12px}
}
.additional-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px}
.procedure-cases{text-align:center}
.case-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:660px;margin:24px auto}
.case-pair figure{margin:0;min-width:0}
.case-pair img{width:100%;height:auto;display:block;border-radius:6px}
.case-pair figcaption{padding:8px;font-weight:600}
.procedure-page .content a:not(.btn){color:var(--brand);text-decoration:underline}
.additional-links a{padding:12px 0;color:var(--brand);text-decoration:underline}
.supporting-care{max-width:760px;margin:36px auto 0;text-align:center;border-top:1px solid var(--line);padding-top:28px}
.gallery-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.gallery-filters button{font:inherit;min-height:44px;padding:10px 18px;border:1px solid var(--brand);border-radius:6px;background:#fff;color:var(--brand);cursor:pointer}
.gallery-filters button[aria-pressed="true"]{background:var(--brand);color:#fff}
.gallery-filters button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.gallery .ba[hidden]{display:none!important}
.gallery .ba header a{font-size:.78rem;text-decoration:underline;color:var(--brand)}
@media (max-width: 900px) {
  html.menu-open { overflow: hidden; }
  .home-page .nav { touch-action: pan-y; padding-bottom: calc(28px + env(safe-area-inset-bottom)); }
  .home-page .nav a { white-space: normal; flex-shrink: 0; }
  .home-page .nav .btn { justify-content: center; text-align: center; }
  .home-page .burger { flex: 0 0 auto; display:flex; align-items:center; gap:9px; border:1px solid var(--line); border-radius:6px; color:var(--ink); }
  .burger-icon{display:block;font-style:normal}
  .menu-label{font:600 14px var(--sans);white-space:nowrap}
  .home-page .burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .home-page .burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .home-page .burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}
@media (max-width: 860px) {
  .home-page .hero-media { height: clamp(250px, 65vw, 380px); }
  .home-page .hero-media img { min-height: 0; height: 100%; max-height: none; object-position: center 25%; }
  .home-page .hero-copy { padding: 30px 24px 40px; }
  .home-page .hero-copy h1 { font-size: clamp(1.9rem, 5.8vw, 2.5rem); line-height: 1.16; }
  .home-page .hero-copy p.lead { font-size: 1rem; line-height: 1.7; }
  .home-page .hero-tags { display: flex; flex-wrap: wrap; gap: 6px 14px; }
  .home-page .hero-tags span+span::before { content: none; }
  .home-page .lead-form { padding: 24px 0 0; border-radius: 0; box-shadow: none; background: transparent; border-top: 1px solid var(--line); margin-top: 28px; }
  .home-page .form-row { gap: 16px; margin-bottom: 16px; }
  .home-page .field-group { min-width: 0; gap: 8px; }
  .home-page .field { min-height: 52px; font-size: 16px; padding: 12px; }
  .home-page .field-label, .home-page .contact-method legend { font-size: .875rem; }
  .home-page .radios { gap: 12px 24px; }
  .home-page .radios label { min-height: 44px; gap: 9px; }
  .home-page .radios input { width: 20px; height: 20px; }
  .home-page .form-foot { font-size: .8rem; line-height: 1.65; }
  .home-page .steps::before { display: none; }
  .home-page .grid-3, .home-page .ba-grid { gap: 20px; }
  .home-page .ba header p { line-height: 1.55; }
  .home-page .ba figcaption { position: static; text-align: center; border-radius: 0; padding: 7px 4px; font-size: .72rem; }
  .home-page .ba figure { aspect-ratio: auto; background: #fff; }
  .home-page .ba figure img { height: auto; aspect-ratio: 3/4; object-fit: contain; }
}
@media (max-width: 760px) {
  :root { --topbar-height: 32px; --nav-height: 65px; }
  html { -webkit-text-size-adjust: 100%; scroll-padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  body { overflow-wrap: break-word; }
  body .topbar { font-size: .7rem; }
  body .topbar .container { gap: 8px; padding-left: 16px; padding-right: 16px; }
  .home-page .topbar .left .hide-sm { display: none; }
  .home-page .topbar svg { width: 12px; height: 12px; flex-shrink: 0; }
  .home-page .header .container { gap: 12px; padding: 0 16px; }
  .home-page .header .logo { min-width: 0; }
  .home-page .header .official-logo { width: 200px; max-width: 100%; }
  .home-page .hero-copy, .home-page .container { padding-left: 20px; padding-right: 20px; }
  .home-page .hero > .container { padding: 0; }
  .home-page .section-head p { font-size: 1rem; line-height: 1.65; }
  .home-page .card .body a { display: inline-flex; align-items: center; min-height: 44px; }
  .home-page .intro .actions, .home-page .about .actions { display: grid; grid-template-columns: 1fr; }
  .home-page .btn { min-height: 48px; text-align: center; white-space: normal; }
  .home-page .intro .room { aspect-ratio: 4/3; }
  .home-page .quote, .home-page .feature { padding: 24px 20px; }
  .home-page .faq-item button { line-height: 1.5; }
  .home-page .faq-item button::after { flex-shrink: 0; }
  .home-page .footer .top { gap: 28px; padding-top: 40px; }
  .home-page .footer li { margin-bottom: 0; }
  .home-page .footer li a, .home-page .footer .bottom .links a { display: inline-flex; align-items: center; min-height: 44px; }
  .home-page .social a { width: 44px; height: 44px; }
  .home-page .footer .brand p { overflow-wrap: anywhere; }
  .procedure-page .container { width: calc(100% - 40px); }
  .procedure-page .topbar .container { width: 100%; }
  .procedure-page .header .container { gap: 12px; }
  .procedure-page .header .logo { width: min(200px, 60vw); height: auto; }
  .procedure-page .back { min-width: 44px; min-height: 44px; display: inline-flex; justify-content: center; align-items: center; }
  .procedure-page .hero-media { min-height: 0; height: clamp(220px, 65vw, 330px); max-height: none; }
  .procedure-page .hero-media img { object-position: center 35%; }
  .procedure-page .hero-copy { padding: 28px 20px 36px; min-width: 0; }
  .procedure-page .hero h1 { font-size: clamp(2rem, 8vw, 2.7rem); overflow-wrap: anywhere; }
  .procedure-page .hero p { font-size: 1rem; }
  .procedure-page .content .grid > * { min-width: 0; }
  .procedure-page .content h2:not(:first-child) { margin-top: 30px; }
  .procedure-page .content ul { padding-left: 22px; }
  .procedure-page .note { padding: 20px; }
  .procedure-page .btn { min-height: 50px; text-align: center; }
  .procedure-page .cta { padding: 40px 20px; }
  .procedure-page .cta h2 { font-size: 1.8rem; line-height: 1.25; }
  .procedure-page .mobile-bar a { font-size: .86rem; text-align: center; padding: 4px 8px; }
  .procedure-page { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
}
@media (max-width: 560px) {
  .home-page { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  .home-page .hero-actions { display: grid; grid-template-columns: 1fr; }
  .home-page .ba { padding: 7px; gap: 5px; }
  .home-page .ba header { padding: 9px 5px 12px; }
  .home-page .ba h3 { font-size: 1.15rem; }
  .home-page .ba header p { font-size: .8rem; }
  .home-page .mobile-contact-bar a { font-size: .85rem; text-align: center; padding: 4px 8px; }
  .home-page .cta .btn { display: flex; justify-content: center; }
}
@media (max-width: 360px) {
  body .topbar { font-size: .65rem; }
  body .topbar .container { padding-left: 12px; padding-right: 12px; }
  .home-page .topbar svg { display: none; }
  .home-page .hero-copy, .home-page .container { padding-left: 16px; padding-right: 16px; }
}

/* Direct text-message contact beside the existing phone link. */
.topbar-contacts{display:inline-flex;align-items:center;gap:20px;white-space:nowrap}.topbar-text{border-left:1px solid #ffffff66;padding-left:20px}
@media(max-width:600px){body .topbar .left,body .topbar .container>span:not(.topbar-contacts){display:none}body .topbar .container{justify-content:center}body .topbar-contacts{gap:14px}body .topbar-text{padding-left:14px}body .topbar .topbar-contacts a{font-size:12px}}

/* Social profiles precede the call/text contacts. */
.topbar-socials{display:inline-flex;align-items:center;gap:12px}
.topbar .topbar-socials a{justify-content:center;min-width:20px;min-height:28px}
.topbar .topbar-socials svg{display:block;width:15px;height:15px;fill:currentColor}
.topbar-social-separator{opacity:.6}
.topbar-socials a:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media(max-width:600px){body .topbar-contacts{gap:6px}body .topbar-socials{gap:3px}body .topbar .topbar-socials a{min-width:18px}body .topbar .topbar-socials svg{display:block;width:14px;height:14px}body .topbar .topbar-contacts>a{font-size:11px}body .topbar-contacts>a>svg{display:none}body .topbar-text{padding-left:6px}}
