/* Legibility, location and touch-friendly controls. */
body.dialog-open{overflow:hidden}
.location-note{font-size:13px;color:#5e526a;line-height:1.7;margin:0 0 23px;max-width:370px}
.location-note>span{font-size:22px;vertical-align:middle;margin-right:5px}
.location-note strong{font-weight:600}
.modalities{display:grid;grid-template-columns:1fr 1.3fr;gap:65px;padding-block:0 90px;align-items:center}
.modalities-heading h2{font-size:36px}
.modalities-heading>p:last-child{font-size:14px;color:var(--muted);max-width:330px}
.modality-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.modality-card{padding:27px 24px;background:#eeebf3;border-radius:8px}
.modality-card:nth-child(2){background:#e9eeea}
.modality-symbol{color:var(--purple);font-size:27px}
.modality-card h3{font-size:23px;margin:15px 0}
.modality-card p{font-size:14px;color:#605a68;min-height:130px}
.modality-card .text-link{font-size:12px;text-align:left;min-height:44px}
.text-link{min-height:44px}
dialog label{font-size:14px}dialog select{font-size:16px;min-height:48px}dialog .button{min-height:48px}
.close-dialog{width:44px;height:44px;top:5px;right:6px}
@media(min-width:721px){.service p,.about-copy>p:not(.eyebrow),.steps p,.faq-intro,details p{font-size:14px}.service p{min-height:105px}}
@media(min-width:721px) and (max-width:1000px){nav{gap:13px}nav>a{font-size:10px}.modalities{gap:30px}.modality-options{gap:13px}.modality-card{padding:22px 18px}.modality-card p{min-height:160px}}
@media(max-width:720px){
  body{font-size:16px}.demo-banner{font-size:10px;padding:7px 12px;line-height:1.6}
  .hero{padding-top:20px;gap:30px}.hero .eyebrow,.eyebrow{font-size:10px;letter-spacing:.12em}
  h1{font-size:clamp(42px,10.8vw,64px)}
  .intro{font-size:15px;line-height:1.8;margin-bottom:16px}
  .location-note{font-size:13px;margin-bottom:22px}
  .hero-note{font-size:12px;line-height:1.7}.button{font-size:14px;min-height:49px}
  .hero-visual{width:90%}.portrait-frame{height:370px}.photo-caption{font-size:8px;letter-spacing:.1em}
  .floating-note p{font-size:12px}.floating-note em{font-size:16px}
  .values-strip{font-size:12px;line-height:1.6;padding:22px 16px;gap:15px 10px}
  .values-strip span:before{margin-right:5px}
  .section-heading>p,.service p,.about-copy>p:not(.eyebrow),.steps p,.faq-intro,details p{font-size:15px;line-height:1.8}
  .section-heading{margin-bottom:25px}.service{padding:25px}.service h3{font-size:25px}
  .text-link{font-size:13px;min-height:48px}.service p{margin-bottom:19px}.service-number{font-size:12px}
  .modalities{grid-template-columns:1fr;gap:20px;padding-block:0 65px}
  .modalities-heading h2{font-size:33px;margin-bottom:18px}.modalities-heading>p:last-child{font-size:15px;max-width:none}
  .modality-options{grid-template-columns:1fr;gap:14px}.modality-card{padding:24px 25px}
  .modality-card h3{font-size:25px;margin:10px 0 13px}.modality-card p{min-height:0;font-size:15px;line-height:1.8;margin-bottom:18px}
  .modality-card .text-link{font-size:13px}
  .about-copy .editorial-note{font-size:12px!important}.about-principles{font-size:12px}.about-copy .text-link{width:235px}
  .steps article{padding-left:60px}.steps h3{font-size:24px}
  summary{font-size:15px;line-height:1.6;min-height:65px}summary span{flex-shrink:0}
  .gentle-quote>p{font-size:9px;line-height:1.8}
  .contact-inner>p:not(.eyebrow){font-size:15px}.contact-inner .button{font-size:13px;gap:12px}
  .contact-inner small{font-size:11px}.footer-top>a:last-child{font-size:13px;min-height:44px;display:flex;align-items:center}
  .footer-bottom{font-size:11px;align-items:center}.footer-bottom button{min-height:44px}
  footer{padding-bottom:110px}.mobile-cta .button{font-size:14px;min-height:48px}
  dialog>p:not(.eyebrow){font-size:15px;line-height:1.75}dialog h2{font-size:34px}
  #message-preview{font-size:15px}#message-preview small{font-size:13px}
}
@media(max-width:360px){.brand{font-size:19px}.hero .eyebrow{font-size:9px}.values-strip{font-size:11px}.contact-inner .button{font-size:12px;padding-inline:12px}.hero-visual{width:88%}}
@media(max-width:720px){.floating-note{bottom:110px;left:-14px;transform:rotate(-4deg)}}

.brand-logo{display:block;width:220px;height:94px;overflow:hidden;flex-shrink:0;mix-blend-mode:multiply}.brand-logo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%}.brand{flex-shrink:0}.footer-top .brand-logo{width:200px;height:86px}@media(max-width:1000px) and (min-width:721px){.header .brand-logo{width:180px;height:78px}}@media(max-width:720px){.header .brand-logo{width:190px;height:80px}.footer-top .brand-logo{width:180px;height:77px}}@media(max-width:360px){.header .brand-logo{width:175px;height:75px}.footer-top .brand-logo{width:165px;height:71px}}
