.product-page { color:#1b2c45; }
.product-loading { padding-block:100px; }
.product-hero-wrap { background:linear-gradient(135deg,#f6f8fb,#eef5fa); padding-bottom:52px; }
.product-hero { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,1fr); gap:44px; align-items:start; }
.product-information { min-width:0; }
.product-gallery { display:grid; grid-template-columns:78px minmax(0,1fr); column-gap:14px; align-items:start; min-width:0; position:sticky; top:calc(var(--shop-header-height) + 22px); }
.product-gallery-stage { grid-column:2; grid-row:1; min-width:0; position:relative; aspect-ratio:.88; background:#fff; border:1px solid #e0e8f0; border-radius:24px; overflow:hidden; }
.gallery-label { position:absolute; top:23px; left:24px; z-index:1; border-radius:20px; padding:6px 12px; background:#e9f7fb; color:#28708b; font-size:10px; font-weight:600; }
#gallery-open { position:absolute; inset:0; display:block; width:100%; height:100%; padding:38px 38px 48px; }
#product-main-image { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .35s; }
#gallery-open:hover #product-main-image { transform:scale(1.035); }
.gallery-zoom { position:absolute; right:22px; bottom:22px; display:flex; gap:8px; align-items:center; border:1px solid #e1e7ee; border-radius:22px; padding:8px 12px; color:#50627a; font-size:10px; background:#fff; }
.gallery-zoom .icon { width:17px; height:17px; }
.gallery-image-count { position:absolute; bottom:28px; left:25px; font-size:10px; letter-spacing:.12em; color:#6b7b8d; pointer-events:none; }
.product-thumbnails { grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:12px; align-items:center; margin:0; padding:2px 3px; max-height:680px; overflow-y:auto; scrollbar-width:thin; }
.product-thumb { width:70px; height:78px; background:#fff; border:1px solid #dbe4ee; border-radius:12px; padding:7px; flex-shrink:0; }
.product-thumb img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.product-thumb[aria-pressed=true] { border:2px solid var(--blue); padding:6px; box-shadow:0 3px 12px #2f51a314; }
.product-thumbnails>p { font-size:11px; line-height:1.6; margin-left:auto; padding-left:6px; color:#7d8a9a; }
.gallery-caption { grid-column:2; min-height:32px; font-size:10px; color:#7c8898; line-height:1.7; margin-top:14px; max-width:560px; }
.product-summary { padding:0; }
.product-overline { display:flex; gap:18px; align-items:center; margin-bottom:17px; font-size:11px; font-weight:700; color:var(--blue); }
.product-overline>span:first-child { text-transform:uppercase; letter-spacing:.11em; }
.product-selection-badge { font-size:10px; color:#658074; font-weight:500; display:flex; gap:7px; align-items:center; }
.product-selection-badge:before { content:''; width:5px; height:5px; background:#70a38a; border-radius:50%; }
.product-hero .product-summary h1 { margin-top:10px; font-size:clamp(26px,calc(16px + 1.15vw),34px); line-height:1.15; font-weight:650; letter-spacing:-.035em; overflow-wrap:break-word; }
.product-intro { font-size:14px; line-height:1.85; color:#64758b; margin-top:16px; max-width:720px; }
.product-key-specs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:17px 0; margin:19px 0 24px; border-block:1px solid #d8e1eb; }
.product-key-specs>div+div { padding-left:17px; border-left:1px solid #d8e1eb; }
.product-key-specs dt { font-size:10px; color:#738398; margin-bottom:6px; }
.product-key-specs dd { margin:0; color:#4e6683; font:600 17px/1.35 var(--display); letter-spacing:-.03em; }
.product-direct-contact { display:flex; align-items:center; gap:11px; margin-top:21px; }
.product-direct-contact>.icon { width:21px; color:var(--blue); }
.product-direct-contact>div { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.product-direct-contact span { font-size:11px; color:#738399; }
.product-direct-contact a { font-size:16px; color:#263e62; font-weight:700; }
.product-save { display:grid; place-items:center; margin-left:auto; width:41px; height:41px; border:1px solid #ccd9e6; border-radius:50%; color:var(--blue); }
.product-save.is-favorite { color:#c34870; background:#fcecf2; border-color:#eeb6c8; }
.product-medical-note { background:#e9eff7; color:#314d72; }
.product-medical-note>.container { display:flex; align-items:center; justify-content:center; gap:12px; padding-block:18px; font-size:16px; font-weight:600; line-height:1.6; }
.product-medical-note .icon { width:22px; height:22px; flex-shrink:0; }
.product-section-nav { position:sticky; top:var(--shop-header-height); z-index:20; background:#ffffffef; backdrop-filter:blur(15px); border-bottom:1px solid #e1e8ef; }
.product-section-nav>.container { display:flex; align-items:center; gap:40px; min-height:70px; }
.product-section-nav a { display:flex; align-items:center; gap:8px; min-height:70px; font-size:13px; position:relative; white-space:nowrap; }
.product-section-nav a.active { color:var(--blue); font-weight:600; }
.product-section-nav a.active:after { content:''; position:absolute; bottom:-1px; left:0; right:0; height:3px; background:var(--cyan); border-radius:2px; }
.product-section-nav a>span { font-size:10px; border-radius:5px; background:#edf3f9; padding:1px 6px; color:#7890aa; }
.product-section-nav a:last-child { margin-left:auto; color:var(--blue); font-size:12px; }
.product-section-nav .icon { width:17px; height:17px; }
.product-page section[id] { scroll-margin-top:calc(var(--shop-header-height) + 95px); }
html:has(.product-page) { scroll-padding-top:0; }
body:has(.product-page) .site-footer { scroll-margin-top:calc(var(--shop-header-height) + 72px); }
.product-section { padding-block:75px; }
.product-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:50px; margin-bottom:34px; }
.product-section h2,.product-specification-section h2 { font-size:36px; line-height:1.25; font-weight:600; letter-spacing:-.035em; margin-top:12px; }
.product-section-heading>p { max-width:350px; font-size:13px; line-height:1.8; color:#75849a; }
.product-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.product-feature-grid article { border-top:1px solid #dce5ef; padding:28px 18px 0 0; }
.feature-number { display:block; color:#42b8dc; font:500 13px/1 var(--display); margin-bottom:23px; }
.product-feature-grid h3 { font-size:20px; line-height:1.35; font-weight:650; letter-spacing:-.025em; max-width:310px; }
.product-feature-grid p { font-size:13px; line-height:1.9; margin-top:16px; color:#6b7b90; }
.product-download-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.product-download { display:flex; align-items:center; gap:18px; padding:25px; border:1px solid #dce5ee; border-radius:14px; transition:border-color .2s,background .2s; }
.product-download:hover { background:#f6fbff; border-color:#5db9dd; }
.pdf-icon { display:grid; place-items:center; width:46px; height:55px; border-radius:6px 13px 6px 6px; background:#eaf2fa; color:var(--blue); font-size:11px; font-weight:700; flex-shrink:0; }
.product-download strong { display:block; font-size:14px; font-weight:600; line-height:1.5; }
.product-download small { display:block; font-size:11px; margin-top:5px; color:#8090a3; }
.download-arrow { margin-left:auto; width:34px; height:34px; flex-shrink:0; display:grid; place-items:center; background:#eff8fc; border-radius:50%; color:var(--blue); }
.download-arrow .icon { width:18px; height:18px; transform:rotate(90deg); }
.product-documents-empty { grid-column:1/-1; display:flex; gap:20px; padding:26px; border:1px solid #e0e8f0; border-radius:12px; }
.product-documents-empty h3 { font-size:20px; }
.product-documents-empty p { font-size:13px; margin-top:10px; }
.product-inline-inquiry { padding:22px; border:1px solid #9bbce0; border-top:4px solid var(--blue); border-radius:14px; background:linear-gradient(135deg,#fff,#edf7fc); box-shadow:0 8px 28px #2f51a310; }
.product-inline-inquiry h2 { margin:0; font:700 22px/1.4 var(--display); letter-spacing:-.025em; color:#244889; }
.inquiry-intro { margin-top:7px; color:#526984; font-size:12px; line-height:1.75; max-width:460px; }
.inquiry-fields { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; margin-top:19px; }
.inquiry-fields label { display:block; min-width:0; font-size:12px; font-weight:600; color:#2d4565; }
.inquiry-fields label>span { color:#538ba9; }
.inquiry-fields label>small { color:#78899b; font-size:9px; font-weight:400; }
.inquiry-fields input,.inquiry-fields select { display:block; width:100%; min-width:0; height:46px; margin-top:8px; padding:11px 12px; border:1px solid #aebfd4; border-radius:7px; background:#fff; font:400 13px/1.4 var(--font); color:#263f60; }
.inquiry-fields select { padding-right:24px; cursor:pointer; }
.inquiry-fields input::placeholder { color:#6d7e93; }
.inquiry-fields select:has(option[value=""]:checked) { color:#6d7e93; }
.inquiry-fields input:focus-visible,.inquiry-fields select:focus-visible { outline:2px solid #71c8e2; outline-offset:2px; border-color:#85b8d4; }
.inquiry-fields .full-width { grid-column:1/-1; }
.inquiry-fields .inquiry-product-model { font-weight:650; color:#25498b; background:#e8f3fc; border-color:#8cafda; }
.inquiry-form-footer { display:flex; flex-direction:column; align-items:stretch; gap:10px; margin-top:21px; }
.inquiry-explainer { color:#617791; font-size:10px; line-height:1.7; }
.inquiry-form-footer>.button { width:100%; padding:13px 17px; min-height:49px; border-radius:8px; font-size:14px; gap:14px; justify-content:space-between; }
.inquiry-form-footer .icon { width:16px; height:16px; }
.inquiry-preview { padding-top:18px; margin-top:18px; border-top:1px solid #dfe7ef; }
.inquiry-preview h3 { font:600 16px/1.5 var(--display); }
.inquiry-preview p { font-size:11px; margin-top:8px; line-height:1.8; }
.inquiry-preview>.text-link { display:inline-flex; margin-top:14px; font-size:12px; }
.inquiry-preview details { margin-top:15px; font-size:11px; }
.inquiry-preview pre { white-space:pre-wrap; overflow-wrap:anywhere; font:11px/1.8 var(--font); background:#f5f8fb; padding:13px; border-radius:6px; }
.inquiry-fallback { overflow-wrap:anywhere; }
@media (min-width:701px) and (max-width:1100px) {
  .product-inline-inquiry { padding:18px; }
  .inquiry-fields { grid-template-columns:1fr; gap:12px; }
  .inquiry-form-footer>.button { font-size:13px; }
}
@media (max-width:500px) {
  .product-inline-inquiry { padding:20px 17px; }
  .product-inline-inquiry h2 { font-size:22px; }
  .inquiry-intro { font-size:12px; }
  .inquiry-fields { grid-template-columns:1fr; gap:15px; }
  .inquiry-fields label { font-size:12px; }
  .inquiry-fields input,.inquiry-fields select { font-size:16px; min-height:46px; height:auto; }
  .inquiry-form-footer { flex-direction:column; align-items:stretch; gap:14px; }
  .inquiry-explainer { font-size:10px; }
  .inquiry-form-footer>.button { font-size:13px; min-height:48px; }
}
.product-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.related-card { padding:16px 22px 22px; border:1px solid #dfe7ef; border-radius:16px; transition:box-shadow .2s; }
.related-card:hover { box-shadow:0 10px 30px #2f51a314; }
.related-card>div { height:220px; background:#f6f8fa; border-radius:10px; margin-bottom:23px; }
.related-card img { width:100%; height:100%; object-fit:contain; padding:17px; mix-blend-mode:multiply; }
.related-card>small { font-size:10px; color:#7c90a5; }
.related-card h3 { font-size:21px; font-weight:650; line-height:1.3; margin-top:6px; }
.related-card>span { display:flex; justify-content:space-between; align-items:center; margin-top:19px; padding-top:17px; border-top:1px solid #e8edf3; color:var(--blue); font-size:11px; font-weight:600; }
.related-card>span .icon { width:18px; }
.product-gallery-dialog { width:min(1050px,calc(100% - 40px)); max-width:none; max-height:calc(100dvh - 40px); padding:42px 35px 20px; border:0; border-radius:18px; background:#fff; }
.product-gallery-dialog::backdrop { background:#142a4acc; backdrop-filter:blur(8px); }
.product-gallery-dialog>img { width:100%; height:min(68dvh,700px); object-fit:contain; }
.gallery-close { position:absolute; top:14px; right:14px; width:40px; height:40px; border-radius:50%; background:#f1f5f9; display:grid; place-items:center; }
.gallery-dialog-controls { display:flex; align-items:center; gap:20px; margin-top:15px; }
.gallery-dialog-controls button { display:grid; place-items:center; width:42px; height:42px; border:1px solid #d6e0eb; border-radius:50%; flex-shrink:0; color:var(--blue); }
#gallery-prev .icon { transform:rotate(180deg); }
.gallery-dialog-controls p { flex:1; text-align:center; font-size:12px; }
.gallery-is-open { overflow:hidden; }
@media(max-width:1199px) {
  .product-hero { gap:28px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .product-gallery { grid-template-columns:62px minmax(0,1fr); gap:10px; }
  .product-thumb { width:54px; height:62px; }
  .product-key-specs { gap:8px; }
  .product-key-specs>div+div { padding-left:10px; }
  .product-key-specs dd { font-size:18px; }
}
@media(max-width:950px) {
  .product-hero { gap:26px; }
  .product-intro { font-size:12px; }
  .product-gallery-stage { aspect-ratio:.8; }
  #gallery-open { padding:40px 20px; }
  .product-key-specs dd { font-size:15px; }
  .product-key-specs dt { font-size:9px; }
  .product-thumbnails { gap:8px; }
  .product-thumb { width:54px; height:62px; }
  .product-thumbnails>p { display:none; }
  .product-section-heading { gap:30px; }
  .product-section h2,.product-specification-section h2 { font-size:30px; }
  .product-feature-grid { gap:18px; }
  .product-feature-grid h3 { font-size:18px; }
  .product-download { padding:20px; gap:12px; }
  .product-download strong { font-size:12px; }
  .related-card { padding:12px 16px 18px; }
  .related-card>div { height:180px; }
  .related-card h3 { font-size:18px; }
}
@media(max-width:700px) {
  .product-hero { grid-template-columns:minmax(0,1fr); gap:25px; }
  .product-gallery { position:static; grid-template-columns:62px minmax(0,1fr); }
  .product-hero-wrap { padding-bottom:32px; }
  .product-gallery-stage { aspect-ratio:.82; border-radius:18px; }
  #gallery-open { padding:35px 30px 40px; }
  .gallery-label { top:14px; left:14px; font-size:9px; }
  .gallery-zoom { bottom:14px; right:14px; }
  .gallery-image-count { bottom:23px; left:17px; }
  .product-thumb { width:54px; height:62px; }
  .product-thumbnails { margin-top:0; }
  .gallery-caption { font-size:9px; min-height:0; margin-top:11px; }
  .product-summary { padding:0; }
  .product-intro { font-size:13px; margin-top:16px; }
  .product-key-specs { padding-block:18px; margin-block:20px; }
  .product-key-specs dd { font-size:18px; }
  .product-key-specs dt { font-size:9px; }
  .product-direct-contact>div { gap:4px; flex-direction:column; align-items:flex-start; }
  .product-medical-note>.container { justify-content:flex-start; align-items:flex-start; font-size:14px; padding-block:16px; }
  .product-section-nav { top:var(--shop-header-height); }
  .product-section-nav>.container { width:100%; padding-inline:20px; overflow-x:auto; gap:25px; min-height:56px; scrollbar-width:none; }
  .product-section-nav a { min-height:56px; font-size:11px; }
  .product-page section[id] { scroll-margin-top:calc(var(--shop-header-height) + 72px); }
  .product-section { padding-block:44px; }
  .product-section-heading { display:block; margin-bottom:28px; }
  .product-section h2,.product-specification-section h2 { font-size:29px; }
  .product-section-heading>p { font-size:12px; margin-top:18px; }
  .product-feature-grid { grid-template-columns:1fr; gap:25px; }
  .product-feature-grid article { padding-top:22px; }
  .feature-number { margin-bottom:15px; }
  .product-feature-grid h3 { font-size:21px; max-width:none; }
  .product-feature-grid p { font-size:13px; margin-top:12px; }
  .product-download-grid { grid-template-columns:1fr; gap:13px; }
  .product-download { padding:19px; }
  .product-download strong { font-size:13px; }
  .product-download small { font-size:10px; }
  .pdf-icon { width:38px; height:47px; }
  .product-related .product-section-heading>.text-link { margin-top:12px; }
  .product-related-grid { grid-template-columns:1fr; gap:17px; }
  .related-card>div { height:210px; }
  .related-card h3 { font-size:22px; }
  .product-gallery-dialog { width:calc(100% - 20px); padding:45px 14px 20px; }
  .product-gallery-dialog>img { height:58dvh; }
  .gallery-dialog-controls { gap:10px; }
  .gallery-dialog-controls p { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { #product-main-image,.product-download,.related-card { transition:none; } #gallery-open:hover #product-main-image { transform:none; } }


.product-summary .product-facts {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin:20px 0 0;
  padding:1px;
  overflow:hidden;
  border-radius:12px;
  background:#d5e2ec;
}
.product-facts > div { min-width:0; padding:13px clamp(12px,1.25vw,19px); background:#fff; overflow-wrap:anywhere; }
.product-facts dt { margin:0 0 5px; color:#4e657c; font:550 12px/1.35 var(--font); }
.product-facts dd { margin:0; color:#1c3450; font:650 clamp(14px,1.05vw,16px)/1.45 var(--display); }
.product-facts dd a { color:#204b93; text-decoration:underline; }
.product-fact-availability dd { display:inline-block; padding:3px 8px; border-radius:6px; background:#e8f5fc; color:#215184; font-size:13px; }
.product-funding-information { display:flex; gap:12px; padding:15px; margin-top:19px; border:1px solid #cae6f2; border-radius:10px; background:#eaf7fc; }
.product-funding-information>.icon { flex-shrink:0; width:23px; height:23px; color:#2f51a3; margin-top:1px; }
.product-funding-information strong { font-size:13px; font-weight:650; color:#2d4f80; }
.product-funding-information p { margin-top:4px; font-size:10px; line-height:1.7; color:#657e97; }
.product-download em { display:block; font-size:10px; line-height:1.6; font-style:normal; color:#728299; margin-top:7px; }
.product-related-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
@media(max-width:700px) {
  .product-summary .shop-kicker { font-size:9px; }
  .product-funding-information strong { font-size:12px; }
  .product-key-specs dd { font-size:16px; }
  .product-gallery .gallery-label { font-size:8px; max-width:calc(100% - 24px); top:12px; left:12px; }
  #gallery-open { padding:35px 12px 44px; }
}
@media(max-width:380px) {
  .product-gallery { grid-template-columns:52px minmax(0,1fr); gap:8px; }
  .product-thumb { width:46px; height:54px; }
}
/* Product inquiry opens on demand, leaving the product presentation compact. */
.product-gallery { position:static; }
.product-gallery-stage { aspect-ratio:.98; }
.product-hero-wrap { padding-bottom:42px; }
.product-inquiry-action { scroll-margin-top:calc(var(--shop-header-height) + 28px); }
.product-inquiry-open { width:100%; min-height:58px; padding:17px 23px; display:flex; align-items:center; justify-content:space-between; gap:18px; font-size:16px; border-radius:11px; box-shadow:0 7px 18px #2f51a31b; }
.product-inquiry-open .icon { width:20px; height:20px; }
.product-inquiry-action>p { margin-top:11px; color:#72849a; font-size:11px; line-height:1.7; }
.product-direct-contact { padding-top:18px; margin-top:20px; border-top:1px solid #dce5ee; }
.product-section-nav button { display:flex; align-items:center; gap:8px; min-height:70px; margin-left:auto; color:var(--blue); font-size:12px; font-weight:600; white-space:nowrap; }
.product-description { padding-block:64px 68px; }
.product-description-heading { padding-bottom:36px; border-bottom:1px solid #dce5ef; }
.product-description h2 { font-size:42px; margin-top:13px; }
.product-description-lead { margin-top:23px; max-width:1100px; font-size:20px; line-height:1.85; color:#49617c; }
.product-description-body article { display:grid; grid-template-columns:48px minmax(0,1fr); gap:24px; padding:34px 0; border-bottom:1px solid #e2e9f0; }
.product-description-body article:last-child { border-bottom:0; padding-bottom:0; }
.description-number { color:#3298bc; font:500 14px/1.5 var(--display); padding-top:6px; }
.product-description-body h3 { font:600 25px/1.4 var(--display); letter-spacing:-.025em; color:#233d5c; }
.product-description-body p { margin-top:14px; font-size:16px; line-height:1.95; color:#5b6f87; max-width:1120px; }
html:has(.product-page) { scrollbar-gutter:stable; }
html.inquiry-is-open,html.inquiry-is-open body { overflow:hidden; }
.product-inquiry-dialog { padding:0; border:1px solid #d4e2ef; border-radius:22px; width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; overflow:auto; overscroll-behavior:contain; color:#1b2c45; background:#fff; box-shadow:0 24px 90px #10284740; }
.product-inquiry-dialog::backdrop { background:rgb(20 39 67 / 34%); backdrop-filter:blur(9px); -webkit-backdrop-filter:blur(9px); }
.product-inquiry-dialog[open] { animation:inquiry-enter .2s ease-out; }
.inquiry-dialog-header { position:sticky; top:0; z-index:2; display:flex; align-items:flex-start; gap:15px; justify-content:space-between; padding:24px 26px 18px; background:#fff; border-bottom:1px solid #e5edf4; }
.inquiry-dialog-header .shop-kicker { display:block; font-size:9px; letter-spacing:.1em; margin-bottom:9px; }
.inquiry-dialog-header h2 { margin:0; font:650 27px/1.25 var(--display); letter-spacing:-.035em; color:#244889; }
.inquiry-close { flex-shrink:0; width:37px; height:37px; display:grid; place-items:center; border:1px solid #dce6ef; border-radius:50%; color:#48627d; background:#f5f8fb; }
.inquiry-close:hover { color:var(--blue); background:#eaf2fa; }
.inquiry-close .icon { width:17px; height:17px; }
.inquiry-dialog-content { padding:17px 26px 26px; background:linear-gradient(#fff,#f4f9fd); }
.inquiry-dialog-content .inquiry-intro { margin:0; font-size:13px; }
.product-inquiry-dialog .inquiry-fields { gap:13px; margin-top:20px; }
.product-inquiry-dialog .inquiry-fields input,.product-inquiry-dialog .inquiry-fields select { height:45px; margin-top:7px; }
.product-inquiry-dialog .inquiry-form-footer { margin-top:21px; }
.product-inquiry-dialog .inquiry-explainer { font-size:10px; }
.product-inquiry-dialog :focus-visible { outline:2px solid #36c1eb; outline-offset:3px; }
@keyframes inquiry-enter { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(max-width:950px) { .product-gallery-stage { aspect-ratio:.86; } .product-inquiry-open { font-size:14px; padding-inline:18px; } }
@media(max-width:700px) {
  .product-hero { gap:24px; }
  .product-gallery-stage { aspect-ratio:.94; }
  .product-inquiry-open { min-height:54px; font-size:14px; }
  .product-section-nav button { min-height:56px; font-size:11px; }
  .product-description { padding-block:42px; }
  .product-description h2 { font-size:32px; }
  .product-description-heading { padding-bottom:27px; }
  .product-description-lead { font-size:17px; line-height:1.85; margin-top:19px; }
  .product-description-body article { grid-template-columns:25px minmax(0,1fr); gap:13px; padding:27px 0; }
  .description-number { font-size:11px; }
  .product-description-body h3 { font-size:22px; }
  .product-description-body p { font-size:15px; line-height:1.9; margin-top:12px; }
  .product-inquiry-dialog { width:calc(100% - 22px); max-height:calc(100dvh - 22px); border-radius:17px; }
  .inquiry-dialog-header { padding:20px 18px 16px; gap:9px; }
  .inquiry-dialog-header .shop-kicker { font-size:8px; }
  .inquiry-dialog-header h2 { font-size:24px; }
  .inquiry-dialog-content { padding:17px 18px 22px; }
  .product-inquiry-dialog .inquiry-fields input,.product-inquiry-dialog .inquiry-fields select { font-size:16px; height:46px; }
}
@media(prefers-reduced-motion:reduce) { .product-inquiry-dialog[open] { animation:none; } }
@media(min-width:701px) and (max-height:780px) {
  .inquiry-dialog-header { padding:18px 24px 14px; }
  .inquiry-dialog-header h2 { font-size:25px; }
  .inquiry-dialog-content { padding:14px 24px 18px; }
  .product-inquiry-dialog .inquiry-fields { gap:10px; margin-top:16px; }
  .product-inquiry-dialog .inquiry-fields input,.product-inquiry-dialog .inquiry-fields select { height:42px; min-height:42px; margin-top:6px; }
  .product-inquiry-dialog .inquiry-form-footer { margin-top:17px; }
}

/* Grouped, full-width product specification. */
.product-specification-section { background:#f3f7fb; padding-block:70px; border-block:1px solid #e6edf5; }
.product-specification-heading { display:flex; justify-content:space-between; align-items:center; gap:28px; margin-bottom:32px; }
.product-specification-heading h2 { font-size:40px; margin-top:10px; }
.product-specification-heading p { margin-top:12px; color:#667b94; font-size:14px; line-height:1.7; }
.spec-model { display:flex; align-items:center; gap:13px; padding-left:24px; border-left:2px solid #36c1eb; color:#718198; font-size:11px; }
.spec-model>.icon { width:25px; height:25px; color:#2f51a3; flex-shrink:0; }
.spec-model strong { display:block; margin-top:5px; color:#2b4160; font-size:14px; font-weight:600; }
.product-specification-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; }
.spec-group { min-width:0; overflow:hidden; border:1px solid #dce6f1; border-radius:17px; background:#fff; box-shadow:0 6px 22px #274c7f05; }
.spec-group-heading { display:flex; align-items:center; gap:13px; padding:21px 24px; border-bottom:1px solid #dce7f2; background:linear-gradient(110deg,#eaf2fc,#f2f9fd); }
.spec-group-icon { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; border:1px solid #d5e5f5; border-radius:11px; background:#fff; color:#2f51a3; }
.spec-group-icon svg { width:23px; height:23px; }
.spec-group-heading h3 { color:#294b82; font:600 19px/1.35 var(--display); letter-spacing:-.025em; }
.spec-group-number { margin-left:auto; color:#6681a3; font-size:11px; font-weight:500; letter-spacing:.08em; }
.product-spec-table { width:100%; table-layout:fixed; border-collapse:collapse; text-align:left; }
.product-spec-table th,.product-spec-table td { padding:16px 24px; vertical-align:top; border-bottom:1px solid #e9eef5; font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.product-spec-table th { width:49%; color:#61748c; font-weight:400; padding-right:12px; }
.product-spec-table td { color:#203b60; font-weight:650; font-variant-numeric:tabular-nums; padding-left:12px; }
.product-spec-table tr:nth-child(even) { background:#f8fafc; }
.product-spec-table tr:hover { background:#eef7fd; }
.product-spec-table tr:last-child>* { border-bottom:0; }
.spec-table-note { display:flex; gap:10px; align-items:flex-start; color:#687c94; font-size:11px; line-height:1.85; margin-top:22px; }
.spec-table-note>.icon { width:17px; height:17px; flex-shrink:0; margin-top:2px; color:#6b88ab; }
.product-fitting-note { display:flex; align-items:center; gap:21px; padding:26px 29px; margin-top:30px; border:1px solid #cfe3f1; border-radius:15px; background:#e7f3fb; }
.fitting-icon { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; border-radius:50%; color:var(--blue); background:#fff; }
.fitting-icon>.icon { width:25px; height:25px; }
.product-fitting-note h3 { color:#29466a; font:600 20px/1.4 var(--display); letter-spacing:-.025em; }
.product-fitting-note p { color:#627d97; font-size:12px; line-height:1.75; margin-top:6px; max-width:620px; }
.product-fitting-note .product-inquiry-link { display:flex; justify-content:center; align-items:center; gap:16px; flex-shrink:0; margin-left:auto; padding:13px 19px; border:1px solid #b9cfe8; border-radius:9px; background:#fff; color:#2f51a3; font-size:12px; font-weight:650; text-align:left; }
.product-fitting-note .product-inquiry-link:hover { background:#f4f8fe; border-color:#6b91c8; }
.product-fitting-note .product-inquiry-link>.icon { width:17px; height:17px; }
@media(max-width:1100px) {
  .spec-group-heading { padding:18px; gap:10px; }
  .spec-group-heading h3 { font-size:18px; }
  .product-spec-table th,.product-spec-table td { padding:14px 18px; }
  .product-spec-table th { padding-right:10px; }
  .product-spec-table td { padding-left:10px; }
  .product-fitting-note { flex-wrap:wrap; gap:15px; }
  .product-fitting-note>div { flex:1; }
  .product-fitting-note .product-inquiry-link { margin-left:63px; }
}
@media(max-width:800px) {
  .product-specification-section { padding-block:44px; }
  .product-specification-heading { align-items:flex-start; flex-direction:column; gap:22px; margin-bottom:25px; }
  .product-specification-heading h2 { font-size:32px; }
  .product-specification-heading p { font-size:13px; }
  .spec-model { padding-left:15px; }
  .product-specification-grid { gap:18px; }
  .spec-group-heading { padding:18px 20px; }
  .product-spec-table th,.product-spec-table td { padding-block:15px; }
  .spec-table-note { font-size:11px; }
  .product-fitting-note { padding:22px 20px; }
  .product-fitting-note h3 { font-size:19px; }
}
@media(max-width:430px) {
  .spec-group-heading { padding:16px; }
  .spec-group-heading h3 { font-size:17px; }
  .spec-group-icon { width:35px; height:35px; border-radius:9px; }
  .spec-group-number { font-size:10px; }
  .product-spec-table th,.product-spec-table td { font-size:12px; padding:14px 15px; }
  .product-spec-table th { padding-right:8px; }
  .product-spec-table td { padding-left:8px; }
  .product-fitting-note { gap:13px; }
  .product-fitting-note>div { flex-basis:calc(100% - 64px); }
  .product-fitting-note .product-inquiry-link { width:100%; margin:4px 0 0; justify-content:space-between; }
}
