:root{--ink:#10100f;--charcoal:#1b1b19;--ivory:#f3efe5;--paper:#fbf8f1;--gold:#a68850;--gold-soft:#d8c8a8;--line:rgba(16,16,15,.14);--muted:#6b675e;--serif:"Libre Caslon Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}button{font:inherit}.wrap{width:min(1420px,calc(100% - 64px));margin-inline:auto}.collections{padding:108px 0 54px;min-height:100vh;background:radial-gradient(circle at 82% 4%,rgba(166,136,80,.09),transparent 23%),var(--paper)}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:600;color:var(--gold);margin:0 0 18px}.intro{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:end;margin-bottom:68px}.intro .eyebrow{grid-column:1/-1;margin:0}.intro h1{font-family:var(--serif);font-size:clamp(46px,5.6vw,88px);line-height:.99;letter-spacing:-.035em;font-weight:400;margin:0;max-width:990px}.intro h1 em{font-style:italic;color:var(--gold)}.lede{font-size:16px;line-height:1.75;color:var(--muted);max-width:560px;margin:0 0 8px}
.collection-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.collection-card{appearance:none;text-align:left;border:1px solid var(--line);background:rgba(255,255,255,.5);padding:26px 24px 24px;min-height:214px;cursor:pointer;position:relative;transition:.25s ease;display:flex;flex-direction:column}.collection-card:hover{transform:translateY(-3px);border-color:rgba(166,136,80,.55)}.collection-card.active{background:var(--ink);color:var(--ivory);border-color:var(--ink);box-shadow:0 22px 50px rgba(16,16,15,.15)}/* BRAND HIERARCHY: the manufacturer / product line, small and secondary, directly above the Empire collection name. The label/title group is anchored to the TOP of the card (.card-brand carries no auto margin) and the flexible space sits BELOW it on .card-position, so the four Empire family names start at the same vertical position no matter how many lines the descriptor or the body copy wrap to at a given width. Anchoring the group to the bottom instead made every card's title position a function of the text height beneath it, which is what pushed PREMIUM up at 1280 and SELECT/ARCHITECTURAL up at 768. It keeps the gold eyebrow treatment used for kickers elsewhere (see the --gold-text rule below), so it reads as a label rather than a title. */.card-brand{font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:7px}.collection-card.active .card-brand{color:#bdb8ad}.collection-card h3{font-family:var(--serif);font-size:38px;line-height:1.02;font-weight:400;letter-spacing:.012em;text-transform:uppercase;margin:0 0 10px}.card-position{font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.04em;margin-bottom:auto}.card-copy{font-size:12px;line-height:1.55;color:var(--muted);margin:14px 0 0}.collection-card.active .card-copy{color:#bdb8ad}.card-arrow{position:absolute;right:20px;top:20px;font-size:18px;color:var(--gold)}
.configurator{background:var(--ivory);border:1px solid rgba(16,16,15,.1);padding:52px;box-shadow:0 30px 80px rgba(20,18,12,.08)}.config-head{display:grid;grid-template-columns:1fr auto;gap:30px;padding-bottom:38px;border-bottom:1px solid var(--line)}.config-head h2{font:400 clamp(38px,4vw,58px)/1 var(--serif);margin:0 0 14px}.config-head p:not(.eyebrow){color:var(--muted);max-width:710px;line-height:1.65;margin:0}.selection-path{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:flex-start;gap:7px;max-width:500px}.path-chip{font-size:10px;text-transform:uppercase;letter-spacing:.09em;padding:8px 10px;border:1px solid var(--line);background:rgba(255,255,255,.55)}
.config-shell{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.7fr);gap:38px;padding-top:38px}.preview-card{position:sticky;top:20px;align-self:start;background:var(--charcoal);color:var(--ivory);padding:24px}.preview-label{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.14em;font-size:9px;margin-bottom:20px}.live-dot{color:#d8c28f}.live-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#bf9f5c;margin-right:7px;box-shadow:0 0 0 5px rgba(191,159,92,.11)}.window-stage{min-height:385px;display:grid;place-items:center;background:linear-gradient(#d9e1e0 0 55%,#aeb7a0 55% 58%,#b6aa7b 58%);overflow:hidden;position:relative}.window-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.17),transparent 35%,rgba(255,255,255,.07));pointer-events:none}.window-illustration{width:72%;height:78%;border:18px solid var(--frame,#f0eee7);background:rgba(166,194,202,.42);position:relative;box-shadow:0 14px 35px rgba(0,0,0,.22),inset 0 0 0 3px rgba(40,40,35,.18);transition:.3s}.window-illustration.slider,.window-illustration.picture{width:82%;height:60%}.window-illustration.awning{width:76%;height:55%}.window-illustration.bay-bow{width:80%;height:70%;transform:perspective(500px) rotateX(-2deg)}.window-illustration.specialty-shapes{height:72%;border-radius:48% 48% 0 0}.sash{position:absolute;background:var(--frame,#f0eee7)}.sash.v{width:9px;top:0;bottom:0;left:calc(50% - 4px)}.sash.h{height:9px;left:0;right:0;top:calc(50% - 4px)}.window-illustration.picture .sash,.window-illustration.no-grid .grid-line{display:none}.grid-overlay{position:absolute;inset:5px;pointer-events:none}.grid-line{position:absolute;background:var(--grid,#f0eee7);opacity:.84}.grid-line.v1{width:3px;top:0;bottom:0;left:33%}.grid-line.v2{width:3px;top:0;bottom:0;left:66%}.grid-line.h1{height:3px;left:0;right:0;top:33%}.grid-line.h2{height:3px;left:0;right:0;top:66%}.grid-overlay.prairie:before{content:"";position:absolute;inset:12%;border:3px solid var(--grid,#f0eee7)}.grid-overlay.prairie .grid-line,.grid-overlay.perimeter .h1,.grid-overlay.perimeter .v2{display:none}.grid-overlay.perimeter:before{content:"";position:absolute;inset:9%;border:3px solid var(--grid,#f0eee7)}.preview-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0 0}.preview-summary div{border-top:1px solid rgba(255,255,255,.16);padding-top:10px}.preview-summary dt{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#99958c}.preview-summary dd{font:400 17px/1.2 var(--serif);margin:5px 0 0}
.category-tabs{display:flex;gap:4px;padding-bottom:20px;overflow-x:auto}.category-tab{white-space:nowrap;border:0;background:transparent;padding:12px 14px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.11em;cursor:pointer;border-bottom:2px solid transparent}.category-tab.active{color:var(--ink);border-color:var(--gold)}.category-content{min-height:520px}.group{margin:20px 0 38px}.group-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:16px}.group h3{font:400 25px/1.2 var(--serif);margin:0}.group-note{color:var(--muted);font-size:11px}.tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.option-tile{border:1px solid var(--line);background:rgba(255,255,255,.55);padding:12px;min-height:112px;cursor:pointer;text-align:left;position:relative;transition:.2s}.option-tile:hover{border-color:rgba(166,136,80,.6);background:#fff}.option-tile.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#fff}.check{position:absolute;right:8px;top:8px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#fff;font-size:11px;opacity:0;transform:scale(.7)}.selected .check{opacity:1;transform:scale(1)}.tile-visual{height:60px;display:grid;place-items:center;margin-bottom:10px;background:#e8e5dd;overflow:hidden}.tile-label{font-size:11px;font-weight:600;line-height:1.3}.mini-window{width:42px;height:48px;border:6px solid #f6f2e8;background:#a9c0c6;position:relative;box-shadow:0 3px 6px rgba(0,0,0,.12)}.mini-window:before,.mini-window:after{content:"";position:absolute;background:#f6f2e8}.mini-window:before{width:4px;top:0;bottom:0;left:calc(50% - 2px)}.mini-window:after{height:4px;left:0;right:0;top:calc(50% - 2px)}.mini-window.slider{width:66px;height:38px}.mini-window.awning{width:56px;height:34px}.mini-window.picture:before,.mini-window.picture:after{display:none}.mini-window.bay-bow{width:66px;clip-path:polygon(10% 0,90% 0,100% 100%,0 100%)}.mini-window.specialty-shapes{border-radius:55% 55% 0 0}.swatch{width:100%;height:60px;border:1px solid rgba(0,0,0,.12);background:var(--swatch)}.swatch.wood{background-color:var(--swatch);background-image:repeating-linear-gradient(88deg,transparent 0 9px,rgba(54,35,17,.13) 10px 11px,transparent 12px 19px),linear-gradient(110deg,rgba(255,255,255,.12),transparent)}.grid-sample{width:56px;height:60px;border:6px solid #eee9dd;background:#b5c8cb;position:relative}.grid-sample:before,.grid-sample:after{content:"";position:absolute;background:#eee9dd}.grid-sample.colonial:before{width:3px;top:0;bottom:0;left:50%}.grid-sample.colonial:after{height:3px;left:0;right:0;top:50%}.grid-sample.prairie:before{inset:8px;border:3px solid #eee9dd;background:transparent}.grid-sample.perimeter:before{inset:5px;border:3px solid #eee9dd;background:transparent}.glass-sample{width:100%;height:60px;background:var(--glass,#b9ced2);position:relative;overflow:hidden}.glass-sample.obscure{background:radial-gradient(circle at 15% 30%,rgba(255,255,255,.8) 0 2px,transparent 3px),#cbd5d4;background-size:13px 13px}.glass-sample.rain{background:repeating-linear-gradient(100deg,rgba(255,255,255,.55) 0 2px,transparent 3px 9px),#b9cccf}.info-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.info-row{border:1px solid var(--line);background:rgba(255,255,255,.45);padding:20px;display:flex;justify-content:space-between;align-items:center}.info-row span{font:400 20px var(--serif)}.info-row small{text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}
.projection-color-unavailable{max-width:720px}.projection-info-card{border:1px solid rgba(166,136,80,.28);background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(239,235,225,.54));padding:28px 30px}.projection-info-card .eyebrow{margin:0 0 10px;color:var(--gold)}.projection-info-card h3{margin:0 0 12px}.projection-info-card p:last-child{max-width:590px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.placeholder-state{min-height:480px;display:grid;place-items:center;text-align:center;border:1px dashed rgba(166,136,80,.55);background:rgba(255,255,255,.35);padding:60px}.placeholder-state .symbol{font:400 52px var(--serif);color:var(--gold)}.placeholder-state h3{font:400 34px var(--serif);margin:12px 0}.placeholder-state p{max-width:520px;color:var(--muted);line-height:1.7}.disclaimer{margin-top:38px;padding:22px 0 0;border-top:1px solid var(--line);font-size:12px;line-height:1.6;color:var(--muted)}.disclaimer span{color:var(--gold);margin-right:9px}.disclaimer strong{color:var(--ink)}
.prototype-footer{display:flex;justify-content:space-between;gap:40px;align-items:end;padding-top:42px}.prototype-footer p{max-width:650px;color:var(--muted);font-size:13px;line-height:1.6}.future-actions{display:flex;gap:8px}.future-actions button{text-transform:uppercase;letter-spacing:.12em;font-size:10px;border:1px solid var(--line);background:transparent;color:#aaa49a;padding:15px 18px}
@media(max-width:1050px){.wrap{width:min(100% - 36px,1100px)}.collections{padding-top:72px}.intro{grid-template-columns:1fr;gap:25px}.collection-rail{grid-template-columns:1fr 1fr}.configurator{padding:34px}.config-head{grid-template-columns:1fr}.selection-path{justify-content:flex-start;max-width:none}.config-shell{grid-template-columns:310px minmax(0,1fr);gap:24px}.tile-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.wrap{width:calc(100% - 24px)}.collections{padding-top:52px}.intro{margin-bottom:42px}.intro h1{font-size:44px}.collection-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.collection-card{min-width:82vw;scroll-snap-align:start}.configurator{padding:24px 16px}.config-shell{grid-template-columns:1fr}.preview-card{position:relative;top:auto}.window-stage{min-height:330px}.category-tabs{margin-inline:-16px;padding-inline:16px}.tile-grid{grid-template-columns:1fr 1fr}.info-list{grid-template-columns:1fr}.prototype-footer{align-items:flex-start;flex-direction:column}.future-actions{width:100%;flex-direction:column}.future-actions button{width:100%}}
@media(max-width:420px){.intro h1{font-size:38px}.collection-card h3{font-size:32px}.config-head h2{font-size:40px}.tile-grid{grid-template-columns:1fr 1fr}.option-tile{min-height:105px}.preview-card{padding:16px}.window-stage{min-height:280px}}

/* Grid children must be allowed to shrink inside consultation-sized viewports. */
.config-shell,.preview-card,.options-panel{min-width:0}
.preview-card,.options-panel{width:100%}
@media(max-width:1050px){.wrap{width:min(calc(100% - 36px),1100px)}}

/* Premium architectural product drawings for Window Styles only. */
.style-drawing{width:92px;height:76px;color:#393a37;overflow:visible;filter:drop-shadow(0 4px 5px rgba(26,25,22,.08))}
.style-drawing .architectural-glass{fill:#dce3e1;stroke:none}
.style-drawing .detail-line{stroke-width:3}
.style-drawing .operation-cue{stroke:#a68850;stroke-width:1.4;stroke-dasharray:2.5 3;opacity:.9}
.style-drawing .operation-arrow{fill:none;stroke:#a68850;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.style-drawing .depth-line{fill:none;stroke:#8d887f;stroke-width:1;opacity:.65}
.option-tile .tile-visual:has(.style-drawing){height:82px;background:linear-gradient(180deg,#f6f4ee,#ebe8df);border:1px solid rgba(16,16,15,.06)}
.option-tile.selected .style-drawing{color:#24241f}
.option-tile[data-key="bayWindowConfiguration"] .tile-visual,.option-tile[data-key="bowWindowConfiguration"] .tile-visual{height:82px;background:linear-gradient(180deg,#f6f4ee,#ebe8df);border:1px solid rgba(16,16,15,.06)}
.bay-configuration-thumb{display:block;width:auto;height:auto;max-width:92%;max-height:74px;object-fit:contain;object-position:center}

/* Live preview: physical window structure and optional grids are independent layers. */
.live-window-svg{width:min(82%,360px);height:82%;overflow:visible;filter:drop-shadow(0 15px 18px rgba(0,0,0,.2))}
.live-window-svg .glass-fill{fill:var(--glass);opacity:.68}
.live-window-svg .outer-frame,.live-window-svg .sash-frame,.live-window-svg .meeting-rail,.live-window-svg .unit-division{fill:none;stroke:var(--frame);stroke-linejoin:round;vector-effect:non-scaling-stroke}
.live-window-svg .outer-frame{stroke-width:7}
.live-window-svg .sash-frame{stroke-width:3.5}
.live-window-svg .meeting-rail,.live-window-svg .unit-division{stroke-width:4.5}
.live-window-svg .decorative-grid{fill:none;stroke:var(--grid);stroke-width:1.35;stroke-linecap:square;vector-effect:non-scaling-stroke;opacity:.92}
.live-window-svg .operation-cue-live{fill:none;stroke:#a68850;stroke-width:1.3;stroke-dasharray:2.2 2.8;vector-effect:non-scaling-stroke}
.live-window-svg .operation-arrow-live{fill:none;stroke:#a68850;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.live-window-svg.style-slider,.live-window-svg.style-awning,.live-window-svg.style-bay-bow{width:min(90%,420px);height:70%}
.live-window-svg.style-specialty-shapes{width:min(92%,430px);height:78%}

/* Consultation-grade live configurator controls and presentation modes. */
.config-shell{grid-template-columns:minmax(430px,.95fr) minmax(0,1.5fr)}
.preview-controls{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:14px}.preview-controls .view-switch{width:min(100%,300px);margin-left:auto}
.view-switch{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.16);padding:3px;background:rgba(255,255,255,.035)}
.view-switch button{border:0;background:transparent;color:#918d84;padding:9px 6px;text-transform:uppercase;letter-spacing:.1em;font-size:8px;cursor:pointer;transition:.2s}
.view-switch button.active{background:var(--ivory);color:var(--ink);box-shadow:0 3px 12px rgba(0,0,0,.2)}
.window-stage{min-height:470px;isolation:isolate;transition:background .35s ease}
.window-stage.product-view{background:radial-gradient(circle at 50% 48%,#edf0ec 0 35%,#d7ddd9 64%,#aeb7ad 100%)}

.window-stage.context-view{background:#d8d1c3}
.window-stage.context-view.exterior-view{background:repeating-linear-gradient(0deg,#d5d0c6 0 19px,#c5c0b7 20px 21px)}
.window-stage .live-window-svg{position:relative;z-index:3;width:min(88%,430px);height:88%;transition:width .3s,height .3s,filter .3s}
.window-stage.context-view .live-window-svg{width:min(57%,290px);height:66%;filter:drop-shadow(0 12px 12px rgba(0,0,0,.22))}
.window-stage.context-view .live-window-svg.style-slider,.window-stage.context-view .live-window-svg.style-awning,.window-stage.context-view .live-window-svg.style-bay-bow{width:min(68%,340px);height:58%}
.glass-layer .glass-fill{fill:var(--glass);opacity:.78}
.glass-layer .glass-sheen{fill:url(#glassSheen);opacity:.72}
.glass-layer .glass-texture{fill:transparent}
.glass-rain .glass-texture{fill:url(#rainTexture)}
.glass-obscure .glass-texture{fill:url(#obscureTexture)}
.glass-tinted-bronze .glass-fill,.glass-tinted-grey .glass-fill{opacity:.88}
.window-structure>.outer-frame,.window-structure>.sash-frame,.window-structure>.meeting-rail,.window-structure>.unit-division{filter:drop-shadow(0 1px 0 rgba(255,255,255,.25))}
.window-structure .frame-shadow{transform:translate(1.4px,1.8px);opacity:.28}
.window-structure .frame-shadow .outer-frame,.window-structure .frame-shadow .sash-frame,.window-structure .frame-shadow .meeting-rail,.window-structure .frame-shadow .unit-division{stroke:#171713;filter:none}
.hardware-layer .lock-body{fill:var(--hardware);stroke:#2e2e29;stroke-width:1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}
.hardware-layer .lock-body path{fill:none;stroke:#2e2e29;stroke-width:1;vector-effect:non-scaling-stroke}
.context-room{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.interior-view .context-room:before{content:"";position:absolute;left:7%;top:9%;width:23%;height:38%;border:7px solid rgba(246,241,230,.75);background:linear-gradient(145deg,#b6c5c4,#82999a);box-shadow:0 9px 25px rgba(60,53,44,.12)}
.context-ceiling{position:absolute;inset:0 0 auto;height:8%;background:#eee9de;box-shadow:0 4px 15px rgba(57,49,39,.08)}
.context-floor{position:absolute;inset:auto 0 0;height:18%;background:repeating-linear-gradient(100deg,#88725a 0 36px,#795f49 37px 40px);box-shadow:0 -4px 18px rgba(57,49,39,.12)}
.context-console{position:absolute;right:7%;bottom:18%;width:28%;height:15%;border-top:7px solid #564438;background:linear-gradient(90deg,transparent 8%,#554437 9% 13%,transparent 14% 85%,#554437 86% 90%,transparent 91%)}
.context-plant{position:absolute;right:12%;bottom:34%;width:5%;height:19%;background:#374638;border-radius:75% 0 75% 0;transform:rotate(18deg);box-shadow:-18px 8px 0 #55604b,-5px -15px 0 #65705d}
.exterior-view .context-ceiling,.exterior-view .context-console,.exterior-view .context-plant{display:none}
.exterior-view .context-floor{height:16%;background:linear-gradient(#677253,#4c593c)}
.exterior-view .context-room:before{content:"";position:absolute;inset:8% 7% 16%;border:1px solid rgba(91,82,69,.16)}
@media(max-width:1050px){.config-shell{grid-template-columns:1fr}.preview-card{position:relative;top:auto}.window-stage{min-height:500px}.options-panel{margin-top:8px}}
@media(max-width:760px){.preview-controls{grid-template-columns:1fr}.window-stage{min-height:390px}.window-stage.context-view .live-window-svg{width:min(64%,260px)}.context-console{display:none}}

/* 3D Live Window Studio MVP */
.config-shell{grid-template-columns:minmax(700px,1.35fr) minmax(0,1fr);align-items:start}
.studio-stage{height:610px;min-height:610px;background:radial-gradient(circle at 50% 43%,#f1f1ec 0 26%,#d9ded9 58%,#adb5ad 100%);cursor:grab;overflow:hidden}
.studio-stage:active{cursor:grabbing}
.studio-stage.context-view{background:linear-gradient(145deg,#dcd6ca,#c4bcad)}
.studio-stage.context-view.exterior-view{background:linear-gradient(#c9c5bc 0 82%,#697656 82%)}
.studio-shell,.studio-canvas{position:absolute;inset:0}
.studio-canvas canvas{display:block;width:100%;height:100%;outline:none}
.studio-topline{position:absolute;z-index:5;left:18px;right:18px;top:16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.studio-badge{padding:8px 10px;background:rgba(20,20,18,.78);backdrop-filter:blur(8px);color:#f1ede3;font-size:9px;text-transform:uppercase;letter-spacing:.14em}
.reset-view{pointer-events:auto;border:1px solid rgba(20,20,18,.18);background:rgba(248,245,237,.82);backdrop-filter:blur(8px);color:var(--ink);padding:9px 11px;text-transform:uppercase;letter-spacing:.1em;font-size:8px;cursor:pointer}
.reset-view:hover{border-color:var(--gold);color:#735e36}
.studio-hint{position:absolute;z-index:5;left:50%;bottom:17px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;white-space:nowrap;background:rgba(248,245,237,.78);backdrop-filter:blur(8px);padding:8px 11px;color:#69665e;font-size:8px;text-transform:uppercase;letter-spacing:.11em;pointer-events:none}
.studio-hint i{width:22px;height:1px;background:var(--gold);position:relative}.studio-hint i:before,.studio-hint i:after{content:"";position:absolute;top:-2px;width:5px;height:5px;border-top:1px solid var(--gold);border-right:1px solid var(--gold)}.studio-hint i:before{left:0;transform:rotate(-135deg)}.studio-hint i:after{right:0;transform:rotate(45deg)}
.studio-status{position:absolute;z-index:5;left:18px;bottom:17px;max-width:43%;font-size:8px;line-height:1.45;letter-spacing:.06em;color:rgba(26,25,22,.58);pointer-events:none}.studio-status.notice{background:#171714;color:#eee8dc;padding:9px 11px}
.studio-detail-nav{position:absolute;z-index:7;right:18px;bottom:16px;display:flex;gap:4px;padding:4px;background:rgba(248,245,237,.82);border:1px solid rgba(26,25,22,.12);backdrop-filter:blur(10px)}
.studio-detail-nav button{border:0;background:transparent;color:#58564f;padding:7px 7px;font:600 7px/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.studio-detail-nav button.active{background:#171714;color:#efe9dd;box-shadow:inset 0 -1px 0 var(--gold)}
.studio-stage:after{content:"";position:absolute;z-index:4;inset:0;box-shadow:inset 0 0 0 1px rgba(16,16,15,.08),inset 0 -75px 80px rgba(34,34,29,.05);pointer-events:none}
@media(max-width:1200px){.config-shell{grid-template-columns:1fr}.preview-card{position:relative;top:auto}.studio-stage{height:580px;min-height:580px}.options-panel{margin-top:8px}}
@media(max-width:760px){.studio-stage{height:470px;min-height:470px}.studio-hint,.studio-status{display:none}.studio-topline{left:12px;right:12px}.studio-badge{max-width:58%;line-height:1.4}.studio-detail-nav{left:10px;right:10px;bottom:10px;justify-content:center}.studio-detail-nav button{padding:7px 6px;font-size:7px}}

/* Premium deterministic 2.5D product renderer. The preserved 3D R&D files are no longer loaded here. */
.premium-preview{height:760px;min-height:760px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 48% 43%,#f7f6f1 0 27%,#e7e8e3 55%,#c9cec7 100%)}
.premium-preview.product-view.exterior-view{background:radial-gradient(circle at 48% 43%,#fafaf7 0 32%,#eceeea 63%,#d6dad4 100%)}
.premium-preview:after{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(17,17,15,.08),inset 0 -75px 90px rgba(38,38,31,.06)}
.preview-badge{position:absolute;z-index:9;left:18px;top:17px;background:rgba(20,20,18,.82);color:#f2eee4;padding:9px 11px;text-transform:uppercase;letter-spacing:.13em;font-size:8px;backdrop-filter:blur(8px)}
.product-render{position:absolute;z-index:5;inset:22px 3% 12px;display:grid;place-items:center}
.product-window{height:min(94%,590px);width:auto;max-width:88%;overflow:visible;filter:contrast(1.015);transition:filter .25s ease}
.contact-shadow ellipse{fill:#262722;opacity:.14;filter:blur(10px)}
.frame-back{fill:var(--frame-lo)}.frame-face,.sash-face,.meeting-face{fill:url(#vinylFace)}.frame-reveal,.sash-bead{fill:url(#vinylEdge)}
.edge-highlight,.meeting-highlight,.sill-highlight{fill:none;stroke:var(--frame-hi);stroke-width:1.4;opacity:.58;vector-effect:non-scaling-stroke}
.glass-pane{fill:url(#glassBase);stroke:#596563;stroke-opacity:.22;stroke-width:2}.glass-reflection{fill:url(#glassReflection);opacity:.7}.glass-reflection.lower{transform:scale(-1,1);transform-origin:center}.glass-texture{display:none;pointer-events:none}.glass-rain .glass-texture.rain{display:block;fill:url(#rainGlass);opacity:.72}.glass-obscure .glass-texture.obscure{display:block;fill:#dce4e2;opacity:.48;filter:url(#obscure)}
.glass-tinted-bronze .glass-pane{opacity:.78}.glass-tinted-grey .glass-pane{opacity:.72}.glass-clear .glass-pane{opacity:.58}
.sash-shadow{fill:var(--frame-lo);opacity:.72;transform:translate(2px,3px)}.sash-bead{opacity:.96}.meeting-back{fill:var(--frame-lo)}.meeting-lip{fill:var(--frame-lo);opacity:.9}
.sill-shadow{fill:#1e1f1b;opacity:.35}.sill-face{fill:url(#vinylFace)}.sill-slope{fill:url(#vinylEdge)}
.grid-layer{fill:none;stroke:var(--grid);stroke-width:3;stroke-linecap:square;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}
.hardware-layer{fill:var(--hardware);stroke:#292925;stroke-width:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}.hardware-layer .lock-cam{fill:var(--hardware)}.hardware-layer circle{fill:#3b3b36;stroke:none}
.preview-context{position:absolute;z-index:1;inset:0;background:linear-gradient(125deg,#ded7ca,#c8c0b2 68%,#b8ae9e)}.preview-context:before{content:"";position:absolute;left:14%;right:14%;top:7%;bottom:14%;background:#aaa395;box-shadow:inset 0 0 0 13px #eee8dc,inset 0 0 0 15px rgba(58,53,45,.13),0 16px 30px rgba(50,45,38,.12)}.context-light{position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.5),transparent 42%)}.context-floor-2d{position:absolute;left:0;right:0;bottom:0;height:15%;background:linear-gradient(100deg,#86715d,#6f5948);box-shadow:0 -8px 22px rgba(55,45,35,.1)}
.context-view .product-render{inset:55px 19% 53px}.context-view .product-window{height:min(88%,540px);max-width:82%;filter:drop-shadow(0 13px 13px rgba(43,38,31,.24))}.context-view.exterior-view .preview-context{background:linear-gradient(#cbc7bd 0 84%,#6c7958 84%)}.context-view.exterior-view .preview-context:before{box-shadow:inset 0 0 0 11px #e4dfd4,inset 0 0 0 13px rgba(58,53,45,.12)}.context-view.exterior-view .context-floor-2d{background:linear-gradient(#6d7b59,#536243)}
@media(max-width:1200px){.premium-preview{height:690px;min-height:690px}.config-shell{grid-template-columns:1fr}.preview-card{position:relative;top:auto}}
@media(max-width:760px){.premium-preview{height:550px;min-height:550px}.product-render{inset:18px 2% 8px}.product-window{height:96%;max-width:98%}.context-view .product-render{inset:54px 13% 42px}.preview-badge{left:12px;top:12px}}
@media(max-width:420px){.premium-preview{height:470px;min-height:470px}.product-window{height:94%}}

/* Approved Double Hung master-image renderer. No procedural window geometry is displayed. */
.master-window{position:relative;height:100%;aspect-ratio:923/1457;max-width:100%;overflow:hidden;isolation:isolate;filter:drop-shadow(0 18px 20px rgba(30,29,25,.2))}
.master-canvas{position:absolute;width:110.94%;height:105.42%;left:-5.47%;top:-1.72%}
.exterior-master .master-canvas{height:107.1%;top:-3.9%}
.master-base{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;image-rendering:auto;user-select:none;-webkit-user-drag:none}
.master-frame-color,.master-frame-shade{position:absolute;z-index:2;inset:0;pointer-events:none;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1536'%3E%3Cpath fill='white' fill-rule='evenodd' d='M50 24H973V1481H50Z M180 151H845V719H180Z M171 761H854V1323H171Z M465 687H559V724H465Z'/%3E%3C/svg%3E");-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1536'%3E%3Cpath fill='white' fill-rule='evenodd' d='M50 24H973V1481H50Z M180 151H845V719H180Z M171 761H854V1323H171Z M465 687H559V724H465Z'/%3E%3C/svg%3E");mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.exterior-master .master-frame-color,.exterior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1536'%3E%3Cpath fill='white' fill-rule='evenodd' d='M54 37H970V1491H54Z M183 157H842V728H183Z M181 778H844V1329H181Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1536'%3E%3Cpath fill='white' fill-rule='evenodd' d='M54 37H970V1491H54Z M183 157H842V728H183Z M181 778H844V1329H181Z'/%3E%3C/svg%3E")}
.master-frame-color{background:var(--frame-tint);opacity:var(--frame-color-strength);mix-blend-mode:color;filter:saturate(var(--frame-saturation))}
.master-frame-shade{background:#060706;opacity:var(--frame-shade-strength);mix-blend-mode:multiply}
.master-glass-pane{position:absolute;z-index:4;overflow:hidden;pointer-events:none;clip-path:polygon(.4% .8%,99.5% .8%,99.2% 99%,.5% 99%)}
.master-glass-pane.upper{left:17.58%;top:9.83%;width:64.94%;height:36.65%}.master-glass-pane.lower{left:16.7%;top:49.55%;width:66.7%;height:36.55%}
.exterior-master .master-glass-pane.upper{left:17.9%;top:10.2%;width:64.35%;height:36.95%}.exterior-master .master-glass-pane.lower{left:17.65%;top:50.65%;width:64.75%;height:35.75%}
.glass-effect{position:absolute;inset:0;transition:background .2s,backdrop-filter .2s,opacity .2s}
.master-glass-pane.glass-clear .glass-effect{background:rgba(214,229,235,.015)}
.master-glass-pane.glass-tinted-bronze .glass-effect{background:rgba(105,75,45,.28);mix-blend-mode:multiply}
.master-glass-pane.glass-tinted-grey .glass-effect{background:rgba(60,70,73,.25);mix-blend-mode:multiply}
.master-glass-pane.glass-obscure .glass-effect{background:rgba(231,236,234,.36);backdrop-filter:blur(8px) saturate(.75);filter:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.045' numOctaves='3' seed='7'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='18'/%3E%3C/filter%3E%3C/svg%3E%23n")}
.master-glass-pane.glass-rain .glass-effect{background:repeating-linear-gradient(94deg,rgba(255,255,255,.22) 0 2px,rgba(98,122,126,.07) 3px 5px,transparent 7px 15px),linear-gradient(rgba(215,229,231,.2),rgba(196,215,218,.14));backdrop-filter:blur(1.2px)}
.master-grid{position:absolute;z-index:3;inset:1.25%;width:97.5%;height:97.5%;overflow:hidden;shape-rendering:geometricPrecision;filter:drop-shadow(.55px .85px .65px rgba(36,35,31,.25))}
.master-grid .muntin-body{fill:var(--grid-color)}
.master-grid .muntin-edge{fill:rgba(255,255,255,.3);pointer-events:none}
.context-view .master-window{height:100%;filter:drop-shadow(0 14px 14px rgba(35,31,25,.25))}
@media(max-width:760px){.master-window{height:98%}.master-grid{filter:drop-shadow(.4px .65px .5px rgba(36,35,31,.23))}}

/* Simultaneous Interior / Exterior product comparison. */
.dual-view{height:720px;min-height:720px;background:radial-gradient(circle at 50% 45%,#f8f7f2 0 30%,#e8eae5 62%,#d3d7d1 100%)}
.dual-view .product-render{inset:40px 20px 18px}
.dual-product-view{width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}
.dual-panel{min-width:0;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;padding:19px 12px 14px;border:1px solid rgba(22,22,19,.1);background:radial-gradient(circle at 50% 43%,#ece9e3 0 38%,#eae7e1 68%,#e7e4de 100%);box-shadow:inset 0 0 42px rgba(96,88,76,.045)}
.dual-panel+.dual-panel{border-left-color:rgba(166,136,80,.28)}
.dual-label{font-size:10px;text-transform:uppercase;letter-spacing:.19em;font-weight:600;color:#4f4b44;margin-bottom:5px}
.dual-window-wrap{width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden;position:relative}
.dual-window-wrap .master-window{z-index:1;height:100%;max-width:100%;filter:drop-shadow(0 13px 15px rgba(30,29,25,.18))}.dual-window-wrap .master-base{mix-blend-mode:multiply}
.dual-finish{font:400 18px/1.2 var(--serif);color:#292824;padding-top:8px}.dual-finish span{font:600 8px/1 var(--sans);text-transform:uppercase;letter-spacing:.13em;color:#80683b;margin-left:6px}
.dual-view.context-view .interior-panel{background:linear-gradient(135deg,#ded7ca,#c4bcad)}.dual-view.context-view .exterior-panel{background:linear-gradient(#d2cec4 0 86%,#697656 86%)}
.preview-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1200px){.dual-view{height:700px;min-height:700px}.config-shell{grid-template-columns:1fr}.preview-controls .view-switch{width:min(100%,320px)}}
@media(max-width:760px){.dual-view{height:1120px;min-height:1120px}.dual-view .product-render{inset:42px 10px 12px}.dual-product-view{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:10px}.dual-panel{padding:15px 8px 10px}.preview-summary{grid-template-columns:1fr 1fr}.preview-summary div:last-child{grid-column:1/-1}.preview-controls .view-switch{width:100%;max-width:none}.dual-window-wrap .master-window{height:100%}}
@media(max-width:420px){.dual-view{height:960px;min-height:960px}}

/* Pane-masked glass treatments and representative option samples. */
.glass-sample{border:1px solid rgba(52,60,59,.14);background:linear-gradient(135deg,rgba(255,255,255,.58),transparent 34%),linear-gradient(145deg,#d9e7e9,#abc3c8 65%,#d7e2e2)}
.glass-sample:after{content:"";position:absolute;inset:-20% 58% -20% 20%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent)}
.glass-sample.tinted-bronze{background:linear-gradient(135deg,rgba(255,255,255,.35),transparent 34%),linear-gradient(145deg,#b9aa96,#887967 63%,#b2aa9e)}
.glass-sample.tinted-grey{background:linear-gradient(135deg,rgba(255,255,255,.34),transparent 34%),linear-gradient(145deg,#b8c1c3,#7f898b 63%,#afb7b8)}
.glass-sample.obscure{background-color:#d7dfde;background-image:radial-gradient(ellipse at 18% 28%,rgba(255,255,255,.58) 0 7%,transparent 18%),radial-gradient(ellipse at 73% 61%,rgba(118,139,140,.13) 0 8%,transparent 21%),radial-gradient(ellipse at 43% 80%,rgba(255,255,255,.46) 0 6%,transparent 19%);background-size:31px 27px,37px 33px,29px 35px;filter:saturate(.72)}
.glass-sample.rain{background-color:#c6d8da;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='120' viewBox='0 0 48 120'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M5-8C13 17 0 38 8 66s-4 39 3 62M20-9c-7 25 7 42-1 68s6 43-2 70M35-8c8 21-5 39 4 65s-4 47 2 72' stroke='%23fff' stroke-opacity='.52' stroke-width='3'/%3E%3Cpath d='M11-6C4 19 16 41 9 70s7 39 1 59M29-7c6 23-7 43 2 70s-5 41 1 66M45-5c-7 24 4 39-3 68s6 43 0 66' stroke='%23677f83' stroke-opacity='.18' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(135deg,rgba(255,255,255,.34),rgba(150,181,185,.18));background-size:48px 120px,100% 100%}
.glass-effect{z-index:1;overflow:hidden;isolation:isolate;transition:background .22s,backdrop-filter .22s,opacity .22s}
.glass-effect:before,.glass-effect:after{content:"";position:absolute;inset:0;pointer-events:none}
.master-glass-pane.glass-clear .glass-effect{background:linear-gradient(135deg,rgba(214,231,237,.035),transparent 48%,rgba(184,207,214,.025))}
.master-glass-pane.glass-clear .glass-effect:before,.master-glass-pane.glass-tinted-bronze .glass-effect:before,.master-glass-pane.glass-tinted-grey .glass-effect:before{inset:-12% 62% -12% 17%;transform:skewX(-16deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent)}
.master-glass-pane.glass-tinted-bronze .glass-effect{background:linear-gradient(145deg,rgba(132,94,54,.19),rgba(104,78,50,.25) 56%,rgba(151,119,79,.17));mix-blend-mode:multiply}
.master-glass-pane.glass-tinted-grey .glass-effect{background:linear-gradient(145deg,rgba(78,89,92,.18),rgba(55,64,67,.24) 56%,rgba(113,123,125,.15));mix-blend-mode:multiply}
.master-glass-pane.glass-obscure .glass-effect{background-color:rgba(224,232,231,.48);background-image:radial-gradient(ellipse at 18% 28%,rgba(255,255,255,.38) 0 6%,transparent 17%),radial-gradient(ellipse at 73% 61%,rgba(103,125,126,.11) 0 8%,transparent 21%),radial-gradient(ellipse at 43% 80%,rgba(255,255,255,.3) 0 6%,transparent 19%);background-size:27px 23px,35px 31px,29px 37px;backdrop-filter:blur(4.5px) saturate(.72) contrast(.92);filter:none}
.master-glass-pane.glass-obscure .glass-effect:after{background:linear-gradient(120deg,rgba(255,255,255,.14),transparent 38%,rgba(138,157,157,.07));mix-blend-mode:soft-light}
.master-glass-pane.glass-rain .glass-effect{background-color:rgba(204,222,224,.17);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='160' viewBox='0 0 48 160'%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M5-12C13 17 0 44 8 78s-4 51 3 94M20-11c-7 31 7 52-1 86s6 53-2 77M35-10c8 27-5 49 4 83s-4 58 2 91' stroke='%23fff' stroke-opacity='.3' stroke-width='3'/%3E%3Cpath d='M11-9C4 23 16 52 9 89s7 49 1 77M29-9c6 29-7 54 2 88s-5 51 1 69M45-7c-7 31 4 49-3 86s6 53 0 78' stroke='%235c7579' stroke-opacity='.13' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(135deg,rgba(255,255,255,.12),rgba(137,169,173,.06));background-size:48px 160px,100% 100%;backdrop-filter:blur(.9px) contrast(1.035)}
.master-glass-pane.glass-rain .glass-effect:after{background:repeating-linear-gradient(91deg,transparent 0 8px,rgba(255,255,255,.075) 9px 10px,transparent 12px 21px);mix-blend-mode:screen}

/* Approved Slider master assets: independent frame and pane masks. */
.slider-master{aspect-ratio:3/2;width:100%;height:auto;max-width:100%;max-height:100%}
.slider-master .master-canvas{inset:0;width:100%;height:100%}
.slider-interior-master .master-frame-color,.slider-interior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 1024'%3E%3Cpath fill='white' fill-rule='evenodd' d='M30 4H1507V987H30Z M165 147H733V838H165Z M782 130H1374V856H782Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 1024'%3E%3Cpath fill='white' fill-rule='evenodd' d='M30 4H1507V987H30Z M165 147H733V838H165Z M782 130H1374V856H782Z'/%3E%3C/svg%3E")}
.slider-exterior-master .master-frame-color,.slider-exterior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 1024'%3E%3Cpath fill='white' fill-rule='evenodd' d='M68 22H1468V1000H68Z M199 141H727V861H199Z M780 143H1335V861H780Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 1024'%3E%3Cpath fill='white' fill-rule='evenodd' d='M68 22H1468V1000H68Z M199 141H727V861H199Z M780 143H1335V861H780Z'/%3E%3C/svg%3E")}
.slider-master .master-frame-color,.slider-master .master-frame-shade{-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.slider-master .master-glass-pane{clip-path:polygon(.35% .45%,99.65% .45%,99.65% 99.55%,.35% 99.55%)}
.slider-interior-master .master-glass-pane.left{left:10.74%;top:14.36%;width:36.98%;height:67.48%}
.slider-interior-master .master-glass-pane.right{left:50.91%;top:12.7%;width:38.54%;height:70.9%}
.slider-exterior-master .master-glass-pane.left{left:12.96%;top:13.77%;width:34.38%;height:70.31%}
.slider-exterior-master .master-glass-pane.right{left:50.78%;top:13.96%;width:36.13%;height:70.12%}
.dual-window-wrap .slider-master{width:100%;height:auto;max-width:100%;max-height:100%;filter:drop-shadow(0 13px 15px rgba(30,29,25,.18))}
.slider-dual-view .dual-window-wrap{padding-inline:1%}
@media(max-width:760px){.dual-window-wrap .slider-master{width:100%;height:auto}.slider-dual-view .dual-window-wrap{padding-inline:0}}

/* Wincore 7700 Slider configuration cards and approved fixed 3-Lite masters. */
.slider-configuration-thumb{display:block;width:88%;height:76%;object-fit:contain;object-position:center}
.configuration-description{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.2;letter-spacing:.08em}
.slider-fixed-three-lite{aspect-ratio:4/3}
.slider-3-lite-center-picture.slider-interior{aspect-ratio:1672/941}
.slider-3-lite-center-picture.slider-exterior{aspect-ratio:1448/1086}
.slider-fixed-three-lite .master-canvas{inset:0;width:100%;height:100%}
.slider-fixed-frame-lift,.slider-fixed-frame-color,.slider-fixed-frame-shade{position:absolute;z-index:2;inset:0;pointer-events:none;-webkit-mask-image:var(--fixed-frame-mask);-webkit-mask-position:center;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-image:var(--fixed-frame-mask);mask-position:center;mask-size:100% 100%;mask-repeat:no-repeat}
.slider-fixed-frame-lift{background:#fff;opacity:var(--fixed-frame-lift);mix-blend-mode:screen}
.slider-fixed-frame-color{background:var(--frame-tint);opacity:var(--frame-color-strength);mix-blend-mode:color;filter:saturate(var(--frame-saturation))}
.slider-fixed-frame-shade{background:#090a09;opacity:var(--frame-shade-strength);mix-blend-mode:multiply}
.slider-fixed-three-lite:not(.provia-endure-slider) :is(.slider-fixed-frame-detail,.slider-fixed-frame-relief){position:absolute;z-index:3;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-mask-image:var(--fixed-frame-mask);-webkit-mask-position:center;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-image:var(--fixed-frame-mask);mask-position:center;mask-size:100% 100%;mask-repeat:no-repeat;filter:grayscale(1)}
.slider-fixed-three-lite.slider-exterior:not(.provia-endure-slider) .slider-fixed-frame-detail{filter:grayscale(1) brightness(3) contrast(1.25);mix-blend-mode:soft-light;opacity:.62}
.slider-fixed-three-lite.slider-interior:not(.provia-endure-slider) .slider-fixed-frame-detail{filter:grayscale(1) brightness(.62) contrast(1.4);mix-blend-mode:soft-light;opacity:.78}
.slider-fixed-three-lite.slider-exterior:not(.provia-endure-slider) .slider-fixed-frame-relief{filter:grayscale(1) brightness(3) contrast(1.25);mix-blend-mode:luminosity;opacity:.055}
.slider-fixed-three-lite.slider-interior:not(.provia-endure-slider) .slider-fixed-frame-relief{filter:grayscale(1) brightness(.62) contrast(1.25);mix-blend-mode:luminosity;opacity:.05}
.slider-fixed-white-exterior{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-mask-image:var(--fixed-frame-mask);-webkit-mask-position:center;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-image:var(--fixed-frame-mask);mask-position:center;mask-size:100% 100%;mask-repeat:no-repeat;filter:grayscale(1) invert(1) contrast(.8) brightness(1.08)}
.slider-3-lite-equal.slider-exterior:not(.slider-trim-active):has(.slider-fixed-white-exterior) .master-base{clip-path:inset(11.142% 2.348% 14.733% 2.486%)}
.slider-3-lite-center-picture.slider-exterior:not(.slider-trim-active):has(.slider-fixed-white-exterior) .master-base{clip-path:inset(11.694% 4.834% 14.641% 4.834%)}
.slider-prepared-trim-base{clip-path:polygon(3.5% 10.8%,96.5% 10.8%,96.5% 82.5%,97.6% 82.5%,97.6% 86%,2.4% 86%,2.4% 82.5%,3.5% 82.5%)}
.slider-fixed-trim-lift,.slider-fixed-trim-color,.slider-fixed-trim-shade,.slider-fixed-trim-texture{position:absolute;z-index:2;inset:0;pointer-events:none;-webkit-mask-image:var(--fixed-trim-mask);-webkit-mask-position:center;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-image:var(--fixed-trim-mask);mask-position:center;mask-size:100% 100%;mask-repeat:no-repeat}
.slider-fixed-trim-lift{display:none}
.slider-fixed-trim-color{background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 14%,transparent 86%,rgba(25,23,20,.07)),var(--fixed-trim-color);opacity:1;mix-blend-mode:normal}
.slider-fixed-trim-shade{background:linear-gradient(135deg,rgba(6,7,6,.8),transparent 13%,transparent 87%,rgba(6,7,6,.72));opacity:calc(var(--fixed-trim-shade)*.28);mix-blend-mode:multiply}
.slider-fixed-trim-texture{z-index:3;background:repeating-linear-gradient(3deg,transparent 0 8px,rgba(48,37,28,.1) 9px 10px,rgba(255,255,255,.06) 11px 12px);mix-blend-mode:multiply}
.slider-fixed-three-lite .slider-fixed-trim-color,.casement-fixed-configuration .slider-fixed-trim-color{opacity:1;mix-blend-mode:normal}
.slider-fixed-three-lite .master-glass-pane{z-index:4;clip-path:inset(.35%);overflow:hidden}
.slider-3-lite-equal.slider-interior .master-glass-pane.left{left:12.43%;top:22.01%;width:19.61%;height:52.67%}
.slider-3-lite-equal.slider-interior .master-glass-pane.center{left:35.01%;top:22.01%;width:29.70%;height:52.67%}
.slider-3-lite-equal.slider-interior .master-glass-pane.right{left:67.61%;top:22.01%;width:19.75%;height:52.67%}
.slider-3-lite-equal.slider-exterior .master-glass-pane.left{left:11.05%;top:22.10%;width:20.86%;height:51.10%}
.slider-3-lite-equal.slider-exterior .master-glass-pane.center{left:35.43%;top:20.72%;width:29.28%;height:53.78%}
.slider-3-lite-equal.slider-exterior .master-glass-pane.right{left:68.16%;top:22.10%;width:21.13%;height:51.10%}
.slider-3-lite-center-picture.slider-interior .master-glass-pane.left{left:9.21%;top:15.20%;width:17.05%;height:66.31%}
.slider-3-lite-center-picture.slider-interior .master-glass-pane.center{left:29.49%;top:15.30%;width:40.67%;height:66.21%}
.slider-3-lite-center-picture.slider-interior .master-glass-pane.right{left:73.56%;top:15.20%;width:17.22%;height:66.31%}
.slider-3-lite-center-picture.slider-exterior .master-glass-pane.left{left:13.26%;top:22.28%;width:16.71%;height:50.46%}
.slider-3-lite-center-picture.slider-exterior .master-glass-pane.center{left:33.15%;top:21.09%;width:33.77%;height:52.49%}
.slider-3-lite-center-picture.slider-exterior .master-glass-pane.right{left:69.61%;top:22.28%;width:16.99%;height:50.46%}
.slider-trim-active.slider-3-lite-equal .master-glass-pane.left{left:15.33%;top:25.87%;width:19.68%;height:49.72%}
.slider-trim-active.slider-3-lite-equal .master-glass-pane.center{left:38.40%;top:25.60%;width:23.34%;height:50.18%}
.slider-trim-active.slider-3-lite-equal .master-glass-pane.right{left:65.12%;top:25.87%;width:19.68%;height:49.72%}
.slider-trim-active.slider-3-lite-center-picture .master-glass-pane.left{left:15.33%;top:26.06%;width:14.85%;height:49.72%}
.slider-trim-active.slider-3-lite-center-picture .master-glass-pane.center{left:33.77%;top:25.69%;width:32.18%;height:50.37%}
.slider-trim-active.slider-3-lite-center-picture .master-glass-pane.right{left:69.48%;top:26.06%;width:15.26%;height:49.72%}

/* Wincore Slider exterior: authoritative frame token is the neutral base; depth remains a separate masked layer. */
:is(.slider-exterior-master:not(.provia-endure-slider),.slider-fixed-three-lite.slider-exterior:not(.provia-endure-slider)) :is(.master-frame-color,.slider-fixed-frame-color){background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 16%,transparent 84%,rgba(18,18,17,.09)),var(--frame-tint);opacity:1;mix-blend-mode:normal;filter:none}
:is(.slider-exterior-master:not(.provia-endure-slider),.slider-fixed-three-lite.slider-exterior:not(.provia-endure-slider)) :is(.master-frame-shade,.slider-fixed-frame-shade){background:linear-gradient(135deg,rgba(8,9,8,.68),transparent 14%,transparent 86%,rgba(8,9,8,.58));opacity:calc(.06 + var(--frame-shade-strength)*.24);mix-blend-mode:multiply}
.slider-fixed-three-lite.slider-interior:not(.provia-endure-slider) .slider-fixed-frame-color{background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 16%,transparent 84%,rgba(18,18,17,.06)),var(--frame-tint);opacity:1;mix-blend-mode:normal;filter:none}
.slider-fixed-three-lite.slider-interior:not(.provia-endure-slider) .slider-fixed-frame-shade{background:linear-gradient(135deg,rgba(8,9,8,.48),transparent 14%,transparent 86%,rgba(8,9,8,.42));opacity:calc(.035 + var(--frame-shade-strength)*.16);mix-blend-mode:multiply}

/* Wincore 7700 3-Lite Casement exterior: authoritative frame token base with separate masked depth. */
.casement-fixed-configuration.casement-casement-picture-casement.casement-exterior .slider-fixed-frame-color{background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 16%,transparent 84%,rgba(18,18,17,.09)),var(--frame-tint);opacity:1;mix-blend-mode:normal;filter:none}
.casement-fixed-configuration.casement-casement-picture-casement.casement-exterior .slider-fixed-frame-shade{background:linear-gradient(135deg,rgba(8,9,8,.68),transparent 14%,transparent 86%,rgba(8,9,8,.58));opacity:calc(.06 + var(--frame-shade-strength)*.24);mix-blend-mode:multiply}

/* ProVia Endure Slider uses the approved Slider masters with Premium-only glass and grid treatments. */
.provia-endure-slider .master-glass-pane.glass-bronze-tint .glass-effect{background:rgba(118,83,53,.28);mix-blend-mode:multiply}
.provia-endure-slider .master-glass-pane.glass-green-tint .glass-effect{background:rgba(68,116,91,.23);mix-blend-mode:multiply}
.provia-endure-slider .master-glass-pane.glass-gray-tint .glass-effect{background:rgba(69,78,82,.25);mix-blend-mode:multiply}
.provia-endure-slider .master-glass-pane.glass-blue-tint .glass-effect{background:rgba(54,102,142,.22);mix-blend-mode:multiply}
.provia-endure-slider .master-glass-pane.glass-privacy .glass-effect{background-color:rgba(226,234,234,.62);backdrop-filter:blur(4px) saturate(.72)}
.provia-endure-slider .master-glass-pane.privacy-frosted .glass-effect{background-image:linear-gradient(125deg,rgba(255,255,255,.5),rgba(190,206,207,.32))}
.provia-endure-slider .master-glass-pane.privacy-gluechip .glass-effect{background-image:radial-gradient(ellipse at 22% 25%,rgba(255,255,255,.5) 0 7%,transparent 18%),radial-gradient(ellipse at 72% 62%,rgba(104,128,129,.13) 0 8%,transparent 20%);background-size:30px 27px,38px 35px}
.provia-endure-slider .master-glass-pane.privacy-obscure-pebble .glass-effect{background-image:radial-gradient(circle,rgba(255,255,255,.42) 0 24%,rgba(113,136,137,.12) 27% 41%,transparent 44%);background-size:22px 22px}
.provia-endure-slider .master-glass-pane.privacy-waterfall .glass-effect{background-image:repeating-linear-gradient(92deg,rgba(255,255,255,.34) 0 3px,rgba(91,119,122,.1) 5px 7px,transparent 9px 17px)}
.provia-endure-slider .master-glass-pane.privacy-taffeta .glass-effect{background-image:repeating-linear-gradient(0deg,transparent 0 7px,rgba(255,255,255,.22) 8px 9px),repeating-linear-gradient(90deg,transparent 0 7px,rgba(102,126,128,.1) 8px 9px)}
.provia-endure-slider .master-glass-pane.privacy-chinchilla .glass-effect{background-image:radial-gradient(ellipse at 20% 40%,rgba(255,255,255,.42) 0 12%,transparent 14%),radial-gradient(ellipse at 72% 58%,rgba(93,119,121,.12) 0 11%,transparent 14%);background-size:28px 38px,34px 42px}
.provia-endure-slider .master-glass-pane.privacy-fluted .glass-effect{background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.38) 0 5px,rgba(96,123,126,.11) 7px 9px,transparent 11px 17px)}
.provia-endure-slider .internal-blinds-layer{position:absolute;z-index:2;inset:2%;background:repeating-linear-gradient(to bottom,rgba(244,243,238,.96) 0 3px,rgba(157,157,151,.42) 4px 5px,transparent 6px 11px);filter:drop-shadow(0 1px .5px rgba(47,46,41,.22))}
.provia-endure-slider .grid-profile-contoured .muntin-body{filter:drop-shadow(1px 1px .6px rgba(47,45,39,.38))}
.provia-endure-slider .grid-profile-v-groove .muntin-body{fill:rgba(244,246,244,.3)}
.provia-endure-slider .grid-profile-v-groove .muntin-edge{fill:rgba(63,78,80,.24)}
.provia-endure-slider .grid-sdl-interior-sdl,.provia-endure-slider .grid-sdl-exterior-sdl{filter:drop-shadow(1px 1.4px .8px rgba(35,34,30,.38))}

/* Approved fixed Picture masters: one uninterrupted pane and no hardware layer. */
.picture-master{width:82%;height:auto;max-width:82%;max-height:100%;overflow:hidden;isolation:isolate}
.picture-interior-master{aspect-ratio:1.1371}
.picture-exterior-master{aspect-ratio:1.1634}
.picture-interior-master .master-canvas{width:113.43%;height:103.22%;left:-6.63%;top:-.64%}
.picture-exterior-master .master-canvas{width:116.54%;height:108.51%;left:-8.31%;top:-4.35%}
.picture-interior-master .master-frame-color,.picture-interior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1402 1122'%3E%3Cpath fill='white' fill-rule='evenodd' d='M82 8H1318V1095H82Z M174 99H1222V998H174Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1402 1122'%3E%3Cpath fill='white' fill-rule='evenodd' d='M82 8H1318V1095H82Z M174 99H1222V998H174Z'/%3E%3C/svg%3E")}
.picture-exterior-master .master-frame-color,.picture-exterior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1402 1122'%3E%3Cpath fill='white' fill-rule='evenodd' d='M100 45H1303V1079H100Z M181 125H1223V992H181Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1402 1122'%3E%3Cpath fill='white' fill-rule='evenodd' d='M100 45H1303V1079H100Z M181 125H1223V992H181Z'/%3E%3C/svg%3E")}
.picture-master .master-frame-color,.picture-master .master-frame-shade{-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.picture-master .master-glass-pane{clip-path:polygon(.25% .3%,99.75% .3%,99.75% 99.7%,.25% 99.7%)}
.picture-interior-master .master-glass-pane.picture{left:12.55%;top:9%;width:74.46%;height:79.68%}
.picture-exterior-master .master-glass-pane.picture{left:13.12%;top:11.4%;width:73.75%;height:76.74%}
.dual-window-wrap .picture-master{width:82%;height:auto;max-width:82%;max-height:100%;filter:drop-shadow(0 13px 15px rgba(30,29,25,.18))}
.picture-dual-view .dual-window-wrap{padding-inline:1%}
.dual-view:has(.picture-dual-view){height:520px;min-height:520px}
.preview-summary.picture-summary{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1200px){.dual-view:has(.picture-dual-view){height:540px;min-height:540px}}
@media(max-width:760px){.dual-view:has(.picture-dual-view){height:760px;min-height:760px}.dual-window-wrap .picture-master{width:96%;height:auto;max-width:96%}.picture-dual-view .dual-window-wrap{padding-inline:0}.preview-summary.picture-summary{grid-template-columns:1fr 1fr}}

/* Approved Casement masters: vertical single-pane presentation and side-specific masks. */
.casement-master{height:94%;width:auto;max-width:88%;max-height:94%;overflow:hidden;isolation:isolate}
.casement-interior-master{aspect-ratio:961/1381}
.casement-exterior-master{aspect-ratio:.8243}
.casement-interior-master .master-canvas{width:106.56%;height:111.22%;left:-3.33%;top:-4.63%}
.casement-exterior-master .master-canvas{width:118.42%;height:109.65%;left:-9.01%;top:-3.88%}
.casement-interior-master .master-frame-color,.casement-interior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1536'%3E%3Cpath fill='white' fill-rule='evenodd' d='M40 68H984V1418H40Z M206 243H817V1248H206Z M428 1264H662V1326H428Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1536'%3E%3Cpath fill='white' fill-rule='evenodd' d='M40 68H984V1418H40Z M206 243H817V1248H206Z M428 1264H662V1326H428Z'/%3E%3C/svg%3E")}
.casement-exterior-master .master-frame-color,.casement-exterior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1183 1329'%3E%3Cpath fill='white' fill-rule='evenodd' d='M90 47H1089V1259H90Z M229 182H946V1098H229Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1183 1329'%3E%3Cpath fill='white' fill-rule='evenodd' d='M90 47H1089V1259H90Z M229 182H946V1098H229Z'/%3E%3C/svg%3E")}
.casement-master .master-frame-color,.casement-master .master-frame-shade{-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.casement-master .master-glass-pane{clip-path:polygon(.3% .35%,99.7% .35%,99.7% 99.65%,.3% 99.65%)}
.casement-interior-master .master-glass-pane.casement{left:20.12%;top:15.82%;width:59.67%;height:65.43%}
.casement-exterior-master .master-glass-pane.casement{left:19.52%;top:13.84%;width:60.27%;height:68.62%}
.casement-fixed-configuration{height:auto;width:100%;max-width:100%;max-height:100%;aspect-ratio:3/2}
.casement-casement-picture-casement.casement-interior{aspect-ratio:1672/941}
.casement-casement-picture-casement.casement-exterior{aspect-ratio:1448/1086}
.casement-fixed-configuration .master-canvas{inset:0;width:100%;height:100%}
.casement-fixed-configuration .master-glass-pane{z-index:4;clip-path:inset(.35%);overflow:hidden}
.casement-2-lite.casement-interior .master-glass-pane.casement-left{left:11.28%;top:14.05%;width:34.55%;height:67.12%}
.casement-2-lite.casement-interior .master-glass-pane.casement-right{left:53.98%;top:14.05%;width:34.68%;height:67.12%}
.casement-2-lite.casement-exterior .master-glass-pane.casement-left{left:7.75%;top:15.23%;width:38.67%;height:68.46%}
.casement-2-lite.casement-exterior .master-glass-pane.casement-right{left:53.45%;top:15.23%;width:38.41%;height:68.46%}
.casement-casement-picture-casement.casement-interior .master-glass-pane.casement-left{left:8.67%;top:13.18%;width:17.28%;height:71.20%}
.casement-casement-picture-casement.casement-interior .master-glass-pane.casement-center{left:31.76%;top:12.01%;width:36.90%;height:73.86%}
.casement-casement-picture-casement.casement-interior .master-glass-pane.casement-right{left:74.58%;top:13.18%;width:16.87%;height:71.20%}
.casement-casement-picture-casement.casement-exterior .master-glass-pane.casement-left{left:8.49%;top:21.36%;width:19.48%;height:57.18%}
.casement-casement-picture-casement.casement-exterior .master-glass-pane.casement-center{left:32.94%;top:21.55%;width:33.91%;height:56.91%}
.casement-casement-picture-casement.casement-exterior .master-glass-pane.casement-right{left:71.69%;top:21.36%;width:19.82%;height:57.18%}
.casement-trim-active.casement-casement-picture-casement.casement-exterior{aspect-ratio:1672/941}
.casement-trim-active.casement-2-lite .master-glass-pane.casement-left{left:9.96%;top:14.94%;width:36.46%;height:65.53%}
.casement-trim-active.casement-2-lite .master-glass-pane.casement-right{left:53.52%;top:14.94%;width:36.46%;height:65.53%}
.casement-trim-active.casement-casement-picture-casement .master-glass-pane.casement-left{left:9.21%;top:15.83%;width:16.03%;height:64.19%}
.casement-trim-active.casement-casement-picture-casement .master-glass-pane.casement-center{left:31.40%;top:15.83%;width:37.26%;height:64.19%}
.casement-trim-active.casement-casement-picture-casement .master-glass-pane.casement-right{left:74.94%;top:15.83%;width:15.97%;height:64.19%}
.dual-window-wrap .casement-master{height:94%;width:auto;max-width:88%;max-height:94%;filter:drop-shadow(0 13px 15px rgba(30,29,25,.18))}
.dual-window-wrap .casement-fixed-configuration{height:auto;width:100%;max-width:100%;max-height:100%}
.dual-view:has(.casement-dual-view){height:650px;min-height:650px}
@media(max-width:1200px){.dual-view:has(.casement-dual-view){height:660px;min-height:660px}}
@media(max-width:760px){.dual-view:has(.casement-dual-view){height:1060px;min-height:1060px}.dual-window-wrap .casement-master{height:94%;width:auto;max-width:94%;max-height:94%}}

/* Approved Awning masters: horizontal single-pane presentation and side-specific masks. */
.awning-master{width:96%;height:auto;max-width:96%;max-height:96%;overflow:hidden;isolation:isolate}
.awning-interior-master{width:82%;max-width:82%;aspect-ratio:1128/572}
.awning-exterior-master{aspect-ratio:1.2436}
.awning-interior-master .master-canvas{width:143.62%;height:169.76%;left:-21.63%;top:-33.22%}
.awning-exterior-master .master-canvas{width:107.68%;height:107.16%;left:-3.92%;top:-3.45%}
.awning-interior-master .master-frame-color,.awning-interior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1620 971'%3E%3Cpath fill='white' fill-rule='evenodd' d='M244 190H1372V762H244Z M347 291H1273V658H347Z M738 669H886V710H738Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1620 971'%3E%3Cpath fill='white' fill-rule='evenodd' d='M244 190H1372V762H244Z M347 291H1273V658H347Z M738 669H886V710H738Z'/%3E%3C/svg%3E")}
.awning-exterior-master .master-frame-color,.awning-exterior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1402 1122'%3E%3Cpath fill='white' fill-rule='evenodd' d='M51 36H1353V1083H51Z M199 181H1206V939H199Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1402 1122'%3E%3Cpath fill='white' fill-rule='evenodd' d='M51 36H1353V1083H51Z M199 181H1206V939H199Z'/%3E%3C/svg%3E")}
.awning-master .master-frame-color,.awning-master .master-frame-shade{-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.awning-master .master-glass-pane{clip-path:polygon(.25% .35%,99.75% .35%,99.75% 99.65%,.25% 99.65%)}
.awning-interior-master .master-glass-pane.awning{left:21.42%;top:29.97%;width:57.16%;height:37.8%}
.awning-exterior-master .master-glass-pane.awning{left:11.37%;top:13.85%;width:77.34%;height:72.4%}
.dual-window-wrap .awning-master{width:96%;height:auto;max-width:96%;max-height:96%;filter:drop-shadow(0 13px 15px rgba(30,29,25,.18))}
.awning-dual-view .dual-window-wrap{padding-inline:0}
.dual-view:has(.awning-dual-view){height:500px;min-height:500px}
@media(max-width:1200px){.dual-view:has(.awning-dual-view){height:520px;min-height:520px}}
@media(max-width:760px){.dual-view:has(.awning-dual-view){height:750px;min-height:750px}.dual-window-wrap .awning-master{width:98%;height:auto;max-width:98%}}

/* Approved Bay masters: projected three-panel assembly with six independent glass regions. */
.bay-master{width:98%;height:auto;max-width:98%;max-height:96%;overflow:hidden;isolation:isolate}
.bay-interior-master{aspect-ratio:1.5778}
.bay-exterior-master{aspect-ratio:1.6549}
.bay-interior-master .master-canvas{width:111.39%;height:117.16%;left:-5.66%;top:-7.89%}
.bay-exterior-master .master-canvas{width:114.68%;height:106.81%;left:-7.34%;top:-2.84%}
.bay-interior-master .master-frame-color,.bay-interior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 1024'%3E%3Cpath fill='white' fill-rule='evenodd' d='M78 69H1457V943H78Z M192 210L371 232V804L192 825Z M496 232H1035V801H496Z M1161 232L1344 210V823L1162 804Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 1024'%3E%3Cpath fill='white' fill-rule='evenodd' d='M78 69H1457V943H78Z M192 210L371 232V804L192 825Z M496 232H1035V801H496Z M1161 232L1344 210V823L1162 804Z'/%3E%3C/svg%3E")}
.bay-exterior-master .master-frame-color,.bay-exterior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 941'%3E%3Cpath fill='white' fill-rule='evenodd' d='M107 25H1565V906H107Z M189 128L320 155V760L189 737Z M442 124H1226V779H442Z M1350 130L1473 157V758L1350 781Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 941'%3E%3Cpath fill='white' fill-rule='evenodd' d='M107 25H1565V906H107Z M189 128L320 155V760L189 737Z M442 124H1226V779H442Z M1350 130L1473 157V758L1350 781Z'/%3E%3C/svg%3E")}
.bay-master .master-frame-color,.bay-master .master-frame-shade{-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.bay-master .master-glass-pane{clip-path:polygon(.3% .4%,99.7% .4%,99.7% 99.6%,.3% 99.6%)}
.bay-interior-master .master-glass-pane.bay-left{left:12.5%;top:20.51%;width:11.65%;height:60.06%;clip-path:polygon(0 0,100% 3.58%,100% 96.59%,0 100%)}
.bay-interior-master .master-glass-pane.bay-center{left:32.29%;top:22.66%;width:35.09%;height:55.57%}
.bay-interior-master .master-glass-pane.bay-right{left:75.59%;top:20.51%;width:11.91%;height:60.06%;clip-path:polygon(0 3.58%,100% 0,100% 100%,0 96.59%)}
.bay-exterior-master .master-glass-pane.bay-left{left:11.3%;top:13.6%;width:7.84%;height:67.27%;clip-path:polygon(0 0,100% 4.02%,100% 100%,0 96.58%)}
.bay-exterior-master .master-glass-pane.bay-center{left:26.44%;top:13.18%;width:46.89%;height:69.61%}
.bay-exterior-master .master-glass-pane.bay-right{left:80.74%;top:13.82%;width:7.36%;height:69.18%;clip-path:polygon(0 0,100% 4.14%,100% 96.47%,0 100%)}
.dual-window-wrap .bay-master{width:98%;height:auto;max-width:98%;max-height:96%;filter:drop-shadow(0 13px 15px rgba(30,29,25,.18))}
.bay-dual-view .dual-window-wrap{padding-inline:0}
.dual-view:has(.bay-dual-view){height:500px;min-height:500px}
.pending-master-state{width:min(760px,90%);min-height:310px;margin:auto;display:grid;place-items:center;text-align:center;border:1px solid rgba(178,144,76,.35);background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.5),transparent 54%),#e9e6df;color:#191916;padding:48px}
.pending-master-state .pending-kicker{display:block;color:#8d6d2d;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}.pending-master-state strong{display:block;font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.35rem);font-weight:400}.pending-master-state p{max-width:520px;margin:14px auto 0;color:#5d5a53;line-height:1.65}
@media(max-width:1200px){.dual-view:has(.bay-dual-view){height:520px;min-height:520px}}
@media(max-width:760px){.dual-view:has(.bay-dual-view){height:760px;min-height:760px}.dual-window-wrap .bay-master{width:100%;max-width:100%}}

/* Approved Bow masters: independent five-panel projected assembly. */
.bow-master{width:99%;height:auto;max-width:99%;max-height:96%;overflow:hidden;isolation:isolate}
.bow-interior-master{aspect-ratio:1600/830}
.bow-exterior-master{aspect-ratio:1568/902}
.bow-approved-configuration-master{aspect-ratio:4/3}
.bow-approved-configuration-master .master-canvas{inset:0;width:100%;height:100%}
.bow-interior-master .master-canvas{width:104.5%;height:113.37%;left:-2.25%;top:-6.63%}
.bow-exterior-master .master-canvas{width:102.68%;height:108.32%;left:-1.53%;top:-4.1%}
.bow-interior-master .master-frame-color,.bow-interior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 941'%3E%3Cpath fill='white' fill-rule='evenodd' d='M48 54H1623V856H48Z M131 169L232 155V718L131 700Z M346 149H527V734H346Z M630 148H1047V736H630Z M1150 150H1326V735H1150Z M1438 158L1543 171V707L1438 722Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 941'%3E%3Cpath fill='white' fill-rule='evenodd' d='M48 54H1623V856H48Z M131 169L232 155V718L131 700Z M346 149H527V734H346Z M630 148H1047V736H630Z M1150 150H1326V735H1150Z M1438 158L1543 171V707L1438 722Z'/%3E%3C/svg%3E")}
.bow-exterior-master .master-frame-color,.bow-exterior-master .master-frame-shade{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 941'%3E%3Cpath fill='white' fill-rule='evenodd' d='M41 58H1629V884H41Z M129 157L270 174V777L129 788Z M367 169H538V778H367Z M638 172H1033V778H638Z M1135 169H1304V778H1135Z M1405 169L1544 158V784L1405 778Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 941'%3E%3Cpath fill='white' fill-rule='evenodd' d='M41 58H1629V884H41Z M129 157L270 174V777L129 788Z M367 169H538V778H367Z M638 172H1033V778H638Z M1135 169H1304V778H1135Z M1405 169L1544 158V784L1405 778Z'/%3E%3C/svg%3E")}
.bow-master .master-frame-color,.bow-master .master-frame-shade{-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.bow-master .master-glass-pane{clip-path:polygon(.25% .4%,99.75% .4%,99.75% 99.6%,.25% 99.6%)}
.bow-interior-master .master-glass-pane.bow-outer-left{left:8.13%;top:18.6%;width:8.37%;height:62.4%;clip-path:polygon(0 0,100% 2%,100% 98%,0 100%)}
.bow-interior-master .master-glass-pane.bow-inner-left{left:22.85%;top:20.5%;width:8.79%;height:59.2%}
.bow-interior-master .master-glass-pane.bow-center{left:37.44%;top:22%;width:24.94%;height:56.85%}
.bow-interior-master .master-glass-pane.bow-inner-right{left:68.18%;top:20.4%;width:8.85%;height:59.4%}
.bow-interior-master .master-glass-pane.bow-outer-right{left:83.25%;top:18.4%;width:8.55%;height:62.7%;clip-path:polygon(0 2%,100% 0,100% 100%,0 98%)}
.bow-exterior-master .master-glass-pane.bow-outer-left{left:6.7%;top:15.96%;width:6.27%;height:66.9%;clip-path:polygon(0 4%,100% 0,100% 100%,0 96%)}
.bow-exterior-master .master-glass-pane.bow-inner-left{left:20.31%;top:15.86%;width:10.12%;height:66.43%}
.bow-exterior-master .master-glass-pane.bow-center{left:37.27%;top:16.07%;width:24.22%;height:66.22%}
.bow-exterior-master .master-glass-pane.bow-inner-right{left:69.44%;top:15.86%;width:10.19%;height:66.43%}
.bow-exterior-master .master-glass-pane.bow-outer-right{left:86.96%;top:15.96%;width:6.96%;height:66.9%;clip-path:polygon(0 0,100% 4%,100% 96%,0 100%)}
.dual-window-wrap .bow-master{width:99%;height:auto;max-width:99%;max-height:96%;filter:drop-shadow(0 13px 15px rgba(30,29,25,.18))}
.bow-dual-view .dual-window-wrap{padding-inline:0}
.dual-view:has(.bow-dual-view){height:490px;min-height:490px}
@media(max-width:1200px){.dual-view:has(.bow-dual-view){height:510px;min-height:510px}}
@media(max-width:760px){.dual-view:has(.bow-dual-view){height:740px;min-height:740px}.dual-window-wrap .bow-master{width:100%;max-width:100%}}

/* Double Hung Custom Exterior Trim visual layer; other styles remain architecture-ready. */
.exterior-trim-layer{position:absolute;z-index:0;inset:0;width:100%;height:100%;overflow:visible}
.trim-window-slot{position:absolute;z-index:1;left:16.28%;top:14.83%;width:67.44%;height:69.17%;display:grid;place-items:center}
.trim-window-slot .master-window{height:100%;max-height:100%;width:auto;max-width:100%;filter:drop-shadow(0 8px 9px rgba(20,20,18,.2))}
.exterior-trim-layer .trim-member{fill:var(--trim-color);stroke:rgba(75,70,61,.24);stroke-width:1.1;stroke-linejoin:miter}
.exterior-trim-layer .trim-depth{fill:color-mix(in srgb,var(--trim-color) 74%,#34322d);opacity:.9}
.exterior-trim-layer .trim-texture{pointer-events:none}
.exterior-trim-layer .trim-woodgrain path{opacity:0}.exterior-trim-layer .trim-woodgrain-horizontal path{fill:url(#trimWoodH)}.exterior-trim-layer .trim-woodgrain-vertical path{fill:url(#trimWoodV)}

.exterior-trim-group{padding-bottom:30px;border-bottom:1px solid rgba(31,30,27,.14)}
.trim-eyebrow{margin:0 0 7px;color:#98752f;font-size:.66rem;letter-spacing:.17em;text-transform:uppercase}
.trim-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.trim-type-card{position:relative;min-height:92px;padding:17px 17px 15px;border:1px solid rgba(40,39,35,.16);background:rgba(255,255,255,.42);color:#24231f;text-align:left;transition:border-color .18s,box-shadow .18s,background .18s}
.trim-type-card strong{display:block;font-family:var(--serif);font-size:1.05rem;font-weight:400}.trim-type-card small{display:block;margin-top:7px;color:#6d6960;font-size:.7rem;letter-spacing:.04em}.trim-type-card .check{position:absolute;right:10px;top:10px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#a88643;color:#fff;font-size:.7rem;opacity:0}.trim-type-card.selected{border-color:#a88643;background:#fff;box-shadow:0 7px 18px rgba(48,42,30,.07)}.trim-type-card.selected .check{opacity:1}
.trim-palette-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:28px 0 13px}.trim-palette-head h4{margin:0;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.trim-palette-head span{color:#80796d;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.trim-swatch-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.trim-swatch{position:relative;min-width:0;padding:7px 6px 8px;border:1px solid rgba(40,39,35,.14);background:rgba(255,255,255,.42);text-align:left;color:#35332e}.trim-swatch>span{display:block;height:31px;background:var(--trim-swatch);box-shadow:inset 0 0 0 1px rgba(24,23,20,.11),inset 0 8px 13px rgba(255,255,255,.18)}.trim-swatch[data-trim-color="black"]>span{box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),inset 0 8px 13px rgba(255,255,255,.06)}.trim-swatch>span:after{content:"";display:block;height:100%;background:repeating-linear-gradient(95deg,rgba(255,255,255,.09) 0 1px,transparent 1px 5px);opacity:.5}.trim-swatch>span.trim-solid-swatch:after{display:none}.trim-swatch>span.woodgrain:after{background:repeating-linear-gradient(8deg,rgba(72,45,25,.12) 0 1px,transparent 1px 6px)}.trim-swatch small{display:block;margin-top:6px;overflow:hidden;text-overflow:ellipsis;font-size:.61rem;line-height:1.18}.trim-swatch.selected{border-color:#a88643;box-shadow:0 0 0 1px #a88643}.trim-swatch.selected:after{content:"✓";position:absolute;right:3px;top:3px;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#a88643;color:white;font-size:.62rem}
.trim-palette-empty{padding:20px;border:1px dashed rgba(66,62,54,.22);background:rgba(255,255,255,.25);color:#706b61;font-size:.82rem}
.pvc-availability-note{margin:13px 0 0;color:#756f64;font-size:.72rem;line-height:1.55}
.trim-style-note,.trim-sample-note{color:#756f64;font-size:.72rem;line-height:1.55}.trim-style-note{margin:18px 0 0;padding:11px 13px;background:rgba(173,137,65,.07);border-left:2px solid rgba(169,132,57,.52)}.trim-sample-note{margin:18px 0 0;max-width:720px}
@media(max-width:1000px){.trim-swatch-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:760px){.trim-type-grid{grid-template-columns:1fr}.trim-swatch-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.trim-palette-head{align-items:flex-start;flex-direction:column;gap:5px}}

/* Approved Double Hung exterior-with-trim master: separate window, trim, and glass masks. */

/* Wincore Double Hung CET: the approved exterior master remains the locked foreground render. */
.exterior-panel .master-window.exterior-master:not(.provia-endure-master) .master-base{clip-path:inset(0 0 3.732% 0)}

/* Approved Slider exterior-with-trim master: horizontal product crop plus independent masks. */

/* Approved Casement exterior-with-trim master: one pane, no exterior hardware, one sill. */

/* Approved Picture exterior-with-trim master: apron excluded; one pane and one sill only. */

/* Approved Awning exterior-with-trim master: horizontal single pane, no handle, one sill. */
.dual-window-wrap .awning-interior-master{width:82%;height:auto;max-width:82%;max-height:96%}
@media(max-width:760px){.dual-window-wrap .awning-interior-master{width:84%;max-width:84%}}

/* Legacy flattened Bay renderer retained only for source-history reference; it is not parsed or used. */
/*
.bay-production-master{width:96%;height:auto;max-width:96%;max-height:94%;overflow:hidden;isolation:isolate;filter:drop-shadow(0 11px 13px rgba(30,29,25,.16))}.bay-interior-production-master{aspect-ratio:1670/942}.bay-exterior-trim-master{aspect-ratio:1672/940}
.bay-production-master .master-canvas{inset:0;width:100%;height:100%}.bay-production-master .bay-unit-color,.bay-production-master .bay-unit-woodgrain,.bay-production-master .bay-unit-shade,.bay-production-master .bay-frame-finish,.bay-production-master .bay-seat-board,.bay-production-master .bay-exterior-trim-color{position:absolute;z-index:2;inset:0;pointer-events:none;-webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.bay-interior-production-master .bay-unit-left{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1670 942'%3E%3Cpath fill='white' fill-rule='evenodd' d='M130 105L431 110L432 765L130 800Z M155 160L334 162L348 410L158 408Z M160 440L348 440L347 700L161 715Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1670 942'%3E%3Cpath fill='white' fill-rule='evenodd' d='M130 105L431 110L432 765L130 800Z M155 160L334 162L348 410L158 408Z M160 440L348 440L347 700L161 715Z'/%3E%3C/svg%3E")}.bay-interior-production-master .bay-unit-center{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1670 942'%3E%3Cpath fill='white' fill-rule='evenodd' d='M466 105H1241V765H466Z M515 179H1158V701H515Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1670 942'%3E%3Cpath fill='white' fill-rule='evenodd' d='M466 105H1241V765H466Z M515 179H1158V701H515Z'/%3E%3C/svg%3E")}.bay-interior-production-master .bay-unit-right{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1670 942'%3E%3Cpath fill='white' fill-rule='evenodd' d='M1241 110L1547 104L1545 800L1240 765Z M1338 162L1524 160L1519 411L1324 410Z M1324 440L1519 440L1515 714L1325 699Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1670 942'%3E%3Cpath fill='white' fill-rule='evenodd' d='M1241 110L1547 104L1545 800L1240 765Z M1338 162L1524 160L1519 411L1324 410Z M1324 440L1519 440L1515 714L1325 699Z'/%3E%3C/svg%3E")}
.bay-exterior-trim-master .bay-unit-left{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 940'%3E%3Cpath fill='white' fill-rule='evenodd' d='M91 128H389V806H91Z M142 172H337V438H142Z M143 470H337V753H143Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 940'%3E%3Cpath fill='white' fill-rule='evenodd' d='M91 128H389V806H91Z M142 172H337V438H142Z M143 470H337V753H143Z'/%3E%3C/svg%3E")}.bay-exterior-trim-master .bay-unit-center{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 940'%3E%3Cpath fill='white' fill-rule='evenodd' d='M432 128H1239V806H432Z M482 178H1190V748H482Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 940'%3E%3Cpath fill='white' fill-rule='evenodd' d='M432 128H1239V806H432Z M482 178H1190V748H482Z'/%3E%3C/svg%3E")}.bay-exterior-trim-master .bay-unit-right{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 940'%3E%3Cpath fill='white' fill-rule='evenodd' d='M1284 128H1581V806H1284Z M1338 172H1532V438H1338Z M1338 470H1532V753H1338Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 940'%3E%3Cpath fill='white' fill-rule='evenodd' d='M1284 128H1581V806H1284Z M1338 172H1532V438H1338Z M1338 470H1532V753H1338Z'/%3E%3C/svg%3E")}
.bay-production-master .bay-unit-color{background:var(--frame-tint);opacity:var(--frame-color-strength);mix-blend-mode:color;filter:saturate(var(--frame-saturation))}.bay-production-master .bay-unit-shade{background:#101212;opacity:var(--frame-shade-strength);mix-blend-mode:multiply}.bay-production-master .bay-unit-woodgrain{display:none;background:repeating-linear-gradient(90deg,rgba(55,28,16,.18) 0 1px,transparent 1px 7px),repeating-linear-gradient(88deg,transparent 0 13px,rgba(255,245,226,.12) 14px 15px);mix-blend-mode:multiply;opacity:.38}.bay-production-master.has-unit-woodgrain .bay-unit-woodgrain{display:block}
.bay-interior-production-master .bay-frame-finish{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1670 942'%3E%3Cpath fill='white' d='M20 10H1653V105H20ZM20 62H130V806H20ZM431 105H466V806H431ZM1240 105H1285V806H1240ZM1545 62H1653V806H1545ZM20 824H1653V883H20Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1670 942'%3E%3Cpath fill='white' d='M20 10H1653V105H20ZM20 62H130V806H20ZM431 105H466V806H431ZM1240 105H1285V806H1240ZM1545 62H1653V806H1545ZM20 824H1653V883H20Z'/%3E%3C/svg%3E");background:var(--bay-frame,#eeeae3);opacity:.64;mix-blend-mode:color}.bay-seat-board{clip-path:polygon(.5% 85.45%,99.5% 85.45%,99.5% 87.55%,.5% 87.55%);background-color:var(--seat-board,#eeeae3);background-image:radial-gradient(circle at 28% 46%,rgba(255,255,255,.2) 0 1px,transparent 1.5px),radial-gradient(circle at 68% 58%,rgba(42,39,34,.12) 0 .8px,transparent 1.4px);background-size:11px 9px,13px 12px;opacity:.86;mix-blend-mode:color}
.bay-exterior-trim-master .bay-frame-finish{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 940'%3E%3Cpath fill='white' d='M68 101H1603V128H68ZM68 101H91V806H68ZM389 128H432V806H389ZM1239 128H1284V806H1239ZM1581 101H1603V806H1581Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 940'%3E%3Cpath fill='white' d='M68 101H1603V128H68ZM68 101H91V806H68ZM389 128H432V806H389ZM1239 128H1284V806H1239ZM1581 101H1603V806H1581Z'/%3E%3C/svg%3E");background:var(--bay-frame,#eeeae3);opacity:.64;mix-blend-mode:color}.bay-exterior-trim-master .bay-exterior-trim-color{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 940'%3E%3Cpath fill='white' d='M0 14H1672V102H0ZM0 14H69V811H0ZM1603 14H1672V811H1603ZM0 806H1672V882H0Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1672 940'%3E%3Cpath fill='white' d='M0 14H1672V102H0ZM0 14H69V811H0ZM1603 14H1672V811H1603ZM0 806H1672V882H0Z'/%3E%3C/svg%3E");background:var(--trim-color);opacity:.88;mix-blend-mode:color}.bay-exterior-trim-master.trim-pvc .bay-exterior-trim-color{background-color:var(--trim-color);background-image:repeating-linear-gradient(0deg,rgba(55,42,31,.08) 0 1px,transparent 1px 8px);mix-blend-mode:multiply}
.bay-production-master .master-glass-pane{z-index:3;background:linear-gradient(138deg,#dcecf6,#a9c9df 58%,#dbeaf3);clip-path:polygon(.3% .4%,99.7% .4%,99.7% 99.6%,.3% 99.6%)}
.bay-interior-production-master .bay-left-upper{left:9.28%;top:16.98%;width:11.56%;height:26.54%}.bay-interior-production-master .bay-left-lower{left:9.58%;top:46.71%;width:11.26%;height:29.2%}.bay-interior-production-master .bay-center{left:30.84%;top:19%;width:38.5%;height:55.41%}.bay-interior-production-master .bay-right-upper{left:79.28%;top:16.98%;width:11.98%;height:26.65%}.bay-interior-production-master .bay-right-lower{left:79.28%;top:46.71%;width:11.98%;height:29.09%}
.bay-exterior-trim-master .bay-left-upper{left:8.49%;top:18.3%;width:11.66%;height:28.3%}.bay-exterior-trim-master .bay-left-lower{left:8.55%;top:50%;width:11.6%;height:30.11%}.bay-exterior-trim-master .bay-center{left:28.83%;top:18.94%;width:42.34%;height:60.64%}.bay-exterior-trim-master .bay-right-upper{left:80.02%;top:18.3%;width:11.6%;height:28.3%}.bay-exterior-trim-master .bay-right-lower{left:80.02%;top:50%;width:11.6%;height:30.11%}
.dual-window-wrap .bay-production-master{width:96%;height:auto;max-width:96%;max-height:94%}

*/
/* Bay layer renderer: extracted RGBA assets share one coordinate space per view. */

/* Approved Bay masters define all product geometry; masks below style known finish regions only. */
.bay-approved-master .master-canvas{inset:0;width:100%;height:100%}.bay-approved-master .master-base{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.bay-master-overlay,.bay-master-overlay .bay-layer-color,.bay-master-overlay .bay-layer-grain,.bay-master-overlay .bay-layer-shade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.bay-master-overlay .bay-layer-color,.bay-master-overlay .bay-layer-grain,.bay-master-overlay .bay-layer-shade{-webkit-mask-image:var(--layer-url);mask-image:var(--layer-url);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.bay-approved-master.bay-interior-production-master{aspect-ratio:1774/887}.bay-approved-master.bay-exterior-trim-master{aspect-ratio:1686/933}.bay-approved-master.bay-double-hung-picture-master,.bay-approved-master.bay-picture-trio-master,.bay-approved-master.bay-casement-picture-master{aspect-ratio:4/3}.bay-approved-master .master-glass-pane{z-index:3;background:linear-gradient(138deg,rgba(220,236,246,.28),rgba(169,201,223,.2) 58%,rgba(219,234,243,.22));clip-path:polygon(.3% .4%,99.7% .4%,99.7% 99.6%,.3% 99.6%)}
.bay-approved-master.bay-interior-production-master .bay-left-upper{left:7.33%;top:18.15%;width:11.05%;height:26.6%}.bay-approved-master.bay-interior-production-master .bay-left-lower{left:7.33%;top:48.48%;width:11.05%;height:31.12%}.bay-approved-master.bay-interior-production-master .bay-center{left:27.56%;top:20.74%;width:44.59%;height:58.74%}.bay-approved-master.bay-interior-production-master .bay-right-upper{left:81.34%;top:18.15%;width:11.16%;height:26.6%}.bay-approved-master.bay-interior-production-master .bay-right-lower{left:81.34%;top:48.48%;width:11.16%;height:31.12%}
.bay-approved-master.bay-exterior-trim-master .bay-left-upper{left:7.18%;top:14.79%;width:8.84%;height:31.19%}.bay-approved-master.bay-exterior-trim-master .bay-left-lower{left:7.18%;top:48.55%;width:8.84%;height:30.98%}.bay-approved-master.bay-exterior-trim-master .bay-center{left:25.56%;top:14.68%;width:49%;height:68.6%}.bay-approved-master.bay-exterior-trim-master .bay-right-upper{left:84.1%;top:14.79%;width:8.66%;height:31.19%}.bay-approved-master.bay-exterior-trim-master .bay-right-lower{left:84.1%;top:48.55%;width:8.66%;height:30.98%}

/* Dedicated full-width projection-window preview. Standard window dual views are unchanged. */
.config-shell.projection-layout{grid-template-columns:minmax(0,1fr)}.projection-layout .preview-card{position:relative;top:auto}.projection-layout .options-panel{margin-top:4px}
.projection-view{height:720px;min-height:720px;background:radial-gradient(circle at 50% 43%,#f8f7f2 0 32%,#e9e9e4 64%,#d2d6d0 100%)}.projection-view .product-render{inset:18px 24px 16px}.projection-single-view{width:100%;height:100%;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;place-items:center;padding:3px 12px 10px;animation:projection-fade .2s ease}.projection-side-switch{z-index:10;display:inline-grid;grid-template-columns:1fr 1fr;margin-top:0;padding:3px;border:1px solid rgba(28,27,24,.18);background:rgba(244,242,235,.86);box-shadow:0 5px 20px rgba(38,35,29,.08);backdrop-filter:blur(8px)}.projection-side-switch button{border:0;background:transparent;color:#676158;padding:10px 24px;font:600 9px/1 var(--sans);letter-spacing:.17em;text-transform:uppercase;cursor:pointer;transition:background .18s,color .18s}.projection-side-switch button.active{background:#1d1d1a;color:#f3eee3}.projection-single-product{width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden}.projection-single-product .master-window{width:min(96%,1100px);height:auto;max-width:96%;max-height:94%}.projection-single-product .bow-master{width:min(95%,1100px);height:auto}.projection-view-focus{font:500 8px/1.2 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:#777166;padding:4px 12px 0;text-align:center}
.projection-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 18px}.projection-actions{display:flex;justify-content:center}.projection-compare-action{margin-top:20px;border:1px solid rgba(192,157,88,.7);background:transparent;color:#eee7d9;padding:12px 20px;font:600 9px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}.projection-compare-action:hover{background:#b18f4d;color:#171713}
.projection-compare-view{height:790px;min-height:790px}.projection-comparison{width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:8px}.projection-comparison section{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;place-items:center;padding:14px;background:radial-gradient(circle at 50% 43%,#ece9e3 0 40%,#e7e4de 100%);border:1px solid rgba(25,24,21,.11)}.projection-comparison-label{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:600;color:#4c4942}.projection-compare-product{width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden}.projection-compare-product .master-window{width:96%;height:auto;max-width:96%;max-height:92%}.projection-comparison-details{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;padding-top:10px;border-top:1px solid rgba(35,33,29,.12)}.projection-comparison-details span{font-size:8px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;color:#686259}
@keyframes projection-fade{from{opacity:.25}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.projection-single-view{animation:none}.projection-side-switch button{transition:none}}
@media(max-width:760px){.projection-view{height:520px;min-height:520px}.projection-view .product-render{inset:16px 8px 10px}.projection-single-product .master-window{width:100%;max-width:100%}.projection-summary{grid-template-columns:1fr 1fr}.projection-compare-view{height:1050px;min-height:1050px}.projection-comparison{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:10px}.projection-comparison section{padding:10px}.projection-comparison-details{grid-template-columns:1fr 1fr}.projection-side-switch button{padding:9px 18px}}

.window-stage.projection-view{background:#d8d5cd}

/* Specialty Shapes use approved raster masters with reusable shape-driven overlays. */
.specialty-shape-icon.circle{display:block;width:58px;height:58px;border:6px solid #eeeae2;border-radius:50%;background:#b9ced2;box-shadow:0 0 0 2px #383a37,inset 0 0 0 2px rgba(25,25,23,.55)}
.specialty-shape-pending{min-height:112px;opacity:.62;cursor:not-allowed}.specialty-shape-pending .tile-visual{display:grid;place-items:center}.specialty-pending-mark{font:600 8px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#82775f}
.projection-single-product .specialty-master{width:auto;height:min(88%,650px);max-width:72%;max-height:88%}
.specialty-master .master-canvas{position:relative;isolation:isolate;inset:auto;width:100%;height:100%}.specialty-master .master-base{position:absolute;z-index:3;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.specialty-circle-interior{aspect-ratio:1278/1230}
.specialty-circle-exterior{aspect-ratio:1/1}
.specialty-circle-interior .master-glass-pane.specialty-circle{z-index:4;left:20.03%;top:18.7%;width:59.16%;height:61.46%;border-radius:50%;overflow:hidden}
.specialty-circle-exterior .master-glass-pane.specialty-circle{z-index:4;left:16.71%;top:15.07%;width:66.19%;height:66.19%;border-radius:50%;overflow:hidden}
.specialty-master .specialty-frame-lift,.specialty-master .specialty-frame-color,.specialty-master .specialty-frame-shade{position:absolute;z-index:5;inset:0;pointer-events:none;-webkit-mask-image:var(--frame-mask);mask-image:var(--frame-mask);-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.specialty-master .specialty-frame-lift{background:#fff;opacity:var(--frame-lift);mix-blend-mode:screen}.specialty-master .specialty-frame-color{background:var(--frame-tint);opacity:var(--frame-color-strength);mix-blend-mode:color;filter:saturate(var(--frame-saturation))}.specialty-master .specialty-frame-shade{background:#060706;opacity:var(--frame-shade-strength);mix-blend-mode:multiply}
.specialty-eyebrow-master .specialty-frame-lift,.specialty-eyebrow-master .specialty-frame-color,.specialty-eyebrow-master .specialty-frame-shade,.specialty-eyebrow-with-leg-master .specialty-frame-lift,.specialty-eyebrow-with-leg-master .specialty-frame-color,.specialty-eyebrow-with-leg-master .specialty-frame-shade,.specialty-quarter-round-master .specialty-frame-lift,.specialty-quarter-round-master .specialty-frame-color,.specialty-quarter-round-master .specialty-frame-shade,.specialty-quarter-round-with-leg-master .specialty-frame-lift,.specialty-quarter-round-with-leg-master .specialty-frame-color,.specialty-quarter-round-with-leg-master .specialty-frame-shade,.specialty-half-round-master .specialty-frame-lift,.specialty-half-round-master .specialty-frame-color,.specialty-half-round-master .specialty-frame-shade,.specialty-octagon-master .specialty-frame-lift,.specialty-octagon-master .specialty-frame-color,.specialty-octagon-master .specialty-frame-shade{-webkit-mask-size:contain;mask-size:contain}
.specialty-master .master-glass-pane{z-index:4!important;clip-path:circle(50% at 50% 50%)}
.specialty-pattern-grid .muntin-stroke path{fill:none;stroke:var(--grid-color);stroke-width:3.6;stroke-linecap:square;stroke-linejoin:round}.specialty-pattern-grid .muntin-highlight path{fill:none;stroke:rgba(255,255,255,.32);stroke-width:.72;transform:translate(.45px,.45px)}
.projection-single-product .specialty-oval-master{width:auto;height:min(88%,650px);max-width:72%;max-height:88%}
.specialty-oval-interior,.specialty-oval-exterior{aspect-ratio:1086/1448}
.specialty-oval-master .master-glass-pane.specialty-oval{z-index:4;overflow:hidden;border-radius:50%;clip-path:none}
.specialty-oval-interior .master-glass-pane.specialty-oval{left:23.57%;top:13.95%;width:51.29%;height:69.41%}
.specialty-oval-exterior .master-glass-pane.specialty-oval{left:22.1%;top:14.64%;width:54.42%;height:69.41%}
.projection-single-product .specialty-elliptical-master{width:min(88%,1100px);height:auto;max-width:88%;max-height:82%}
.specialty-elliptical-interior{aspect-ratio:1672/941}.specialty-elliptical-exterior{aspect-ratio:3/2}
.specialty-elliptical-master .master-glass-pane.specialty-elliptical{z-index:4;overflow:hidden;border-radius:50%;clip-path:none}
.specialty-elliptical-interior .master-glass-pane.specialty-elliptical{left:11.18%;top:18.92%;width:77.21%;height:59.4%}
.specialty-elliptical-exterior .master-glass-pane.specialty-elliptical{left:10.94%;top:18.95%;width:77.41%;height:57.81%}
.projection-single-product .specialty-octagon-master{width:auto;height:min(88%,650px);max-width:72%;max-height:88%;aspect-ratio:1/1}
.specialty-octagon-master .master-glass-pane.specialty-octagon{z-index:4;overflow:hidden;border-radius:0;clip-path:polygon(29% 0,71% 0,100% 29%,100% 71%,71% 100%,29% 100%,0 71%,0 29%)}
.specialty-octagon-interior .master-glass-pane.specialty-octagon{left:15.63%;top:15.31%;width:68.18%;height:66.27%}
.specialty-octagon-exterior .master-glass-pane.specialty-octagon{left:19.3%;top:19.94%;width:61.16%;height:60.69%}
.projection-single-product .specialty-hexagon-master{width:min(88%,572px);height:auto;max-width:88%;max-height:88%}
.specialty-hexagon-interior{aspect-ratio:1/1}.specialty-hexagon-exterior{aspect-ratio:1349/1166}
.specialty-hexagon-master .master-glass-pane.specialty-hexagon{z-index:4;overflow:hidden;border-radius:0;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.specialty-hexagon-interior .master-glass-pane.specialty-hexagon{left:14.04%;top:16.27%;width:71.21%;height:60.85%}
.specialty-hexagon-exterior .master-glass-pane.specialty-hexagon{left:14.08%;top:16.64%;width:70.05%;height:67.32%}
.projection-single-product .specialty-pentagon-master{width:min(88%,572px);height:auto;max-width:88%;max-height:88%}
.specialty-pentagon-interior{aspect-ratio:1360/1157}.specialty-pentagon-exterior{aspect-ratio:1/1}
.specialty-pentagon-master .master-glass-pane.specialty-pentagon{z-index:4;overflow:hidden;border-radius:0}
.specialty-pentagon-interior .master-glass-pane.specialty-pentagon{left:15.44%;top:12.27%;width:68.24%;height:73.29%;clip-path:polygon(50% 0,100% 41.7%,100% 100%,0 100%,0 41.7%)}
.specialty-pentagon-exterior .master-glass-pane.specialty-pentagon{left:12.6%;top:9.73%;width:74.8%;height:78.55%;clip-path:polygon(50% 0,100% 35.8%,100% 100%,0 100%,0 35.8%)}
.projection-single-product .specialty-triangle-master{width:min(88%,572px);height:auto;max-width:88%;max-height:88%}
.specialty-triangle-interior{aspect-ratio:3/2}.specialty-triangle-exterior{aspect-ratio:1/1}
.specialty-triangle-master .master-glass-pane.specialty-triangle{z-index:4;overflow:hidden;border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}
.specialty-triangle-interior .master-glass-pane.specialty-triangle{left:14.26%;top:19.53%;width:70.44%;height:56.15%}
.specialty-triangle-exterior .master-glass-pane.specialty-triangle{left:14.99%;top:29.75%;width:69.78%;height:36.05%}
.option-tile[data-key="specialtyShape"] .tile-visual{height:72px;display:flex;align-items:center;justify-content:center;padding:6px 8px;box-sizing:border-box;overflow:hidden}
.specialty-shape-thumb{display:block;width:auto;height:auto;max-width:84%;max-height:84%;margin:0;object-fit:contain;object-position:center}
.option-tile[data-value="eyebrow"] .specialty-shape-thumb{transform:scale(.9)}
.option-tile[data-value="half-round"] .specialty-shape-thumb{transform:scale(1.28)}
.projection-single-product .specialty-trapezoid-pair-master{width:min(88%,1100px);height:auto;max-width:88%;max-height:82%}.specialty-trapezoid-pair-interior{aspect-ratio:3/2}.specialty-trapezoid-pair-exterior{aspect-ratio:724/543}
.specialty-trapezoid-pair-master .master-glass-pane{z-index:1;border-radius:0;overflow:hidden}
.specialty-trapezoid-pair-interior .master-glass-pane.specialty-trapezoid-left{left:6.84%;top:18.95%;width:36.46%;height:67.09%;clip-path:polygon(100% 0,100% 100%,0 100%,0 55.3%)}
.specialty-trapezoid-pair-interior .master-glass-pane.specialty-trapezoid-right{left:56.58%;top:18.95%;width:36%;height:67.09%;clip-path:polygon(0 0,100% 55.3%,100% 100%,0 100%)}
.specialty-trapezoid-pair-exterior .master-glass-pane.specialty-trapezoid-left{left:8.36%;top:23.11%;width:33.08%;height:54.79%;clip-path:polygon(100% 0,100% 100%,0 100%,0 55.6%)}
.specialty-trapezoid-pair-exterior .master-glass-pane.specialty-trapezoid-right{left:58.49%;top:23.11%;width:33.01%;height:54.79%;clip-path:polygon(0 0,100% 55.6%,100% 100%,0 100%)}
.projection-single-product .specialty-eyebrow-master,.projection-single-product .specialty-eyebrow-with-leg-master{width:min(88%,1100px);height:auto;max-width:88%;max-height:82%}
.specialty-eyebrow-interior{aspect-ratio:1095/399}.specialty-eyebrow-exterior{aspect-ratio:1035/373}
.specialty-eyebrow-with-leg-interior{aspect-ratio:947/587}.specialty-eyebrow-with-leg-exterior{aspect-ratio:887/563}
.specialty-eyebrow-master .master-glass-pane.specialty-eyebrow{z-index:1;overflow:hidden;border-radius:50% 50% 0 0/100% 100% 0 0}
.specialty-eyebrow-interior .master-glass-pane.specialty-eyebrow{left:6.3%;top:17.8%;width:87.5%;height:64.4%;clip-path:inset(0 round 50% 50% 0 0/100% 100% 0 0)}
.specialty-eyebrow-exterior .master-glass-pane.specialty-eyebrow{left:8%;top:17.4%;width:84%;height:68.6%;clip-path:inset(0 round 50% 50% 0 0/100% 100% 0 0)}
.specialty-eyebrow-with-leg-master .master-glass-pane.specialty-eyebrow-with-leg{z-index:1;border-radius:0;overflow:hidden;clip-path:polygon(50% 0,40% 1.5%,31% 6%,23% 13%,16% 22%,10% 32%,5% 40%,0 43%,0 100%,100% 100%,100% 43%,95% 40%,90% 32%,84% 22%,77% 13%,69% 6%,60% 1.5%)}
.specialty-eyebrow-with-leg-interior .master-glass-pane.specialty-eyebrow-with-leg{left:7.5%;top:12.4%;width:85%;height:75.8%}
.specialty-eyebrow-with-leg-exterior .master-glass-pane.specialty-eyebrow-with-leg{left:6.2%;top:11.2%;width:87.6%;height:77.3%}
.projection-single-product .specialty-quarter-round-master,.projection-single-product .specialty-quarter-round-with-leg-master{width:auto;height:min(88%,650px);max-width:88%;max-height:88%}
.specialty-quarter-round-interior{aspect-ratio:558/599}.specialty-quarter-round-exterior{aspect-ratio:523/566}
.specialty-quarter-round-with-leg-interior{aspect-ratio:424/780}.specialty-quarter-round-with-leg-exterior{aspect-ratio:386/679}
.specialty-quarter-round-master .master-glass-pane.specialty-quarter-round,.specialty-quarter-round-with-leg-master .master-glass-pane.specialty-quarter-round-with-leg{z-index:4;overflow:hidden;border-radius:100% 0 0 0/100% 0 0 0;clip-path:none}
.specialty-quarter-round-interior .master-glass-pane.specialty-quarter-round{left:14.2%;top:12.2%;width:74.2%;height:76%}
.specialty-quarter-round-exterior .master-glass-pane.specialty-quarter-round{left:13.2%;top:13.2%;width:76%;height:75.5%}
.specialty-quarter-round-with-leg-interior .master-glass-pane.specialty-quarter-round-with-leg{left:16.7%;top:9.4%;width:68%;height:80.8%}
.specialty-quarter-round-with-leg-exterior .master-glass-pane.specialty-quarter-round-with-leg{left:17.1%;top:10.2%;width:66.5%;height:79.6%}
.projection-single-product .specialty-half-round-with-leg-master{width:auto;height:min(88%,650px);max-width:88%;max-height:88%}
.specialty-half-round-with-leg-interior{aspect-ratio:1122/1402}
.specialty-half-round-with-leg-exterior{aspect-ratio:1086/1448}
.specialty-half-round-with-leg-interior .master-glass-pane.specialty-half-round-with-leg{z-index:1;left:13.55%;top:6.55%;width:72.9%;height:84.35%;border-radius:50% 50% 0 0/34.5% 34.5% 0 0;clip-path:inset(0 round 50% 50% 0 0/34.5% 34.5% 0 0)}
.specialty-half-round-with-leg-exterior .master-glass-pane.specialty-half-round-with-leg{z-index:1;left:11.85%;top:7.7%;width:76.3%;height:83.7%;border-radius:50% 50% 0 0/34.5% 34.5% 0 0;clip-path:inset(0 round 50% 50% 0 0/34.5% 34.5% 0 0)}
.projection-single-product .specialty-half-round-master{width:auto;height:min(88%,650px);max-width:88%;max-height:88%;aspect-ratio:1/1}
.specialty-half-round-interior .master-glass-pane.specialty-half-round{left:10.53%;top:32.46%;width:78.94%;height:36.38%;overflow:hidden;border-radius:50% 50% 0 0/100% 100% 0 0;clip-path:inset(0 round 50% 50% 0 0/100% 100% 0 0)}
.specialty-half-round-exterior .master-glass-pane.specialty-half-round{left:12.7%;top:35%;width:74.3%;height:34.5%;overflow:hidden;border-radius:50% 50% 0 0/100% 100% 0 0;clip-path:inset(0 round 50% 50% 0 0/100% 100% 0 0)}
@media(max-width:760px){.projection-single-product .specialty-master{width:auto;height:min(82%,540px);max-width:88%;max-height:82%}.projection-single-product .specialty-trapezoid-pair-master,.projection-single-product .specialty-eyebrow-master,.projection-single-product .specialty-eyebrow-with-leg-master,.projection-single-product .specialty-elliptical-master,.projection-single-product .specialty-hexagon-master,.projection-single-product .specialty-pentagon-master,.projection-single-product .specialty-triangle-master{width:94%;height:auto;max-width:94%}.projection-single-product .specialty-oval-master,.projection-single-product .specialty-octagon-master,.projection-single-product .specialty-quarter-round-master,.projection-single-product .specialty-quarter-round-with-leg-master,.projection-single-product .specialty-half-round-with-leg-master,.projection-single-product .specialty-half-round-master{width:auto;height:min(82%,540px);max-width:94%}.specialty-single-view .projection-side-switch button{padding-inline:18px}}

/* ============================================================
   Accessibility layer — keyboard focus, skip link, status region.
   Purely additive: no geometry, colour, mask or compositing rule
   above this block is modified.
   ============================================================ */

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

.skip-link{position:absolute;left:16px;top:-64px;z-index:50;padding:12px 20px;background:var(--ink);color:var(--ivory);font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid var(--gold);transition:top .18s ease}
.skip-link:focus-visible{top:16px;outline:2px solid var(--gold);outline-offset:2px}

/* A single visible focus treatment for every interactive control. The rail
   cards and option tiles sit on light and dark grounds, so the ring pairs a
   gold outline with a paper-coloured halo to stay legible on both. */
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:1px}

.collection-card:focus-visible,.option-tile:focus-visible,.category-tab:focus-visible,.view-switch button:focus-visible,.projection-side-switch button:focus-visible,.projection-compare-action:focus-visible,.trim-type-card:focus-visible,.trim-swatch:focus-visible{outline:2px solid var(--gold);outline-offset:2px;box-shadow:0 0 0 4px rgba(251,248,241,.85),0 0 0 6px rgba(166,136,80,.28)}

/* The preview and options columns are keyboard-reachable containers; keep the
   ring inside their bounds so it is never clipped by the configurator frame. */
.category-content:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}

/* Windows high-contrast / forced-colours mode ignores the custom ring. */
@media (forced-colors:active){
 a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid Highlight;outline-offset:2px}
 .option-tile.selected,.category-tab.active,.collection-card.active{forced-color-adjust:none;outline:2px solid Highlight}
}

@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .skip-link{transition:none}
 .collection-card,.option-tile{transition:none}
 .collection-card:hover{transform:none}
}

/* Small gold label text sat at 2.9:1–3.2:1 on the cream grounds, under the
   4.5:1 WCAG AA minimum for text below 24px. --gold-text is the same hue
   darkened until it clears AA on paper, ivory and white; --gold itself is
   unchanged and still carries every border, rule, decorative glyph and the
   large display italic, which already pass at their sizes. */
:root{--gold-text:#7a6236}

.eyebrow,.card-brand,.info-row small,.projection-info-card .eyebrow,.dual-finish span{color:var(--gold-text)}

/* On the dark active collection card the original gold reads at 5.7:1. */
.collection-card.active .card-brand,.collection-card.active .eyebrow{color:var(--gold)}

/* ============================================================
   Master overlay coordinate space.
   .master-base is object-fit:contain, so when .master-canvas does not share
   the master's aspect ratio the image is letterboxed inside it. The frame
   recolouring layers already follow the image (mask-size:contain), but the
   glass/grid layer was positioned in percentages of the canvas and drifted off
   the glass — visibly so on Colonial/Prairie/Perimeter grids for Double Hung
   and Casement. .master-fit restores the image's painted rectangle as the
   positioning context for that layer. Its z-index matches the pane z-index it
   replaces so the stacking order above the frame layers is unchanged.
   ============================================================ */

.master-fit{position:absolute;inset:0;z-index:4;pointer-events:none}
/* A true contain box. The first version derived height from a full-width box,
   which is only correct when the master is width-constrained inside its
   canvas. Tall specialty shapes are height-constrained - Quarter Round with
   Leg paints 484x890 inside a 526x890 box - so the overlays were sized 526x968
   and drifted off the frame, which is what produced the tonal banding and the
   diagonal seam near the top of the arc. Constraining both axes and centring
   with margin:auto reproduces object-fit:contain in either orientation. */
.master-fit.is-fitted{inset:0;margin:auto;width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:var(--master-fit)}

/* .dual-window-wrap is a grid item, so its default min-width:auto lets the
   preview's intrinsic width expand the track. With Custom Exterior Trim the
   Double Hung composite is 923/1457 of the 579px column height = 367px, which
   pushed the 302px exterior panel out from the inside and cropped the render
   against the stage. min-width:0 lets the track hold the panel width so the
   composite's own max-width:100% can scale it, exactly as the untrimmed
   masters already do. */
.dual-window-wrap{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}

/* ============================================================
   Custom Exterior Trim assembly.
   The board is an inline SVG drawn around the approved exterior master; the
   window sits inside .cet-window, a box with the master's own aspect ratio so
   every contain-fitted mask and percentage-positioned pane lands where it was
   authored. Nothing here scales or repositions the product itself.
   ============================================================ */

.cet-assembly{position:relative;display:block;width:100%;height:auto;max-width:100%;max-height:100%;margin:auto}
.cet-board{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:visible;pointer-events:none}
.cet-window{position:absolute;overflow:hidden}
.cet-window .master-base{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;user-select:none;-webkit-user-drag:none}

/* aspect-ratio transfers max-height into a max-width, so the assembly scales
   down to fit whichever dimension of the panel runs out first. */
.dual-window-wrap .cet-assembly{width:96%;height:auto}

/* The CET window box carries only the family classes the frame-recolouring
   masks need; the families' master sizing rules would fight its inline box.
   The per-family pane clips those sizing rules also carried are restated here. */
.cet-window.cet-slider .master-glass-pane{clip-path:polygon(.35% .45%,99.65% .45%,99.65% 99.55%,.35% 99.55%)}
.cet-window.cet-picture .master-glass-pane{clip-path:polygon(.25% .3%,99.75% .3%,99.75% 99.7%,.25% 99.7%)}
.cet-window.cet-casement .master-glass-pane{clip-path:polygon(.3% .35%,99.7% .35%,99.7% 99.65%,.3% 99.65%)}
.cet-window.cet-awning .master-glass-pane{clip-path:polygon(.25% .35%,99.75% .35%,99.75% 99.65%,.25% 99.65%)}

/* The panel used to draw a blurred ellipse pinned to the bottom of the window
   wrap. Products are vertically centred, so on short styles (Awning, Slider,
   Picture) that shadow floated well below the window as a detached smudge.
   Every master and the CET board already carry their own contact shadow, so
   the product is grounded by its own geometry instead. */

/* The 3-Lite Slider profile-detail overlays are sized by a rule scoped to the
   slider master wrapper, which the CET composition intentionally does not use.
   Restate the box here so they mask to the frame instead of rendering at their
   natural pixel size. */
.cet-window .slider-fixed-frame-detail,.cet-window .slider-fixed-frame-relief{position:absolute;z-index:3;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-mask-image:var(--fixed-frame-mask);-webkit-mask-position:center;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-image:var(--fixed-frame-mask);mask-position:center;mask-size:100% 100%;mask-repeat:no-repeat}

/* ============================================================
   Frame material.
   The base is an opaque coat of the real finish colour; the master's own form
   is then re-applied from its shading map (multiply) and specular map (screen),
   built by scripts/build-material-maps.js. This replaces mix-blend-mode:color
   over the master, which is luminance-preserving and therefore could not paint
   a light finish onto a dark master at all — White on Picture and on Casement
   2-Lite rendered black — and which crushed the bevels of dark finishes on the
   light masters. Both layers reuse the .master-frame-shade class so they pick
   up each family's existing frame mask unchanged.
   ============================================================ */

.master-frame-color{background:var(--frame-base,#f2f0ea);opacity:1;mix-blend-mode:normal;filter:none}
.master-frame-shading,.master-frame-spec{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;opacity:1;background:none;filter:none;pointer-events:none;user-select:none;-webkit-user-drag:none}
.master-frame-shading{mix-blend-mode:multiply}
.master-frame-spec{mix-blend-mode:screen;opacity:var(--frame-spec,1)}
/* Casement-only dark relief. Screens the Casement master's OWN shade map at a
   low opacity so a near-black base coat still carries the approved form. The
   element is emitted by essentialCasementRelief() only for Casement and only
   for a finish dark enough to need it, so no other family or finish has this
   class in its markup at all. The shade map is already alpha-0 over the lite,
   so the relief cannot reach the glass. */
.essential-ca-relief{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;
 background:none;filter:none;pointer-events:none;user-select:none;-webkit-user-drag:none;
 mix-blend-mode:screen}
/* The Awning takes the same treatment for the same measured reason, under its
   own class so the frozen Casement rule above is not edited to get here. Its
   Ebony composite ran WORSE than the Casement's before this layer existed --
   interior p95 5.6 against 21.5, 78.2% of frame pixels at or below 1/255 --
   while every other Essential finish measured 0.0% clipped on both its faces
   and so emits nothing at all. */
.essential-aw-relief{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;
 background:none;filter:none;pointer-events:none;user-select:none;-webkit-user-drag:none;
 mix-blend-mode:screen}

/* The masters are contain-fitted inside their canvas, so the maps — which are
   the same pixel geometry — must be contain-fitted too. */
.cet-window .master-frame-shading,.cet-window .master-frame-spec{object-fit:contain}

/* Multi-lite frame material. Same model as .master-frame-*, but masked by the
   inline SVG the configuration geometry produces rather than a stylesheet mask. */
.slider-fixed-frame-base,.slider-fixed-frame-map{position:absolute;z-index:2;inset:0;width:100%;height:100%;pointer-events:none;-webkit-mask-image:var(--fixed-frame-mask);-webkit-mask-position:center;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-image:var(--fixed-frame-mask);mask-position:center;mask-size:100% 100%;mask-repeat:no-repeat}
.slider-fixed-frame-base{background:var(--frame-base,#f2f0ea)}
.slider-fixed-frame-map{display:block;object-fit:contain;user-select:none;-webkit-user-drag:none}
.slider-fixed-frame-shading{mix-blend-mode:multiply}
.slider-fixed-frame-specular{mix-blend-mode:screen}

/* ============================================================
   Glass depth and product grounding (2.5D).
   The masters supply the pane's own tone; this layer adds what a photograph of
   a single flat pane cannot: ambient occlusion where the sash meets the glass,
   the vertical falloff of a sky reflection, and one soft specular sweep. It
   sits above .glass-effect and below the muntin grid, so grids read as sitting
   in front of the glass rather than under the reflection.
   ============================================================ */

.glass-depth{position:absolute;inset:0;z-index:2;pointer-events:none;
 background:
  radial-gradient(128% 88% at 50% -14%,rgba(22,32,39,.17),rgba(22,32,39,0) 48%),
  linear-gradient(to bottom,rgba(20,30,36,.10) 0%,rgba(20,30,36,0) 20%,rgba(255,255,255,0) 74%,rgba(255,255,255,.06) 100%),
  linear-gradient(101deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.11) 43%,rgba(255,255,255,.028) 51%,rgba(255,255,255,0) 57%);
 box-shadow:inset 0 2px 5px rgba(18,26,32,.15),inset 0 -1px 2px rgba(255,255,255,.10)}

/* Obscure and Rain already carry heavy surface treatment; keep the reflection
   sweep off them so the texture stays legible. */
.glass-obscure .glass-depth,.glass-rain .glass-depth{background:
  radial-gradient(128% 88% at 50% -14%,rgba(22,32,39,.13),rgba(22,32,39,0) 46%),
  linear-gradient(to bottom,rgba(20,30,36,.08) 0%,rgba(20,30,36,0) 20%)}

/* Internal blinds sit behind the glass surface, not in front of it. */
.internal-blinds-white .glass-depth{opacity:.6}

/* A single soft drop shadow reads as a card floating over the panel. Real
   contact needs a tight dark shadow at the sill plus a wider ambient one. */
.dual-window-wrap .master-window,.dual-window-wrap .slider-master,.dual-window-wrap .picture-master,.dual-window-wrap .casement-master,.dual-window-wrap .awning-master{filter:drop-shadow(0 2px 2px rgba(30,29,25,.20)) drop-shadow(0 15px 18px rgba(30,29,25,.15))}
.dual-window-wrap .cet-assembly{filter:drop-shadow(0 2px 3px rgba(30,29,25,.18))}

/* The stage drew a blurred ellipse pinned to its own bottom edge. Bay, Bow and
   Specialty Shapes centre their product in that stage, so the shadow sat well
   below the window as a detached smudge. Ground the product itself instead, as
   the dual-view masters already are. */
.projection-single-product .master-window,
.projection-single-product .specialty-master,
.projection-compare-product .master-window,
.projection-compare-product .specialty-master{filter:drop-shadow(0 2px 3px rgba(30,29,25,.20)) drop-shadow(0 16px 20px rgba(30,29,25,.16))}

/* ============================================================
   Bay and Bow scene masters.
   These masters are architectural scenes: the product is photographed against
   its own wall, not on a studio card. That backdrop cannot be cut away — the
   wall is close in tone to the white trim standing against it, so any cutout
   walks straight through the product — and it does not match the stage behind
   it, so the master ended in a hard rectangle that read as a floating matte
   around the unit. Feathering the master's own outer edge lets its wall fall
   away into the stage instead. Geometry, scale and colour are untouched; only
   the last few percent of backdrop is affected, which is clear of the trim on
   every configuration. The bottom edge is left alone: the stage already crops
   it below the apron, so there is no seam there to soften.
   ============================================================ */

.projection-single-product .bay-approved-master,
.projection-single-product .bow-master,
.projection-compare-product .bay-approved-master,
.projection-compare-product .bow-master{
 -webkit-mask-image:linear-gradient(to right,transparent 0,#000 4.5%,#000 95.5%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 5.5%,#000 100%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(to right,transparent 0,#000 4.5%,#000 95.5%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 5.5%,#000 100%);
 mask-composite:intersect}

/* Each window unit in a configuration name stays on one line; a break is only
   offered after a separator, so a long Bay or Bow name never splits a product
   name in half or strands a slash at the end of a line. */
.config-unit{white-space:nowrap}

/* ============================================================
   Quarter Round with Leg — glass aperture.
   The quarter-round family shares one overlay corner, border-radius 100%/100%,
   which suits the plain Quarter Round (its arc measures 96% x 95% of the glass
   box). The with-leg variant is a different shape: its arc measures 94% x 47%,
   because below the arc the left edge runs straight down the leg. Drawing a
   100% vertical radius there pushed the glass overlay out over the frame along
   the curve, which is the ragged, fuzzy contour on the black exterior.

   The values below are measured from the masters themselves — the glass
   aperture and the point where each edge stops curving — then inset a fraction
   so the overlay always lands just inside the glass. The product masters and
   their geometry are untouched; only where the glass effect is drawn changes.
   ============================================================ */

.specialty-quarter-round-with-leg-master .master-glass-pane.specialty-quarter-round-with-leg{
 border-radius:93.9% 0 0 0/48.6% 0 0 0}
.specialty-quarter-round-with-leg-exterior .master-glass-pane.specialty-quarter-round-with-leg{
 left:18.4%;top:11.7%;width:62.9%;height:77.2%;border-radius:93.9% 0 0 0/48.6% 0 0 0}
.specialty-quarter-round-with-leg-interior .master-glass-pane.specialty-quarter-round-with-leg{
 left:18%;top:11.4%;width:63.3%;height:78.1%;border-radius:93.4% 0 0 0/46.3% 0 0 0}

/* Specialty masters are contain-fitted, and on narrow viewports their element
   box is not the master's aspect ratio — the Octagon box goes 233x347 for a
   1254x1254 master — so the image letterboxes inside it. The frame and glass
   overlays are positioned in percentages of the master image, so without this
   they drifted into the letterbox and painted a grey shape above the window.
   .master-fit gives them the image's painted rectangle, as it already does for
   the standard masters. */
/* No z-index here on purpose. A positioned element with a z-index forms a
   stacking context, and the specialty frame layers blend (color, multiply,
   screen) against the master image beneath them. Isolating them inside the
   fit wrapper left those blends with no backdrop, so the shade multiply did
   nothing at all and a black exterior rendered at the master own mid-grey.
   DOM order already puts the frame layers behind the panes. */
.specialty-master .master-fit{z-index:auto}
.specialty-master .master-fit .master-glass-pane{z-index:4}

/* ============================================================
   Slider preview height.
   Picture, Awning, Bay and Bow each pin the dual view to a height suited to a
   wide, short product. The Slider never got one, so it inherited the default
   sized for the tall Double Hung — a 184px window floating in a 700px panel,
   which is what made it read as undersized and oddly framed. These match the
   Picture family, whose rendered product is within a few pixels of the same
   height. The product itself is not rescaled: it stays at 100% of the wrap
   width exactly as before, with the surplus empty space removed.
   ============================================================ */

.dual-view:has(.slider-dual-view){height:540px;min-height:540px}
@media (max-width:1200px){.dual-view:has(.slider-dual-view){height:520px;min-height:520px}}
@media (max-width:760px){.dual-view:has(.slider-dual-view){height:760px;min-height:760px}}

/* ============================================================
   Lock / hardware finish.
   Masked to the hardware rectangles the project already defines — the lock and
   handle apertures carved out of the frame-recolouring masks, and the hardware
   lists in the multi-lite geometry tables. It reuses the master's own shading
   and specular maps so the lock is lit by the same light as the frame it sits
   on; only the base coat and the strength of the highlight change with the
   finish. Metallic finishes get a harder highlight than painted ones.
   ============================================================ */

.master-hardware{position:absolute;inset:0;z-index:5;pointer-events:none;
 -webkit-mask-image:var(--hardware-mask);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;
 mask-image:var(--hardware-mask);mask-size:100% 100%;mask-repeat:no-repeat;mask-position:center}
.master-hardware>*{position:absolute;inset:0;width:100%;height:100%;display:block}
.master-hardware-base{background:var(--hardware-base,#eeeae0)}
.master-hardware-map{object-fit:contain;user-select:none;-webkit-user-drag:none}
.master-hardware-shading{mix-blend-mode:multiply;opacity:var(--hardware-shade,1)}
.master-hardware-specular{mix-blend-mode:screen;opacity:var(--hardware-spec,.5)}
.master-hardware.is-metallic .master-hardware-specular{mix-blend-mode:screen;filter:contrast(1.15)}
.select-hardware-mounting{position:absolute;inset:0;z-index:4;pointer-events:none;mask:var(--mount-mask) center/100% 100% no-repeat}
.select-hardware-mounting > *{mask-image:none;-webkit-mask-image:none}
.select-jamb-lock{position:absolute;z-index:6;pointer-events:none;background:var(--hardware-base);mask:url('assets/select-owner-corrections/casement-lock-mask.webp') center/100% 100% no-repeat}
.select-jamb-lock img{display:block;width:100%;height:100%;mix-blend-mode:multiply}
.casement-interior-master .select-hardware-mounting .slider-fixed-frame-shading{content:url('assets/select-owner-corrections/casement-single-mount-shade.webp')}
.casement-interior-master .select-hardware-mounting .slider-fixed-frame-specular{content:url('assets/select-owner-corrections/casement-single-mount-spec.webp')}
.casement-2-lite .select-hardware-mounting .slider-fixed-frame-shading{content:url('assets/select-owner-corrections/casement-double-mount-shade.webp')}
.casement-2-lite .select-hardware-mounting .slider-fixed-frame-specular{content:url('assets/select-owner-corrections/casement-double-mount-spec.webp')}
.casement-casement-picture-casement .select-hardware-mounting .slider-fixed-frame-shading{content:url('assets/select-owner-corrections/casement-triple-mount-shade.webp')}
.casement-casement-picture-casement .select-hardware-mounting .slider-fixed-frame-specular{content:url('assets/select-owner-corrections/casement-triple-mount-spec.webp')}
.awning-interior-master .select-hardware-mounting .slider-fixed-frame-shading{content:url('assets/select-owner-corrections/awning-mount-shade.webp')}
.awning-interior-master .select-hardware-mounting .slider-fixed-frame-specular{content:url('assets/select-owner-corrections/awning-mount-spec.webp')}
.slider-interior-master:not(.provia-endure-slider) .master-base{content:url('assets/select-owner-corrections/slider-two-base.webp')}
.slider-interior-master:not(.provia-endure-slider) .master-frame-shading{content:url('assets/select-owner-corrections/slider-two-shade.webp')}
.slider-interior-master:not(.provia-endure-slider) .master-frame-spec{content:url('assets/select-owner-corrections/slider-two-spec.webp')}

/* ============================================================
   3-Lite Slider glazing tone.
   These masters were rendered with markedly paler glazing than the rest of the
   family: the Centre-Picture interior reads rgb(193,220,251) while its exterior
   reads rgb(233,238,242) and both 3-Lite Equal sides read paler still, so the
   same window looked glazed on one side and blank on the other. The family
   reference is rgb(205,223,244), measured from the approved 2-Lite masters.

   Applied as a plain translucent glazing base beneath .glass-effect, not a
   multiply: the pane is a stacking context, so a blend layer inside it has no
   backdrop to blend with and would do nothing. The Centre-Picture interior is
   excluded because it already matches the family.
   ============================================================ */

.slider-3-lite-equal .master-glass-pane:before,
.slider-3-lite-center-picture.slider-exterior .master-glass-pane:before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:rgba(106,170,251,.22)}

/* Select owner correction, 2026-09-13. The approved 2-Lite glass pixels are
   confined to the existing Center Picture apertures; geometry/grids stay put. */
.slider-3-lite-center-picture:not(.provia-endure-slider) .master-glass-pane:before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:url('assets/select-owner-corrections/slider-approved-glass.webp') center/100% 100% no-repeat}
.casement-casement-picture-casement.casement-interior > .master-canvas > .slider-fixed-frame-specular{
 content:url('assets/select-owner-corrections/casement-triple-spec.webp')}
/* Only Black on this exterior uses the separated opaque material. */
.specialty-quarter-round-with-leg-exterior[style*="--frame-tint:#171817"]{
 --frame-mask:url('assets/select-owner-corrections/quarter-leg-frame-mask.webp')!important}
.specialty-quarter-round-with-leg-exterior[style*="--frame-tint:#171817"] .specialty-frame-lift{
 background:#171817;opacity:1;mix-blend-mode:normal}
.specialty-quarter-round-with-leg-exterior[style*="--frame-tint:#171817"] .specialty-frame-color{
 background:url('assets/select-owner-corrections/quarter-leg-shade.webp') center/100% 100% no-repeat;opacity:1;mix-blend-mode:multiply;filter:none}
.specialty-quarter-round-with-leg-exterior[style*="--frame-tint:#171817"] .specialty-frame-shade{
 background:url('assets/select-owner-corrections/quarter-leg-spec.webp') center/100% 100% no-repeat;opacity:.35;mix-blend-mode:screen}


/* ============================================================
   ProVia Endure — finish materials and the all-black unit.

   Two things Endure needs that the Select finishes never did.

   A woodgrain interior is a laminate, so a flat fill of its colour is the
   wrong material. The grain is composited into the element that already
   carries the opaque base coat rather than added as a layer of its own, so it
   inherits that element's frame mask exactly: no second mask, no new element,
   no geometry. Frames with no grain set resolve --frame-grain to none and the
   declaration collapses to the base coat it was before.

   The all-black unit is a whole-unit specification, not a black frame. ProVia
   paints the jamb pockets with the frame and pairs them with black
   weatherstripping and a black Super Spacer, so the glazing perimeter — which
   the masters photograph as a pale seal — has to go dark too, or the window
   reads as black joinery holding a white-edged pane.
   ============================================================ */

.master-frame-color{background:var(--frame-grain,none),var(--frame-base,#f2f0ea);background-blend-mode:var(--frame-grain-blend,normal)}
.slider-fixed-frame-base{background:var(--frame-grain,none),var(--frame-base,#f2f0ea);background-blend-mode:var(--frame-grain-blend,normal)}

.endure-all-black .glass-depth{
 box-shadow:inset 0 0 0 2px rgba(11,12,13,.86),inset 0 3px 7px rgba(6,7,8,.36),inset 0 -1px 2px rgba(255,255,255,.035)}
/* The pane's own reflection is unchanged, but against a black surround the
   sash edge in the photograph still carries the master's pale glazing bead;
   damp the upward light so the seal stays the brightest thing at the joint. */
.endure-all-black .glass-depth{background-image:
  radial-gradient(128% 88% at 50% -14%,rgba(16,23,28,.22),rgba(16,23,28,0) 48%),
  linear-gradient(to bottom,rgba(14,21,26,.16) 0%,rgba(14,21,26,0) 22%,rgba(255,255,255,0) 74%,rgba(255,255,255,.04) 100%),
  linear-gradient(101deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.085) 43%,rgba(255,255,255,.022) 51%,rgba(255,255,255,0) 57%)}

/* Endure construction facts and the option notes that carry a confirmation
   status. Both are prose inside the option panel, so they read as guidance
   rather than as another thing to click. */
.endure-spec .endure-spec-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px 18px}
.endure-spec .endure-spec-list li{position:relative;padding-left:14px;font-size:.74rem;line-height:1.5;color:var(--muted)}
.endure-spec .endure-spec-list li:before{content:"";position:absolute;left:2px;top:.62em;width:4px;height:4px;border-radius:50%;background:var(--gold)}
.premium-compatibility-note{margin:10px 0 0;font-size:.72rem;line-height:1.55;color:var(--muted)}
.premium-compatibility-note strong{color:var(--ink);font-weight:600}
.endure-all-black-note{padding:10px 12px;border-left:2px solid var(--gold);background:rgba(40,39,35,.04)}

/* ============================================================
   Asset provenance disclosure.

   Premium's finishes, materials and options are ProVia Endure; the window it
   draws is still Wincore geometry. A borrowed master that looks finished is
   exactly what turns a placeholder into an unintended claim, so the preview
   says so rather than relying on anyone remembering. Restrained on purpose —
   it is a caption, not a warning banner.
   ============================================================ */

/* The stage is a flex/grid dual view, so an unqualified <p> became a column
   between the two product panels and got squeezed to a few clipped words.
   It has to span the whole stage and sit last. */
.asset-provenance-note{margin:12px 2px 0;max-width:62ch;font-size:.68rem;line-height:1.5;color:var(--muted);letter-spacing:.01em}
@media (max-width:720px){.asset-provenance-note{margin:10px 12px 0;font-size:.65rem}}


/* ---------------------------------------------------------------------------
   ProVia Endure product range.

   Premium lists every Endure family, so each tile has to say what we can
   actually show for it. The tier chip is the honest part of the card: two of
   the twelve are drawn from Endure or Endure-adjacent art, the rest are real
   products we will not fake a picture of.
   ------------------------------------------------------------------------ */
.endure-tier{display:block;margin-top:5px;font-size:.58rem;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.endure-tier-configurable{color:#4a6b45}
.endure-tier-representative{color:#8a6d2f}
.endure-tier-pending{color:var(--muted)}
.option-tile .endure-style-pending{opacity:.5}

.endure-pending-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:32px 26px;text-align:center;color:var(--ink)}
.endure-pending-mark{width:104px;height:104px;color:var(--muted);opacity:.55}
.endure-pending-mark svg{width:100%;height:100%;display:block}
.endure-pending-style{margin:20px 0 0;font-family:var(--serif,'Libre Caslon Display',Georgia,serif);font-size:1.18rem;letter-spacing:.01em}
.endure-pending-status{margin:7px 0 0;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold,#8a6d2f);font-weight:600}
.endure-pending-copy{margin:16px auto 0;max-width:46ch;font-size:.76rem;line-height:1.6;color:var(--muted)}

.endure-shape-group .endure-shape-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;padding:4px 2px 0}
.endure-shape-group h4{margin:0 0 7px;font-size:.63rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:600}
.endure-shape-group ul{margin:0;padding-left:16px;font-size:.76rem;line-height:1.7}
.endure-shape-group .shape-alias{color:var(--muted);font-size:.71rem}
@media(max-width:760px){.endure-pending-preview{padding:24px 16px}.endure-pending-mark{width:82px;height:82px}}

/* The comparison landscape. Owner-supplied photograph, used as delivered --
   re-encoding a lossy WebP only adds generational loss. It is NOT manufacturer
   art and NOT a master: it depicts no window and lives outside every masters
   folder, so no provenance rule can mistake it for product geometry. */
:root{--glass-landscape:url("assets/glass-comparison/landscape-realistic-reference.webp")}

/* ---------------------------------------------------------------------------
   Signature — Marvin Essential
   Every selector below is scoped to .essential-* or .disabled-tile, both of
   which exist nowhere else in this stylesheet. Nothing here can reach a Select
   or Premium rule; that isolation is the point, not a side effect.
   Geometry (aspect ratio, frame mask, glass rectangle) is NOT here — it is
   generated into essential-geometry.css from the ADM dimensions.
   ------------------------------------------------------------------------ */

/* The pending placeholder, the tier chips and the pending style glyph are
   SHARED presentation, reused here rather than duplicated: .endure-pending-*
   and .endure-tier-* name the state ("we hold no master for this"), not the
   manufacturer. The QA provenance guard keys on .endure-pending-preview, so
   reusing it is what makes the Signature placeholder visible to that check. */

/* A choice Marvin does not build. Shown rather than hidden, with the reason,
   because a customer who cannot find Bronze exterior needs to know it is a
   dark-interior rule and not an omission. */
.option-tile.disabled-tile{opacity:.42;cursor:not-allowed;filter:grayscale(.35)}
.option-tile.disabled-tile .tile-label{color:var(--muted)}

/* The comparison landscape. One element per side, spanning the whole unit and
   masked to the glass apertures, so a multi-pane window reads as one continuous
   view rather than the same picture repeated in each lite. It sits above the
   master's neutral glazing and below every glass effect, which is what lets the
   effects be judged against it. Sized with cover from the unit box, so the crop
   cannot shift when the frame colour, the grid or the view side changes -- the
   whole point of the comparison is that only the glass moves. */
.essential-landscape{position:absolute;inset:0;pointer-events:none;
 background-image:var(--glass-landscape);background-size:cover;background-position:center;
 -webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;
 mask-position:center;mask-size:contain;mask-repeat:no-repeat}
/* No z-index on either of these, deliberately. A positioned element with a
   z-index creates a stacking context, and a stacking context isolates
   mix-blend-mode: the tints multiply against their own pane's backdrop, which
   is empty, so Bronze/Gray/Green tint rendered as no tint at all once there
   was a view behind them to tint. Leaving both at z-index:auto lets the
   blending reach the landscape, and DOM order -- landscape first, pane second
   -- keeps the paint order right. .master-fit above still isolates the whole
   assembly from the rest of the card. */
.essential-glass-pane{position:absolute;overflow:hidden;pointer-events:none}
/* Overscanned, then clipped by the pane. backdrop-filter cannot sample outside
   its own box, so an inset:0 layer loses its blur in a band the width of the
   blur radius at every edge -- which showed as a strip of suspiciously sharp
   landscape just inside the frame. Pushing the layer past the aperture gives
   the filter something to sample there, and .essential-glass-pane's
   overflow:hidden keeps the overscan off the frame. */
.essential-glass-effect{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.10),transparent 46%,rgba(150,175,188,.07))}
/* A pane showing the landscape carries only the sheen of the glass surface --
   any wash over it would be a tint the customer did not choose. This is what
   makes a Bottom Sash Only top sash read as genuinely clear. */
.essential-glass-pane.essential-glass-clear .essential-glass-effect{background:linear-gradient(135deg,rgba(255,255,255,.14),transparent 42%,rgba(190,210,220,.06))}
/* Tints multiply so the glazing underneath still reads as glass rather than
   being replaced by a flat colour. */
/* Tints and diffusers, calibrated against the comparison landscape rather than
   against the neutral glazing they were first written for. Measured on the
   photograph, the old values were wrong in both directions: the tints passed
   81-85% of the light where architectural tinted glass passes 50-75%, and every
   diffuser made the view BRIGHTER than clear glass (Frosted at 141%) because
   each carried a white veil that had been doing the work of "looking like
   glass" over a flat pale backdrop.
   The overlay colour is the transmission colour, which is not the swatch chip
   colour: the chip shows what a sample looks like, the overlay is what the
   glass does to a view. Measured against the landscape:
     Bronze  VLT 0.61  hue +44 warm      Frosted   VLT 0.98  contrast 0.57x
     Gray    VLT 0.60  hue +12 neutral   Obscure   VLT 0.97  contrast 0.66x
     Green   VLT 0.72  green lift +6     Glue Chip VLT 0.98  contrast 0.74x
                                         Rain      VLT 0.98  contrast 0.79x */
.essential-glass-pane.essential-glass-bronze-tint .essential-glass-effect{background:rgb(150,110,60);opacity:.73;mix-blend-mode:multiply}
.essential-glass-pane.essential-glass-gray-tint .essential-glass-effect{background:rgb(120,124,128);opacity:.81;mix-blend-mode:multiply}
.essential-glass-pane.essential-glass-green-tint .essential-glass-effect{background:rgb(110,150,120);opacity:.66;mix-blend-mode:multiply}
.essential-glass-pane.essential-glass-frost .essential-glass-effect{background:rgba(236,240,241,.10);backdrop-filter:blur(11px) saturate(.80) brightness(.88)}
.essential-glass-pane.essential-glass-glue-chip .essential-glass-effect{background:radial-gradient(circle at 22% 28%,rgba(255,255,255,.16) 0 8%,transparent 9%),radial-gradient(circle at 68% 61%,rgba(255,255,255,.13) 0 7%,transparent 8%),radial-gradient(circle at 41% 78%,rgba(255,255,255,.11) 0 6%,transparent 7%),rgba(230,236,238,.05);backdrop-filter:blur(3.5px) saturate(.92) brightness(.94)}
/* Obscure is its own pattern, not a softer Frost and not a coarser Glue Chip:
   a fine irregular stipple that scatters light evenly, so it reads as a wash
   with grain rather than the discrete facets of Glue Chip or the directional
   flutes of Reed. Built from a turbulence displacement so the grain has no
   direction at all — the property that separates it from every other option
   in this list. */
.essential-glass-pane.essential-glass-obscure .essential-glass-effect{background:rgba(232,237,238,.07);backdrop-filter:blur(6px) saturate(.86) brightness(.91);filter:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='o'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='11'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='6'/%3E%3C/filter%3E%3C/svg%3E%23o")}
.essential-glass-pane.essential-glass-rain .essential-glass-effect{background:repeating-linear-gradient(96deg,rgba(255,255,255,.13) 0 2px,rgba(98,122,126,.10) 3px 5px,transparent 7px 14px),rgba(226,234,236,.04);backdrop-filter:blur(2px) saturate(.94) brightness(.95)}
.essential-glass-pane.essential-glass-reed .essential-glass-effect{background:repeating-linear-gradient(90deg,rgba(255,255,255,.26) 0 5px,rgba(120,142,148,.1) 6px 11px),rgba(224,231,234,.24);backdrop-filter:blur(2px)}
.essential-glass-pane.essential-glass-narrow-reed .essential-glass-effect{background:repeating-linear-gradient(90deg,rgba(255,255,255,.26) 0 2px,rgba(120,142,148,.1) 3px 5px),rgba(226,232,234,.24);backdrop-filter:blur(1.5px)}

/* Grilles between the glass. They sit behind the glass surface, so they take
   the sheen of the pane above them rather than a highlight of their own, and
   they are coloured only by --grid-color, which the renderer sets from the
   interior finish. Marvin does not sell an independent grille colour. */
.essential-grid-layer{position:absolute;inset:0}
.essential-grid-bar{position:absolute;background:var(--grid-color,#efeee9);box-shadow:0 0 0 .5px rgba(60,58,52,.18)}
.essential-grid-v{top:0;bottom:0;width:1.1%;transform:translateX(-50%)}
.essential-grid-h{left:0;right:0;height:.72%;transform:translateY(-50%)}

/* Hardware layer. The lock's geometry lives in the PNG; its finish does not.
   The shape is masked out and filled with the selected finish, then the same
   PNG multiplies back over it to return the modelling that was drawn into it,
   so changing Matte Black to Satin Nickel changes material and nothing else.
   Sits above the glass panes -- a lock is in front of the glass -- and inside
   .master-fit, so it tracks the master's painted rectangle exactly. */
/* No z-index -- the same trap the glass tints hit. A positioned element with
   one creates a stacking context, which isolates the multiply below: the shade
   layer then blends against transparency instead of the colour beneath it, and
   Chromium leaves a hard dark rim along every antialiased edge. DOM order puts
   this last inside .master-fit, which is all the paint order it needs. */
.essential-hardware{position:absolute;inset:0;pointer-events:none}
.essential-hardware-color{position:absolute;inset:0;background:var(--hw-finish,#b6b8b5);
 -webkit-mask-image:var(--hw-src);mask-image:var(--hw-src);
 -webkit-mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;
 mask-position:center;mask-size:contain;mask-repeat:no-repeat}
.essential-hardware-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
 mix-blend-mode:multiply}
/* The highlight is what stops a light finish reading as a ghost. Screened, so
   it lifts the lit faces without touching the shaded ones. */
.essential-hardware-spec{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
 mix-blend-mode:screen;opacity:.55}
/* Satin metal takes a stronger, tighter highlight than a coated finish -- that
   difference is what separates satin nickel from painted white. Restrained on
   purpose: this is satin, not chrome. */
.essential-hardware-metal .essential-hardware-spec{opacity:.82}
.essential-hardware-metal .essential-hardware-shade{opacity:.88}
/* Contact shadow in CSS rather than in the artwork: inside the PNG it would be
   masked and filled with the finish colour, so a Stone White lock would cast a
   Stone White shadow. */
.essential-hardware{filter:drop-shadow(0 .18% .22% rgba(64,62,58,.42)) drop-shadow(0 .05% .08% rgba(64,62,58,.30))}

.essential-dual-view .dual-window-wrap{display:flex;align-items:center;justify-content:center;height:100%}

/* ENDURE SPECIALTY SHAPES — owner artwork.
   Deliberately its own class set. It borrows no rule from .master-window or
   .specialty-master: those carry an aspect-ratio, canvas offsets and a
   multiply blend tuned to other families' masters, and inheriting any of them
   would distort artwork that is visual design authority. Here the element
   takes the ARTWORK's own aspect ratio, so mask-size:100% 100% lands on the
   drawing exactly and no mask can drift off the opening. */
/* ALIGNMENT. The panel is not the artwork's shape, so the image is contain-fitted
   inside it -- and the masks must be contain-fitted the SAME way or they land on a
   different rectangle. Sizing them to the box instead stretched the Full Circle's
   frame mask into an oval and pulled every other mask off its opening; that is the
   one alignment rule this renderer depends on. Both are `contain`, both centred,
   so they agree at any panel size without either knowing the panel's shape. */
.endure-owner-shape{position:relative;display:block;width:100%;height:100%}
/* The contain box, sized once: auto margins centre it, the max constraints fit it
   to the panel and the aspect ratio is the artwork's own. Every layer inside is
   inset:0 at 100% 100%, so artwork and masks cannot drift apart. */
.endure-owner-fit{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:var(--eos-ratio);isolation:isolate;filter:drop-shadow(0 13px 15px rgba(30,29,25,.18))}
/* The art is masked to the recorded product box where the master bakes a wall
   behind the window. Specialty's references are cut out and set no silhouette,
   so the var falls back to `none` and nothing is clipped there. */
.endure-owner-art{position:absolute;inset:0;background-image:var(--eos-art);background-size:100% 100%;background-repeat:no-repeat;
 -webkit-mask-image:var(--eos-silhouette,none);mask-image:var(--eos-silhouette,none);
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
 -webkit-mask-size:100% 100%;mask-size:100% 100%}
/* THE PRODUCT CROP. One size and one offset, applied identically to the artwork
   and to all three masks, so cropping cannot pull them apart. Specialty sets
   neither var and falls back to filling the box, which is what it did before. */
.endure-owner-family .endure-owner-art{background-size:var(--eos-layer-size,100% 100%);background-position:var(--eos-layer-pos,0 0)}
.endure-owner-family :is(.endure-owner-art,.endure-owner-frame,.endure-owner-glass,.endure-owner-hardware,.endure-owner-glazing){
 -webkit-mask-size:var(--eos-layer-size,100% 100%);mask-size:var(--eos-layer-size,100% 100%);
 -webkit-mask-position:var(--eos-layer-pos,0 0);mask-position:var(--eos-layer-pos,0 0)}
/* Hardware keeps the position and shape it was approved with; only its material
   moves to the selected finish, through its own mask, by the same remap the
   frame uses. It is carved out of the frame mask, so the frame recolour stops at
   the part instead of painting over it. */
.endure-owner-hardware{position:absolute;inset:0;pointer-events:none;-webkit-mask-image:var(--eos-hardware-mask,none);mask-image:var(--eos-hardware-mask,none);
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.endure-owner-hardware--shade{background:#060706;opacity:var(--eos-hw-shade);mix-blend-mode:multiply}
.endure-owner-hardware--lift{background:#fff;opacity:var(--eos-hw-lift);mix-blend-mode:screen}
.endure-owner-hardware--color{background:var(--eos-hw-tint);opacity:1;mix-blend-mode:color}
/* A grid pane is positioned from its aperture's RECORDED rectangle, so the
   muntins land in the opening the family was approved with. */
.endure-owner-grid-pane{position:absolute;pointer-events:none}
.endure-owner-grid-pane .master-grid{position:absolute;inset:0;width:100%;height:100%}
.endure-owner-glass-blinds{position:absolute;inset:0;background:repeating-linear-gradient(180deg,#e9e7df 0 5px,#fff 5px 6px,#9b9b92 6px 7px);opacity:.92}
.endure-owner-frame,.endure-owner-glass{position:absolute;inset:0;pointer-events:none;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.endure-owner-frame{-webkit-mask-image:var(--eos-frame-mask);mask-image:var(--eos-frame-mask)}
.endure-owner-glass{-webkit-mask-image:var(--eos-glass-mask);mask-image:var(--eos-glass-mask)}
/* Luminance remap first, hue second — see endure-specialty-owner.js. */
.endure-owner-frame--shade{background:#060706;opacity:var(--eos-shade);mix-blend-mode:multiply}
/* THE FRAME MATERIAL, REMAPPED -- see endureOwnerFrameTreatment(). A copy of the
   artwork, through the frame mask, shifted to the finish's own luminance at a gain
   of exactly 1, so the master's bevels, recesses and highlights keep their exact
   level differences. `normal` blending: this REPLACES the frame material rather
   than converging on white the way the screen layer it supersedes did. */
.endure-owner-frame--material{background-image:var(--eos-art);background-size:100% 100%;background-repeat:no-repeat;
 filter:contrast(var(--eos-mat-contrast)) brightness(var(--eos-mat-brightness))}
.endure-owner-family .endure-owner-frame--material{background-size:var(--eos-layer-size,100% 100%);background-position:var(--eos-layer-pos,0 0)}
/* EXPERIMENTAL, SCOPED (2026-09-24): the same two primitives composed the other
   way round, which is what lets a light master take the floor-aware dark remap --
   see ENDURE_LIGHT_MASTER_REMAP_SCOPE in endure-specialty-owner.js. It applies
   only where that scope adds the second class, so the rule above is unchanged for
   every approved view. */
.endure-owner-frame--material.endure-owner-frame--material-bc{
 filter:brightness(var(--eos-mat-brightness)) contrast(var(--eos-mat-contrast))}
.endure-owner-frame--color{background:var(--eos-tint);opacity:var(--eos-color);mix-blend-mode:color}
.endure-owner-frame--grain{background-image:var(--eos-grain);background-blend-mode:var(--eos-grain-blend);opacity:.5;mix-blend-mode:overlay}
.endure-owner-glazing{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,var(--eos-glazing-top),var(--eos-glazing-bottom));-webkit-mask-image:var(--eos-glass-mask);mask-image:var(--eos-glass-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%}
.endure-owner-glass-tint{position:absolute;inset:0;background:var(--eos-glass-tint);opacity:.42;mix-blend-mode:multiply}
.endure-owner-glass-privacy{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.endure-owner-unsupported{display:flex;flex-direction:column;justify-content:center;gap:8px;height:100%;padding:22px;text-align:center}
.endure-owner-unsupported-title{margin:0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#6d6f68}
.endure-owner-unsupported-copy{margin:0;font-size:13px;line-height:1.5;color:#54564f}
.endure-owner-shape-thumb{display:block;width:100%;height:100%;object-fit:contain}
/* Specialty grids are a Custom Order, not a disabled picker: the single locked
   tile states the standard visual configuration and the info row carries the
   order-time choice. Both are existing Empire components, reused deliberately. */
.endure-specialty-grid-group .option-tile[disabled]{opacity:1;cursor:default;color:inherit}
.endure-specialty-grid-group .option-tile[disabled] .tile-label{color:var(--ink)}
.endure-specialty-grid-group .info-list{grid-template-columns:1fr;margin-top:14px;max-width:420px}

/* A CATEGORY AND ITS CHILDREN, SIDE BY SIDE. One section, two columns: the
   window styles on the left and the chosen category's shapes beside them, so
   picking Specialty Shapes adds nothing underneath the menu. Each column halves
   the tile COLUMNS rather than the tiles, so a tile is the same size it is
   anywhere else in the panel. At the panel's own stacking breakpoint the two
   columns fall to one, which is where every other two-column layout here goes. */
/* The panel's width is not monotonic in the viewport -- at 1280 it is 372px and
   at 1050 it is 944 -- so the split is decided by the SECTION's own width, not
   the window's. Below 520px of section the two columns would leave 84px tiles,
   so it stays a single column there and the shapes fall beneath the menu, which
   is the ordinary stacking behaviour at that size. */
.group-split{container-type:inline-size}
.group-split .group-split-cols{display:grid;grid-template-columns:1fr;gap:26px;align-items:start}
.group-split .group-split-col{min-width:0}
@container (min-width:520px){
 .group-split .group-split-cols{grid-template-columns:1fr 1fr;gap:16px}
 .group-split .group-split-col .tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.group-split .group-split-label{margin:0 0 9px;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:600}
.group-split .group-split-note{letter-spacing:.04em;text-transform:none;font-weight:400;opacity:.8}

