/* Hero, native media proportions and contact rhythm — October 2026. */
.header nav{gap:24px}
.hero{width:100%;max-width:none;margin:0;padding:0;display:grid;grid-template-columns:52% 48%;gap:0;align-items:stretch;background:var(--cream)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:64px 56px 64px max(56px,calc((100vw - 1220px)/2));min-width:0}
.hero .eyebrow{color:var(--ink);font-size:12px;letter-spacing:.14em;margin-bottom:30px}
.hero h1{font-size:clamp(52px,4.7vw,76px);line-height:1.06;letter-spacing:-.05em}
.hero h1 em{display:inline-block;white-space:normal;font-size:.91em}
.hero-description{max-width:440px;font-size:17px;line-height:1.75;margin-top:28px}
.hero .locations{margin-top:22px;font-size:13px}
.hero .locations span{margin-inline:8px}
.hero .actions{margin-top:26px;gap:10px 22px;align-items:center}
.hero .button{min-height:54px;font-size:14px;padding:15px 21px}
.hero .text-link{font-size:13px}
.hero-portrait{margin:0;border-radius:0;min-height:660px;height:clamp(660px,calc(100svh - 86px),800px);overflow:hidden;position:relative;background:#dce4df}
.hero-portrait>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.hero-portrait figcaption{inset:auto 0 0;margin:0;padding:34px 24px 17px;border:0;border-radius:0;background:linear-gradient(transparent,rgba(12,31,39,.7));color:white;font-size:12px;line-height:1.6}
.hero-portrait figcaption>span:last-child{display:block;font-size:10px;letter-spacing:.06em;color:#fff}
.trust-inner{padding-block:16px;gap:48px}
.trust-inner>span{font-size:12px}
.section{padding-block:76px}
.section-heading{gap:40px}
.section-heading .eyebrow{margin-bottom:16px}
.section-heading>p{font-size:15px;line-height:1.7}
.method-action{margin-top:32px}
.experience.section{padding-bottom:64px}
.experience .section-heading{margin-bottom:34px}
.experience-main{grid-template-columns:minmax(0,1fr) 300px;gap:72px;max-width:960px;margin:0 auto;padding:0 0 44px;border-bottom:1px solid var(--line);border-radius:0;background:none;align-items:center}
.experience-copy{max-width:440px}
.experience-copy .eyebrow{margin-bottom:16px}
.experience-main h3{font-size:44px;line-height:1.1}
.experience-main p:not(.eyebrow){max-width:390px;font-size:16px;margin-top:22px;line-height:1.75}
.experience-main .main-video{width:300px;max-width:100%;margin:0}
/* The frame and poster follow each file; never enlarge a film to crop it. */
.video-original-135-242{--video-ratio:135/242}
.experience-main video,.media-video video,.testimonials-grid video{display:block;width:100%;max-width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:var(--video-ratio,9/16);object-fit:contain;border-radius:4px;background:transparent;margin:0}
.media-video{width:100%;height:auto;border-radius:4px;overflow:hidden;background:transparent}
.experience-main figcaption{margin-top:11px;padding:0;font-size:12px;text-align:left;line-height:1.5}
.media-intro{max-width:960px;margin:36px auto 0;align-items:center;gap:24px}
.media-intro h3{font:30px/1.2 var(--serif)}
.experience .media-intro p{max-width:320px;font-size:14px;line-height:1.6;margin:0}
.media-filters{max-width:960px;margin:22px auto 0;gap:8px}
.media-filters button{font-size:13px;min-height:44px;padding:10px 17px}
.experience p.media-count{max-width:960px;margin:12px auto 0;font-size:12px}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 30px;max-width:960px;margin:22px auto 0;align-items:start}
.media-card{min-width:0;width:100%;max-width:300px;margin:0;justify-self:center}
.media-card figcaption{font-size:14px;line-height:1.45;padding:11px 0 0;margin:0;color:var(--ink)}
.media-card figcaption strong{font-weight:500}
.media-card figcaption small{font-size:12px;line-height:1.5;margin-top:4px;color:var(--text)}
.reviews-section{background:var(--cream);border-top:1px solid var(--line)}
.reviews-block{padding-top:0;margin-top:0;border:0}
.reviews-layout{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;margin-top:34px}
.testimonials-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0;max-width:none;align-items:start}
.testimonials-grid .media-card{max-width:270px;margin:0}
.quotes-grid{grid-template-columns:minmax(0,1fr);gap:26px;margin:0}
.review-quote{padding:20px 0 0;background:none;border-radius:0;border-top:1px solid #c7c9bf}
.review-quote:before{font-size:43px;height:31px}
.review-quote blockquote{font-size:21px;line-height:1.5}
.reviews-section .clinical-note{margin:28px 0 0;text-align:left;max-width:none;font-size:12px}
.faq .text-link{margin-top:22px}
.contact-copy>p:not(.eyebrow){font-size:16px;line-height:1.7}
/* Native anchors and office buttons share the header offset set on html. */
#contact-form{scroll-margin-top:0}

@media (min-width:761px) and (max-width:1100px){
 .header nav{gap:16px}.header nav a{font-size:12px}
 .hero-copy{padding:46px 32px 46px 40px}
 .hero h1{font-size:clamp(43px,5.3vw,58px)}
 .hero-description{font-size:16px}
 .hero-portrait{min-height:650px;height:690px}
 .hero .actions{align-items:flex-start;flex-direction:column;gap:7px}
 .reviews-layout{gap:30px;grid-template-columns:1.1fr 1fr}
 .testimonials-grid{gap:16px}
 .quotes-grid{grid-template-columns:1fr;gap:22px}
 .review-quote{padding-top:14px}.review-quote:before{float:left;width:28px;height:26px}.review-quote blockquote{font-size:18px}
 .experience-main{gap:42px;grid-template-columns:minmax(0,1fr) 270px}
 .experience-main .main-video{width:270px}
}
@media(max-width:760px){
 html{scroll-padding-top:84px}
 .header-inner{min-height:64px;gap:16px}
 .header img{width:59px;height:53px}
 .header .button{display:none}
 .header nav{display:flex;margin-left:auto}
 .header nav a{display:none}
 .header nav a:first-child{display:block;font-size:12px;min-height:44px;padding-block:13px}
 .hero{grid-template-columns:minmax(0,1fr);gap:0;padding:0}
 .hero-copy{padding:27px 20px 23px;display:block}
 .hero .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:15px}
 .hero h1{font-size:clamp(35px,10.8vw,52px);line-height:1.04;letter-spacing:-.045em}
 .hero h1 em{font-size:.89em}
 .hero-description{font-size:15px;line-height:1.65;max-width:480px;margin-top:19px}
 .hero .locations{font-size:12px;margin-top:13px}
 .hero .locations span{margin-inline:7px}
 .hero .actions{margin-top:18px;gap:3px;flex-direction:column;align-items:stretch}
 .hero .button{width:100%;min-height:50px;font-size:14px;padding:13px 18px}
 .hero .text-link{min-height:44px;font-size:13px;align-self:center;padding:9px 0;border-bottom:0}
 .hero-portrait{width:100%;min-height:0;height:auto;aspect-ratio:1/1.08;max-height:620px;border-radius:0}
 .hero-portrait>img{object-position:50% 10%}
 .hero-portrait figcaption{padding:32px 20px 13px;font-size:11px}
 .hero-portrait figcaption>span:last-child{font-size:9px}
 .trust-inner{padding-block:14px;gap:4px 18px}
 .trust-inner>span{font-size:11px}
 .section{padding-block:48px}
 .section-heading{gap:18px}
 .section-heading .eyebrow{margin-bottom:12px}
 .section-heading>p{font-size:14px;margin-top:16px;max-width:460px}
 .method-grid{gap:24px 22px;margin-top:28px}
 .method-action{margin-top:27px}
 .experience.section{padding-bottom:48px}
 .experience .section-heading{margin-bottom:28px}
 .experience-main{grid-template-columns:minmax(0,1fr);padding:0 0 30px;gap:24px}
 .experience-main h3{font-size:32px}
 .experience-main p:not(.eyebrow){font-size:15px;margin-top:14px;max-width:460px}
 .experience-main .main-video{width:300px;justify-self:center}
 .experience-main figcaption{font-size:11px;margin-top:9px}
 .media-intro{display:block;margin-top:28px}
 .media-intro h3{font-size:27px}
 .experience .media-intro p{max-width:460px;margin-top:12px;font-size:14px}
 .media-filters{margin-top:18px;gap:7px}
 .media-filters button{font-size:12px;min-height:44px;padding:9px 14px}
 .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 20px;margin-top:20px}
 .media-card figcaption{font-size:14px}
 .reviews-layout{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:28px}
 .testimonials-grid{max-width:620px;width:100%;margin:0 auto;gap:24px}
 .testimonials-grid .media-card{max-width:300px}
 .quotes-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .review-quote blockquote{font-size:21px}
 .reviews-section .clinical-note{margin-top:25px}
 .mobile-sticky{visibility:hidden;transform:translateY(110%);padding-top:8px}
 body.hero-cta-passed:not(.contact-in-view):not(.media-in-view):not(:has(dialog[open])) .mobile-sticky{visibility:visible;transform:translateY(0)}
 .mobile-sticky .button{min-height:48px;font-size:14px}
 .footer{padding-bottom:100px}
}
@media(max-width:600px){
 .media-grid,.testimonials-grid{grid-template-columns:minmax(0,1fr);gap:29px}
 .media-card,.testimonials-grid .media-card{width:100%;max-width:300px;justify-self:center}
 .quotes-grid{grid-template-columns:minmax(0,1fr);gap:23px}
 .review-quote blockquote{font-size:22px}
}
@media(min-width:761px) and (max-width:1000px){
 .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}
 .reviews-layout{grid-template-columns:minmax(0,1fr);gap:32px}
 .testimonials-grid{width:100%;max-width:620px;margin:0 auto;gap:24px}
 .testimonials-grid .media-card{max-width:300px}
 .quotes-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .review-quote blockquote{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.mobile-sticky{transition:none}}
