/* A quiet scene behind the homepage copy, with a proportionate frame in focus. */
.kw-ambient-hero,.kw-ambient-product{position:relative;isolation:isolate}
.kw-ambient{display:block;isolation:isolate;background:var(--kw-paper);min-width:0}
.kw-ambient > .kw-ambient-slide{position:absolute;inset:0;margin:0!important;opacity:0;visibility:hidden;transition:opacity 1.8s ease,visibility 0s 1.8s}
.kw-ambient > .kw-ambient-slide.is-active{opacity:1;visibility:visible;transition:opacity 1.8s ease}
.kw-ambient-visual{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.kw-ambient .kw-ambient-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;border-radius:0;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(0deg,transparent,#000 4%,#000 96%,transparent);mask-composite:intersect}
.kw-ambient--hero{position:absolute;inset:0 -24px;z-index:0;pointer-events:none;overflow:hidden}
.kw-ambient-backdrop{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%;opacity:.32;mask-image:linear-gradient(0deg,transparent,#000 13%,#000 88%,transparent)}
.kw-ambient--hero .kw-ambient-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--kw-paper),color-mix(in srgb,var(--kw-paper) 96%,transparent) 18%,color-mix(in srgb,var(--kw-paper) 85%,transparent) 37%,color-mix(in srgb,var(--kw-paper) 50%,transparent) 52%,transparent 75%);pointer-events:none}
.kw-ambient--hero .kw-ambient-visual{inset:4% 0 4% 43%;z-index:1}
.kw-ambient--hero .kw-ambient-image{mask-image:linear-gradient(90deg,transparent,#000 5%,#000 97%,transparent),linear-gradient(0deg,transparent,#000 4%,#000 96%,transparent)}
.kw-ambient--hero :is([data-kind=fabric],[data-kind=new-detail]) .kw-ambient-backdrop{opacity:1}
.kw-ambient--hero [data-kind=frame] .kw-ambient-backdrop,.kw-ambient--hero [data-kind=room] .kw-ambient-backdrop{filter:blur(18px);opacity:.24}
.kw-ambient--hero :is([data-kind=fabric],[data-kind=new-detail]) .kw-ambient-visual{display:none}
.kw-ambient-hero .kw-hero-copy{position:relative;z-index:2;min-width:0}
.kw-ambient-hero .kw-hero-figure{aspect-ratio:1;max-height:none;position:relative;z-index:1;pointer-events:none}
/* The gallery lives INSIDE the sticky column so it accompanies the order form. */
.kw-ambient-product .kw-product-gallery{position:sticky;top:24px;align-self:start;z-index:1;min-width:0}
.kw-ambient--product{position:relative;width:100%;height:clamp(330px,calc(100svh - 170px),620px);margin-bottom:18px}
.kw-ambient--product .kw-ambient-visual{inset:12px}
.kw-ambient-product .kw-product-copy{position:relative;z-index:2;min-width:0}
.kw-ambient-product .kw-product-caption{font-size:clamp(1.5rem,1.4vw,2rem);text-align:center;line-height:1.5}
.kw-ambient-zoom{position:absolute;inset:0;z-index:3;cursor:zoom-in}
.kw-ambient-zoom:focus-visible{outline:2px solid var(--kw-burgundy);outline-offset:-5px}
.kw-ambient-dialog{pointer-events:auto;border:0;padding:48px 12px 12px;background:var(--kw-paper);max-width:96vw;max-height:96vh;width:1100px}
.kw-ambient-dialog::backdrop{background:#211b18cc}
.kw-ambient-dialog button{position:absolute;right:6px;top:4px;width:44px;height:44px;border:0;background:transparent;color:var(--kw-burgundy);font-size:28px}
.kw-ambient-dialog img{display:block;width:100%;height:auto;max-height:calc(90vh - 60px);object-fit:contain}
.kw-language-pill{display:inline-flex;border:1px solid #6B2737;border-radius:99px;padding:2px;margin:0;background:#FAF6F1;flex-shrink:0}
.kw-language-pill button{border:0;border-radius:99px;min-width:34px;min-height:32px;padding:4px 8px;font:500 11px var(--kw-sans);color:#6B2737;background:transparent;cursor:pointer}
.kw-language-pill button[aria-pressed=true]{background:#6B2737;color:#FAF6F1}
.kw-file-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;border:1px solid #6B2737;border-radius:4px;background:#FAF6F1;color:#6B2737;font:400 13.5px var(--kw-sans);overflow:hidden}
.kw-upload-box .kw-file-button input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;max-width:none;margin:0;padding:0;cursor:pointer}
.kw-file-button:focus-within{outline:2px solid #6B2737;outline-offset:3px}
.kw-file-status{font-size:12px;max-width:100%;overflow-wrap:anywhere}
.kw-orientation .kw-option-values{flex-wrap:wrap}
@media(max-width:989px){
 .kw-ambient--hero{inset:0 -12px}
 .kw-ambient--hero .kw-ambient-visual{left:46%}
}
@media(max-width:649px){
 .kw-ambient--hero{position:absolute;inset:0 -20px;width:auto;height:auto}
 .kw-ambient--hero .kw-ambient-backdrop{opacity:.16}
 .kw-ambient--hero :is([data-kind=fabric],[data-kind=new-detail]) .kw-ambient-backdrop{opacity:.3}
 .kw-ambient--hero :is([data-kind=fabric],[data-kind=new-detail]) .kw-ambient-visual{display:flex}
 .kw-ambient--hero .kw-ambient-slide::after{background:linear-gradient(180deg,var(--kw-paper),color-mix(in srgb,var(--kw-paper) 82%,transparent) 28%,color-mix(in srgb,var(--kw-paper) 48%,transparent) 50%,transparent 75%)}
 .kw-ambient--hero .kw-ambient-visual{inset:auto 20px 32px;height:380px}
 .kw-ambient--hero .kw-ambient-image{mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent),linear-gradient(0deg,transparent,#000 4%,#000 94%,transparent)}
 .kw-ambient-hero .kw-hero-copy{order:1}
 .kw-ambient-hero .kw-hero-figure{display:block;order:2;width:100%;height:380px;aspect-ratio:auto}
 .kw-ambient-product .kw-product-gallery{position:relative;top:auto}
 .kw-ambient--product{height:420px;height:min(112vw,500px);margin-bottom:14px}
 .kw-ambient--product .kw-ambient-visual{inset:0}
 .kw-header{grid-template-columns:26px minmax(0,1fr) auto;gap:8px}
 .kw-header .kw-logo{width:100%;max-width:190px;height:60px}
 .kw-header-tools{gap:6px}
 .kw-language-pill button{min-width:28px;min-height:32px;padding:4px 5px}
}
@media(pointer:coarse){.kw-language-pill button{min-height:40px}}
@media(prefers-reduced-motion:reduce){.kw-ambient > .kw-ambient-slide,.kw-ambient > .kw-ambient-slide.is-active{transition:none}}


.kw-ambient [data-kind=note] .kw-ambient-image,.kw-ambient [data-kind=process] .kw-ambient-image{filter:brightness(1.12) contrast(1.03) saturate(.95) sepia(.06)}
.kw-ambient--hero [data-kind=note] .kw-ambient-backdrop,.kw-ambient--hero [data-kind=process] .kw-ambient-backdrop{filter:blur(18px) brightness(1.12);opacity:.2}
.kw-ambient-preload{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.kw-ambient-process-caption{position:absolute;bottom:3px;left:12px;right:12px;z-index:2;margin:0;padding:5px 10px;text-align:center;font:400 11px/1.5 var(--kw-sans);color:var(--kw-burgundy);background:var(--kw-paper)}
.kw-ambient--hero .kw-ambient-process-caption{left:46%;right:10px;bottom:6px}
@media(max-width:649px){.kw-ambient--hero .kw-ambient-process-caption{left:20px;right:20px;bottom:5px}}


.kw-ambient [data-kind=closeup] .kw-ambient-image{filter:brightness(1.12) contrast(1.03) sepia(.06)}
.kw-ambient--hero [data-kind=closeup] .kw-ambient-backdrop{filter:blur(18px) brightness(1.12);opacity:.2}
.kw-ambient [data-kind=note] .kw-protected-composite{filter:none}
.kw-ambient-dialog .kw-zoom-composite{display:block;width:100%;height:auto;max-height:calc(90vh - 60px);mask-image:none;object-fit:contain}
.kw-orientation .kw-option-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kw-orientation .kw-choice>span{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:14px 8px;min-height:154px;border:1px solid #c8b9ab;border-radius:5px;text-align:center;line-height:1.4}
.kw-orientation .kw-choice>span strong{font-size:13px;font-weight:500}
.kw-orientation .kw-choice>span small{font-size:11px;color:#75685e}
.kw-orientation .kw-orientation-diagram{display:block;width:72px;height:72px;color:var(--kw-burgundy)}
.kw-orientation .kw-choice input:checked+span{border:2px solid var(--kw-burgundy);padding:13px 7px;background:#6b26380b!important}
.kw-orientation .kw-choice:hover>span{border-color:var(--kw-burgundy)}


.kw-ambient [data-kind=new-detail] .kw-ambient-image{filter:brightness(1.13) contrast(1.04) saturate(.98)}
.kw-ambient--hero [data-kind=new-detail] .kw-ambient-backdrop{filter:brightness(1.13) contrast(1.04) saturate(.98)}
.kw-ambient .kw-authentic-frame{filter:none}
.kw-ambient .kw-rotated-detail{width:100%;height:auto}
.kw-ambient .kw-authentic-frame{width:auto;height:100%}

.kw-ambient [data-kind=selected-frame] .kw-ambient-image{filter:none}
.kw-ambient--hero [data-kind=selected-frame] .kw-ambient-backdrop{filter:blur(18px);opacity:.24}

.kw-ambient--product .kw-ambient-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #6b273747;border-radius:50%;background:#faf6f1ed;color:var(--kw-burgundy);box-shadow:0 2px 10px #30221a0d;cursor:pointer;touch-action:manipulation}
.kw-ambient--product .kw-ambient-arrow--previous{left:12px}
.kw-ambient--product .kw-ambient-arrow--next{right:12px}
.kw-ambient--product .kw-ambient-arrow:hover{background:var(--kw-paper);border-color:var(--kw-burgundy)}
.kw-ambient--product .kw-ambient-arrow:focus-visible{outline:2px solid var(--kw-burgundy);outline-offset:3px}
.kw-ambient--product .kw-ambient-arrow[hidden]{display:none}
@media(max-width:649px){.kw-ambient--product .kw-ambient-arrow--previous{left:4px}.kw-ambient--product .kw-ambient-arrow--next{right:4px}}
