/* V4: shared alignment, spacing and control system. */
:root{--section-space:96px}
.wrap{width:min(1240px,calc(100% - 96px))}
.section,.benefits-section{padding:var(--section-space) 0}
.section-heading,.benefits-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:24px;max-width:920px;margin:0 auto 48px}
.section-heading>div:first-child{flex:initial;width:100%}
.section-heading h2,.benefits-heading h2{font:500 clamp(38px,4.2vw,60px)/1.08 var(--body);letter-spacing:-.045em;text-wrap:balance;margin:0}
.section-heading>p,.section-heading>div:last-child>p,.benefits-heading>p:not(.eyebrow){max-width:620px;margin:0 auto;font-size:17px;line-height:1.6}
.section-heading .eyebrow,.benefits-heading .eyebrow{justify-content:center;margin:0 0 20px}
.benefits-heading .eyebrow{margin:0}
.section-heading .text-link{justify-content:center}
.visit .section-heading>p br{display:none}
.services .section-heading h2 span{color:#686466}
.services .section-heading h2{max-width:880px;margin:auto}
.service-editorial{height:280px;margin-bottom:24px}
.services-grid{gap:24px}
.service-card{display:flex;flex-direction:column;padding:30px;background:#faf8f5}
.service-card p{min-height:0;line-height:1.65;margin-bottom:24px;flex:1}
.service-link{margin-top:auto;min-height:52px;justify-content:center;gap:14px;padding:16px 0 0;text-align:center;font-size:14px}
.button,.button.small{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:14px 24px;border-radius:10px;font-size:15px;font-weight:600;line-height:1.25;text-align:center;vertical-align:middle;box-shadow:none}
.button>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;font-size:22px;line-height:1;margin:0}
.button:before{display:none}
.button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000012}
.button.small{min-height:46px;font-size:14px;padding:11px 20px;gap:12px}
.studio-copy>.button{font-size:15px;min-width:260px}
.symptom-answer .button{display:flex;width:100%}
.contact-form .button{min-height:56px}
.floating-contact{height:54px;padding:0 20px;display:flex;justify-content:center;align-items:center;gap:10px;border:1px solid #ffffff25;border-radius:12px;background:#242225;box-shadow:0 5px 20px #0002;font-size:13px}
.floating-contact svg{width:23px;height:23px;flex:0 0 23px;margin:0}
.floating-contact span{line-height:1}
.motion-band{margin:0;padding:22px 0;transform:none;width:100%;overflow:hidden;background:#e53926}
.motion-band>.band-track{display:flex;gap:0;width:max-content;animation:band-loop 32s linear infinite;line-height:1}
.band-group{display:flex;align-items:center;justify-content:space-around;gap:44px;flex-shrink:0;min-width:100vw;padding:0 22px}
.band-group span{white-space:nowrap;font:500 34px/1 var(--display);letter-spacing:.06em}
.band-group i{font-size:22px;line-height:1}
@keyframes band-loop{to{transform:translateX(-50%)}}
.motion-band:hover>.band-track{animation-play-state:paused}
.model-tools{bottom:28px}.model-tools button{border:0;background:transparent;backdrop-filter:none;border-bottom:1px solid #aaa09a;border-radius:0;font-size:12px;padding:9px 3px}
.model-tools button:hover,.model-tools button[aria-pressed=true]:last-child{background:transparent;color:#c93224}
.about-grid{gap:80px}.about-photo{height:560px;border-radius:100px 100px 12px 12px;transform:none;box-shadow:12px 12px 0 #ee3b27}
.about-copy h2{font-size:54px}.about-copy>p:not(.eyebrow)+p{margin-top:18px}
.why-layout{grid-template-columns:1fr 1.2fr;gap:72px}.why-intro h2{font-size:52px}.why-intro>p:not(.eyebrow){max-width:44ch}
.benefit-grid{margin-top:0}.benefit-grid h3{font-size:28px}.benefit-foot{padding-top:28px}
.symptom-grid{align-items:center;gap:64px}.symptom-panel{padding:28px}.symptom-answer p{min-height:78px;line-height:1.6}
.gallery-grid{padding:0;gap:24px;perspective:none}.gallery-grid .gallery-item,.gallery-grid .gallery-item:nth-child(n){height:470px!important;width:100%;margin:0!important;transform:none!important;border:1px solid #595153;border-radius:12px;box-shadow:none}
.case-study{margin-top:48px;padding-top:48px;gap:64px}.gallery-footer{margin-top:28px}
.reviews-section{padding:72px 0}.review-inner{gap:60px}.review-inner h2{font-size:44px}.review-inner .eyebrow{margin-bottom:20px}
.visit-grid{grid-template-columns:400px 1fr}.contact-card{padding:32px}.visit .section-heading{margin-bottom:40px}
.final-grid{gap:72px;grid-template-columns:1fr 1fr}.final-grid h2{font-size:64px}.final-cta .contact-form{padding:32px;box-shadow:none}
footer{padding:0;background:#19181a}.footer-lead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20;padding:30px 0;font-size:11px;letter-spacing:.09em;gap:24px}.footer-lead a{display:flex;align-items:center;gap:18px;letter-spacing:0;font-size:13px}.footer-lead a span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #635b5e;border-radius:50%;font-size:18px}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1.1fr 1fr;gap:45px;padding:56px 0 40px}.footer-identity .brand-main{font-size:40px}.footer-identity p{font-size:18px;line-height:1.5;margin-top:24px}.footer-identity p span{font-size:12px;color:#b4a8a5;display:block;margin-top:16px}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.footer-column h3{font:500 14px var(--body);color:#f7f1ec;margin-bottom:8px}.footer-column a,.footer-column p{font-size:14px;line-height:1.6;color:#bdb3af}.footer-column a:hover{color:#ff7f6b}.footer-column .footer-phone{font-size:20px;color:#f7f1ec;white-space:nowrap}.footer-signature{font:700 italic clamp(80px,16vw,240px)/.95 var(--display);letter-spacing:-.025em;color:#302c2f;white-space:nowrap;user-select:none;padding:14px 0 30px;display:flex;align-items:center;justify-content:space-between}.footer-signature span{font-size:.65em;color:#da3b2a}.footer-bottom{align-items:center;gap:24px;padding:25px 0 32px;font-size:11px;line-height:1.5}.footer-bottom button{min-height:44px}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.about-grid,.why-layout,.final-grid{gap:44px}.visit-grid{grid-template-columns:360px 1fr}.symptom-grid{gap:32px}}
@media(max-width:800px){:root{--section-space:64px}.wrap{width:calc(100% - 40px)}.section-heading,.benefits-heading{gap:20px;margin-bottom:32px}.section-heading h2,.benefits-heading h2{font-size:38px;letter-spacing:-.04em}.section-heading>p,.section-heading>div:last-child>p,.benefits-heading>p:not(.eyebrow){font-size:16px;max-width:40ch}.section-heading .eyebrow{margin-bottom:18px}.studio-copy>.button{min-width:0;width:100%;max-width:360px}.button,.button.small{min-height:52px;padding:14px 18px;font-size:14px}.floating-contact{width:52px;height:52px;padding:0;border-radius:50%;right:16px;bottom:16px}.floating-contact span{display:none}.floating-contact svg{width:24px;height:24px;flex-basis:24px}.band-group{min-width:800px;gap:30px;padding:0 15px}.band-group span{font-size:27px}.motion-band{padding:19px 0}.band-group i{font-size:18px}.service-editorial{height:220px}.service-editorial>span{font-size:25px}.service-card{padding:26px}.service-link{font-size:14px}.about-grid,.why-layout,.symptom-grid,.final-grid,.visit-grid{grid-template-columns:1fr;gap:36px}.about-photo{height:480px;max-width:440px;margin:0 auto;width:calc(100% - 12px)}.about-copy h2,.why-intro h2{font-size:42px}.symptom-panel{padding:20px}.symptom-grid h2{font-size:40px}.benefit-grid h3{font-size:27px}.gallery-grid{grid-template-columns:1fr;gap:20px}.gallery-grid .gallery-item,.gallery-grid .gallery-item:nth-child(n){height:430px!important;grid-column:auto;max-width:450px;justify-self:center}.case-study{gap:28px;margin-top:36px;padding-top:36px}.review-inner{gap:26px;text-align:center}.review-inner .eyebrow{justify-content:center}.review-inner h2{font-size:38px}.reviews-section{padding:56px 0}.contact-card{padding:26px}.map-panel{min-height:360px}.final-grid h2{font-size:48px}.final-grid>div{text-align:center}.final-grid .eyebrow{justify-content:center}.final-grid>div>p:not(.eyebrow){margin:24px auto}.final-cta .contact-form{padding:24px}.footer-lead{font-size:9px;gap:16px}.footer-lead a{font-size:12px;flex-shrink:0}.footer-grid{gap:32px 24px;padding:40px 0 24px}.footer-identity{grid-column:1/-1}.footer-column{gap:11px}.footer-column:last-child{grid-column:1/-1}.footer-column h3{font-size:14px}.footer-column p,.footer-column a{font-size:13px}.footer-signature{font-size:19vw;padding:16px 0 24px}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-bottom:80px}.footer-bottom>span:nth-child(2){width:100%;order:3;font-size:9px}.footer-bottom>span:last-child{margin:0}}
@media(prefers-reduced-motion:reduce){.motion-band>.band-track{animation:none}}
.section-heading .eyebrow,.benefits-heading .eyebrow{width:100%;max-width:none!important;margin-left:auto!important;margin-right:auto!important}
.benefits-heading .eyebrow{color:#736660}.case-tabs button[aria-pressed=true]{background:#ba3023;border-color:#ba3023}
@media(max-width:1150px){.header .nav-cta{display:none}} @media(max-width:360px){.footer-grid{grid-template-columns:1fr}.footer-identity,.footer-column:last-child{grid-column:auto}.studio-copy h1{font-size:54px}.footer-lead{align-items:flex-start}.footer-lead>p{max-width:150px}}
/* Interaction finishing and tablet spacing. */
#suspension-view:focus-visible{outline:2px solid #bd3427;outline-offset:-12px;border-radius:24px}
.button:focus-visible,.service-link:focus-visible,.floating-contact:focus-visible{outline:3px solid #a42d22;outline-offset:4px}
.footer-column a:focus-visible,.footer-bottom button:focus-visible{outline:2px solid #f49c90;outline-offset:5px}
@media(min-width:801px) and (max-width:1100px){.service-card{padding:24px}.service-card h3{font-size:26px}.service-link{gap:8px;font-size:13px}.case-study{gap:36px;grid-template-columns:.8fr 1.2fr}.case-details{padding:28px}.case-details h4{font-size:30px}.case-details dl{gap:18px}.about-copy h2{font-size:46px}.why-intro h2{font-size:46px}.final-grid h2{font-size:54px}}


.floating-contact{background:#bd3024;border-color:#d85448;color:#fff}.floating-contact:hover{background:#a8271d}.floating-contact svg{stroke:#fff}
