.dhero{border-bottom:var(--hair)}.dhero .inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-8);align-items:center;padding-block:var(--s-8)}.dhero h1{font-size:clamp(2.4rem,4.8vw,var(--t-h2));margin-block:var(--s-4) var(--s-5);max-width:14ch}.dhero .lead{color:var(--text-muted);font-size:var(--t-body-lg);max-width:44ch;margin-bottom:var(--s-6)}.dhero .actions{display:flex;gap:var(--s-3);flex-wrap:wrap}.dhero .visual{position:relative;aspect-ratio:5/4;border-radius:var(--r-lg);overflow:hidden}.dhero .visual .gr-ph{position:absolute;inset:0;border:0}.dhero .visual .badge{position:absolute;left:var(--s-5);bottom:var(--s-5);background:var(--paper);border:var(--hair-strong);border-radius:var(--r-sm);padding:10px 14px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:10px}.dhero .visual .badge .gr-label{color:var(--text-strong)}.dhero .crumbs{margin-bottom:var(--s-5)}.cat-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--s-4)}.doors-spot{display:grid;grid-template-columns:1.05fr .95fr;border:var(--hair-strong);border-radius:var(--r-lg);overflow:hidden;background:var(--paper);box-shadow:var(--shadow-sm);margin-bottom:var(--s-5);transition:box-shadow var(--dur) var(--ease-mech)}.doors-spot:hover{box-shadow:var(--shadow-lg)}.doors-spot .sv{position:relative;min-height:420px}.doors-spot .sv .gr-ph{position:absolute;inset:0;border:0}.doors-spot .sv .flag{position:absolute;top:var(--s-5);left:var(--s-5);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;background:var(--copper-500);color:#fff;padding:5px 11px;border-radius:var(--r-xs)}.doors-spot .sb{padding:clamp(24px,3vw,var(--s-8));display:flex;flex-direction:column}.doors-spot h3{font-size:clamp(1.8rem,3.2vw,var(--t-h3));margin-block:var(--s-3) var(--s-3)}.doors-spot .sdesc{color:var(--text-muted);font-size:var(--t-body);margin-bottom:var(--s-5);max-width:44ch}.spec-chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin-bottom:var(--s-5)}.spec-chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;color:var(--text-strong);background:var(--surface-2);border:var(--hair);border-radius:var(--r-sm);padding:6px 10px}.spec-chip svg{width:13px;height:13px;color:var(--copper-600)}.spec-chip .ph{color:var(--steel-400)}.doors-spot .sfoot{margin-top:auto;display:flex;align-items:center;gap:var(--s-3);padding-top:var(--s-5);border-top:var(--hair);flex-wrap:wrap}.prod-label{display:flex;align-items:baseline;gap:var(--s-3);margin-bottom:var(--s-4)}.prod-label .gr-label{color:var(--text-muted)}.cat{border:var(--hair);border-radius:var(--r-md);overflow:hidden;background:var(--paper);display:flex;flex-direction:column;transition:box-shadow var(--dur) var(--ease-mech),transform var(--dur) var(--ease-mech),border-color var(--dur) var(--ease-mech);text-decoration:none}.cat:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--steel-300)}.cat .gr-ph{aspect-ratio:16/10}.cat .catspecs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--s-4)}.cat .catspecs .cs{font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;color:var(--text-muted);background:var(--surface-2);border-radius:var(--r-xs);padding:4px 7px}.cat .b{padding:var(--s-5) var(--s-6) var(--s-6);flex:1;display:flex;flex-direction:column}.cat h3{font-size:var(--t-h5);margin-bottom:var(--s-2)}.cat p{font-size:var(--t-small);color:var(--text-muted);margin-bottom:var(--s-4)}.cat .go{margin-top:auto;font-family:var(--font-display);font-weight:500;font-size:var(--t-small);color:var(--copper-600);display:inline-flex;gap:8px}.cat.soon{opacity:.96}.cat.soon .gr-ph{aspect-ratio:16/10}.cat .soon-tag{align-self:flex-start}.subnav{position:sticky;top:68px;z-index:40;background:#f4f5f7e6;backdrop-filter:blur(8px);border-bottom:var(--hair)}.subnav .row{display:flex;gap:var(--s-5);height:52px;align-items:center;overflow-x:auto}.subnav a{font-family:var(--font-mono);font-size:var(--t-mono-label);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.subnav a:hover{color:var(--copper-600)}.constr{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-8);align-items:center}.constr .stage{position:relative;background:var(--ink-800);border-radius:var(--r-lg);aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:7%}.constr .stage .gr-grid-bg--dark{position:absolute;inset:0}.layerstack{position:relative;width:70%;height:76%;display:flex;flex-direction:column;gap:6px}.layerstack .ls{flex:1;border-radius:3px;border:1px solid;display:flex;align-items:center;padding-left:14px;font-family:var(--font-mono);font-size:11px;color:#fff;transition:filter var(--dur) var(--ease-mech),box-shadow var(--dur) var(--ease-mech)}.layerstack .ls.is-on{filter:brightness(1.45);box-shadow:inset 0 0 0 1.5px var(--copper-400),0 0 22px var(--copper-glow)}.constr .stage .scanline{position:absolute;left:12%;right:12%;top:10%;height:2px;background:linear-gradient(90deg,transparent,var(--copper-400),transparent);pointer-events:none}.constr .stage .stamp{position:absolute;right:16px;bottom:12px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:var(--steel-400)}.constr li{padding:5px 8px;margin:-5px -8px;border-radius:var(--r-sm);transition:background var(--dur) var(--ease-mech);cursor:default}.constr li.is-on{background:var(--copper-100)}.constr li.is-on .n{font-weight:600}@media(prefers-reduced-motion:no-preference){.constr .stage .scanline{animation:csScan 5.4s cubic-bezier(.45,0,.55,1) infinite}}@keyframes csScan{0%{top:10%}50%{top:88%}to{top:10%}}.ls-a{background:#ffffff14;border-color:#ffffff4d}.ls-b{background:repeating-linear-gradient(45deg,rgba(60,140,110,.22) 0 7px,transparent 7px 14px);border-color:var(--copper-400);flex:2.4}.ls-c{background:#ffffff0f;border-color:#ffffff38}.constr ul{list-style:none;margin:var(--s-5) 0 var(--s-6);padding:0;display:flex;flex-direction:column;gap:var(--s-3)}.constr li{display:flex;gap:var(--s-4);align-items:baseline;font-size:var(--t-small)}.constr li .n{font-family:var(--font-mono);color:var(--copper-600);font-size:var(--t-mono-label);width:28px;flex-shrink:0}.constr li b{font-family:var(--font-display);font-weight:600}.finishes{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--s-8);align-items:center}.swgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s-3)}.sw{aspect-ratio:1;border-radius:var(--r-sm);border:1px solid rgba(0,0,0,.12);position:relative;cursor:pointer;transition:transform var(--dur) var(--ease-mech)}.sw:hover{transform:scale(1.06)}.sw .nm{position:absolute;bottom:-18px;left:0;right:0;text-align:center;font-family:var(--font-mono);font-size:9px;color:var(--steel-400);opacity:0;transition:opacity var(--dur)}.sw:hover .nm{opacity:1}.swgrid{margin-bottom:var(--s-5)}.door-scene{position:absolute;inset:0;overflow:hidden;background:linear-gradient(160deg,#f0ece4,#e3ddd1 55%,#d6cebf)}.door-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.5) 0%,transparent 38%),radial-gradient(120% 90% at 80% 10%,transparent 60%,rgba(70,60,45,.18) 100%);pointer-events:none}.ds-floor{position:absolute;left:0;right:0;bottom:0;height:9%;background:linear-gradient(#c4bcac,#afa694);border-top:1px solid rgba(0,0,0,.12)}.ds-frame{position:absolute;left:50%;bottom:9%;transform:translate(-50%);width:min(62%,300px);height:80%;background:#23262b;padding:10px 10px 0;box-shadow:0 30px 60px -18px #1e1e2873,0 6px 18px #1e1e282e;display:flex;gap:8px}.ds-door{position:relative;flex:1;background:var(--door-col,linear-gradient(105deg,#33506A 0%,#2D4459 45%,#243A4D 100%))}.ds-door:before{content:"";position:absolute;inset:0;background:linear-gradient(170deg,rgba(255,255,255,.14),transparent 35%)}.ds-groove{position:absolute;left:10%;right:10%;height:2px;background:#00000047;box-shadow:0 1px #ffffff14}.ds-handle{position:absolute;right:9%;top:38%;width:6px;height:34%;border-radius:4px;background:linear-gradient(180deg,#e4e7ea,#9ca3aa 70%,#c8cdd2);box-shadow:2px 3px 7px #00000059}.ds-glass{width:34px;background:linear-gradient(170deg,#ffffffa6,#becdd759 40%,#788c9b73);border:1px solid rgba(0,0,0,.25)}.ds-caption{position:absolute;left:16px;bottom:14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;color:#7a7264}@media(max-width:960px){.dhero .inner,.constr,.finishes{grid-template-columns:1fr;gap:var(--s-7)}.cat-grid{grid-template-columns:1fr 1fr}.doors-spot{grid-template-columns:1fr}.doors-spot .sv{min-height:280px}.dhero .visual{order:-1}}@media(max-width:600px){.cat-grid{grid-template-columns:1fr}}
