/* 3D FITTING: page-local rules, preserving the shared site frame. */
.os-fitting .sub_top{background:#000;color:#fff;padding-bottom:0}
.os-fitting .sub_top .revision-display{color:#fff;font-size:clamp(40px,10.42vw,200px)}
.fit-main figure{margin:0}.fit-main a:focus-visible,.fit-main button:focus-visible{outline:3px solid #587fff;outline-offset:5px}
.fit-main .fit-hero{padding:0 0 64px;overflow:clip}
.fit-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:center;min-height:620px}
.fit-main .fit-hero-copy h2{font-size:clamp(40px,4.1vw,79px);line-height:1.28;letter-spacing:-.06em;margin-bottom:34px}
.fit-main .fit-hero-copy>p{font-size:calc(clamp(16px,1.22vw,23px) + 2px);max-width:590px}
.fit-main .fit-lead-time{color:#c0c0c0;margin-top:12px}
.fit-hero-copy .os-actions{margin:40px 0 0;gap:16px;max-width:620px}
.fit-hero-copy .os-button{font-size:16px;gap:16px;padding:16px 22px}
.fit-main .fit-video{position:relative;justify-self:center;width:min(100%,470px);margin-top:-40px;line-height:0}
.fit-video video{display:block;width:100%;height:650px;max-height:70vw;object-fit:contain;background:#000}
.fit-main .fit-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;margin:0 0 42px;padding:0}
.fit-main .fit-steps>li{position:relative;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #b9b9b9;padding:0;min-width:0}
.fit-steps>li:not(:last-child)::after{content:'›';position:absolute;right:-17px;top:43%;font-size:26px;color:#777}
.fit-step-copy{padding:22px 18px 30px}
.fit-main .fit-step-number{display:inline-flex;justify-content:center;align-items:center;width:28px;height:28px;font:600 16px/1 termina,sans-serif;border-radius:50%;background:#111;color:#fff;vertical-align:middle;margin-right:6px}
.fit-main .fit-steps h3{display:inline;font-size:calc(clamp(17px,1.3vw,24px) + 2px);margin:0;vertical-align:middle}
.fit-main .fit-steps .fit-step-copy p{font-size:calc(clamp(14px,1vw,18px) + 2px);margin-top:22px;line-height:1.85}
.fit-main .fit-steps .fit-duration{margin:0;padding:8px 18px;background:#ededed;border-top:1px solid #c7c7c7;font-size:16px}
.fit-process-details{display:grid;grid-template-columns:1fr 1.45fr;gap:30px}
.fit-process-details>div{padding:30px;border:1px solid #c7c7c7;min-width:0}
.fit-main .fit-process-details h3{font-size:24px;margin-bottom:24px}
.fit-preparation ul{padding-left:20px;list-style:disc}
.fit-preparation li{margin-bottom:20px}.fit-preparation li:last-child{margin-bottom:0}
.fit-main .fit-preparation li,.fit-main .fit-preparation li p,.fit-main .fit-reason p{font-size:18px;line-height:1.9}
.fit-preparation li span{font-size:16px;color:#595959}
.fit-main .fit-preparation li p{font-size:16px;color:#595959;margin-top:7px}
.fit-main .fit-note{font-size:15px;line-height:1.9;margin-top:28px}
.fit-reason-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center}
.fit-reason-grid p+p{margin-top:18px}.fit-reason-grid img{max-height:300px;object-fit:contain}
.fit-main .fit-reason figcaption{color:#595959;font-size:14px;text-align:center}
.fit-main .fit-section-intro{margin:-26px 0 42px;color:#c7c7c7}
.fit-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.fit-three>*{min-width:0}.fit-main .fit-three h3{font-size:clamp(20px,1.4vw,26px);margin-bottom:12px}
.fit-main .fit-three p{font-size:16px;line-height:1.9}
.fit-zoom{position:relative;display:block;width:100%;height:100%;border:0;background:transparent;padding:12px 12px 32px;cursor:zoom-in;color:inherit;font:inherit}
.fit-zoom img{display:block;width:100%;height:100%;object-fit:contain}
.fit-zoom>span{position:absolute;right:10px;bottom:10px;font-size:12px;line-height:1.5;padding:0;background:transparent;color:inherit;border:0}
.fit-case-grid .fit-zoom,.fit-pending{height:450px}
.fit-main .fit-case-grid figcaption{color:#c7c7c7;margin-top:26px}
.fit-main .fit-case-grid h3{color:#fff}
.fit-case-grid figure{position:relative}
.fit-case-grid figure:not(:last-child)::after{content:'›';position:absolute;right:-24px;top:200px;color:#999;font-size:32px}
.fit-pending{display:flex;justify-content:center;align-items:center;background:#111;color:#aaa;text-align:center;font-size:19px;line-height:1.8;border:1px solid #292929}
.fit-deliverable-media{height:310px;margin-bottom:28px;background:#f5f5f5}
.fit-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.fit-main .fit-caption{font-size:13px;color:#595959;margin-top:14px}
.fit-main .fit-wide-note{border-top:1px solid #d0d0d0;padding-top:24px;margin-top:40px;color:#595959}
.fit-main .fit-gray{background:#f2f2f2}
.fit-check-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:5vw;align-items:center}
.fit-check-images{height:590px;gap:12px}
.fit-check-images .fit-zoom{padding:0 0 28px}
.fit-check-list{padding:0;margin:0;list-style:none}
.fit-check-list li{display:flex;gap:16px;margin-bottom:20px}
.fit-check-list li>span{font-size:26px;line-height:1.4}
.fit-check-list strong{font-size:20px;font-weight:600}
.fit-main .fit-check-list p{font-size:17px;line-height:1.7;color:#595959}
.fit-main .fit-swatch-note{font-size:17px;display:flex;gap:12px;align-items:center;margin-top:22px;justify-content:center}
.fit-swatch-note span{font-size:26px}
.fit-main .fit-confirm{font-weight:600;font-size:18px;margin-top:34px;border-top:1px solid #bbb;padding-top:24px}
.fit-reorder-cards article{background:#fff;color:#111;padding:30px;display:flex;flex-direction:column}
.fit-main .fit-reorder-cards h3{font-size:25px}.fit-reorder-cards h3 span{font:500 15px termina,sans-serif;display:block;margin-bottom:18px;color:#595959}
.fit-reorder-cards ol{list-style:decimal;padding-left:23px}.fit-main .fit-reorder-cards li{font-size:18px}
.fit-main .fit-card-foot{font-size:14px;color:#595959;margin-top:30px}
.fit-main .fit-reorder-note{margin-top:32px;background:#fff;color:#111;padding:16px 24px}
.fit-reorder-note .os-text-link{margin-left:14px;padding:0}
.fit-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.fit-faq-grid>div{border-top:1px solid #bcbcbc;padding:24px 0}
.fit-main .fit-faq-grid dt{font-size:21px;font-weight:700;margin-bottom:14px}
.fit-main .fit-faq-grid dd{font-size:18px;line-height:1.9;margin:0;color:#444}
.fit-main .fit-faq-grid .os-text-link{font-size:16px;min-height:44px}
@media(min-width:1600px){.fit-hero-grid{min-height:720px}.fit-video video{height:760px}.fit-main .fit-video{width:min(100%,560px);margin-top:-75px}.fit-case-grid .fit-zoom,.fit-pending{height:520px}.fit-case-grid figure:not(:last-child)::after{top:245px}.fit-deliverable-media{height:350px}}
@media(max-width:1200px) and (min-width:1025px){.fit-step-copy{padding:18px 12px}.fit-main .fit-step-number{display:flex;margin-bottom:12px}.fit-process-details{grid-template-columns:1fr 1.2fr}.fit-process-details>div{padding:24px}.fit-reason-grid{grid-template-columns:1fr}.fit-reason-grid img{height:220px}.fit-check-images{height:450px}}
@media(max-width:1024px){
 .os-fitting .sub_top .revision-display{font-size:10.42vw}
 .fit-hero-grid{grid-template-columns:1fr;min-height:0;gap:24px}
 .fit-main .fit-hero{padding:24px 0 32px}.fit-main .fit-hero-copy h2{font-size:clamp(36px,6.5vw,62px);margin-bottom:26px}
 .fit-main .fit-hero-copy>p{font-size:19px}.fit-hero-copy .os-actions{margin-top:30px;max-width:none}
 .fit-main .fit-video{margin:0;width:min(100%,360px,39.375svh)}.fit-video video{height:auto;max-height:none;aspect-ratio:9/16}
 .fit-main .fit-steps{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.fit-step-copy{padding:24px}.fit-main .fit-steps h3{font-size:24px}.fit-main .fit-steps .fit-step-copy p{margin-top:16px;font-size:18px}.fit-main .fit-steps .fit-duration{padding:10px 24px}
 .fit-steps>li:not(:last-child)::after{content:'↓';right:auto;left:50%;top:auto;bottom:-26px;font-size:18px;line-height:25px}
 .fit-process-details,.fit-three,.fit-check-grid,.fit-faq-grid{grid-template-columns:1fr;gap:36px}
 .fit-process-details>div{padding:26px}.fit-reason-grid{grid-template-columns:1fr}.fit-reason-grid img{width:auto;max-width:100%;height:auto;max-height:min(85vw,330px);margin:0 auto}
 .fit-main .fit-section-intro{margin-top:-12px;margin-bottom:34px;font-size:16px}
 .fit-main .fit-zoom{height:auto;padding:0 0 26px}.fit-main .fit-zoom img{width:auto;max-width:100%;height:auto;max-height:min(100vw,440px);margin:0 auto}.fit-zoom>span{right:0;bottom:0}.fit-pending{height:auto;min-height:120px;padding:24px}.fit-case-grid figure:not(:last-child)::after{display:none}
 .fit-main .fit-case-grid figcaption{margin-top:20px}.fit-case-grid{gap:32px}
 .fit-deliverable-media{height:auto;margin-bottom:20px;padding:12px}.fit-deliverable-media.fit-pair{align-items:center}.fit-deliverables{gap:32px}
 .fit-check-images{height:auto;align-items:center}.fit-main .fit-swatch-note{font-size:16px;justify-content:flex-start}.fit-check-grid{gap:36px}
 .fit-reorder-cards article{padding:26px}.fit-reorder-cards{gap:20px}.fit-main .fit-reorder-note{padding:20px}.fit-reorder-note .os-text-link{display:flex;width:fit-content;margin:10px 0 0}
 .fit-faq-grid{gap:0}.fit-main .fit-faq-grid dt{font-size:20px}.fit-main .fit-faq-grid dd{font-size:17px}
 .fit-main .os-cta h2{font-size:clamp(25px,4vw,40px)}
}
@media(max-width:480px){.fit-main .os-section{padding-top:44px;padding-bottom:44px}.fit-main .fit-hero{padding-top:20px;padding-bottom:28px}.fit-main h2{margin-bottom:24px}.fit-check-images{gap:8px}.fit-main .fit-process-details h3{font-size:22px}.fit-process-details>div{padding:22px}.fit-check-list li{gap:12px}.fit-main .fit-swatch-note{align-items:flex-start}.fit-main .fit-three h3{font-size:21px}.fit-main .fit-hero-copy>p{font-size:18px}}

/* Review feedback: scoped type adjustments and equal, contained image frames. */
.fit-main #fitting-process .fit-note,
.fit-main .fit-wide-note,
.fit-main .fit-reorder-note{font-size:17px}
.fit-main #fitting-process .fit-preparation>ul>li{font-size:18px}
.fit-main #fitting-process .os-text-link,
.fit-main .fit-reorder-note .os-text-link{font-size:17px}
.fit-main .fit-reorder-cards p{font-size:18px}
.fit-main .fit-reorder-cards .fit-card-foot{font-size:18px}
.fit-main .fit-reorder-cards ol{padding-left:0;list-style-position:inside}
.fit-main .fit-swatch-note span{color:#d52228}
.fit-check-grid>div{min-width:0}
.fit-main .fit-pair{grid-template-rows:minmax(0,1fr);align-items:stretch}
.fit-main .fit-pair .fit-zoom{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;min-width:0;min-height:0;height:100%;padding:12px;overflow:hidden}
/* Use the wider source's aspect ratio for both image canvases so the
   narrower front view does not grow taller under object-fit:contain. */
.fit-main .fit-deliverable-media.fit-pair{--fit-pair-ratio:1767/2000}
.fit-main .fit-check-images.fit-pair{--fit-pair-ratio:1718/2000}
.fit-main .fit-pair .fit-zoom img{width:100%;height:auto;aspect-ratio:var(--fit-pair-ratio);max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain;align-self:center;margin:0}
.fit-main .fit-pair .fit-zoom>span{position:static;justify-self:end}
.fit-main .fit-check-images .fit-zoom>span{font-size:14px}
@media(max-width:1024px){
 .fit-main .fit-deliverable-media.fit-pair{height:clamp(220px,50vw,350px)}
 .fit-main .fit-check-images.fit-pair{height:clamp(260px,60vw,500px)}
}
@media(max-width:480px){.fit-main .fit-reorder-cards h3{font-size:23px}.fit-main #fitting-process .os-text-link,.fit-main .fit-reorder-note .os-text-link{font-size:16px}}
