/* R71 — responsive compact pass.
 * Mobile-first corrections for hero, treatments, urgent notice, testimonials and footer.
 */

/* Desktop/tablet: preserve breathing room in treatments. */
body.home .service-bento{gap:26px!important}

@media(max-width:760px){
  /* ---------- Header ---------- */
  .r66-site-header,.home .r66-site-header{min-height:68px!important}
  .r66-header-inner,.home .r66-header-inner{
    width:calc(100% - 24px)!important;
    min-height:68px!important;
    padding:6px 0!important;
  }
  .r67-brand,.home .r67-brand{gap:8px!important;max-width:calc(100% - 50px)!important}
  .r67-brand .r67-brand-mark,.home .r67-brand .r67-brand-mark{
    width:46px!important;height:46px!important;flex:0 0 46px!important;
  }
  .r67-brand .approved-brand-raster,.home .r67-brand .approved-brand-raster{
    inset:5px!important;width:36px!important;height:36px!important;
  }
  .r67-brand .r67-brand-copy,.home .r67-brand .r67-brand-copy{max-width:210px!important}
  .r67-brand-name{font-size:13px!important;line-height:1.02!important;white-space:nowrap!important}
  .r67-brand-name>span{font-size:.72em!important;color:#e1b35a!important;display:inline!important}
  .r67-brand-practice{margin-top:3px!important}
  .r67-brand-practice b{font-size:6.2px!important;letter-spacing:.13em!important}
  .r67-brand-location{font-size:6px!important;letter-spacing:.18em!important}
  .r66-site-header .r66-menu-toggle,.home .r66-site-header .r66-menu-toggle{
    width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:13px!important;padding:9px!important;
  }

  /* ---------- Hero: substantially shorter on phones ---------- */
  body.home .r66-hero-layout,html[dir="rtl"] body.home .r66-hero-layout{
    width:calc(100% - 28px)!important;
    padding:24px 0 28px!important;
    gap:18px!important;
  }
  body.home .r66-hero-eyebrow{margin-bottom:9px!important;font-size:8.5px!important}
  body.home .r66-hero-copy h1{
    font-size:40px!important;
    line-height:.96!important;
    margin:0!important;
    letter-spacing:-.025em!important;
  }
  body.home .r66-hero-copy .hero-intro{
    margin-top:16px!important;
    font-size:13px!important;
    line-height:1.62!important;
    max-width:100%!important;
  }
  body.home .r66-hero-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(130px,.46fr)!important;
    align-items:stretch!important;
    gap:10px!important;
    margin-top:18px!important;
  }
  body.home .r67-primary-call{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:46px!important;
    padding:0 16px!important;
    font-size:12.5px!important;
    justify-content:center!important;
  }
  body.home .r66-secondary-link{
    min-height:46px!important;
    padding:0 8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    font-size:9px!important;
    line-height:1.2!important;
  }
  body.home .r66-hero-trust{
    margin-top:14px!important;
    padding-top:12px!important;
    gap:6px 11px!important;
    font-size:8px!important;
    white-space:nowrap!important;
  }
  body.home .r66-hero-trust span:last-child{flex-basis:auto!important}
  body.home .r66-hero-media,html[dir="rtl"] body.home .r66-hero-media{
    width:100%!important;
    padding:6px 6px 0!important;
    border-radius:20px 42px 20px 20px!important;
  }
  html[dir="rtl"] body.home .r66-hero-media{border-radius:42px 20px 20px 20px!important}
  body.home .r66-hero-stage.r67-hero-stage{
    aspect-ratio:1.66/1!important;
    border-radius:17px 36px 17px 17px!important;
  }
  html[dir="rtl"] body.home .r66-hero-stage.r67-hero-stage{border-radius:36px 17px 17px 17px!important}
  body.home .r66-hero-rail{
    min-height:50px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:5px 2px 5px 4px!important;
  }
  body.home .r66-slide-index{font-size:10px!important}
  body.home .r66-slide-text small{font-size:6px!important}
  body.home .r66-slide-text strong{font-size:8.5px!important}
  body.home .r66-hero-controls{gap:6px!important}
  body.home .r66-hero-controls button{width:32px!important;height:32px!important}

  /* ---------- Treatments: all six visible, compact stacked cards ---------- */
  body.home .services{padding-top:54px!important;padding-bottom:58px!important}
  body.home .services .section-top{margin-bottom:24px!important}
  body.home .services .section-top h2{font-size:38px!important;line-height:1.02!important}
  body.home .services .section-top>p{font-size:12.5px!important;line-height:1.65!important;margin-top:15px!important}
  body.home .services .service-bento{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:none!important;
    gap:12px!important;
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
    scroll-snap-type:none!important;
  }
  body.home .services .service-bento .service-card,
  body.home .services .service-bento .service-card.featured,
  body.home .services .service-bento .service-card.wide{
    display:grid!important;
    grid-template-columns:38% minmax(0,1fr)!important;
    width:100%!important;
    height:126px!important;
    min-height:126px!important;
    max-height:126px!important;
    margin:0!important;
    border-radius:18px!important;
    clip-path:none!important;
    background:#082b4b!important;
    box-shadow:0 10px 26px rgba(7,40,68,.08)!important;
  }
  body.home .services .service-bento .service-card::before,
  body.home .services .service-bento .service-card::after{display:none!important;content:none!important}
  body.home .services .service-bento .service-card>img{
    position:static!important;
    grid-column:1!important;
    width:100%!important;
    height:126px!important;
    min-height:126px!important;
    object-fit:cover!important;
    transform:none!important;
    filter:none!important;
    border-radius:18px 0 0 18px!important;
  }
  html[dir="rtl"] body.home .services .service-bento .service-card>img{border-radius:0 18px 18px 0!important}
  body.home .services .service-bento .service-card .card-copy{
    position:static!important;
    inset:auto!important;
    grid-column:2!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-width:0!important;
    padding:14px 16px!important;
    color:#fff!important;
    background:linear-gradient(135deg,#082b4b,#0b3b61)!important;
  }
  body.home .services .service-bento .service-card .card-copy small{
    font-size:7.5px!important;
    line-height:1.2!important;
    margin:0 0 5px!important;
    letter-spacing:.10em!important;
  }
  body.home .services .service-bento .service-card .card-copy h3{
    font-size:21px!important;
    line-height:1.02!important;
    margin:0 0 10px!important;
    max-width:100%!important;
  }
  body.home .services .service-bento .service-card .card-copy button{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    margin:0!important;
    padding:8px 0 0!important;
    min-height:0!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.18)!important;
    background:transparent!important;
    color:#fff!important;
    font-size:8px!important;
    text-transform:uppercase!important;
    letter-spacing:.07em!important;
  }
  body.home .service-mobile-controls{display:none!important}

  /* ---------- Urgent notice: compact mobile card ---------- */
  body.home .urgent-notice.urgent-panel,
  html[dir="rtl"] body.home .urgent-notice.urgent-panel{
    grid-template-columns:50px minmax(0,1fr)!important;
    width:calc(100% - 30px)!important;
    max-width:none!important;
    margin:18px auto 0!important;
    border-radius:20px!important;
  }
  body.home .urgent-panel .urgent-icon{
    grid-column:1!important;
    grid-row:1!important;
    border-right:1px solid rgba(255,255,255,.10)!important;
    border-left:0!important;
  }
  html[dir="rtl"] body.home .urgent-panel .urgent-icon{border-right:0!important;border-left:1px solid rgba(255,255,255,.10)!important}
  body.home .urgent-panel .urgent-copy{
    grid-column:2!important;
    grid-row:1!important;
    padding:18px 18px!important;
  }
  body.home .urgent-panel .urgent-copy>span{font-size:8.5px!important;margin-bottom:5px!important}
  body.home .urgent-panel .urgent-copy>strong{font-size:23px!important;line-height:1.05!important;margin-bottom:7px!important}
  body.home .urgent-panel .urgent-copy>small{font-size:12.5px!important;line-height:1.55!important}
  body.home .urgent-panel>a,
  html[dir="rtl"] body.home .urgent-panel>a{
    grid-column:1/-1!important;
    grid-row:2!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    min-height:58px!important;
    padding:12px 18px!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.11)!important;
    text-align:left!important;
  }
  html[dir="rtl"] body.home .urgent-panel>a{text-align:right!important;direction:rtl!important}
  body.home .urgent-panel>a small{font-size:8.5px!important}
  body.home .urgent-panel>a b{font-size:21px!important;direction:ltr!important;unicode-bidi:isolate!important}
  body.home .urgent-panel>a i{position:static!important;margin-inline-start:auto!important}

  /* ---------- Testimonials: reduce vertical footprint ---------- */
  body.home .voices{padding:52px 0 56px!important}
  body.home .voices-layout{display:block!important}
  body.home .voices-label{margin-bottom:18px!important}
  body.home .voices h2{font-size:36px!important;line-height:1.02!important;margin:10px 0 18px!important}
  body.home .rating{gap:12px!important}
  body.home .rating>b{font-size:32px!important}
  body.home .rating span{font-size:10px!important}
  body.home .rating small{font-size:6.5px!important;margin-top:4px!important}
  body.home .quote-stage,
  html[dir="rtl"] body.home .quote-stage{
    min-height:0!important;
    height:auto!important;
    margin-top:22px!important;
    padding:22px 0 0!important;
    border-left:0!important;
    border-right:0!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    display:block!important;
  }
  body.home .quote-mark{font-size:54px!important;line-height:.72!important;margin:0 0 8px!important}
  body.home .quote blockquote{font-size:23px!important;line-height:1.25!important;margin:10px 0 17px!important}
  body.home .quote p{margin:0!important;font-size:8.5px!important}
  body.home .quote-controls{
    position:static!important;
    display:flex!important;
    gap:10px!important;
    margin-top:18px!important;
    padding:0!important;
  }
  body.home .quote-controls button{width:36px!important;height:36px!important}
  body.home .quote-controls span{display:none!important}

  /* ---------- Footer: compact, aligned brand lockup ---------- */
  .home .site-footer .footer-main{padding-top:34px!important}
  .home .site-footer .footer-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding-bottom:26px!important;
  }
  .home .site-footer .footer-brand{grid-column:auto!important}
  .home .site-footer .footer-brand .r69-footer-brand{
    width:100%!important;
    max-width:340px!important;
    min-width:0!important;
    gap:10px!important;
    align-items:center!important;
  }
  .home .site-footer .footer-brand .r69-footer-brand .r69-footer-brand-mark{
    width:54px!important;height:54px!important;flex:0 0 54px!important;
  }
  .home .site-footer .footer-brand .r69-footer-brand .approved-brand-raster{
    inset:5px!important;width:44px!important;height:44px!important;
  }
  .home .site-footer .footer-brand .r69-footer-brand-copy{
    min-width:0!important;
    max-width:250px!important;
  }
  .home .site-footer .footer-brand .r69-footer-brand .r67-brand-name{
    font-size:15px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .home .site-footer .footer-brand .r69-footer-brand .r67-brand-name>span{
    display:inline!important;
    font-size:.72em!important;
    color:#e2b65c!important;
  }
  .home .site-footer .footer-brand .r69-footer-brand .r67-brand-practice{
    margin-top:4px!important;
    grid-template-columns:14px auto 14px!important;
    gap:5px!important;
  }
  .home .site-footer .footer-brand .r69-footer-brand .r67-brand-practice b{
    font-size:6.5px!important;
    letter-spacing:.15em!important;
  }
  .home .site-footer .footer-brand .r69-footer-brand .r67-brand-location{
    font-size:6.2px!important;
    letter-spacing:.19em!important;
  }
  .home .site-footer .footer-grid>div:nth-child(2),
  .home .site-footer .footer-grid>div:nth-child(3){display:none!important}
  .home .site-footer .footer-motto{padding-top:4px!important}
  .home .site-footer .footer-motto>span{font-size:19px!important;margin-top:14px!important}
  .home .site-footer .footer-motto>em{font-size:16px!important}
  .home .site-footer .footer-bottom{
    align-items:center!important;
    text-align:center!important;
    gap:8px!important;
    padding:15px 0 18px!important;
  }
  .home .site-footer .footer-copyright{justify-content:center!important;flex-wrap:wrap!important;gap:5px!important}
  .home .site-footer .footer-legal-nav{justify-content:center!important;gap:10px 14px!important;flex-wrap:wrap!important}

  /* Smaller floating CTA so it does not dominate mobile content. */
  body.home .floating-book{
    min-width:90px!important;
    height:42px!important;
    right:12px!important;
    bottom:12px!important;
    padding:0 14px!important;
    gap:10px!important;
  }
}

@media(max-width:420px){
  .r67-brand .r67-brand-copy,.home .r67-brand .r67-brand-copy{max-width:172px!important}
  .r67-brand-name{font-size:12px!important}
  body.home .r66-hero-copy h1{font-size:36px!important}
  body.home .r66-hero-actions{grid-template-columns:1fr!important}
  body.home .r66-secondary-link{width:max-content!important;min-width:150px!important}
  body.home .r66-hero-trust{white-space:normal!important}
  body.home .r66-hero-stage.r67-hero-stage{aspect-ratio:1.52/1!important}
  body.home .services .service-bento .service-card,
  body.home .services .service-bento .service-card.featured,
  body.home .services .service-bento .service-card.wide{grid-template-columns:36% minmax(0,1fr)!important;height:120px!important;min-height:120px!important;max-height:120px!important}
  body.home .services .service-bento .service-card>img{height:120px!important;min-height:120px!important}
  body.home .services .service-bento .service-card .card-copy h3{font-size:19px!important}
  body.home .voices h2{font-size:33px!important}
  body.home .quote blockquote{font-size:21px!important}
}
