/* Public layouts designed for phone screens. Desktop styles stay in site.css. */
@media(max-width:700px){
  body.public-site{font-size:15px;line-height:1.65}
  .public-site .container{width:calc(100% - 32px)}
  .public-site .section{padding-block:32px}
  .public-site h1,.public-site h2,.public-site h3{overflow-wrap:break-word}
  .public-site h2{font-size:30px;line-height:1.18;letter-spacing:-.8px}
  .public-site p{margin-bottom:16px}
  .public-site .eyebrow,.public-site .hero .eyebrow,.public-site .resource-card .eyebrow,.public-site .form-card .eyebrow{font-size:11px;line-height:1.5;letter-spacing:1px;margin-bottom:12px}
  .public-site .hero-copy>p,.public-site .about-copy p,.public-site .section-heading p,.public-site .steps p,.public-site .prose,.public-site .page-intro p,.public-site .location-copy>p{font-size:15px;line-height:1.7}
  .public-site .button,.public-site .button.small{min-height:44px;padding:11px 15px;gap:10px;font-size:13px;border-radius:7px}
  .public-site .text-link{font-size:13px;gap:8px}
  .public-site .topbar{font-size:11px;padding-block:5px}
  .public-site .topbar .container{gap:8px}
  .public-site .topbar .container>span:first-child{display:none}
  .public-site .topbar .container>span:last-child{width:100%;gap:8px}
  .public-site .top-divider{display:none}
  .public-site .nav-wrap{min-height:68px;gap:10px}
  .public-site .nav-wrap .brand{font-size:27px;gap:8px}
  .public-site .nav-wrap .brand-mark{width:32px;height:40px}
  .public-site .nav-wrap .brand-sub{font-size:9px;letter-spacing:1.1px;margin-top:4px}
  .public-site .menu-toggle{width:42px;height:42px;flex-shrink:0}
  .public-site .nav-wrap nav{top:68px;padding:12px 16px}
  .public-site .nav-wrap nav a{min-height:44px;padding:10px;font-size:13px}

  .public-site .hero{grid-template-columns:1fr;gap:24px;padding-block:28px 30px}
  .public-site .hero-copy h1{font-size:clamp(36px,10.2vw,44px);line-height:1.08;letter-spacing:-1.4px;margin-bottom:16px;max-width:520px}
  .public-site .hero-copy>p{max-width:520px;margin-bottom:0}
  .public-site .hero-actions{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px}
  .public-site .hero-actions .button{gap:10px;padding-inline:14px}
  .public-site .hero-actions .text-link{min-height:44px;font-size:13px}
  .public-site .hero-reassurance{font-size:12px;line-height:1.55;gap:10px;margin-top:18px}
  .public-site .hero-reassurance .round-icon{display:grid;width:32px;height:32px;flex-shrink:0}
  .public-site .hero-visual{width:100%;max-width:440px;margin:0 auto 6px;padding:0 12px}
  .public-site .hero-arch{height:245px;padding:24px 12px 18px;border-radius:140px 140px 12px 12px}
  .public-site .hero-arch:before{inset:12px;border-radius:130px 130px 7px 7px}
  .public-site .hero-arch img{height:135px;width:100%}
  .public-site .arch-caption{font-size:24px;line-height:1.15;margin-top:10px}
  .public-site .hero-star{font-size:44px;right:6px;top:8px}
  .public-site .vertical-note{display:none}
  .public-site .floating-note{position:relative;left:auto;bottom:auto;width:fit-content;max-width:100%;margin:9px auto 0;padding:8px 12px;gap:8px;font-size:11px;line-height:1.5;border-radius:8px;box-shadow:none}
  .public-site .floating-note .round-icon{width:29px;height:29px;flex-shrink:0}
  .public-site .floating-note svg{width:16px;height:16px}
  .public-site .care-strip .container{padding-block:15px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-site .care-strip span{font-size:12px;line-height:1.5;gap:7px;align-items:flex-start}
  .public-site .care-strip svg{width:17px;height:17px;margin-top:2px}

  .public-site .section-heading{display:block;margin-bottom:22px}
  .public-site .section-heading h2,.public-site .about-copy h2{font-size:30px;line-height:1.18}
  .public-site .section-heading>div:last-child:not(:first-child),.public-site .section-heading>p{max-width:none;margin-top:14px}
  .public-site .section-heading>.text-link{margin-top:14px}
  .public-site .section-heading p{margin-bottom:12px}
  .public-site .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .public-site .service-card{padding:16px 14px;border-radius:10px;min-width:0}
  .public-site .service-card-heading{gap:9px;margin-bottom:14px}
  .public-site .service-card-heading .service-icon{width:34px;height:34px;border-radius:10px}
  .public-site .service-icon svg{width:19px;height:19px}
  .public-site .service-card-heading .card-number{font-size:11px}
  .public-site .service-card h3{font-size:21px;line-height:1.2;letter-spacing:-.4px;min-height:0;margin-bottom:10px;hyphens:auto}
  .public-site .service-card p{font-size:13px;line-height:1.65;margin-bottom:16px}
  .public-site .card-link{font-size:12px;gap:5px}
  .public-site .card-link svg{width:15px;height:15px}
  .public-site .about-section{padding-block:32px}
  .public-site .split{grid-template-columns:1fr;gap:25px}
  .public-site .about-photo{height:250px}
  .public-site .about-photo img{border-radius:12px 50px 12px 12px}
  .public-site .photo-label{left:14px;bottom:14px;padding:8px 12px;font-size:10px;letter-spacing:1px}
  .public-site .check-list{font-size:13px;margin:18px 0 22px}
  .public-site .check-list li{gap:9px;margin:8px 0}
  .public-site .steps{grid-template-columns:1fr;gap:16px;padding:0}
  .public-site .steps article{display:grid;grid-template-columns:36px minmax(0,1fr);gap:0 12px;padding-top:16px}
  .public-site .steps article>span{grid-row:span 2;font-size:26px;margin:0}
  .public-site .steps h3{font-size:18px;margin-bottom:6px}
  .public-site .steps p{font-size:14px;margin-bottom:0}
  .public-site .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .public-site .team-art{height:auto;aspect-ratio:1/1;border-radius:80px 80px 8px 8px}
  .public-site .team-art>span:first-child{font-size:43px}
  .public-site .team-card h3{font-size:20px;line-height:1.2;margin:12px 0 5px}
  .public-site .team-card .role{font-size:12px;line-height:1.5;min-height:0;margin-bottom:10px}
  .public-site .team-card details,.public-site .team-card summary{font-size:12px}
  .public-site .resource-grid{grid-template-columns:1fr;gap:14px}
  .public-site .resource-card{display:grid;grid-template-columns:minmax(90px,.36fr) minmax(0,1fr);border-radius:10px}
  .public-site .resource-card>img{width:100%;height:100%;min-height:145px;object-fit:cover}
  .public-site .resource-card>div{padding:16px}
  .public-site .resource-card .eyebrow{font-size:10px;letter-spacing:.8px;margin-bottom:8px}
  .public-site .resource-card h3{font-size:22px;line-height:1.22;min-height:0;margin-bottom:12px}
  .public-site .resource-card .text-link{font-size:12px}

  .public-site .page-intro{padding-block:15px 20px}
  .public-site .breadcrumb{font-size:12px;gap:8px;margin-bottom:9px}
  .public-site .page-intro h1{font-size:30px;line-height:1.16;letter-spacing:-.8px;margin-bottom:10px}
  .public-site .page-intro p{font-size:14px;line-height:1.6}
  .public-site .article-layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .public-site .prose h2{font-size:27px;margin-top:24px;margin-bottom:14px}
  .public-site .prose h3{font-size:21px;margin-top:22px;margin-bottom:12px}
  .public-site .prose p{margin-bottom:15px}
  .public-site .article-banner,.public-site .source-body-image{max-height:220px;margin-block:0 22px}
  .public-site .mission-box,.public-site .aside-card,.public-site .aside-links{padding:20px;border-radius:10px}
  .public-site .mission-box{margin-top:24px}
  .public-site .aside-card{margin-bottom:20px}
  .public-site .aside-card h3{font-size:27px}
  .public-site .aside-card p{font-size:14px}
  .public-site .aside-photo{max-height:260px;width:100%;object-fit:cover}

  .public-site .form-layout,.public-site .reviews-layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .public-site .appointment-layout{padding-block:24px 32px}
  .public-site .form-layout>div,.public-site .form-card{min-width:0;max-width:100%}
  .public-site .form-card,.public-site :is(.appointment-layout,.contact-layout) .form-card{padding:20px 18px;border-radius:12px}
  .public-site .form-card h2,.public-site :is(.appointment-layout,.contact-layout) .form-card h2{font-size:27px;line-height:1.2;margin-bottom:9px}
  .public-site .form-card .eyebrow{margin-bottom:7px}
  .public-site .form-card .muted,.public-site :is(.appointment-layout,.contact-layout) .form-card .muted{font-size:13px;line-height:1.5;margin-bottom:16px}
  .public-site .form-card label,.public-site :is(.appointment-layout,.contact-layout) .form-card label{font-size:13px;margin-bottom:12px}
  .public-site .form-card input,.public-site .form-card select,.public-site .form-card textarea,.public-site :is(.appointment-layout,.contact-layout) .form-card :is(input,select,textarea){font-size:16px;line-height:1.4;padding:10px 11px;margin-top:5px;max-width:100%;min-width:0}
  .public-site .form-card textarea{height:110px;min-height:90px}
  .public-site .form-card .form-row{gap:0;grid-template-columns:minmax(0,1fr)}
  .public-site .form-card .field-help,.public-site :is(.appointment-layout,.contact-layout) .form-card .field-help{font-size:12px;line-height:1.5;margin:-3px 0 12px}
  .public-site .form-card .checkbox,.public-site :is(.appointment-layout,.contact-layout) .form-card .checkbox{font-size:12px;line-height:1.55;margin-bottom:14px;gap:8px}
  .public-site .form-card input[type=checkbox]{width:17px;height:17px;padding:0;margin-top:2px}
  .public-site .form-card .button,.public-site :is(.appointment-layout,.contact-layout) .form-card .button{padding:12px 15px;min-height:44px}
  .public-site .appointment-welcome{padding:24px 20px;border-radius:36px 12px 36px 12px}
  .public-site .appointment-welcome-symbol{width:38px;height:42px;margin-bottom:15px}
  .public-site .appointment-welcome-symbol svg{width:21px;height:21px}
  .public-site .appointment-welcome h2,.public-site .contact-layout>div>h2{font-size:29px;margin-bottom:14px}
  .public-site .appointment-welcome>p{font-size:14px;line-height:1.65}
  .public-site .appointment-welcome .contact-details{gap:14px 12px;margin:16px 0;padding-top:16px}
  .public-site .appointment-welcome .muted{font-size:12px;line-height:1.6;margin-top:18px}
  .public-site .contact-layout .contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;margin:20px 0}
  .public-site .contact-layout .contact-details>div{margin:0;min-width:0;gap:8px;font-size:13px}
  .public-site .contact-layout .contact-details>div>span{min-width:0;overflow-wrap:anywhere}
  .public-site .contact-layout .contact-details strong{font-size:12px}
  .public-site .contact-layout .contact-details svg{width:17px;height:17px}
  .public-site .contact-details~.muted{margin-top:18px;font-size:12px}

  .public-site .filter-row{gap:7px;margin-bottom:16px}
  .public-site .filter{font-size:13px;padding:8px 13px;min-height:40px}
  .public-site .gallery-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;margin-bottom:20px;border-radius:10px}
  .public-site .gallery-filters label{min-width:0;font-size:12px}
  .public-site .gallery-filters select{font-size:16px;padding:9px 8px;margin-top:4px}
  .public-site .gallery-filters .button{grid-column:1/-1;min-height:40px;padding:9px 12px}
  .public-site .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .public-site .gallery-item{border-radius:10px}
  .public-site .gallery-visual{aspect-ratio:4/3}
  .public-site .gallery-item>span{padding:11px 10px;gap:5px;min-height:50px;font-size:13px;line-height:1.45;overflow-wrap:anywhere}
  .public-site .gallery-item>span svg{width:15px;height:15px}
  .public-site .gallery-play{width:40px;height:40px}
  .public-site .gallery-play svg{width:18px;height:18px}
  .public-site .media-type-badge{left:8px;bottom:8px;padding:2px 7px;font-size:10px}
  .public-site .gallery-empty{padding:24px 18px;font-size:14px}
  .public-site .review-card,.public-site .review-empty{padding:20px;border-radius:12px}
  .public-site .review-empty h2{font-size:27px;margin-bottom:12px}
  .public-site .review-empty p,.public-site .review-card p{font-size:14px;line-height:1.7}
  .public-site .review-empty .round-icon{margin-bottom:14px}
  .public-site .review-list{gap:14px}
  .public-site .review-author{margin-bottom:12px;gap:10px}
  .public-site .review-summary{margin-bottom:18px;gap:14px}
  .public-site .review-summary>strong{font-size:34px}
  .public-site .rating-field{margin-bottom:15px}
  .public-site .rating-options{gap:6px}
  .public-site .rating-options label{margin:0}
  .public-site .rating-field legend{font-size:13px}

  .public-site .cta-section{display:block;padding:25px 22px;margin-block:4px 32px;border-radius:12px}
  .public-site .cta-section h2{font-size:29px;line-height:1.15;margin-bottom:12px}
  .public-site .cta-section .eyebrow{margin-bottom:12px}
  .public-site .cta-section p{font-size:14px;line-height:1.6}
  .public-site .cta-section .button{margin-top:18px;max-width:none}
  .public-site .location-section{grid-template-columns:minmax(0,1fr);margin-bottom:32px;border-radius:12px}
  .public-site .location-copy{padding:22px}
  .public-site .location-copy h2{font-size:29px}
  .public-site .map-address{font-size:14px;margin:18px 0}
  .public-site .map-frame{min-height:250px}
  .public-site footer{padding-top:30px}
  .public-site .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;padding-bottom:26px}
  .public-site .footer-grid>div:first-child,.public-site .footer-grid>div:last-child{grid-column:1/-1;min-width:0}
  .public-site .footer-grid .brand{font-size:28px;margin-bottom:16px}
  .public-site .footer-grid h3{font-size:14px;margin-bottom:13px}
  .public-site .footer-grid p,.public-site .footer-grid a:not(.brand),.public-site .location,.public-site .footer-address{font-size:13px;line-height:1.6}
  .public-site .footer-grid p{margin-bottom:14px}
  .public-site .footer-grid>div>a:not(.brand){margin-bottom:9px}
  .public-site .footer-contact-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}
  .public-site .footer-detail-hours{grid-column:1/-1}
  .public-site .footer-contact-details dt{font-size:12px}
  .public-site .footer-contact-details dd{font-size:13px;margin-top:3px}
  .public-site .social-links{gap:8px;margin-top:16px}
  .public-site .social-links a{width:36px;height:36px}
  .public-site .footer-bottom{padding-top:16px;padding-bottom:75px;font-size:11px;line-height:1.5}
  .public-site .footer-bottom>div{margin-top:8px}
  .public-site .feedback-dialog{padding:34px 22px 24px;width:calc(100vw - 32px);max-height:90dvh;overflow:auto}
  .public-site .feedback-dialog h2{font-size:28px}
  .public-site .feedback-symbol{width:48px;height:48px;margin-bottom:18px}
  .public-site .feedback-dialog>p{font-size:14px;line-height:1.6}
  .public-site.mobile-form-in-view .whatsapp-widget{display:none}
  .public-site .error-page{padding-block:30px;gap:24px}
  .public-site .error-copy h1{font-size:34px}
}
@media(max-width:359px){
  .public-site .container{width:calc(100% - 28px)}
  .public-site .service-grid{grid-template-columns:minmax(0,1fr)}
  .public-site .service-card{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:12px;padding:15px}
  .public-site .service-card-heading{grid-column:1;grid-row:1/4;flex-direction:column;gap:9px;margin:0}
  .public-site .service-card h3,.public-site .service-card p,.public-site .service-card .card-link{grid-column:2}
  .public-site .service-card h3{font-size:22px}
  .public-site .gallery-grid{gap:10px}
  .public-site .gallery-item>span{font-size:12px;padding:10px 8px}
  .public-site .footer-contact-details{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:701px) and (max-width:1050px){
  .public-site .section{padding-block:48px}
  .public-site .container{width:calc(100% - 48px)}
  .public-site .hero{padding-block:40px;gap:30px}
  .public-site .hero-copy h1{font-size:46px}
  .public-site .hero-arch{height:370px;padding-top:45px}
  .public-site .hero-arch img{height:195px}
  .public-site .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .public-site .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
