.okp-catalogue,.okp-product {max-width:1180px;margin-inline:auto;padding:clamp(24px,5vw,64px) 20px;color:#202b2a}
.okp-product h1,.okp-catalogue h1 {font-size:clamp(2rem,4.8vw,3.65rem);line-height:1.12;margin:0 0 18px}
.okp-product p,.okp-catalogue p {line-height:1.65}
.okp-back {display:inline-block;margin-bottom:24px}
.okp-eyebrow {color:#365c54;font-size:.84rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase}
.okp-hero,.okp-product-intro {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(20px,5vw,64px);background:#f0f6f4;padding:clamp(18px,3vw,40px);border-radius:20px}
.okp-actions {display:flex;gap:12px;flex-wrap:wrap;margin-block:22px}
.okp-actions a,.okp-card a.okp-action {display:inline-block;padding:11px 17px;border:1px solid #365c54;border-radius:7px;color:#244a42;text-decoration:none;font-weight:600}
.okp-actions a:first-child {background:#365c54;color:#fff}
.okp-facts {display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:22px 0 0}
.okp-facts div {border:1px solid #d8e5df;background:#fff;padding:12px;border-radius:9px}
.okp-facts dt {font-size:.83rem;color:#485955}
.okp-facts dd {font-weight:650;margin:4px 0 0}
.okp-gallery {min-width:0;margin:0;padding:12px;background:#fff;border:1px solid #d8e5df;border-radius:14px}
.okp-track {display:flex;overflow:auto;scroll-snap-type:x mandatory;border-radius:8px}
.okp-slide {flex:0 0 100%;scroll-snap-align:start;margin:0;min-width:0}
.okp-slide img {width:100%;height:clamp(230px,34vw,420px);object-fit:contain;display:block;background:#f8faf9}
.okp-controls {display:flex;justify-content:center;align-items:center;gap:16px;margin-top:8px}
.okp-controls[hidden] {display:none}
.okp-controls button {background:#365c54;color:#fff;border:0;min-width:44px;min-height:44px;border-radius:7px;font-size:1.2rem}
.okp-gallery figcaption,.okp-source {font-size:.84rem;color:#485955;margin:8px 0}
.okp-detail {margin-block:32px;overflow-wrap:anywhere}
.okp-detail table {display:block;max-width:100%;overflow:auto}
.okp-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:20px;margin:30px 0}
.okp-card {border:1px solid #d8e5df;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;background:white}
.okp-card img {width:100%;height:225px;object-fit:contain;background:#f0f6f4;display:block}
.okp-card-content {padding:18px;display:flex;flex-direction:column;flex:1}
.okp-card h2 {font-size:1.25rem;margin:3px 0 10px}
.okp-card .okp-action {align-self:start;margin-top:auto}
.okp-product a:focus-visible,.okp-catalogue a:focus-visible,.okp-gallery button:focus-visible,.okp-track:focus-visible {outline:3px solid #165eab;outline-offset:3px}
@media(max-width:740px){.okp-hero,.okp-product-intro{grid-template-columns:minmax(0,1fr)}.okp-slide img{height:clamp(230px,68vw,390px)}}

.okp-gallery--showroom{padding:14px;border-radius:20px;background:#fff;box-shadow:0 12px 36px #213e3510}
.okp-gallery--showroom .okp-track{border-radius:12px;scrollbar-width:none;background:#f2f5f3}
.okp-gallery--showroom .okp-slide{padding:12px 12px 0}
.okp-gallery--showroom .okp-slide img{height:clamp(280px,37vw,510px);object-fit:contain;background:#f2f5f3}
.okp-gallery--showroom .okp-slide p{text-align:center;margin:10px 0;font-weight:650;color:#28473f}
.okp-gallery--showroom .okp-controls{margin:12px 0;gap:14px}
.okp-gallery--showroom .okp-controls button{border-radius:50%;background:#e9f1ee;color:#244a42}
.okp-gallery--showroom .okp-controls button:hover{background:#365c54;color:#fff}
.okp-gallery--showroom output{min-width:5ch;text-align:center;font-variant-numeric:tabular-nums}
.okp-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:4px 4px 9px;scrollbar-width:thin}
.okp-thumbnails[hidden]{display:none}
.okp-thumbnails button{flex:0 0 59px;min-height:76px;display:grid;justify-items:center;gap:2px;padding:3px;border:1px solid #d8e5df;border-radius:8px;background:#f5f8f6;color:#28473f;font-size:.75rem}
.okp-thumbnails button[aria-pressed="true"]{border-color:#365c54;box-shadow:inset 0 0 0 1px #365c54;background:#e9f1ee}
.okp-thumbnails img{width:100%;height:52px;object-fit:contain}
.okp-gallery--showroom figcaption{margin:8px 4px 0}
@media(max-width:740px){.okp-gallery--showroom .okp-slide img{height:clamp(285px,92vw,430px)}}
.okp-product-intro + .okp-detail{margin-top:clamp(32px,5vw,56px);scroll-margin-top:110px}

.okp-wide-intro{grid-template-columns:minmax(0,1fr);gap:clamp(12px,2vw,24px)}
.okp-wide-intro .okp-facts{max-width:520px}
.okp-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,2vw,16px);text-align:center}
.okp-pair > :only-child{grid-column:1 / -1}
.okp-wide-intro .okp-gallery--showroom .okp-slide img{height:clamp(235px,48vw,580px)}
.okp-pair span{display:block;padding:6px 2px;font-size:.82rem;color:#244a42}

.okp-wide-intro .okp-thumbnails span{max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.okp-wide-intro .okp-thumbnails button{flex-basis:76px}

.okp-door-card {
  --door-paper:#f9faf5;
  --door-panel:#fff;
  --door-green:#e9efe6;
  --door-ink:#20362a;
  --door-muted:#4c6154;
  --door-line:#cfdccf;
  --door-cta:#254735;
  color:var(--door-ink);
}
.okp-door-back {display:inline-block;margin-bottom:16px;color:var(--door-muted);font-size:.85rem}
.okp-door-hero {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(20px,4vw,48px);padding:clamp(20px,4vw,48px);background:var(--door-paper);border:1px solid var(--door-line);border-radius:16px}
.okp-door-hero:has(.okp-pair) {grid-template-columns:minmax(0,1fr)}
.okp-door-hero--single {grid-template-columns:minmax(0,1fr)}
.okp-door-copy {display:grid;gap:16px;align-content:center;min-width:0}
.okp-door-card .okp-door-copy h1,.okp-door-card h2 {font-family:Georgia,serif;font-weight:500;letter-spacing:-.025em;margin:0}
.okp-door-card .okp-door-copy h1 {font-size:clamp(2.35rem,5vw,4rem);line-height:1.05;overflow-wrap:anywhere}
.okp-door-card h2 {font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.12}
.okp-door-card p,.okp-door-card dl,.okp-door-card dd {margin:0}
.okp-door-card p {color:var(--door-muted)}
.okp-door-card .okp-door-kicker {font-size:.75rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.okp-door-facts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-block:1px solid var(--door-line);padding-block:12px}
.okp-door-facts dt {font-size:.8rem;color:var(--door-muted)}
.okp-door-facts dd {font-weight:700;overflow-wrap:anywhere}
.okp-door-actions {display:flex;flex-wrap:wrap;gap:8px}
.okp-door-actions a {display:inline-flex;min-height:44px;align-items:center;padding:8px 14px;border:1px solid var(--door-cta);border-radius:6px;color:var(--door-cta);font-weight:650;text-decoration:none}
.okp-door-actions a:first-child {background:var(--door-cta);color:#fff}
.okp-door-card .okp-gallery {border-color:var(--door-line);border-radius:12px;min-width:0;scroll-margin-top:110px}
.okp-door-card .okp-gallery .okp-track,.okp-door-card .okp-gallery .okp-slide img {background:var(--door-green)}
.okp-door-card .okp-gallery .okp-slide img {height:clamp(260px,38vw,480px)}
.okp-door-card .okp-gallery .okp-pair img {height:clamp(235px,48vw,580px)}
.okp-door-card .okp-thumbnails button {flex-basis:76px}
.okp-door-card .okp-thumbnails span {max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.okp-door-card .okp-gallery .okp-slide p {margin-block:8px;color:var(--door-ink)}
.okp-door-dual {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.okp-door-dual > div {display:grid;grid-template-rows:auto 1fr;align-content:start;gap:10px;min-width:0;scroll-margin-top:110px}
.okp-door-details,.okp-door-inquiry {display:grid;gap:12px;margin-top:clamp(24px,4vw,42px);padding:clamp(18px,4vw,40px);border:1px solid var(--door-line);border-radius:16px;scroll-margin-top:110px}
.okp-door-details {background:var(--door-panel)}
.okp-door-inquiry {background:var(--door-green)}
.okp-door-specs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.okp-door-tile {padding:14px;border:1px solid var(--door-line);border-radius:8px}
.okp-door-tile h3 {margin:0 0 5px;font-size:1rem;color:var(--door-ink)}
.okp-door-tile p {font-size:.92rem}
.okp-door-card [data-okp-door-selection] {font-weight:700;color:var(--door-ink)}
.okp-door-card [data-okp-door-selection]:empty {display:none}
@media(max-width:740px) {
  .okp-door-hero,.okp-door-dual {grid-template-columns:minmax(0,1fr)}
}
@media(max-width:520px) {
  .okp-door-specs {grid-template-columns:minmax(0,1fr)}
}
