.home-page {background:#0d0d0d;color:#fff;} .home-page .section{padding-block:clamp(64px,calc(var(--site-vw, 1vw) * 6),110px);} .home-page .container {width:90%;max-width:2400px;margin-inline:auto;padding:0;} .home-page .section-title,.home-page .consultation-heading h2 {font-size:clamp(36px,calc(var(--site-vw, 1vw) * 3.6),68px);font-weight:400;line-height:1.06;letter-spacing:normal;} .home-page .header {background:#171717;position:relative;z-index:50;} .home-page .header.fixed {position:fixed;} .home-page .header-row {min-height:80px;} .home-page .header-logo{max-width:205px;} .home-utility {background:#242424;font-size:14px;} .home-utility .container,.home-utility .container>div {display:flex;align-items:center;gap:28px;} .home-utility .container {justify-content:space-between;min-height:64px;} .home-utility a {color:#fff;} .home-utility img {width:23px;height:23px;} .home-utility .container>div>span+span {border-left:1px solid #626262;padding-left:28px;} .home-hero {position:relative;height:calc(calc(var(--site-vh, 1svh) * 100) - 144px);min-height:540px;isolation:isolate;overflow:hidden;} .home-hero video {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;} .home-hero:after {content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0001 40%,#0006);z-index:-1;} .home-hero h1 {position:absolute;bottom:4.5%;left:5%;margin:0;} .home-hero h1>img {width:100%;height:auto;display:block;} .home-video-toggle {position:absolute;right:5%;top:24px;border:1px solid #fff6;background:#16161666;color:#fff;padding:9px 14px;font:inherit;font-size:13px;} .visually-hidden {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);} .home-projects .similar-content {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;} .home-projects .similar-block {width:100%;} .home-projects .similar-block__img {aspect-ratio:1.39;height:auto;} .home-projects .similar-block__img img {height:100%;width:100%;object-fit:cover;} .home-projects .similar-block__night {opacity:0;filter:brightness(.68) saturate(.8);} .home-projects .similar-block:hover .similar-block__night {opacity:1;} .home-projects .similar-block__title {font-size:clamp(22px,calc(var(--site-vw, 1vw) * 1.65),32px);} .home-projects .similar-block__favorite {cursor:pointer;} .home-projects .button-grey,.home-account .button-grey {background:#242424;color:#fff;} .home-system {width:100%;background:#090909;} .home-system iframe {display:block;width:100%;height:850px;border:0;} .home-architecture {background:#f3f3f3;color:#0d0d0d;} .home-architecture .section-title {color:#0d0d0d;} .home-section-heading {display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:end;margin-bottom:64px;} .home-section-heading>p {font-size:clamp(16px,calc(var(--site-vw, 1vw) * 1.15),22px);line-height:1.35;color:#777;text-align:right;} .home-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;} .home-metric {min-height:clamp(230px,calc(var(--site-vw, 1vw) * 22),380px);padding:clamp(24px,calc(var(--site-vw, 1vw) * 2.6),48px);background:#ededed;border:1px solid #e7e7e7;display:flex;flex-direction:column;justify-content:space-between;gap:32px;} .home-metric strong {font-size:clamp(66px,calc(var(--site-vw, 1vw) * 6.5),116px);font-weight:400;line-height:1;} .home-metric p {font-size:clamp(16px,calc(var(--site-vw, 1vw) * 1.25),24px);line-height:1.2;color:#777;} .home-metric.accent {background:#ff6a33;border-color:#ff6a33;color:white;} .home-metric.accent p {color:white;} .home-architecture-bottom {display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:64px;} .home-architecture-bottom>div {display:grid;gap:12px;width:230px;} .home-architecture .button-grey {background:#e9e9e9;color:#111;justify-content:space-between;} .home-account>.container {display:grid;grid-template-columns: .85fr 1.45fr;gap:8%;align-items:center;} .home-account-label {font-size:clamp(20px,calc(var(--site-vw, 1vw) * 1.8),34px);margin-top:36px;} .home-account-features {margin:24px 0 32px;} .home-account-feature {display:flex;align-items:center;gap:22px;width:100%;padding:18px 0;border:0;border-bottom:1px solid #343434;background:none;text-align:left;color:#858585;font:inherit;font-size:clamp(16px,calc(var(--site-vw, 1vw) * 1.2),23px);line-height:1.3;cursor:pointer;transition:color .2s;} .home-account-feature[aria-selected=true] {color:#fff;} .home-account-feature>span {font-size:28px;width:30px;flex-shrink:0;} .home-account-feature[aria-selected=true]>span {color:#ff6a33;} .home-dashboard {display:grid;grid-template-columns:23% 1fr;min-width:0;border:1px solid #383838;border-radius:12px;background:#141414;overflow:hidden;box-shadow:0 0 140px #7437191c;} .home-dashboard>aside {display:flex;flex-direction:column;padding:24px 14px;gap:22px;border-right:1px solid #252525;font-size:clamp(10px,calc(var(--site-vw, 1vw) * .85),15px);color:#bbb;} .home-dashboard>aside img {width:100%;margin-bottom:24px;} .home-dashboard>aside span:first-of-type {color:white;} .home-dashboard>aside small {margin-top:auto;} .home-dashboard-main {padding:24px;min-width:0;} .dashboard-bar {display:flex;align-items:center;gap:4px;font-size:11px;color:#909090;padding-bottom:20px;border-bottom:1px solid #303030;margin-bottom:24px;} .dashboard-bar>span {margin-left:auto;font-size:9px;} .dashboard-photo {position:relative;aspect-ratio:1.85;overflow:hidden;border-radius:10px;} .dashboard-photo>img {width:100%;height:100%;object-fit:cover;} .dashboard-photo:after {content:'';position:absolute;inset:0;background:linear-gradient(transparent,#000b);} .dashboard-photo>div {position:absolute;bottom:20px;left:20px;right:20px;z-index:1;} .dashboard-photo small {font-size:10px;color:#91b082;background:#263125;padding:4px 6px;} .dashboard-photo h3 {font-size:clamp(20px,calc(var(--site-vw, 1vw) * 2),38px);font-weight:500;margin:12px 0 4px;} .dashboard-photo p {font-size:12px;color:#ddd;} .dashboard-photo span {font-size:10px;padding:6px;border:1px solid #ffffff33;display:inline-block;margin:12px 4px 0 0;} .home-dashboard-main>h3 {font-size:19px;margin:24px 0 16px;} .dashboard-progress {display:grid;grid-template-columns:1.5fr 1fr;border:1px solid #333;background:#1b1b1b;padding:20px;gap:20px;border-radius:8px;} .dashboard-progress p,.dashboard-progress small {font-size:11px;color:#949494;} .dashboard-progress strong {font-size:54px;line-height:1.1;font-weight:500;} .dashboard-progress strong span {font-size:24px;color:#ff6a33;} .dashboard-progress h4 {margin-block:10px;font-size:18px;} .dashboard-progress progress {display:block;width:100%;height:6px;margin:12px 0;accent-color:#ff6a33;} .dashboard-detail {margin-top:18px;border:1px solid #333;padding:18px;border-radius:8px;} .dashboard-detail span {font-size:9px;color:#ff6a33;letter-spacing:.05em;} .dashboard-detail h4 {font-size:16px;margin:12px 0;} .dashboard-detail p {font-size:12px;color:#999;line-height:1.4;} .home-page button:focus-visible,.home-page a:focus-visible {outline:2px solid #ff6a33;outline-offset:4px;} .home-page .consultation-alt {background:#f3f3f3;} .home-page .footer {padding-top:70px;} .home-page .footer-logo {margin-top:48px;} .home-form-status {font-size:14px;color:#626262;margin-top:14px;}
@media(min-width:1800px){.home-system iframe{height:1000px;}}
@media(max-width:1100px){.home-utility{display:none}.home-page .header-row{min-height:64px}.home-hero{height:calc(calc(var(--site-vh, 1svh) * 100) - 64px)}.home-account>.container{gap:32px;grid-template-columns:1fr 1.2fr}.home-dashboard>aside{display:none}.home-dashboard{grid-template-columns:1fr}.home-section-heading{grid-template-columns:1.2fr 1fr;gap:24px}.home-system iframe{height:740px;}}
@media(max-width:700px){.home-page .container{width:calc(100% - 40px)}.home-page .section{padding-block:52px}.home-page .section-title,.home-page .consultation-heading h2{font-size:34px}.home-hero{min-height:440px;height:calc(calc(var(--site-vh, 1svh) * 85) - 64px)}.home-hero h1{left:20px;bottom:28px}.home-video-toggle{right:20px;top:16px}.home-projects .similar-top{align-items:center;gap:16px}.home-projects .similar-top .button-grey{font-size:13px;padding:12px;min-height:44px;gap:12px}.home-projects .similar-row{gap:28px}.home-projects .similar-content{grid-template-columns:1fr;gap:28px}.home-projects .similar-block__img{aspect-ratio:1.39}.home-projects .similar-block__title{font-size:24px}.home-system iframe{height:850px}.home-section-heading{grid-template-columns:1fr;margin-bottom:28px;gap:20px}.home-section-heading>p{text-align:left;font-size:16px}.home-section-heading br{display:none}.home-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.home-metric{padding:18px;min-height:190px;gap:24px}.home-metric strong{font-size:62px}.home-metric p{font-size:14px}.home-architecture-bottom{margin-top:36px;align-items:flex-start;flex-direction:column;gap:28px}.home-architecture-bottom>div{width:100%;grid-template-columns:1fr 1fr;gap:8px}.home-architecture .button-grey{font-size:14px;padding:14px;gap:10px}.home-account>.container{grid-template-columns:1fr;gap:32px}.home-account-label{font-size:22px;margin-top:28px}.home-account-feature{font-size:16px;padding:14px 0;gap:14px}.home-dashboard-main{padding:16px}.dashboard-bar>span{display:none}.dashboard-photo{aspect-ratio:1.25}.dashboard-photo h3{font-size:27px}.dashboard-photo p{font-size:11px}.dashboard-photo>div{left:14px;right:14px;bottom:14px}.dashboard-progress{padding:16px}.home-page .footer-logo{margin-top:32px}.home-page .header-logo{max-width:168px}}
@media(prefers-reduced-motion:reduce){.home-page *{scroll-behavior:auto!important;transition:none!important;}}

.home-page .header {padding:0;}
.home-page .header.fixed {padding:0;}
.home-page .similar-block__favorite svg {display:block;}

.home-page section[id]{scroll-margin-top:80px;}
.home-system iframe.is-map-open{position:fixed;inset:0;z-index:100;width:100%;height:calc(var(--site-vh, 1dvh) * 100);}
.home-page.home-map-open{overflow:hidden;}

/* Architecture metrics follow the supplied reference, without a cursor circle. */
.home-metrics {gap:10px;}
.home-metric {aspect-ratio:1.36;min-height:0;padding:clamp(24px,calc(var(--site-vw, 1vw) * 2.6),48px);transition:background-color .3s,border-color .3s;}
.home-metric strong {font-family:var(--first-font);font-weight:400;font-size:clamp(74px,calc(var(--site-vw, 1vw) * 6.7),120px);letter-spacing:normal;}
.home-metric:not(.accent):hover {background:#e5e5e5;border-color:#dedede;}
.home-metric.accent:hover {background:#f35e2b;border-color:#f35e2b;}
.home-architecture-bottom {margin-top:clamp(56px,calc(var(--site-vw, 1vw) * 5.5),96px);}
.home-family {position:relative;isolation:isolate;overflow:hidden;min-height:clamp(360px,calc(var(--site-vw, 1vw) * 24.3),580px);background:#1e2423;}
.home-family-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;}
.home-family::after {content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0005,transparent 70%);z-index:-1;}
.home-family>.container {display:flex;flex-direction:column;justify-content:space-between;min-height:inherit;padding-block:clamp(30px,calc(var(--site-vw, 1vw) * 2.8),56px);gap:70px;}
.home-family-badge {align-self:flex-start;background:#ff6a33;color:#fff;padding:8px 22px;font-size:clamp(16px,calc(var(--site-vw, 1vw) * 1.35),26px);line-height:1;}
.home-family-bottom {display:flex;align-items:flex-end;justify-content:space-between;gap:40px;}
.home-family .section-title {font-size:clamp(34px,calc(var(--site-vw, 1vw) * 3.1),60px);line-height:1.06;}
.home-family-cta.button-grey {min-width:240px;background:#292929a6;backdrop-filter:blur(16px);color:#fff;padding:20px 32px;gap:32px;justify-content:space-between;}
.home-family-cta.button-grey:hover {background:#ff6a33;}
@media(max-width:700px){
 .home-metrics {gap:6px;}
 .home-metric {aspect-ratio:auto;min-height:190px;padding:18px;gap:24px;}
 .home-metric strong {font-size:62px;}
 .home-architecture-bottom {margin-top:36px;}
 .home-family {min-height:580px;}
 .home-family-photo {object-position:60% center;}
 .home-family::after {background:linear-gradient(180deg,#0003 15%,#000a 100%);}
 .home-family>.container {padding-block:28px;gap:180px;}
 .home-family-bottom {display:flex;flex-direction:column;align-items:stretch;gap:24px;}
 .home-family .section-title {font-size:32px;line-height:1.1;}
 .home-family-badge {font-size:14px;padding:8px 14px;}
 .home-family-cta.button-grey {min-width:0;min-height:48px;padding:14px 18px;font-size:16px;}
}
@media(prefers-reduced-motion:reduce){.home-metric{transition:none;}}

.home-family-photo {object-position:center 25%;}
.home-family::after {background:linear-gradient(90deg,#0006,#0001 75%);}
@media(max-width:700px){.home-family-photo{height:340px;object-position:60% center;}.home-family::after{background:linear-gradient(180deg,#0002 10%,transparent 32%,#151918 59%);}.home-family{background:#151918;}}

/* The full approved NordView sequence, plus directions immediately after video. */
.home-directions iframe {display:block;width:100%;height:calc(calc(var(--site-vh, 1svh) * 100) - 80px);min-height:720px;border:0;}
.home-system-intro iframe {height:850px;}
.home-system-result iframe {height:1000px;}
.home-projects .similar-block__img {position:relative;overflow:hidden;}
.home-projects .similar-block__img img {display:block;transform:none!important;object-position:center;filter:none;}
.home-projects .similar-block__img .similar-block__night {position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity .55s cubic-bezier(.22,.61,.36,1);}
.home-projects .similar-block:hover .similar-block__night,.home-projects .similar-block:focus-visible .similar-block__night {opacity:1;}
.home-dashboard {display:block;position:relative;aspect-ratio:944/762;background:#111;}
.home-dashboard>aside,.home-dashboard-main {display:none;}
.home-dashboard-reference {position:absolute;inset:0;overflow:hidden;}
.home-dashboard-reference>img {position:absolute;width:210.59%;max-width:none;height:auto;left:-97.03%;top:-24.93%;}
.home-account>.container {grid-template-columns: .95fr 1.35fr;gap:8%;}
.home-architecture .home-section-heading {grid-template-columns:1.25fr 1fr;align-items:end;}
.home-architecture .section-title {font-size:clamp(36px,calc(var(--site-vw, 1vw) * 3.6),64px);}
.home-metric strong {font-family:'Helvetica Neue',var(--first-font),sans-serif;font-weight:200;}
@media(max-width:700px){
 .home-directions iframe {height:calc(calc(var(--site-vh, 1svh) * 100) - 64px);min-height:700px;}
 .home-system-intro iframe {height:1000px;}
 .home-system-result iframe {height:850px;}
 .home-account>.container {grid-template-columns:1fr;gap:32px;}
 .home-architecture .home-section-heading {grid-template-columns:1fr;}
 .home-architecture .section-title {font-size:34px;}
 .home-metric strong {font-size:66px;}
}

/* Header utility row follows the supplied desktop reference. */
.home-utility .container{min-height:76px;}
.home-utility .home-utility-left,.home-utility .home-utility-right{gap:30px;}
.home-utility .container>div>span+span{border:0;padding:0;}
.home-location{display:flex;align-items:center;gap:10px;}
.home-location svg{width:20px;height:24px;}
.home-utility-divider{width:1px;height:20px;background:#626262;flex:0 0 1px;}
.home-utility-socials{display:flex;gap:24px;align-items:center;}
.home-utility-socials img{width:26px;height:26px;display:block;}
.home-rating{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid #777;clip-path:polygon(0 0,100% 0,100% 100%,50% 90%,0 100%);padding:3px 3px 9px;font-size:10px;line-height:1;}
.home-rating-icon{font-family:Arial,sans-serif;font-size:20px;line-height:23px;width:23px;height:23px;background:#ff452b;border:1px solid #fff;border-radius:50%;text-align:center;}
.home-hero{height:calc(calc(var(--site-vh, 1svh) * 100) - 156px);}
.home-metric{aspect-ratio:1.55;padding:clamp(24px,calc(var(--site-vw, 1vw) * 2.2),40px);}
.home-metric strong{font-size:clamp(70px,calc(var(--site-vw, 1vw) * 6),108px);}
.home-family::after{background:linear-gradient(90deg,#000b 0%,#0008 29%,#0002 58%,transparent 80%);}
.home-account>.container{grid-template-columns: .95fr 1.35fr;gap:8%;}
.home-account .section-title{font-size:clamp(40px,calc(var(--site-vw, 1vw) * 4),80px);line-height:1.02;}
.home-account-label{font-size:clamp(22px,calc(var(--site-vw, 1vw) * 1.7),34px);margin-top:40px;}
.home-account-feature{font-size:clamp(16px,calc(var(--site-vw, 1vw) * 1.15),24px);padding:22px 0;gap:26px;}
.home-account-feature>span{display:flex;align-items:center;justify-content:center;width:28px;}
.home-account-features svg{width:26px;height:26px;display:block;}
.home-account .button-grey{min-height:64px;padding:18px 32px;gap:28px;font-size:20px;}
.home-dashboard{aspect-ratio:978/792;}
.home-dashboard-reference>img{width:207.566%;left:-95.399%;top:-22.096%;}
@media(max-width:1100px){.home-hero{height:calc(calc(var(--site-vh, 1svh) * 100) - 64px);}}
@media(max-width:700px){
 .home-hero{height:calc(calc(var(--site-vh, 1svh) * 85) - 64px);}
 .home-metric{aspect-ratio:auto;min-height:172px;padding:18px;}
 .home-metric strong{font-size:60px;}
 .home-family::after{background:linear-gradient(180deg,#0003 10%,transparent 30%,#151918 59%);}
 .home-account .section-title{font-size:34px;}
 .home-account-label{font-size:22px;margin-top:28px;}
 .home-account-feature{font-size:16px;padding:16px 0;gap:16px;}
 .home-account .button-grey{min-height:48px;padding:14px 18px;font-size:16px;}
}

html:has(body.home-page){background:#0d0d0d;color-scheme:dark;scrollbar-color:#555 #0d0d0d;}

@media(max-width:700px){.home-account>.container{grid-template-columns:1fr;gap:32px;}}

@media(min-width:701px){.home-account>.container{grid-template-columns:.85fr 1.4fr;gap:12%;}}

/* Supplied utility-header assets, at reference sizes. */
.home-utility{font-size:16px;}
.home-utility .home-rating{display:block;border:0;clip-path:none;padding:0;line-height:0;}
.home-utility .home-rating img{display:block;width:30px;height:auto;max-height:54px;}
.home-utility-socials img{width:28px;height:28px;object-fit:contain;}
.home-utility-socials a[aria-label="Telegram"]{display:grid;place-items:center;width:28px;height:28px;background:#fff;border-radius:7px;}
.home-utility-socials a[aria-label="Telegram"] img{width:20px;height:20px;filter:brightness(0);}

/* Glass utility bar above persistent navigation; both overlay the hero video. */
.home-page{padding-top:0!important;}
.home-header-stack{--utility-height:52px;position:fixed;top:0;left:0;width:100%;z-index:100;transform:translateY(0);transition:transform .36s cubic-bezier(.22,1,.36,1);}
.home-header-stack.is-utility-hidden{transform:translateY(calc(-1 * var(--utility-height)));}
.home-header-stack .home-utility{background:linear-gradient(180deg,#242424bb,#24242499);backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);font-family:'PP Neue Montreal Book',sans-serif;font-weight:400;font-size:14px;}
.home-header-stack .home-utility :is(a,span){font-family:'PP Neue Montreal Book',sans-serif;font-weight:400;}
.home-header-stack .home-utility .container{min-height:var(--utility-height);}
.home-header-stack .home-utility-left,.home-header-stack .home-utility-right{gap:24px;}
.home-header-stack .home-location{gap:8px;}
.home-header-stack .home-location svg{width:17px;height:20px;}
.home-header-stack .home-utility-divider{height:16px;background:#ffffff45;}
.home-header-stack .home-rating img{width:23px;height:auto;max-height:42px;}
.home-header-stack .home-utility-socials{gap:20px;}
.home-header-stack .home-utility-socials a{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#fff;}
.home-header-stack .home-utility-socials img,.home-header-stack .home-utility-socials a[aria-label="Telegram"] img{width:17px;height:17px;object-fit:contain;filter:brightness(0);}
.home-page .home-header-stack .header,.home-page .home-header-stack .header.fixed{position:relative;top:auto;left:auto;background:#111111b8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:0;padding:0;transition:background .3s;}
.home-header-stack .header::after{height:3px;top:0;background:radial-gradient(25% 100% at 50% 0%,#ff6a3399 0%,#ff6a3344 45%,transparent 100%);}
.home-page .home-header-stack .header-row{min-height:76px;}
.home-page .home-header-stack .header-logo{width:clamp(184px,calc(var(--site-vw, 1vw) * 11.5),220px);max-width:220px;flex-shrink:0;}
.home-page .home-hero{height:calc(var(--site-vh, 1svh) * 100);min-height:540px;}
.home-page section[id]{scroll-margin-top:128px;}
@media(max-width:1100px){
 .home-header-stack{--utility-height:0px;transform:none!important;}
 .home-page .home-header-stack .header-row{min-height:64px;}
 .home-page .home-header-stack .header-logo{width:176px;max-width:176px;}
 .home-page section[id]{scroll-margin-top:64px;}
}
@media(max-width:700px){.home-page .home-hero{height:calc(var(--site-vh, 1svh) * 100);min-height:480px;}}
@media(prefers-reduced-motion:reduce){.home-header-stack{transition:none;}}

/* Consistent section heading scale; interactive orange states on every metric. */
.home-page{--home-heading-size:clamp(36px,calc(var(--site-vw, 1vw) * 3.6),68px);}
.home-page :is(.section-title,.consultation-heading h2){font-family:'PP Neue Montreal Book',sans-serif;font-size:var(--home-heading-size);line-height:1.08;font-weight:400;}
.home-metric{background:#ededed;border-color:#e7e7e7;color:#0d0d0d;}
.home-metric:hover,.home-metric:not(.accent):hover{background:#ff6a33;border-color:#ff6a33;color:#fff;}
.home-metric:hover p{color:#fff;}
.home-metric p{transition:color .25s;}
.home-page .home-header-stack .header,.home-page .home-header-stack .header.fixed{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#11111152;transition:backdrop-filter .18s,-webkit-backdrop-filter .18s,background .18s;}
.home-page .home-header-stack.is-scrolled .header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#111;}
.home-family::after{background:linear-gradient(90deg,#000d 0%,#000b 28%,#0003 57%,transparent 78%);}
/* The map keeps its size and scrolls with the page. */
.home-system-map{position:relative;height:auto;}
.home-system-map iframe{position:absolute;inset:0 auto auto 0;display:block;width:100%;height:var(--home-map-height,800px);}
.home-system-map.is-map-pinned iframe{z-index:20;}

.home-system-map iframe.is-map-open{position:fixed!important;inset:0!important;height:calc(var(--site-vh, 1dvh) * 100)!important;z-index:200!important;}
/* Native dashboard replaces the screenshot: sharp type, full rows, no clipping. */
.home-dashboard{display:grid;grid-template-columns:23% minmax(0,1fr);aspect-ratio:auto;overflow:hidden;font-family:'PP Neue Montreal',sans-serif;}
.home-dashboard-reference{display:none;}
.home-dashboard>aside{display:flex;padding:20px 14px;gap:22px;font-size:clamp(10px,calc(var(--site-vw, 1vw) * .8),15px);font-weight:500;}
.home-dashboard>aside>img{width:44px;height:38px;object-fit:contain;margin-bottom:22px;}
.home-dashboard-main{display:block;padding:18px;}
.dashboard-bar{font-size:10px;margin-bottom:20px;padding-bottom:16px;}
.dashboard-utility{margin-left:auto;font-size:20px;color:#ddd;}
.dashboard-photo{aspect-ratio:2.1;}
.dashboard-photo h3{font-weight:700;font-size:clamp(22px,calc(var(--site-vw, 1vw) * 2),40px);}
.dashboard-photo p{font-size:11px;}
.dashboard-photo>div{left:18px;bottom:18px;right:18px;}
.dashboard-photo small{font-weight:700;}
.home-dashboard-main>h3{font-size:20px;font-weight:700;margin-block:22px 16px;}
.dashboard-progress strong{font-size:58px;font-weight:700;}
.dashboard-progress progress{border:0;background:#333;}
.dashboard-progress progress::-webkit-progress-bar{background:#333;}
.dashboard-progress progress::-webkit-progress-value{background:#ff6a33;}
.dashboard-progress progress::-moz-progress-bar{background:#ff6a33;}
.dashboard-detail{padding:20px;}
.dashboard-detail h4{font-weight:700;}
.dashboard-client{margin-top:auto;border-top:1px solid #333;padding-top:18px;display:flex;flex-direction:column;gap:10px;}
.dashboard-client strong{font-size:12px;color:#fff;}
.dashboard-client small{font-size:10px;color:#888;}
@media(max-width:700px){
 .home-page{--home-heading-size:34px;}
 .home-dashboard{grid-template-columns:1fr;}
 .home-dashboard>aside{display:none;}
 .dashboard-photo{aspect-ratio:1.45;}
 .dashboard-photo h3{font-size:27px;}
 .home-dashboard-main{padding:16px;}
 .home-family::after{background:linear-gradient(180deg,#0005 10%,#0001 30%,#151918 58%);}
}

.dashboard-status-grid{display:grid;grid-template-columns:minmax(0,1fr) 30%;gap:12px;}
.dashboard-status-grid .dashboard-progress{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:18px;}
.dashboard-camera{position:relative;min-height:190px;overflow:hidden;border-radius:8px;background:#222;}
.dashboard-camera>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.7);}
.dashboard-camera>small{position:absolute;top:12px;right:10px;background:#111a;padding:6px;font-size:9px;font-weight:700;}
.dashboard-camera>div{position:absolute;bottom:12px;left:10px;right:10px;display:flex;align-items:end;gap:8px;}
.dashboard-camera span{font-size:10px;}
.dashboard-camera button{border:0;background:#151515;color:#fff;font-family:inherit;font-size:10px;line-height:1.2;padding:8px;cursor:pointer;}
@media(max-width:700px){.dashboard-status-grid{grid-template-columns:1fr;}.dashboard-camera{min-height:150px;}.dashboard-camera>img{object-position:center 60%;}}

.dashboard-utility{display:flex;gap:14px;align-items:center;}.dashboard-utility svg{width:18px;height:18px;}

@media(max-width:700px){.home-section-heading h2 br{display:initial;}}

/* First-screen choreography from the supplied motion reference. */
.home-preloader{display:none;position:fixed;inset:0;z-index:1000;pointer-events:none;}
.home-preloader-panels{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));}
.home-preloader-panels i{display:block;background:#000;height:100%;margin-right:-1px;transform-origin:top;will-change:transform;}
.home-preloader>img{position:absolute;left:50%;top:50%;width:min(calc(var(--site-vw, 1vw) * 34),460px);height:auto;transform:translate(-50%,-50%);}
:is(.home-intro-pending,.home-intro-running) .home-preloader{display:block;}
.home-intro-pending body.home-page,.home-intro-running:not(.home-intro-scroll-ready) body.home-page{overflow:hidden;}
:is(.home-intro-pending,.home-intro-running) .home-hero h1{overflow:hidden;}
:is(.home-intro-pending,.home-intro-running) .home-hero h1>img{visibility:hidden;}
.home-intro-pending .home-header-stack{visibility:hidden;}
.home-intro-running .home-preloader-panels i{animation:home-curtain-exit 1100ms cubic-bezier(.76,0,.24,1) calc(var(--panel)*140ms) both;}
.home-intro-running .home-preloader>img{animation:home-preloader-logo-exit 700ms cubic-bezier(.76,0,.24,1) 200ms both;}
.home-wordmark-motion{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.home-intro-running .home-wordmark-motion{display:block;}
.home-intro-running .home-wordmark-letter{transform-box:view-box;animation:home-wordmark-enter 1000ms cubic-bezier(.22,1,.36,1) calc(1250ms + var(--letter)*75ms) both;will-change:transform;}
.home-intro-running .home-header-stack .header{animation:home-navigation-enter 900ms cubic-bezier(.22,1,.36,1) 1550ms both;}
.home-intro-running .home-header-stack .home-utility{animation:home-navigation-enter 900ms cubic-bezier(.22,1,.36,1) 1550ms both;}
@keyframes home-curtain-exit{from{transform:translateY(0)}to{transform:translateY(-102%)}}
@keyframes home-preloader-logo-exit{from{clip-path:inset(0)}to{clip-path:inset(0 0 0 100%)}}
@keyframes home-wordmark-enter{from{transform:translateY(112%)}to{transform:translateY(0)}}
@keyframes home-navigation-enter{from{opacity:0;transform:translateY(-128px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.home-preloader>img{width:calc(var(--site-vw, 1vw) * 58);}}
@media(prefers-reduced-motion:reduce){.home-preloader{display:none!important;}.home-wordmark-motion{display:none!important;} .home-hero h1>img{visibility:visible!important;} .home-header-stack{visibility:visible!important;} .home-intro-running .home-header-stack :is(.header,.home-utility){animation:none!important;}}

/* Scroll illumination is continuous; these rows are descriptive, not tabs. */
.home-account-feature{cursor:default;color:color-mix(in srgb,#858585,#fff calc(var(--feature-progress,0) * 100%));transition:color 120ms linear;}
.home-account-feature>span{color:color-mix(in srgb,#858585,#ff6a33 calc(var(--feature-progress,0) * 100%));transition:color 120ms linear;}
.home-dashboard>aside>img{display:block;flex:none;width:48px;height:38px;object-fit:contain;object-position:left center;}
.dashboard-mobile-brand{display:none;width:36px;height:28px;object-fit:contain;flex:none;margin-right:14px;}
@media(max-width:1100px){.home-dashboard{grid-template-columns:1fr;}.home-dashboard>aside{display:none;}.dashboard-mobile-brand{display:block;}.dashboard-bar{display:flex;align-items:center;}}
@media(prefers-reduced-motion:reduce){.home-account-feature,.home-account-feature>span{transition:none;}}

.home-system-intro,.home-system-map,.home-system-result{background:#0d0d0d;}

/* Promotional banner copy sits below the section-heading scale. */
.home-page .home-family .section-title{font-size:clamp(32px,calc(var(--site-vw, 1vw) * 3),56px);line-height:1.1;}
@media(max-width:700px){.home-page .home-family .section-title{font-size:30px;}}

/* Uniform one-time entrances, without opacity resets or nested card animations. */
.home-page .home-reveal-pending{opacity:0;transform:translateY(16px);transition:opacity 900ms cubic-bezier(.22,1,.36,1),transform 900ms cubic-bezier(.22,1,.36,1),background-color .3s,border-color .3s,color .25s;}
.home-page .home-reveal-visible{opacity:1;transform:none;}
.home-page .home-metric{aspect-ratio:auto;height:calc((min(calc(var(--site-vw, 1vw) * 90),2400px) - 20px) / 4.65 - 50px);min-height:180px;gap:16px;}
@media(max-width:700px){.home-page .home-metric{height:auto;min-height:158px;gap:12px;}}
@media(prefers-reduced-motion:reduce){.home-page .home-reveal-pending{opacity:1;transform:none;transition:none;}}

/* Scroll compensation for the directional map must not compete with browser anchoring. */
html:has(.home-page){overflow-anchor:none;}

.home-system-map{margin-bottom:0;padding-bottom:clamp(24px,calc(var(--site-vw, 1vw) * 3),48px);overflow:clip;}

/* Desktop navigation keeps the hero video visible through its dark glass. */
@media(min-width:1101px){
 .home-page .home-header-stack.is-over-hero .header,
 .home-page .home-header-stack.is-over-hero .header.fixed{background:rgba(17,17,17,.12);}
}

.home-system-intro,.home-system-map,.home-system-result{background:transparent;}
.home-system-intro iframe,.home-system-result iframe{position:relative;z-index:1;background:transparent;}
.home-system-map iframe{z-index:1;background:transparent;}
.home-map-backdrop{position:absolute;top:0;left:0;width:100%;height:var(--home-map-height);overflow:visible;pointer-events:none;z-index:0;}
.home-map-backdrop svg{display:block;position:absolute;overflow:visible;max-width:none;}
.home-system-map.is-map-pinned .home-map-backdrop{z-index:19;}


.home-map-backdrop svg{left:0;top:0;transform-origin:0 0;will-change:transform;}

/* Keep both layers in the same coordinate system through the pin boundary. */
.home-system-map iframe:not(.is-map-open),.home-map-backdrop{transform:translate3d(0,var(--home-map-offset,0px),0);will-change:transform;}
.home-system-map iframe.is-map-open{transform:none!important;}

/* Native sticky follows compositor scrolling; no per-frame position compensation. */
.home-page .wrapper{overflow-x:clip;overflow-y:visible;}
.home-map-stage{position:relative;height:var(--home-map-height);width:100%;overflow:visible;}
.home-system-map.is-map-pinned .home-map-stage{z-index:20;}
.home-system-map .home-map-stage.is-dialog-open{z-index:200;}
.home-system-map iframe:not(.is-map-open),.home-map-backdrop{transform:none;will-change:auto;}
.home-map-backdrop{height:100%;}

/* Utility links respond without changing the header layout. */
.home-header-stack .home-utility a {
    transition: color 220ms ease, background-color 220ms ease, transform 220ms ease, filter 220ms ease;
}
.home-header-stack .home-utility .home-utility-account {
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 5px;
    transition: color 220ms ease, text-decoration-color 220ms ease;
}
@media (hover: hover) and (pointer: fine) {
    .home-header-stack .home-utility-account:hover { color: #ff6a33; text-decoration-color: currentColor; }
    .home-header-stack .home-utility-socials a:hover { background-color: #ff6a33; transform: translateY(-2px); }
    .home-header-stack .home-rating:hover { transform: translateY(-2px); filter: drop-shadow(0 2px 5px #ff6a3355); }
}
.home-header-stack .home-utility-account:focus-visible { color: #ff6a33; text-decoration-color: currentColor; }
.home-header-stack .home-utility-socials a:focus-visible { background-color: #ff6a33; }
@media (prefers-reduced-motion: reduce) {
    .home-header-stack .home-utility a { transition: none; }
    .home-header-stack .home-utility-socials a:hover,
    .home-header-stack .home-rating:hover { transform: none; }
}

@media (hover: hover) and (pointer: fine) {
    .home-projects .similar-block,
    .home-projects .similar-block__img {
        cursor: url('../img/main/project-cursor.svg') 24 24, pointer;
    }
    .home-projects .similar-block__favorite { cursor: pointer; }
}


/* Hero descriptor and wordmark share a responsive composition. */
.home-hero-lead{display:flex;align-items:center;justify-content:space-between;gap:32px;}
.home-hero-lead .home-hero-description{margin:0;}
.home-hero-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.home-page .home-hero-action{white-space:nowrap;}
.home-page .home-hero-action--outline{background:rgba(11,11,11,.3);backdrop-filter:blur(10px);}
.home-intro-pending .home-hero-actions{opacity:0;visibility:hidden;}
.home-intro-running .home-hero-actions{animation:home-descriptor-enter 1100ms cubic-bezier(.22,1,.36,1) 1320ms both;}
@media(max-width:1100px){
 .home-hero-lead{align-items:flex-start;flex-direction:column;gap:24px;}
}
@media(max-width:700px){
 .home-hero-actions{width:100%;gap:10px;}
 .home-page .home-hero-action{flex:1;min-width:0;}
}
@media(max-width:480px){
 .home-hero-actions{flex-direction:column;align-items:stretch;}
 .home-page .home-hero-action{flex:auto;}
}
@media(prefers-reduced-motion:reduce){
 .home-intro-running .home-hero-actions{animation:none;}
 .home-page .home-hero-action{transition:none;}
}
.home-hero-brand{position:absolute;left:5%;bottom:4.5%;display:flex;flex-direction:column;gap:clamp(32px,5vw,96px);}
.home-hero .home-hero-brand h1{position:relative;left:auto;bottom:auto;width:100%;margin:0;}
.home-hero-description{margin:0 0 0 15%;color:#fff;font-size:clamp(22px,1.8vw,38px);font-weight:400;line-height:1.22;letter-spacing:normal;text-shadow:0 2px 16px #0005;}
@media(max-width:700px){
 .home-hero-brand{left:20px;bottom:28px;gap:32px;}
 .home-hero-description{margin-left:0;font-size:clamp(18px,4.7vw,24px);line-height:1.3;}
}

/* Keep the mobile hero stationary while Safari expands/collapses its toolbar. */
@media(max-width:1100px){
 .home-page .home-hero{height:calc(var(--site-stable-vh,1svh) * 100);}
}

/* Two quiet line reveals accompany the existing wordmark entrance. */
.home-hero-description-line{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em;}
.home-hero-description-line>span{display:block;}
.home-intro-pending .home-hero-description-line>span{opacity:0;transform:translateY(110%);}
.home-intro-running .home-hero-description-line>span{animation:home-descriptor-enter 1100ms cubic-bezier(.22,1,.36,1) 1150ms both;}
.home-intro-running .home-hero-description-line:nth-child(2)>span{animation-delay:1320ms;}
@keyframes home-descriptor-enter{from{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 .home-hero-description-line>span{animation:none!important;opacity:1!important;transform:none!important;}
}

/* Let the outer rings reach the section boundary, beyond the SVG viewport. */
.home-map-backdrop { overflow: visible; clip-path: none; }
html:has(body.home-page) { overflow-x: clip; }
@supports not (overflow: clip) {
 html:has(body.home-page) { overflow-x: hidden; }
}

/* Three direction proposals in the actual homepage flow. */
.home-direction-variant {border-top:1px solid #ffffff18;background:#0d0d0d;}
.home-direction-variant-label {width:90%;margin-inline:auto;padding:24px 0 0;color:#ff6a33;font-size:13px;line-height:1.4;letter-spacing:.03em;}
.home-directions--comparison iframe {height:900px;min-height:0;}
@media(max-width:700px){
 .home-direction-variant-label {width:calc(100% - 40px);padding-top:24px;font-size:12px;}
 .home-directions--comparison iframe {height:1000px;min-height:0;}
}

/* Real consultation photos in the second and third homepage banners. */
.home-page .home-family-meeting {background:#111;min-height:clamp(420px,32vw,520px);}
.home-page .home-family-meeting .home-family-photo {left:auto;right:0;width:65%;height:100%;object-position:center 12%;}
.home-page .home-family-meeting::after {background:linear-gradient(90deg,#111 0%,#111 28%,#111e 35%,#1115 48%,transparent 68%);}
.home-page .home-family-meeting--panel .home-family-photo {object-position:center 18%;}
@media(max-width:700px){
 .home-page .home-family-meeting {min-height:600px;}
 .home-page .home-family-meeting .home-family-photo {inset:0 0 auto;width:100%;height:320px;object-position:center top;}
 .home-page .home-family-meeting::after {background:linear-gradient(180deg,#0003 0%,transparent 28%,#111 56%);}
 .home-page .home-family-meeting>.container {gap:230px;padding-block:24px;}
 .home-page .home-family-meeting .home-family-bottom {gap:24px;}
}

/* Outpainted office continues behind the text, without a black join. */
@media(min-width:701px){
 .home-page .home-family-meeting--corner .home-family-photo {inset:0;width:100%;height:100%;object-position:center;}
 .home-page .home-family-meeting--corner::after {background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.74) 28%,rgba(0,0,0,.48) 41%,rgba(0,0,0,.12) 56%,transparent 69%);}
}

/* The atmosphere copy of the map lives in an HTML-embedded SVG, which clips its long orbit lines at its own box.
   Let them run to the edges of the map block (where the block itself cuts them). */
.home-map-backdrop svg{overflow:visible}
.home-system-map .home-map-stage{overflow:visible}

/* Shared hierarchy follows the “Весь дом в одних руках” heading. */
.home-page{--home-section-heading-size:clamp(40px,calc(var(--site-vw,1vw) * 4.4),80px);}
.home-page .hdp-title,
.home-page .ntp .section-title,
.home-page .home-practice-heading h2,
.home-page .home-work-intro h2,
.home-page .home-architecture .home-section-heading .section-title{
 font-size:var(--home-section-heading-size);line-height:1.1;font-weight:400;
}
.home-page .home-projects.ntp{background:#0d0d0d;padding-block:clamp(56px,calc(var(--site-vw,1vw) * 5),96px);}
@media(max-width:700px){
 .home-page{--home-section-heading-size:36px;}
 .home-page .home-projects.ntp{padding-block:48px;}
}

/* Keep the map's decorative outer rings out of the homepage composition. */
.home-map-backdrop{display:none;}
@media(max-width:700px){
 .home-page .home-family,.home-page .home-family-meeting{min-height:540px;}
 .home-page .home-family .home-family-photo,.home-page .home-family-meeting .home-family-photo{inset:0;width:100%;height:100%;object-position:60% center;}
 .home-page .home-family::after,.home-page .home-family-meeting::after{background:linear-gradient(180deg,#0002 0%,#0001 25%,#0008 58%,#000d 100%);}
 .home-page .home-family>.container,.home-page .home-family-meeting>.container{min-height:inherit;padding-block:24px;gap:120px;}
 .home-page .home-family .home-family-bottom{gap:24px;}
}
