/* Object-led, interactive showroom. Everything is scoped away from the editor. */
#screen-home { --primary:#1a3a5c; --accent:#e85d04; --text:#172b3a; --muted:#52616c; --line:#d7dfe4; --surface:#f3f5f6; background:#fff; color:var(--text); font:17px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; scroll-behavior:smooth; scroll-padding-top:94px; }
#screen-home *,#screen-home *::before,#screen-home *::after { box-sizing:border-box; }
#screen-home [hidden] { display:none!important; }
#screen-home :where(h1,h2,h3,p,figure,blockquote,dl,dd,ul,ol) { margin:0; }
#screen-home :where(button,select) { font:inherit; }
#screen-home button { color:inherit; cursor:pointer; }
#screen-home a { color:inherit; text-underline-offset:4px; }
#screen-home :where(button,a,select,summary,[tabindex]):focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
#screen-home button:disabled { cursor:wait; opacity:.55; }
#screen-home .shell { width:min(1320px,calc(100% - 80px)); margin-inline:auto; }
#screen-home .section { padding:100px 0; }
#screen-home h1 { font-size:clamp(42px,4.8vw,72px); line-height:1.02; font-weight:650; letter-spacing:-3px; color:var(--primary); }
#screen-home h2 { font-size:clamp(32px,3.3vw,48px); line-height:1.08; font-weight:620; letter-spacing:-1.8px; color:var(--primary); }
#screen-home h3 { font-size:38px; line-height:1.1; letter-spacing:-1.4px; color:var(--primary); }
#screen-home .skip-link { position:absolute; top:4px; left:16px; z-index:100; padding:10px; background:#fff; transform:translateY(-200%); }
#screen-home .skip-link:focus { transform:none; }
#screen-home .site-header { position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid var(--line); }
#screen-home .header-inner { min-height:78px; display:flex; align-items:center; gap:40px; }
#screen-home .brand { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--primary); }
#screen-home .brand svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:2; }
#screen-home .brand strong { font-size:30px; letter-spacing:-1.4px; }
#screen-home .brand>span { font-size:12px; line-height:1.3; border-left:1px solid var(--line); padding-left:15px; margin-left:4px; color:var(--muted); }
#screen-home .header-inner nav { display:flex; gap:24px; margin-left:auto; }
#screen-home .header-inner nav a { font-size:14px; text-decoration:none; padding-block:15px; }
#screen-home .header-phone { font-size:16px; font-weight:650; text-decoration:none; white-space:nowrap; min-height:44px; display:inline-flex; align-items:center; }
#screen-home .hero { padding-top:55px; }
#screen-home .hero-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding-bottom:40px; }
#screen-home .hero-terms { max-width:300px; padding-bottom:4px; color:var(--muted); font-size:19px; }
#screen-home .scene-toolbar { display:flex; align-items:center; justify-content:space-between; border-top:1px solid var(--line); min-height:66px; }
#screen-home .scene-toolbar>span { font-size:15px; color:var(--muted); }
#screen-home .scene-tabs { display:flex; gap:8px; align-self:stretch; }
#screen-home .scene-tabs button { border:0; border-bottom:3px solid transparent; background:none; padding:10px 20px; min-height:48px; }
#screen-home .scene-tabs [aria-selected=true] { border-bottom-color:var(--accent); color:var(--primary); font-weight:650; }
#screen-home .scene-panel { position:relative; }
#screen-home .hero-media { position:relative; }
#screen-home .hero-media>img { display:block; width:100%; height:510px; object-fit:cover; object-position:50% 57%; }
#screen-home .hero-photo figcaption { font-size:13px; padding-top:10px; color:var(--muted); }
#screen-home .hero-order { position:absolute; right:24px; bottom:24px; width:330px; background:#fff; padding:27px; }
#screen-home .order-caption { display:block; font-size:14px; color:var(--muted); margin-bottom:15px; }
#screen-home .hero-order h2 { font-size:34px; letter-spacing:-1.1px; margin-bottom:15px; }
#screen-home .hero-order>p { font-size:15px; color:var(--muted); }
#screen-home .cta { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:15px 22px; border:1px solid var(--accent); border-radius:3px; background:var(--accent); color:#071624; font-size:16px; font-weight:650; text-align:center; text-wrap:balance; text-decoration:none; line-height:1.35; }
#screen-home .cta:hover { background:#c94c00; border-color:#c94c00; color:#fff; }
#screen-home .hero-order .cta { width:100%; margin-top:24px; }
#screen-home .order-note { display:block; font-size:12px; line-height:1.5; margin-top:12px; color:var(--muted); }
#screen-home #client-resume { font-size:13px; padding-top:10px; }
#screen-home #client-home-error { color:#a52b1d; font-size:14px; }
#screen-home .hero-video-play { position:absolute; left:22px; bottom:22px; display:flex; align-items:center; gap:10px; max-width:calc(100% - 44px); background:var(--primary); color:#fff; border:1px solid rgba(255,255,255,.28); border-radius:8px; padding:12px 14px; min-height:64px; font-size:14px; line-height:1.35; text-align:left; }
#screen-home .hero-video-play:hover { background:#2a5a9c; }
#screen-home .hero-video-play .play-icon { display:grid; place-items:center; flex:0 0 32px; width:32px; height:32px; border:1px solid #8ea1b6; border-radius:50%; }
#screen-home .hero-video-play .play-icon svg { display:block; margin-left:2px; }
#screen-home .hero-video-play .video-copy { display:flex; flex-direction:column; gap:4px; }
#screen-home .hero-video-play .video-label { font-weight:600; }
#screen-home .hero-video-play small { display:block; color:#d9e5f2; font-size:12px; font-variant-numeric:tabular-nums; }
#screen-home .section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:40px; }
#screen-home .section-heading>p { color:var(--muted); max-width:330px; font-size:17px; }
#screen-home .advantages { background:var(--surface); }
#screen-home .product-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
#screen-home .color-sample { position:relative; background:#fff; border:0; }
#screen-home .color-sample img { display:block; width:100%; height:360px; object-fit:cover; object-position:center; }
#screen-home .color-caption { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:20px 0 10px; }
#screen-home .color-caption strong { color:var(--primary); font-size:17px; }
#screen-home .color-caption>span { font-size:12px; color:var(--muted); }
#screen-home .color-swatches { display:flex; flex-wrap:wrap; gap:8px; }
#screen-home .color-swatches button { min-width:68px; min-height:72px; padding:7px; border:1px solid transparent; background:none; font-size:12px; display:flex; flex-direction:column; align-items:center; gap:6px; }
#screen-home .color-swatches button[aria-pressed=true] { border-color:var(--primary); background:#fff; }
#screen-home .color-chip { display:block; width:28px; height:28px; border-radius:50%; background:var(--chip-color); border:1px solid #abb4bc; }
#screen-home .color-note { color:var(--muted); font-size:12px; max-width:470px; padding-top:12px; }
#screen-home .product-answers details { background:#fff; border:1px solid var(--line); border-radius:5px; margin-bottom:12px; padding:0 20px; }
#screen-home .product-answers summary { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:18px; list-style:none; font-size:19px; font-weight:550; cursor:pointer; color:var(--primary); }
#screen-home .product-answers summary::-webkit-details-marker { display:none; }
#screen-home .product-answers summary>span { font-size:25px; font-weight:400; transition:transform .2s; }
#screen-home .product-answers details[open] summary>span { transform:rotate(45deg); }
#screen-home .product-answers details>div { padding:17px 20px; margin-bottom:20px; border-left:3px solid var(--primary); background:#edf3f8; color:var(--primary); font-size:16px; line-height:1.6; }
#screen-home .product-answers details strong { display:block; font-weight:600; }
#screen-home .product-answers details p { margin-top:8px; color:var(--muted); }
#screen-home .text-action { min-height:52px; width:100%; display:inline-flex; align-items:center; justify-content:center; margin-top:14px; padding:14px 22px; border:1px solid var(--primary); border-radius:4px; background:var(--primary); font-weight:600; color:#fff; }
#screen-home .rail-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:8px; }
#screen-home .filter-row { display:flex; flex-wrap:wrap; gap:8px; }
#screen-home .filter-row button { border:1px solid var(--line); border-radius:3px; background:#fff; min-height:44px; padding:8px 15px; font-size:14px; }
#screen-home .filter-row button[aria-pressed=true] { background:var(--primary); border-color:var(--primary); color:#fff; }
#screen-home .rail-controls { display:flex; flex-shrink:0; gap:6px; }
#screen-home .rail-controls button { width:44px; height:44px; border:1px solid var(--line); background:#fff; font-size:21px; border-radius:3px; }
#screen-home .result-count { color:var(--muted); font-size:12px; margin-bottom:18px; }
#screen-home .rail { display:flex; gap:24px; overflow-x:auto; overflow-y:hidden; padding-bottom:14px; scrollbar-width:thin; scrollbar-color:#b1bec9 transparent; overscroll-behavior-x:contain; }
#screen-home .rail::-webkit-scrollbar { height:4px; }
#screen-home .rail::-webkit-scrollbar-thumb { background:#b1bec9; }
#screen-home .work-card { flex:0 0 47%; min-width:0; }
#screen-home .photo-open { display:block; width:100%; padding:0; border:0; background:var(--surface); }
#screen-home .photo-open img { display:block; width:100%; height:360px; object-fit:cover; }
#screen-home .work-card figcaption { display:flex; justify-content:space-between; gap:18px; padding:16px 0 4px; }
#screen-home .work-card figcaption strong { font-size:19px; font-weight:600; color:var(--primary); }
#screen-home .work-card figcaption span { font-size:13px; color:var(--muted); max-width:210px; }
#screen-home .reviews-panel { margin-top:80px; padding:48px 40px 30px; background:var(--surface); }
#screen-home .reviews-panel .section-heading { align-items:center; margin-bottom:28px; }
#screen-home .motion-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 12px; border:1px solid #b6c2cc; border-radius:3px; background:transparent; font-size:13px; }
#screen-home .review-rating { color:#a74200; font-size:15px; letter-spacing:2px; }
#screen-home .network { border-top:1px solid var(--line); }
#screen-home .network-intro { margin-top:20px; font-size:17px; color:var(--muted); max-width:470px; }
#screen-home .network-map-wrap { position:relative; overflow:hidden; background:var(--surface); }
#screen-home #network-map { display:block; width:100%; height:auto; min-height:200px; max-height:500px; touch-action:pan-y; }
#screen-home .network-land { fill:#e1e8ee; stroke:#bdcbd6; stroke-width:.8; }
#screen-home .network-marker { cursor:pointer; }
#screen-home .network-dot { fill:var(--primary); stroke:#fff; stroke-width:1.3; }
#screen-home .network-marker text { fill:var(--primary); font-size:13px; paint-order:stroke; stroke:#fff; stroke-width:3px; stroke-linejoin:round; }
#screen-home .network-map-controls { position:absolute; right:12px; bottom:12px; display:flex; gap:6px; }
#screen-home .network-map-controls button { width:44px; height:44px; border:1px solid var(--line); background:#fff; color:var(--primary); border-radius:3px; font-size:24px; }
#screen-home .contacts { background:var(--primary); color:#fff; padding-block:54px 40px; }
#screen-home .contacts h2 { color:#fff; }
#screen-home .contact-top { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
#screen-home .contact-top p { color:#d2dde7; font-size:18px; margin-bottom:24px; }
#screen-home .contact-details { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding-top:28px; margin-top:28px; border-top:1px solid #49657f; }
#screen-home .contact-details>div { display:flex; flex-direction:column; align-items:flex-start; }
#screen-home .contact-label { color:#bdcedd; font-size:13px; margin-bottom:10px; }
#screen-home .contact-phone { font-size:29px; font-weight:550; text-decoration:none; min-height:44px; }
#screen-home .secondary-phone { font-size:21px; }
#screen-home .contact-email { font-size:21px; text-decoration:none; min-height:44px; }
#screen-home .requisites { font-size:13px; min-height:44px; display:inline-flex; align-items:center; }
#screen-home .contact-details>p { color:#bdcedd; font-size:14px; }
#screen-home .site-footer { padding:16px 0; }
#screen-home .footer-inner { display:flex; flex-wrap:wrap; align-items:center; gap:18px 30px; color:var(--muted); font-size:12px; }
#screen-home .footer-inner strong { font-size:22px; color:var(--primary); }
#screen-home .footer-inner a:first-of-type { margin-left:auto; }
#screen-home .landing-dock { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); background:rgba(255,255,255,.78); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border:1px solid rgba(180,194,204,.8); border-radius:50px; opacity:.86; padding:8px 8px 8px 22px; z-index:25; display:flex; align-items:center; gap:25px; transition:opacity .24s,background-color .24s,transform .24s cubic-bezier(.2,.8,.2,1); }
#screen-home .landing-dock>span { font-size:14px; white-space:nowrap; }
#screen-home .landing-dock .cta { min-height:46px; white-space:nowrap; border-radius:40px; }
#screen-home .photo-dialog,#screen-home .hero-video-dialog { margin:auto; max-width:min(1100px,calc(100% - 32px)); max-height:calc(100dvh - 32px); border:0; padding:54px 12px 12px; background:#fff; color:var(--text); }
#screen-home .photo-dialog::backdrop,#screen-home .hero-video-dialog::backdrop { background:rgba(12,26,39,.84); }
#screen-home .photo-dialog img { display:block; max-width:100%; max-height:calc(100dvh - 150px); width:auto; margin:auto; object-fit:contain; }
#screen-home .photo-dialog figcaption { padding:12px 5px 0; font-size:14px; }
#screen-home .dialog-close,#screen-home .video-close { position:absolute; top:4px; right:8px; width:44px; height:44px; border:0; background:none; font-size:30px; }
#screen-home .hero-video-dialog { width:min(1000px,calc(100% - 32px)); }
#screen-home #hero-video-player { aspect-ratio:16/9; width:100%; background:#102437; }
#screen-home #hero-video-player video { display:block; width:100%; height:100%; }
#screen-home #hero-video-error { color:#a52b1d; font-size:14px; }
#screen-home:has(dialog[open]) { overflow:hidden; }
@media(min-width:1700px) { #screen-home .hero-media>img { height:570px; } }
@media(max-width:1100px) {
 #screen-home .shell { width:calc(100% - 48px); }
 #screen-home .brand>span { display:none; }
 #screen-home .header-inner { gap:25px; }
 #screen-home .header-inner nav { gap:18px; }
 #screen-home .hero-terms { font-size:17px; }
 #screen-home .product-layout { gap:40px; }
 #screen-home .hero-order { width:300px; padding:24px; right:20px; }
 #screen-home .hero-media>img { height:490px; }
 #screen-home .work-card figcaption { flex-direction:column; gap:5px; }
 #screen-home .photo-open img { height:310px; }
 #screen-home .contact-email { font-size:18px; }
 #screen-home .contact-phone { font-size:23px; }
}
@media(max-width:780px) {
 #screen-home .section { padding:65px 0; }
 #screen-home .header-inner { min-height:66px; justify-content:space-between; }
 #screen-home .header-inner nav { display:none; }
 #screen-home .hero { padding-top:35px; }
 #screen-home .hero-heading { align-items:flex-start; flex-direction:column; gap:20px; padding-bottom:25px; }
 #screen-home h1 { font-size:clamp(39px,6.3vw,56px); letter-spacing:-1.8px; }
 #screen-home .hero-terms { font-size:16px; max-width:none; }
 #screen-home .hero-terms br { display:none; }
 #screen-home .hero-terms br::after { content:' '; }
 #screen-home .hero-terms { max-width:410px; }
 #screen-home .scene-toolbar { flex-direction:column; align-items:flex-start; gap:8px; padding-top:15px; }
 #screen-home .scene-tabs { align-self:stretch; }
 #screen-home .scene-tabs button { padding:10px 18px; flex:1; }
 #screen-home .scene-panel { display:flex; flex-direction:column; }
 #screen-home .hero-media>img { height:360px; object-position:50% 55%; }
 #screen-home .hero-order { position:static; width:100%; padding:24px 0; display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; align-items:start; }
 #screen-home .order-caption { display:none; }
 #screen-home .hero-order h2 { font-size:28px; margin:0; grid-row:1/3; }
 #screen-home .hero-order>p { font-size:14px; }
 #screen-home .hero-order .cta { margin:0; font-size:15px; }
 #screen-home .order-note { margin:0; grid-column:2; }
 #screen-home #client-resume,#screen-home #client-home-error { grid-column:1/-1; }
 #screen-home .hero-video-play { left:16px; bottom:16px; max-width:calc(100% - 32px); }
 #screen-home .section-heading { align-items:flex-start; gap:20px; }
 #screen-home .section-heading>p { font-size:15px; max-width:240px; }
 #screen-home .product-layout { gap:35px; grid-template-columns:1fr; }
 #screen-home .color-sample img { height:340px; }
 #screen-home .product-answers summary { font-size:18px; min-height:68px; }
 #screen-home .work-card { flex-basis:75%; }
 #screen-home .reviews-panel { padding:30px 24px; margin-top:50px; }
 #screen-home .rail-heading { align-items:flex-start; }
 #screen-home .rail { gap:18px; }
 #screen-home .reviews-panel .rail-heading { flex-wrap:wrap; }
 #screen-home .contact-top { gap:35px; }
 #screen-home .contact-top p { font-size:16px; }
 #screen-home .contact-details { grid-template-columns:1fr 1fr; }
 #screen-home .contact-details>p { grid-column:1/-1; }
 #screen-home .footer-inner a:first-of-type { margin-left:0; }
}
@media(max-width:520px) {
 #screen-home { scroll-padding-top:80px; }
 #screen-home .shell { width:calc(100% - 36px); }
 #screen-home .brand { gap:8px; }
 #screen-home .brand svg { width:25px; height:25px; }
 #screen-home .brand strong { font-size:25px; }
 #screen-home .header-phone { font-size:13px; }
 #screen-home h1 { font-size:40px; letter-spacing:-1.9px; }
 #screen-home h2 { font-size:34px; letter-spacing:-1.2px; }
 #screen-home h3 { font-size:32px; }
 #screen-home .hero-heading { gap:17px; }
 #screen-home .hero-terms { font-size:15px; }
 #screen-home .hero-media>img { height:310px; }
 #screen-home .hero-order { display:flex; flex-direction:column; gap:10px; }
 #screen-home .hero-order h2 { font-size:27px; }
 #screen-home .hero-order h2 br { display:none; }
 #screen-home .hero-order .cta { margin-top:7px; min-height:56px; }
 #screen-home .scene-tabs button { font-size:15px; padding-inline:12px; }
 #screen-home .section-heading { flex-direction:column; gap:18px; margin-bottom:28px; }
 #screen-home .section-heading>p { max-width:none; }
 #screen-home .color-sample img { height:280px; }
 #screen-home .color-caption { align-items:flex-start; flex-direction:column; gap:4px; }
 #screen-home .color-swatches button { min-width:62px; }
 #screen-home .product-answers summary { font-size:17px; }
 #screen-home .product-answers details>div { font-size:15px; }
 #screen-home .rail-heading { flex-wrap:wrap; gap:12px; }
 #screen-home .filter-row { gap:6px; }
 #screen-home .filter-row button { padding-inline:10px; font-size:13px; }
 #screen-home .rail-heading>.rail-controls { margin-left:auto; }
 #screen-home .work-card { flex-basis:88%; }
 #screen-home .photo-open img { height:280px; }
 #screen-home .work-card figcaption strong { font-size:18px; }
 #screen-home .work-card figcaption span { max-width:none; }
 #screen-home .reviews-panel { margin-inline:-18px; padding:35px 18px; }
 #screen-home .reviews-panel .section-heading { align-items:flex-start; }
 #screen-home .network-marker text { display:none; }
 #screen-home .network-intro { font-size:15px; }
 #screen-home .network-map-controls { position:static; justify-content:flex-end; padding:8px; }
 #screen-home .contact-top,#screen-home .contact-details { grid-template-columns:1fr; }
 #screen-home .contact-top { gap:25px; }
 #screen-home .contact-top .cta { width:100%; }
 #screen-home .contact-details { gap:25px; padding-top:30px; }
 #screen-home .contact-phone { font-size:27px; }
 #screen-home .secondary-phone { font-size:21px; }
 #screen-home .contact-email { font-size:20px; overflow-wrap:anywhere; }
 #screen-home .footer-inner { gap:14px 20px; }
 #screen-home .footer-inner a { width:100%; }
 #screen-home .landing-dock { bottom:calc(10px + env(safe-area-inset-bottom)); left:12px; transform:none; width:calc(100% - 24px); padding:7px 7px 7px 17px; gap:12px; }
 #screen-home .landing-dock>span { font-size:12px; white-space:normal; }
 #screen-home .landing-dock .cta { font-size:14px; padding:12px 15px; margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) { #screen-home { scroll-behavior:auto; } #screen-home * { transition:none!important; } }

#screen-home .hero-facts { display:grid; grid-template-columns:repeat(3,1fr); list-style:none; padding:0 0 34px; gap:16px; margin-top:22px; }
#screen-home .hero-facts li { display:flex; flex-direction:column; gap:6px; padding:18px 20px; background:var(--surface); border-left:3px solid var(--primary); }
#screen-home .hero-facts strong { color:var(--primary); font-size:20px; line-height:1.2; }
#screen-home .hero-facts span { color:var(--muted); font-size:15px; }
#screen-home .landing-dock:hover,#screen-home .landing-dock:focus-within { opacity:1; background-color:rgba(255,255,255,.98); }
#screen-home .product-answers details strong { color:var(--primary); }
#screen-home .network-intro { font-size:24px; color:var(--primary); font-weight:600; white-space:nowrap; }
#screen-home .color-example-empty { position:absolute; inset:0; display:grid; place-items:center; background:#f3f5f6; padding:30px; text-align:center; color:var(--muted); }
@media(hover:hover) and (prefers-reduced-motion:no-preference) and (min-width:521px) { #screen-home .landing-dock:hover { transform:translateX(-50%) translateY(-2px); } }
@media(hover:none) { #screen-home .landing-dock { opacity:.96; } }
@media(max-width:780px) { #screen-home .hero-facts { gap:10px; } #screen-home .hero-facts li { padding:16px; } #screen-home .hero-facts strong { font-size:18px; } #screen-home .hero-facts span { font-size:14px; } }
@media(max-width:520px) { #screen-home .hero-facts { grid-template-columns:1fr; gap:10px; } #screen-home .hero-facts li { padding:15px 18px; gap:4px; } #screen-home .hero-order h2 { font-size:30px; } #screen-home .product-answers details { padding:0 15px; } #screen-home .product-answers details>div { padding:15px; } #screen-home .contacts { padding-block:44px 30px; } #screen-home .contacts h2 { font-size:32px; } #screen-home .contact-top { gap:20px; } #screen-home .contact-details { gap:20px; padding-top:22px; margin-top:24px; } }

#screen-home .color-swatches small { font-size:10px; line-height:1.1; }
#screen-home .contacts h2 { font-size:38px; }
@media(max-width:520px) { #screen-home .contacts h2 { font-size:32px; } }

@media(max-width:360px) {
 #screen-home .hero-video-play { left:12px; bottom:12px; max-width:calc(100% - 24px); gap:8px; padding:12px 8px; font-size:13px; }
 #screen-home .hero-video-play .play-icon { flex-basis:24px; width:24px; height:24px; }
}
