/* 제품 페이지 공통(Fixtures · Surgical Kits): Product Hero · 규격표 · 관련 제품 + Fixtures 전용 섹션 */
/* ---------- Product Hero: 제품 소개 + 대표 이미지 + 핵심 수치 ---------- */
.product-hero { padding-block:64px }
.product-hero__intro { display:grid; grid-template-columns:minmax(0,632fr) minmax(0,744fr); align-items:center; gap:64px }
.product-hero__copy { display:grid; justify-items:start; gap:24px }
.product-hero__title { font:700 112px/108px var(--font-head) }
.product-hero__subtitle { font-size:28px; font-weight:700; line-height:42px }
.product-hero__description { color:var(--text-body) }
.product-hero__actions { display:flex; flex-wrap:wrap; gap:16px; width:100% }
.product-hero__figure { display:flex; align-items:center; justify-content:center; height:620px; padding:40px; background:var(--surface) }
.product-hero__figure>img { width:auto; height:100%; object-fit:contain }
.product-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; margin-top:40px; padding-top:40px; border-top:1px solid var(--border); font-family:var(--font-head); font-weight:500 }
.product-metrics strong { display:block; font-size:48px; font-weight:500; line-height:52px }
.product-metrics span { display:block; margin-top:4px; font-size:18px; line-height:24px; color:var(--text-body) }

/* ---------- Fixtures 02. Design Features: 단면 이미지 + 특징 4개 + 연결선 ---------- */
.product-features { background:#101113; color:white }
.product-features .eyebrow { color:var(--color-red) }
/* 시안 1440×900 좌표를 비율로 유지합니다. cqw는 .anatomy 폭의 1%입니다. */
.anatomy { position:relative; container-type:inline-size; display:grid; grid-template-columns:25fr 41.667fr 25fr; grid-template-rows:44.444% 55.556%; column-gap:4.167%; aspect-ratio:1440/900 }
.anatomy__figure { grid-column:2; grid-row:1 / span 2; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; height:62.5cqw; text-align:center }
.anatomy__figure img { flex:none; width:auto; height:58.056cqw; max-height:calc(100% - 48px) }
.anatomy__figure figcaption { font:500 18px/24px var(--font-head) }
.anatomy__features { display:contents }
.anatomy__feature { align-self:start; padding-top:24px; border-top:1px solid white }
.anatomy__feature:nth-child(-n+2) { margin-top:5.556cqw }
.anatomy__feature:nth-child(odd) { grid-column:1 }
.anatomy__feature:nth-child(even) { grid-column:3 }
.anatomy__feature:nth-child(n+3) { grid-row:2; margin-top:5.556cqw }
.anatomy__feature h3 { font:500 36px/42px var(--font-head) }
.anatomy__feature p { margin-top:16px }
.anatomy__leaders { position:absolute; inset:0; pointer-events:none }
.anatomy__leaders img { position:absolute; max-width:none; height:auto }
.anatomy__lines { left:26.111%; top:18.889%; width:47.778% }
.anatomy__dots { left:39.931%; top:18.444%; width:20.972% }

/* ---------- Fixtures 02-2. Clinical Applications ---------- */
.clinical { margin-top:48px; padding-top:48px; border-top:1px solid rgba(128,128,128,.55) }
.clinical .eyebrow { color:white; letter-spacing:1.2px }
.clinical__title { margin-top:16px; font-size:28px; line-height:42px }
.clinical__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px; margin-top:40px }
.clinical-card { display:flex; flex-direction:column; gap:24px }
.clinical-card__head { display:flex; align-items:center; gap:16px; font-family:var(--font-head); font-weight:500 }
.clinical-card__number { flex:none; font-size:18px; line-height:24px; color:var(--color-red) }
.clinical-card__head h4 { font-size:28px; font-weight:500; line-height:36px }
.clinical-card__image { position:relative; aspect-ratio:448/280; overflow:hidden }
.clinical-card__image img { position:absolute; max-width:none; object-fit:contain }
/* 브로슈어 원본의 원형 안쪽을 시안과 같은 위치로 크롭 */
.clinical-card__image--soft-bone img { left:-26.103%; top:-96.786%; width:152.455%; height:250.357% }
.clinical-card__image--sinus img { left:-24.616%; top:-66.461%; width:149.423%; height:245.539% }
.clinical-card__image--socket img { left:-20.636%; top:-64.871%; width:141.273%; height:232.145% }
.clinical-card__lead { font-size:20px; font-weight:700; line-height:30px }
.clinical-card__body { margin-top:-8px }

/* ---------- Fixtures 03. VUV Surface Technology ---------- */
.vuv-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:48px }
.vuv-heading h2 { flex:none }
.vuv-heading p { max-width:640px; color:var(--text-body) }
.vuv-proof { display:grid; grid-template-columns:minmax(0,640fr) minmax(0,704fr); align-items:center; gap:96px; margin-top:48px }
.vuv-visual { position:relative; container-type:inline-size; aspect-ratio:640/720; overflow:hidden; background:#101113; color:white }
.vuv-visual__light { position:absolute; inset:0; width:100%; height:100% }
.vuv-visual__fixture { position:absolute; left:35%; top:12.222%; width:37.375%; height:74.111%; overflow:hidden }
.vuv-visual__fixture img { position:absolute; left:-5.213%; top:-18.187%; width:190.074%; height:124.305%; max-width:none; object-fit:contain }
.vuv-visual__label { position:absolute; font:500 max(10px,2.8125cqw)/1.33 var(--font-head); opacity:.9 }
.vuv-visual__label--title { left:5%; top:8.889%; width:32.5%; font-size:max(14px,4.375cqw); line-height:1.29 }
.vuv-visual__label--activation { left:5%; top:84.444%; width:35% }
.vuv-visual__label--removal { left:73.75%; top:20.833%; width:21.25% }
.vuv-visual__label--surface { left:73.75%; top:75.556%; width:21.25% }
.vuv-visual__label--vuv { left:35%; top:90.556%; font-size:max(14px,4.375cqw); opacity:.6 }
.vuv-detail { display:grid; gap:24px }
.vuv-detail h3 { font-size:28px; line-height:42px }
.vuv-effect { display:flex; align-items:center; gap:32px; padding-bottom:24px; border-bottom:1px solid var(--border) }
.vuv-effect strong { flex:none; font:700 64px/68px var(--font-head); color:var(--color-red) }
.vuv-effect h4 { font-size:20px; line-height:30px }
.vuv-effect p { margin-top:8px; font-size:14px; line-height:20px; color:var(--text-body) }
.vuv-steps-list li { display:flex; align-items:center; gap:24px; min-height:72px; padding-block:16px; font-size:20px; font-weight:700; line-height:30px }
.vuv-steps-list__number { flex:none; min-width:32px; font:500 28px/36px var(--font-head); color:var(--text-body) }
.vuv-steps-list img { flex:none; width:40px; height:40px }
.vuv-evidence { display:grid; grid-template-columns:repeat(2,minmax(0,640fr)); align-items:center; justify-content:space-between; gap:64px; margin-top:64px }
.vuv-evidence h3 { margin-top:16px; font-size:28px; line-height:42px }
.vuv-evidence__copy>p:last-child { margin-top:16px; color:var(--text-body) }
.stability-charts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px }
/* 원본 한 장에 그래프 두 개가 있어 절반씩 잘라 표시합니다. 높이는 언어별 이미지 비율을 따릅니다. */
.stability-chart { overflow:hidden; background:white }
.stability-chart img { width:200%; max-width:none; height:auto }
.stability-chart--vuv img { margin-left:-100% }
.vuv-evidence figcaption { margin-top:16px; font-size:14px; line-height:20px; text-align:right; color:var(--text-body) }

/* ---------- Fixtures 04. Narrow & Regular Lineup ---------- */
.lineup { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px }
.lineup-panel { display:flex; flex-direction:column; gap:32px; padding:40px; background:var(--surface) }
.lineup-panel__head { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:32px; border-bottom:1px solid var(--border); font-family:var(--font-head); font-weight:500 }
.lineup-panel__head h3 { font-size:48px; font-weight:500; line-height:52px }
.lineup-panel__head span { font-size:18px; line-height:24px; color:var(--text-body) }
.lineup-panel__body { display:flex; align-items:center; gap:48px }
.lineup-panel__fixture { display:flex; flex:none; align-items:center; justify-content:center; width:184px; height:300px }
.lineup-panel__fixture img { width:auto; height:100%; object-fit:contain }
.lineup-panel__fixture--narrow img { height:280px }
.lineup-panel__specs { display:grid; flex:1; gap:24px; min-width:0 }
.lineup-panel__hex { display:flex; align-items:center; gap:24px }
.lineup-panel__hex img { flex:none; width:88px; height:88px }
.lineup-panel__hex dt { font:500 18px/24px var(--font-head); color:var(--text-body) }
.lineup-panel__hex dd { margin:4px 0 0; font:500 48px/52px var(--font-head) }
.lineup-panel__spec dt { font-size:13px; font-weight:500; line-height:20px; color:var(--text-body) }
.lineup-panel__spec dd { margin:4px 0 0; font:500 28px/36px var(--font-head) }
.lineup-panel__summary { padding-top:32px; border-top:1px solid var(--border) }
.lineup-panel__note { margin-top:-16px; font-size:12px; line-height:20px; color:var(--text-body) }

/* ---------- 규격표: 좁은 화면은 가로 스크롤 + 첫 열 고정 ---------- */
.product-spec { background:var(--surface) }
.product-spec .section-heading { gap:40px; margin-bottom:40px }
.spec-guide { display:flex; align-items:flex-start; justify-content:space-between; gap:32px; margin-bottom:40px; color:var(--text-body) }
.spec-guide__legend { flex:none; font-size:12px; line-height:20px }
.table-scroll__hint { margin-bottom:12px; font-size:13px; font-weight:500; line-height:20px; color:var(--text-technical) }
.table-wrap { position:relative }
.table-wrap.is-overflowing::after { content:""; position:absolute; top:0; right:0; bottom:0; width:40px; background:linear-gradient(90deg,#1c1b2900,#1c1b2926); pointer-events:none }
/* position:relative: 표 안 .sr-only가 스크롤 영역 밖으로 빠져 페이지 가로폭을 늘리지 않도록 합니다. */
.table-scroll { position:relative; overflow-x:auto; overscroll-behavior-x:contain }
.spec-table { width:100%; min-width:820px; table-layout:fixed; border-collapse:separate; border-spacing:0; background:white; text-align:center }
.spec-table__col--diameter { width:13.333% }
.spec-table__col--hex { width:6.667% }
.spec-table thead th { height:64px; padding:8px; background:var(--color-black); color:white; font-size:13px; font-weight:500; line-height:20px }
.spec-table thead .spec-table__length { font:500 23px/36px var(--font-head) }
.spec-table__group th { height:52px; padding:0 24px; background:var(--surface); font:500 18px/24px var(--font-head); color:var(--text-technical); text-align:left; white-space:nowrap }
.spec-table__group span { position:sticky; left:24px }
.spec-table tbody th[scope="row"],.spec-table tbody td { height:88px; padding:8px; border-bottom:1px solid var(--border); font-family:var(--font-head); font-weight:500; white-space:nowrap }
.spec-table tbody th[scope="row"] { font-size:28px; line-height:36px }
.spec-table tbody td { font-size:18px; line-height:24px; color:var(--text-body) }
.spec-table tbody .spec-table__hex { font-size:23px; line-height:36px }
/* 첫 열 고정 */
.spec-table thead th:first-child,.spec-table tbody th[scope="row"] { position:sticky; left:0; z-index:1; background:var(--color-black) }
.spec-table tbody th[scope="row"] { background:white }

/* ---------- 관련 제품 ---------- */
.related-product { padding-block:88px; }
.related-product .eyebrow { color:var(--text-body); letter-spacing:1.2px }
.related-product__link { display:flex; align-items:center; justify-content:space-between; gap:48px; margin-top:32px; padding-bottom:32px; border-bottom:1px solid var(--border) }
.related-product__copy { display:grid; justify-items:start }
.related-product__copy h2 { font:700 64px/68px var(--font-head) }
.related-product__copy p { margin-top:12px; font-size:14px; line-height:20px; color:var(--text-body) }
.related-product__copy .button { min-width:min(260px,100%); margin-top:32px }
.related-product__media { position:relative; display:grid; flex:none; place-items:center; width:448px; max-width:100%; aspect-ratio:448/288; padding:32px; background:var(--surface) }
.related-product__media>img { position:absolute; inset:32px; width:calc(100% - 64px); height:calc(100% - 64px); max-width:none; object-fit:contain }
.related-product__link:focus-visible .button { background:var(--surface) }
@media(hover:hover) {
    .related-product__link:hover .button { background:var(--surface) }
}

/* ---------- 반응형: 1599px 이하 ---------- */
@media(max-width:1599px) {
    .product-hero__title { font-size:88px; line-height:.96 }
    .product-hero__figure { height:540px }
    .anatomy__feature h3 { font-size:30px; line-height:36px }
    .anatomy__feature p { margin-top:12px; font-size:15px; line-height:23px }
    .clinical__grid { gap:32px }
    .vuv-heading h2 { flex:0 1 auto }
    .vuv-proof { gap:48px }
    .vuv-effect { gap:24px }
    .stability-charts { gap:24px }
    .lineup { gap:24px }
    .lineup-panel { padding:32px }
    .lineup-panel__body { gap:24px }
    .lineup-panel__fixture { width:120px }
    .related-product__copy h2 { font-size:56px; line-height:1.1 }
}

/* ---------- 반응형: 1199px 이하 (태블릿) ---------- */
@media(max-width:1199px) {
    .product-hero { padding-block:48px }
    .product-hero__intro { grid-template-columns:minmax(0,1fr); gap:40px }
    .product-hero__figure { height:460px }
    .product-metrics { gap:24px }
    .product-metrics strong { font-size:40px; line-height:44px }
    .product-metrics span { font-size:16px; line-height:22px }
    .anatomy__figure figcaption { font-size:14px; line-height:20px }
    .anatomy__feature { padding-top:16px }
    .anatomy__feature h3 { font-size:24px; line-height:28px }
    .anatomy__feature p { margin-top:8px; font-size:14px; line-height:21px }
    .clinical__title { font-size:24px; line-height:1.5 }
    .clinical__grid { gap:24px }
    .clinical-card { gap:16px }
    .clinical-card__head h4 { font-size:22px; line-height:28px }
    .clinical-card__lead { font-size:17px; line-height:26px }
    .clinical-card__body { font-size:14px; line-height:22px }
    .vuv-heading { flex-direction:column; gap:24px }
    .vuv-proof { grid-template-columns:minmax(0,1fr); margin-top:24px }
    .vuv-visual { width:100%; max-width:640px; margin-inline:auto }
    .vuv-evidence { grid-template-columns:minmax(0,1fr); gap:32px }
    .lineup-panel { padding:24px; gap:24px }
    .lineup-panel__head { padding-bottom:24px }
    .lineup-panel__head h3 { font-size:40px; line-height:44px }
    .lineup-panel__body { flex-direction:column; align-items:stretch }
    .lineup-panel__fixture { width:100%; height:260px }
    .lineup-panel__fixture--narrow img { height:100% }
    .lineup-panel__summary { padding-top:24px }
    .lineup-panel__note { margin-top:-12px }
    .spec-guide { margin-bottom:32px }
    .related-product { padding-block:64px }
    .related-product__media { width:44%; padding:24px }
    .related-product__media>img { inset:24px; width:calc(100% - 48px); height:calc(100% - 48px) }
    .related-product__copy h2 { font-size:48px }
}

/* ---------- 반응형: 767px 이하 (모바일) ---------- */
@media(max-width:767px) {
    .product-hero { padding-block:32px 40px }
    .product-hero__intro { gap:32px }
    .product-hero__copy { gap:16px }
    .product-hero__title { font-size:clamp(52px,15vw,88px) }
    .product-hero__subtitle { font-size:22px; line-height:1.5 }
    .product-hero__actions { width:100%; gap:12px }
    .product-hero__actions .button { flex:1 1 150px; min-width:0; padding-inline:16px }
    .product-hero__figure { height:360px; padding:24px }
    .product-metrics { grid-template-columns:minmax(0,1fr); gap:20px; margin-top:32px; padding-top:32px }
    .anatomy { display:block; aspect-ratio:auto }
    .anatomy__leaders { display:none }
    .anatomy__figure { height:auto; margin-bottom:32px }
    .anatomy__figure img { width:62%; height:auto; max-height:none }
    .anatomy__features { display:grid; grid-template-columns:minmax(0,1fr); gap:24px }
    .anatomy__feature:nth-child(n) { grid-column:auto; grid-row:auto; margin-top:0 }
    .anatomy__feature h3 { font-size:28px; line-height:34px }
    .anatomy__feature p { font-size:15px; line-height:23px }
    .clinical { margin-top:40px; padding-top:40px }
    .clinical__title { font-size:22px }
    .clinical__grid { grid-template-columns:minmax(0,1fr); gap:32px; margin-top:32px }
    .clinical-card__head h4 { font-size:26px; line-height:32px }
    .clinical-card__lead { font-size:18px }
    .clinical-card__body { font-size:15px; line-height:24px }
    .vuv-proof { margin-top:8px; gap:32px }
    .vuv-detail h3,.vuv-evidence h3 { font-size:22px; line-height:1.5 }
    .vuv-effect { flex-direction:column; align-items:flex-start; gap:12px }
    .vuv-steps-list li { gap:16px; min-height:60px; padding-block:10px; font-size:16px; line-height:24px }
    .vuv-steps-list__number { font-size:24px; line-height:30px }
    .vuv-steps-list img { width:32px; height:32px }
    .vuv-evidence { margin-top:40px }
    .stability-charts { grid-template-columns:minmax(0,1fr) }
    .stability-chart { width:100%; max-width:288px; margin-inline:auto }
    .vuv-evidence figcaption { font-size:12px; text-align:left }
    .lineup { grid-template-columns:minmax(0,1fr) }
    .spec-guide { flex-direction:column; gap:8px; margin-bottom:24px }
    .spec-table { min-width:760px }
    .spec-table__col--diameter { width:88px }
    .spec-table__col--hex { width:64px }
    .spec-table tbody th[scope="row"] { font-size:22px; line-height:28px }
    .spec-table tbody td { font-size:16px; line-height:22px }
    .spec-table tbody .spec-table__hex { font-size:20px; line-height:28px }
    .spec-table tbody th[scope="row"],.spec-table tbody td { height:72px }
    .related-product { padding-block:56px }
    .related-product__link { flex-direction:column; align-items:stretch; gap:32px; margin-top:24px }
    .related-product__media { width:100% }
    .related-product__copy h2 { font-size:clamp(38px,10vw,48px) }
    .related-product__copy .button { width:100% }
}

/* ---------- Surgical Kit 사진: 투명 PNG + 그림자 (제품 페이지 공통) ---------- */
.kit-photo { position:relative; container-type:inline-size; width:100%; aspect-ratio:880/515.06 }
.kit-photo__image { position:absolute; left:.89%; top:1.51%; width:95.15%; height:92.33%; max-width:none; filter:drop-shadow(0 6px 10px #231f2033) }
.product-hero__figure .kit-photo { width:min(595px,100%) }
.related-product__media .kit-photo { width:min(340px,100%) }

/* ---------- Surgical Kits 02. Kit Overview: 1200px 이상 지시선 도식 ---------- */
.section-heading--tight { gap:32px; margin-bottom:32px }
.kit-overview { background:black; color:white }
.kit-overview .eyebrow { color:white }
.kit-overview__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:48px }
.kit-panel { flex:none; padding:20px 24px; border:1px solid rgba(255,255,255,.32) }
.kit-panel h3 { font:500 28px/36px var(--font-head) }
.kit-panel ul { display:flex; gap:128px; margin-top:16px }
.kit-panel li { width:200px }
.kit-panel img { width:100%; height:71px; object-fit:contain }
.kit-panel strong { display:block; margin-top:4px; font:500 18px/24px var(--font-head) }
.kit-panel span { display:block; margin-top:4px; font-size:14px; line-height:20px }
/* 시안 1440×1220 좌표를 유지하고 sub.js의 --kit-map-scale로 축소합니다. */
.kit-map { position:relative; aspect-ratio:1440/1220 }
.kit-map__canvas { position:absolute; left:0; top:0; width:1440px; height:1220px; transform:scale(var(--kit-map-scale,1)); transform-origin:top left }
.kit-map__photo { position:absolute; left:280px; top:352.47px; width:880px }
.kit-map__leaders { position:absolute; left:0; top:0; width:1440px; height:1220px; max-width:none; pointer-events:none }
.kit-callout { position:absolute; left:var(--x); top:var(--y); display:flex; align-items:center; gap:16px; width:var(--w) }
.kit-callout>img { flex:none; width:44px; height:136px; object-fit:contain }
.kit-callout--wide>img { width:64px }
.kit-callout>div { flex:1; min-width:0 }
.kit-callout h3 { font:500 28px/36px var(--font-head) }
.kit-callout p { margin-top:8px; font-size:14px; line-height:20px }
.kit-callout .kit-callout__codes { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); font-size:13px; line-height:24px }

/* 태블릿 전용 주문 코드 목록 */
.kit-codes { display:none; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 32px; margin:32px 0 0 }
.kit-codes>div { padding-top:16px; border-top:1px solid rgba(255,255,255,.2) }
.kit-codes dt { font:500 20px/26px var(--font-head) }
.kit-codes dd { margin:4px 0 0; font-size:14px; line-height:22px }
.kit-codes__wide { grid-column:1/-1 }
.kit-codes__wide dd { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0 12px }

/* ---------- Surgical Kits 03·04. 기구 목록 ---------- */
.kit-drivers { padding-top:0 }
.instrument-list { border-top:1px solid var(--border) }
.instrument-list--plain { border-top:0 }
.instrument { display:grid; grid-template-columns:minmax(0,393fr) minmax(0,440fr) minmax(0,500fr); align-items:center; gap:40px; min-height:256px; padding-block:32px; border-bottom:1px solid var(--border) }
.instrument__image img { width:100%; height:192px; object-fit:contain }
.instrument__intro h3 { font:500 36px/42px var(--font-head) }
.instrument__intro p { margin-top:16px }
.instrument__spec { font-size:14px; line-height:20px }
.instrument__spec dl { margin:0 }
.instrument__spec dl>div { display:flex; gap:8px }
.instrument__spec dt { flex:none }
.instrument__spec dd { margin:0 }
.instrument__spec p { margin-top:20px }
.instrument__spec dl+p { margin-top:8px }
.instrument-table { padding-block:0 }
.instrument-list--plain .instrument-table { margin-top:32px }
.instrument-list--plain .instrument-table+.instrument { margin-top:32px; border-top:0 }
.spec-table.spec-table--drill { min-width:720px }
.spec-table.spec-table--driver { min-width:560px }
.spec-table tbody .spec-table__color th,.spec-table tbody .spec-table__color td { height:52px; background:var(--surface); font-size:18px; line-height:24px; color:var(--text-body) }

@media(max-width:1599px) {
    .instrument { gap:32px }
    .instrument__intro h3 { font-size:32px; line-height:38px }
    .kit-panel ul { gap:48px }
    .kit-panel li { width:170px }
    .kit-panel h3 { font-size:24px; line-height:32px }
}

/* ---------- 태블릿 이하: 지시선 도식을 목록형으로 전환 ---------- */
@media(max-width:1199px) {
    .kit-overview__heading { flex-direction:column; gap:24px }
    .kit-panel { align-self:stretch }
    .kit-panel ul { gap:32px }
    .kit-panel li { flex:1; width:auto; min-width:0 }
    /* 축소되는 도식은 이름을 키워 표시하고, 주문 코드는 아래 .kit-codes로 분리합니다. */
    .kit-callout p,.kit-callout .kit-callout__codes { display:none }
    .kit-callout h3 { font-size:32px; line-height:38px }
    .kit-codes { display:grid }
    .instrument { grid-template-columns:minmax(0,240px) minmax(0,1fr); gap:16px 32px }
    .instrument__image { grid-row:1 / span 2 }
    .instrument__intro h3 { font-size:28px; line-height:34px }
    .instrument__intro p { margin-top:8px; font-size:15px; line-height:23px }
    .instrument__image img { height:176px }
}

@media(max-width:767px) {
    .kit-panel { padding:20px }
    .kit-panel h3 { font-size:22px; line-height:28px }
    .kit-panel ul { gap:20px }
    .kit-map { aspect-ratio:auto; margin-top:32px }
    .kit-map__canvas { position:static; width:auto; height:auto; transform:none }
    .kit-map__photo { position:static; width:100%; margin-inline:auto }
    .kit-map__leaders { display:none }
    .kit-map__list { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; margin-top:32px }
    .kit-callout { position:static; width:auto; padding-top:16px; border-top:1px solid rgba(255,255,255,.2) }
    .kit-callout>img { height:112px }
    .kit-callout h3 { font-size:24px; line-height:30px }
    .kit-callout p { display:block }
    .kit-callout .kit-callout__codes { display:grid }
    .kit-codes { display:none }
    .kit-callout .kit-callout__codes { grid-template-columns:repeat(auto-fill,minmax(84px,1fr)); gap:0 8px }
    .instrument { grid-template-columns:minmax(0,1fr); gap:16px }
    .instrument__image { grid-row:auto }
    .instrument__image img { height:200px }
    .instrument { padding-block:28px }
    .instrument-list--plain .instrument-table+.instrument { margin-top:24px }
}
