/* Private R05 refinements. Approved photographs, calculator and commercial facts retained. */
:root{--ref-accent:#a71c26;--ref-ink:#242323;--ref-muted:#625c54;--ref-line:#ddd6cc;--ref-paper:#f5f2ee}
html{scroll-behavior:smooth;scroll-padding-top:24px}
.collection-links{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 36px}
.collection-links a{display:flex;align-items:center;min-height:48px;padding:12px 20px;border:1px solid #c5bdb2;border-radius:6px;text-decoration:none;font-weight:700;font-size:15px}
.collection-links a:hover{background:#e8e2d9}.collection h2{scroll-margin-top:24px}
.model-open{display:flex;align-items:center;justify-content:space-between;color:var(--ref-accent);font-size:14px;font-weight:700;margin-top:12px}
.model figcaption{padding-top:16px}.model-image{border:1px solid #e9e3da}.model:hover .model-open{text-decoration:underline;text-underline-offset:4px}
#kl-catalog-product.kl-polished{max-width:1320px;padding:24px 40px;--kl-red:var(--ref-accent);--kl-muted:var(--ref-muted)}
.kl-polished .kl-product-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--ref-line);margin-bottom:28px}
.kl-polished .kl-product-bar a{color:var(--ref-ink);text-decoration:none;min-height:44px;display:flex;align-items:center;font-size:15px;font-weight:700}
.kl-polished .kl-product-bar a:last-child{color:var(--ref-accent);gap:12px}
#kl-catalog-product.kl-polished .kl-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}
#kl-catalog-product.kl-polished h1{margin:0;max-width:28ch;line-height:1.12;font-size:clamp(28px,3vw,42px);letter-spacing:-.035em}
#kl-catalog-product.kl-polished h1:after{height:3px;width:72px;margin-top:18px}
.kl-polished .kl-jump{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;flex-shrink:0;min-height:52px;padding:14px 20px;border:1px solid var(--ref-accent);border-radius:6px;color:var(--ref-accent);font-size:15px;font-weight:700;text-decoration:none}
.kl-polished .kl-jump:hover{background:var(--ref-accent);color:#fff}
#kl-catalog-product.kl-polished .kl-gallery{max-width:none;gap:24px;margin:0;outline-offset:5px}
#kl-catalog-product.kl-polished .kl-gallery figure{padding:0;background:#fff;border-radius:0}
#kl-catalog-product.kl-polished .kl-gallery img{height:auto;object-fit:contain}
.kl-polished .kl-photo-controls{display:none}
.kl-polished .kl-image-note{font-size:11px;color:var(--ref-muted);margin:14px 0 40px}
#kl-catalog-product.kl-polished .kl-prices{width:min(480px,100%);margin:0 0 24px;background:var(--ref-paper);box-shadow:none;border:1px solid var(--ref-line);border-radius:8px;padding:22px 24px}
#kl-catalog-product.kl-polished .kl-calc{padding:28px;background:var(--ref-paper);border:1px solid var(--ref-line);border-radius:8px;box-shadow:none;margin:0 0 40px;scroll-margin-top:24px}
.kl-polished h2{font-size:24px;letter-spacing:-.02em;line-height:1.2;margin:0 0 10px}
.kl-polished .kl-calc-intro{font-size:15px;line-height:1.5;color:var(--ref-muted);margin:0 0 24px;max-width:65ch}
#kl-catalog-product.kl-polished .kl-calc-grid{gap:20px;grid-template-columns:1.12fr 1.9fr 1fr 1.1fr 1.24fr 1.24fr}
#kl-catalog-product.kl-polished label,#kl-catalog-product.kl-polished .kl-label{font-size:13px;text-transform:none;letter-spacing:0}
#kl-catalog-product.kl-polished input,#kl-catalog-product.kl-polished output{min-height:52px;border-radius:4px;border-color:#c5bdb2;padding:12px;font-size:17px}
#kl-catalog-product.kl-polished input:disabled{background:#ebe7e0;color:#7d776e}
#kl-catalog-product.kl-polished input[aria-invalid="true"]{border-color:var(--ref-accent);outline:1px solid var(--ref-accent)}
#kl-catalog-product.kl-polished output{border:0;background:transparent;padding-left:0;padding-right:0;font-size:20px;font-weight:700;white-space:normal;overflow-wrap:anywhere}
#kl-catalog-product.kl-polished .kl-output-ideal{color:var(--ref-accent)}
#kl-catalog-product.kl-polished .kl-dimensions .kl-times{padding-top:16px}
#kl-catalog-product.kl-polished .kl-dimensions label{font-size:12px;text-transform:none;font-weight:400;margin-top:6px}
#kl-catalog-product.kl-polished .kl-location-row{margin-top:24px;gap:24px}
#kl-catalog-product.kl-polished .kl-location{grid-template-columns:1fr;gap:8px}
#kl-catalog-product.kl-polished .kl-explanation{font-size:13px;line-height:1.55}
#kl-catalog-product.kl-polished .kl-error{font-size:14px}
#kl-catalog-product.kl-polished .kl-footer{text-align:left;max-width:100%;margin:0}
#kl-catalog-product.kl-polished .kl-proposal{font-size:28px;margin:0 0 10px}
.kl-polished .kl-proposal-intro{font-size:16px;line-height:1.5;color:var(--ref-muted);margin:0 0 24px;max-width:65ch}
#kl-catalog-product.kl-polished .kl-contacts{margin:0;max-width:760px;gap:16px}
#kl-catalog-product.kl-polished .kl-contacts a{border-radius:6px;min-height:60px;padding:20px 16px;font-size:14px}
#kl-catalog-product.kl-polished .kl-contacts a:hover{background:#89151e}
#kl-catalog-product.kl-polished .kl-hint{font-size:13px;line-height:1.55;margin:16px 0 24px;max-width:78ch}
#kl-catalog-product.kl-polished .kl-notes{font-size:12px;line-height:1.65;max-width:92ch;margin:0 0 18px}
#kl-catalog-product.kl-polished summary{min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:13px}
#kl-catalog-product.kl-polished a:focus-visible,#kl-catalog-product.kl-polished input:focus-visible,#kl-catalog-product.kl-polished button:focus-visible{outline:3px solid var(--ref-accent);outline-offset:4px}
@media(min-width:1001px){#kl-catalog-product.kl-polished .kl-calc-grid:not(:has([data-result="term"])){grid-template-columns:1.2fr 2fr 1fr 1.1fr}}
@media(max-width:1000px){#kl-catalog-product.kl-polished .kl-top{align-items:flex-start;flex-direction:column}#kl-catalog-product.kl-polished .kl-calc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.kl-polished .kl-calc-grid>div:nth-child(2){grid-column:span 2}}
@media(max-width:600px){
 #kl-catalog-product.kl-polished{padding:16px 20px 24px}
 .kl-polished .kl-product-bar{gap:12px;margin-bottom:24px;padding-bottom:12px}.kl-polished .kl-product-bar a{font-size:13px}
 #kl-catalog-product.kl-polished .kl-top{gap:20px;margin-bottom:24px}#kl-catalog-product.kl-polished h1{font-size:30px}
 .kl-polished .kl-jump{width:100%;font-size:14px}
 #kl-catalog-product.kl-polished .kl-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:16px}
 #kl-catalog-product.kl-polished .kl-gallery::-webkit-scrollbar{display:none}
 #kl-catalog-product.kl-polished .kl-gallery figure{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
 .kl-polished .kl-photo-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.kl-polished .kl-photo-controls p{font-size:12px;color:var(--ref-muted);margin:0}
 .kl-polished .kl-photo-controls>div{display:flex;gap:8px}.kl-polished .kl-photo-controls button{font:700 13px Arial;min-height:44px;min-width:44px;border:1px solid #c5bdb2;border-radius:50%;background:#fff;color:var(--ref-muted)}
 .kl-polished .kl-photo-controls button[aria-pressed="true"]{background:var(--ref-ink);color:#fff;border-color:var(--ref-ink)}
 .kl-polished .kl-image-note{margin-top:8px;margin-bottom:32px}
 #kl-catalog-product.kl-polished .kl-calc{padding:20px;margin-bottom:32px}
 .kl-polished h2{font-size:22px}.kl-polished .kl-calc-intro{font-size:14px;margin-bottom:24px}
 #kl-catalog-product.kl-polished .kl-calc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
 .kl-polished .kl-calc-grid>div:first-child,.kl-polished .kl-calc-grid>div:nth-child(2){grid-column:1/-1}
 #kl-catalog-product.kl-polished .kl-location-row{grid-template-columns:1fr;gap:14px}
 #kl-catalog-product.kl-polished .kl-contacts{grid-template-columns:1fr;gap:12px}
 #kl-catalog-product.kl-polished .kl-proposal{font-size:25px}.kl-polished .kl-proposal-intro{font-size:15px}
 .collection-links{gap:8px;margin-bottom:32px}.collection-links a{padding:10px 16px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.model-composition{display:block;font-size:13px;line-height:1.55;color:var(--ref-muted);margin-top:10px}
.kl-polished .kl-mosaic-spec{margin:24px 0 12px;padding:18px 20px;border-left:3px solid var(--ref-accent);background:var(--ref-paper);font-size:15px;line-height:1.6}
.kl-polished .kl-mosaic-spec strong{font-size:15px}.kl-polished .kl-mosaic-spec p{margin:6px 0 0;color:var(--ref-muted)}
.kl-polished .kl-payment-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;padding-top:24px;border-top:1px solid var(--ref-line)}
.kl-polished .kl-payment-summary>div{min-width:0}.kl-polished .kl-payment-summary .kl-reserve{font-size:14px;margin:8px 0 12px;color:var(--ref-muted)}
.kl-polished .kl-payment-summary strong{display:block;font-size:24px;font-weight:700;line-height:1.3;color:var(--ref-accent);font-variant-numeric:tabular-nums}
.kl-polished .kl-payment-summary>div:last-child strong{font-size:18px;color:var(--ref-ink)}
.kl-polished .kl-payment-summary small{display:block;font-size:13px;line-height:1.5;margin-top:6px;color:var(--ref-muted)}
.kl-polished .kl-payment-terms{font-size:14px;line-height:1.55;margin:8px 0;color:var(--ref-ink)}
.kl-polished .kl-reservation-note{font-size:14px;line-height:1.55;font-weight:700;margin:0 0 12px}
@media(max-width:600px){.kl-polished .kl-payment-summary{grid-template-columns:1fr;gap:24px}.kl-polished .kl-mosaic-spec{padding:16px;font-size:14px}.kl-polished .kl-mosaic-spec strong{font-size:14px}}
