/* Clinic photographs, treatment resources and an accessible finite panorama. */
.assessment-step .step-photo,.exercise-step .step-photo{height:auto;background:var(--paper)}
.assessment-step .step-photo{aspect-ratio:3/2}
.exercise-step .step-photo{aspect-ratio:2/3}
.assessment-step .step-photo img,.exercise-step .step-photo img{display:block;width:100%;height:100%;object-fit:contain;transform:none!important}
.service-visual[data-treatment="quiropraxia"] .service-photo{height:auto;aspect-ratio:4/3}
.service-visual[data-treatment="dor"] .service-photo{height:auto;aspect-ratio:1}
.service-visual[data-treatment="quiropraxia"] .service-image,.service-visual[data-treatment="dor"] .service-image{object-fit:contain}
.patient-story-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,6vw,100px);align-items:center}
.patient-story-heading h2{max-width:570px}
.google-profile-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;margin-top:34px;padding:13px 0;border-bottom:1px solid var(--line);transition:color .3s,border-color .3s}
.google-profile-link:hover{color:#b84000;border-color:currentColor}
.google-profile-link .arrow{font-size:21px;margin-left:4px}
.google-profile-link:hover .arrow{transform:translate(3px,-3px)}
.google-mark{width:22px;height:22px;flex-shrink:0}
.patient-story{position:relative;margin:0;padding:50px;background:var(--paper);border-radius:12px}
.story-quote{display:block;font-family:Georgia,serif;font-size:100px;line-height:.75;color:var(--orange);height:58px;margin-bottom:16px}
.patient-story blockquote{font-size:clamp(29px,3vw,43px);font-weight:500;letter-spacing:-.04em;line-height:1.36;margin:0;max-width:560px;color:var(--ink)}
.patient-story figcaption{display:flex;align-items:center;gap:15px;margin-top:32px;padding-top:28px;border-top:1px solid #dcd9d2}
.story-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e9ded5;color:#963700;font-size:18px;font-weight:600;flex-shrink:0}
.patient-story figcaption strong{display:block;font-size:15px;font-weight:600}
.patient-story figcaption div>span{display:block;font-size:13px;color:var(--muted);margin-top:5px}
.story-source{display:inline-flex;align-items:center;gap:10px;margin-top:25px;font-size:12px;color:var(--muted);text-underline-offset:4px}
.story-source:hover{text-decoration:underline;color:var(--ink)}
.location-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.3fr);gap:44px;align-items:start}
.location-facade{margin:0;min-width:0;background:var(--paper);border-radius:12px;overflow:hidden}
.location-facade img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
.location-facade figcaption{display:flex;justify-content:space-between;gap:15px;padding:19px 23px;font-size:13px;font-weight:600}
.location-facade figcaption span{font-weight:400;color:var(--muted)}
.location-content{min-width:0}
.location-map{width:100%;height:clamp(310px,29vw,430px);overflow:hidden;border-radius:12px;background:var(--paper);border:1px solid var(--line)}
.location-map iframe{display:block;width:100%;height:100%;border:0}
.location-details{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;padding:29px 0 27px;border-bottom:1px solid var(--line)}
.location-label{font-size:11px;letter-spacing:.1em;font-weight:700;color:var(--ink);margin:0 0 12px}
.location-details address,.location-details p:not(.location-label),.location-details a{font-size:15px;line-height:1.8;font-style:normal;color:var(--muted)}
.location-details a{display:inline-block;margin-top:5px;color:var(--ink);text-underline-offset:4px}
.location-details a:hover{text-decoration:underline}
.location-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;padding-top:25px}
.location-actions .button{font-size:14px;padding:18px 24px;gap:16px}
.location-actions .text-link{font-size:14px}
@media(min-width:1001px) and (max-width:1200px){.nav{gap:14px}.nav a{font-size:12px}.header-actions .button{padding-inline:16px}}
@media(max-width:1000px){.patient-story-layout{gap:32px}.patient-story{padding:34px}.patient-story blockquote{font-size:32px}.location-grid{gap:30px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.location-map{height:320px}.location-details{grid-template-columns:1fr;gap:20px}.location-actions{gap:18px}.location-facade{align-self:center}}
@media(max-width:700px){.patient-story-layout{grid-template-columns:1fr;gap:30px}.patient-story-heading h2{max-width:450px}.patient-story{padding:32px 27px}.patient-story blockquote{font-size:32px}.story-quote{font-size:86px;height:48px}.google-profile-link{margin-top:21px;font-size:13px}.patient-story figcaption{margin-top:26px;padding-top:24px}.location-grid{grid-template-columns:1fr;gap:32px}.location-content{order:1}.location-facade{order:2;width:100%;max-width:360px;justify-self:center}.location-map{height:350px;border-radius:9px}.location-details{grid-template-columns:1fr 1fr;gap:20px;padding:24px 0}.location-details address,.location-details p:not(.location-label),.location-details a{font-size:13px}.location-label{font-size:10px}.location-actions{gap:22px;padding-top:22px}.location-actions .button{font-size:13px;padding:17px 19px;gap:12px}.location-actions .text-link{font-size:13px}.location-facade figcaption{padding:17px 20px;font-size:12px}}
@media(max-width:380px){.location-details{grid-template-columns:1fr;gap:20px}.location-actions{align-items:start;flex-direction:column;gap:14px}.patient-story blockquote{font-size:29px}}
.benefits-shade{background:linear-gradient(180deg,rgba(18,22,20,.64),rgba(18,22,20,.76))}
.care-message{min-height:345px;padding-top:30px}
.care-message .review-chapter{margin-top:0;margin-bottom:26px;font-size:12px;letter-spacing:.12em}
.care-message h3{font-size:29px;margin-bottom:22px;max-width:300px}
.care-message-copy{font-size:17px;line-height:1.8;color:var(--muted)}
.treatment-showcase{margin-top:88px;padding-top:58px;border-top:1px solid var(--line)}
.treatment-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:32px}
.treatment-heading h3{font-size:clamp(28px,2.5vw,37px);max-width:460px}
.treatment-heading p{font-size:16px;line-height:1.7;max-width:340px}
.treatment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.treatment-image{aspect-ratio:1/1.08;overflow:hidden;border-radius:10px;background:var(--paper)}
.treatment-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.treatment-card:hover img{transform:scale(1.035)}
.treatment-card figcaption{padding:20px 0 0}
.treatment-card h4{font-size:23px;line-height:1.3;letter-spacing:-.03em;font-weight:500;margin:0}
.panorama{margin-top:70px;padding-top:42px;border-top:1px solid var(--line);min-width:0}
.panorama-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-bottom:25px}
.panorama-heading .eyebrow{margin-bottom:7px}
.panorama-heading h3{font-size:32px;margin-bottom:9px}
.panorama-heading p:not(.eyebrow){font-size:15px}
.panorama-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}
.panorama-control{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:27px;line-height:1;transition:background .25s,border-color .25s}
.panorama-control:hover:not(:disabled){background:var(--paper);border-color:#88877f}
.panorama-control:disabled{opacity:.35}
.panorama-zoom{font-size:14px;min-width:44px;text-align:center;font-variant-numeric:tabular-nums}
.panorama-reset{border:0;background:transparent;font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:10px;margin-left:8px}
.panorama-viewport{position:relative;height:clamp(280px,38vw,440px);width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;cursor:grab;border-radius:12px;background:var(--paper);scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.panorama-viewport::-webkit-scrollbar{display:none}
.panorama-viewport:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.panorama-viewport.is-dragging{cursor:grabbing}
.panorama-scene{position:relative;height:100%;width:max(100%,1150px);min-width:100%}
.panorama-image{position:absolute;left:0;top:50%;width:100%;height:auto;max-width:none;transform:translateY(-50%);pointer-events:none;-webkit-user-drag:none}
.panorama-navigation{display:flex;align-items:center;gap:18px;padding-top:22px}
.panorama-navigation>span{font-size:12px;color:var(--muted)}
.panorama-position{display:block;flex:1;width:100%;min-width:0;margin:0;height:30px;accent-color:var(--orange);cursor:pointer}
.panorama-position:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:5px}
@media(max-width:900px){.treatment-grid{gap:18px}.treatment-heading{align-items:start;gap:26px}.treatment-card h4{font-size:20px}}
@media(max-width:700px){.treatment-showcase{margin-top:56px;padding-top:36px}.treatment-heading{display:block;margin-bottom:27px}.treatment-heading h3{font-size:29px;margin-bottom:17px}.treatment-heading p{font-size:15px}.treatment-grid{grid-template-columns:1fr;gap:32px}.treatment-image{aspect-ratio:1/1.03}.treatment-card figcaption{padding-top:15px}.treatment-card h4{font-size:24px}.panorama{margin-top:44px;padding-top:32px}.panorama-heading{align-items:start;flex-direction:column;gap:20px}.panorama-heading h3{font-size:29px}.panorama-tools{width:100%}.panorama-reset{margin-left:auto}.panorama-viewport{height:310px;border-radius:9px}.panorama-navigation{gap:12px;padding-top:14px}.care-message h3{font-size:27px}.care-message-copy{font-size:16px}.benefits-bg img{object-position:60% 50%!important}}
