* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Manrope, Inter, Arial, sans-serif; font-size: 16px; line-height: 1.55; overflow-x: hidden; }
body.is-locked { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
::selection { color: var(--white); background: var(--orange-dark); }
.container { width: var(--container); margin: 0 auto; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--orange-dark); font-size: 11px; font-weight: 800; letter-spacing: .18em; line-height: 1; text-transform: uppercase; }
.eyebrow::before { width: 22px; height: 1px; content: ''; background: currentColor; }
.display { margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(50px, 6.1vw, 88px); font-weight: 500; letter-spacing: -.065em; line-height: .92; }
.display em, .title em { color: var(--orange-dark); font-style: italic; }
.title { max-width: 680px; margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(40px, 4.5vw, 61px); font-weight: 500; letter-spacing: -.056em; line-height: .96; }
.lead { max-width: 570px; margin: 28px 0 0; color: rgb(var(--white-rgb) / .74); font-size: 17px; line-height: 1.65; }
.section-lead { max-width: 590px; margin: 24px 0 0; color: var(--ink-soft); font-size: 16px; line-height: 1.7; }
.section { position: relative; padding: 130px 0; }
.section--cream { background: var(--paper); }
.section--paper { background: var(--white); }
.section--dark { color: var(--ink); background: var(--surface); }
.section--soft { background: var(--surface-tint); }
.section--orange { background: var(--orange-pale); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 13px; min-height: 52px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; color: var(--white); background: var(--orange); font-size: 13px; font-weight: 800; letter-spacing: -.01em; transition: transform .25s ease, background .25s ease, box-shadow .25s ease; }
.button:hover { background: var(--orange-dark); box-shadow: 0 12px 22px rgb(var(--accent-rgb) / .22); transform: translateY(-2px); }
.button--light { color: var(--ink); background: var(--white); }
.button--light:hover { color: var(--ink); background: var(--surface-tint); }
.button--outline { border-color: rgb(var(--white-rgb) / .3); color: var(--white); background: transparent; }
.button--outline:hover { border-color: var(--white); color: var(--ink); background: var(--white); }
.button svg, .text-link svg { width: 17px; height: 17px; transition: transform .25s ease; }
.button:hover svg, .text-link:hover svg { transform: translate(3px, -3px); }
.text-link { display: inline-flex; align-items: center; gap: 9px; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 800; transition: color .25s ease; }
.text-link:hover { color: var(--orange-dark); }
.chip { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid rgb(var(--white-rgb) / .18); border-radius: 999px; color: rgb(var(--white-rgb) / .73); background: rgb(var(--white-rgb) / .04); font-size: 11px; font-weight: 700; }
.chip::before { width: 6px; height: 6px; border-radius: 50%; content: ''; background: var(--mint); box-shadow: 0 0 0 5px rgb(var(--surface-tint-rgb) / .1); }

/* header */
.site-header { position: absolute; z-index: 20; top: 0; right: 0; left: 0; padding: 21px 0; color: var(--white); transition: background .25s ease, padding .25s ease, box-shadow .25s ease; }
.site-header.is-scrolled { position: fixed; padding: 12px 0; color: var(--ink); background: rgb(var(--white-rgb) / .94); box-shadow: 0 5px 18px rgb(var(--ink-rgb) / .08); backdrop-filter: blur(18px); }
.site-header.is-scrolled .brand-mark path:last-child { fill: var(--ink); }
.site-header.is-scrolled .nav-link { color: var(--ink-soft); }
.site-header.is-scrolled .nav-link:hover, .site-header.is-scrolled .nav-link.is-active { color: var(--ink); }
.site-header.is-scrolled .header-phone { color: var(--ink); }
.site-header.is-scrolled .header-cta { color: var(--ink); background: var(--orange-pale); }
.header-inner { display: grid; grid-template-columns: 200px 1fr auto; align-items: center; gap: 30px; }
.brand { display: inline-flex; width: 175px; }
.brand-mark { width: 100%; height: auto; }
.site-nav { display: flex; align-items: center; justify-content: center; gap: 22px; }
.nav-link { position: relative; color: rgb(var(--white-rgb) / .72); font-size: 12px; font-weight: 700; transition: color .2s ease; }
.nav-link::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; content: ''; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.nav-link:hover, .nav-link.is-active { color: var(--white); }
.nav-link:hover::after, .nav-link.is-active::after { transform: scaleX(1); transform-origin: left; }
.header-actions { display: flex; align-items: center; gap: 16px; }
.header-phone { color: var(--white); font-size: 12px; font-weight: 800; white-space: nowrap; }
.header-cta { min-height: 38px; padding: 0 16px; color: var(--white); background: rgb(var(--white-rgb) / .12); font-size: 11px; }
.header-cta:hover { color: var(--ink); background: var(--white); box-shadow: none; }
.menu-toggle { display: none; width: 43px; height: 43px; padding: 0; border: 1px solid rgb(var(--white-rgb) / .28); border-radius: 50%; color: inherit; background: transparent; }
.menu-toggle span { display: block; width: 17px; height: 1px; margin: 4px auto; background: currentColor; }

/* hero */
.hero { position: relative; min-height: 810px; overflow: hidden; color: var(--white); background: var(--ink); }
.hero::before { position: absolute; inset: 0; content: ''; background: radial-gradient(circle at 78% 28%, rgb(var(--accent-rgb) / .3), transparent 22%), linear-gradient(110deg, rgb(var(--ink-rgb) / .78) 0%, rgb(var(--ink-rgb) / .6) 42%, rgb(var(--ink-rgb) / .06) 78%); z-index: 2; pointer-events: none; }
.hero::after { position: absolute; z-index: 3; top: 0; right: min(6vw, 90px); width: 1px; height: 100%; content: ''; background: rgb(var(--white-rgb) / .16); }
.hero-media { position: absolute; inset: 0 0 0 43%; overflow: hidden; }
.hero-media::before { position: absolute; z-index: 1; inset: 0; content: ''; background: linear-gradient(90deg, var(--ink) 0%, rgb(var(--ink-rgb) / .36) 34%, rgb(var(--ink-rgb) / .02) 100%); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; animation: slow-zoom 15s ease-in-out infinite alternate; }
.hero-grid { position: relative; z-index: 4; display: grid; min-height: 810px; grid-template-columns: minmax(0, 690px) 1fr; align-items: center; padding-top: 90px; }
.hero-copy { padding: 85px 0 105px; }
.hero-copy .display { max-width: 660px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 12px 25px; margin-top: 44px; }
.hero-proof span { position: relative; padding-left: 16px; color: rgb(var(--white-rgb) / .65); font-size: 11px; font-weight: 700; }
.hero-proof span::before { position: absolute; top: .55em; left: 0; width: 6px; height: 6px; border-radius: 50%; content: ''; background: var(--orange); }
.hero-panel { position: relative; z-index: 5; align-self: end; justify-self: end; width: 315px; margin-bottom: 61px; padding: 20px; border: 1px solid rgb(var(--white-rgb) / .18); border-radius: 18px; background: rgb(var(--ink-rgb) / .66); box-shadow: var(--shadow-xl); backdrop-filter: blur(16px); animation: hover-float 6s ease-in-out infinite; }
.hero-panel__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: rgb(var(--white-rgb) / .65); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero-panel__value { display: flex; align-items: flex-end; gap: 8px; margin: 18px 0 9px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 49px; letter-spacing: -.07em; line-height: .85; }
.hero-panel__value small { margin-bottom: 2px; color: var(--mint); font-family: Manrope, sans-serif; font-size: 11px; font-weight: 800; letter-spacing: 0; }
.hero-panel__line { width: 100%; height: 72px; margin-top: 16px; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 286 72' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 62C20 55 31 60 48 51c17-9 31-27 47-22 18 6 20 21 37 14 17-7 19-31 37-28 18 3 21 15 34 9 12-6 15-33 32-29 17 4 20 21 51-10' fill='none' stroke='%23F36A10' stroke-width='2'/%3E%3Cpath d='M0 72V62C20 55 31 60 48 51c17-9 31-27 47-22 18 6 20 21 37 14 17-7 19-31 37-28 18 3 21 15 34 9 12-6 15-33 32-29 17 4 20 21 51-10V72Z' fill='%23F36A10' fill-opacity='.15'/%3E%3C/svg%3E") center/contain no-repeat; }
.hero-panel__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: rgb(var(--white-rgb) / .5); font-size: 10px; }
.scroll-prompt { position: absolute; z-index: 5; right: calc((100vw - var(--container))/2); bottom: 24px; display: flex; align-items: center; gap: 10px; color: rgb(var(--white-rgb) / .58); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.scroll-prompt::after { width: 37px; height: 1px; content: ''; background: rgb(var(--white-rgb) / .45); }

/* trust strip */
.trust-strip { position: relative; z-index: 6; margin-top: -1px; color: var(--white); background: var(--ink-2); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-item { min-height: 108px; padding: 24px 30px; border-right: 1px solid rgb(var(--white-rgb) / .12); }
.trust-item:first-child { border-left: 1px solid rgb(var(--white-rgb) / .12); }
.trust-item b { display: block; margin-bottom: 3px; color: var(--orange); font-family: "Cormorant Garamond", Georgia, serif; font-size: 32px; font-weight: 600; letter-spacing: -.05em; line-height: 1; }
.trust-item span { display: block; max-width: 150px; color: rgb(var(--white-rgb) / .66); font-size: 11px; font-weight: 700; line-height: 1.35; }

/* home segments */
.split-intro { display: grid; grid-template-columns: 1.06fr .94fr; gap: min(12vw, 160px); align-items: end; }
.split-intro__right { padding-bottom: 9px; }
.service-rail { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 76px; background: var(--line); border: 1px solid var(--line); }
.service-card { min-height: 370px; padding: 29px 27px; background: var(--white); transition: background .28s ease, color .28s ease, transform .28s ease; }
.service-card:hover { color: var(--white); background: var(--ink); transform: translateY(-8px); }
.service-card__num { display: flex; align-items: center; justify-content: space-between; color: var(--orange-dark); font-family: "Cormorant Garamond", Georgia, serif; font-size: 24px; font-weight: 600; }
.service-card__num span { width: 31px; height: 31px; border: 1px solid currentColor; border-radius: 50%; color: inherit; font-family: Manrope, sans-serif; font-size: 13px; line-height: 29px; text-align: center; }
.service-card h3 { max-width: 170px; margin: 92px 0 15px; font-size: 20px; line-height: 1.15; }
.service-card p { margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.57; transition: color .28s ease; }
.service-card:hover p { color: rgb(var(--white-rgb) / .67); }
.service-card:hover .service-card__num { color: var(--mint); }

-blank { display: none; }

/* contrast story */
.story { overflow: hidden; padding: 0; color: var(--white); background: var(--ink); }
.story-grid { display: grid; grid-template-columns: .98fr 1.02fr; min-height: 720px; }
.story-copy { display: flex; flex-direction: column; justify-content: center; padding: 110px min(9vw, 125px) 110px 0; }
.story-copy .section-lead { color: rgb(var(--white-rgb) / .67); }
.story-points { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 35px; margin-top: 43px; }
.story-point { position: relative; padding: 0 0 0 17px; color: rgb(var(--white-rgb) / .76); font-size: 12px; font-weight: 700; line-height: 1.45; }
.story-point::before { position: absolute; top: 7px; left: 0; width: 7px; height: 7px; border-radius: 50%; content: ''; background: var(--orange); }
.story-visual { position: relative; overflow: hidden; min-height: 600px; }
.story-visual img { width: 100%; height: 100%; object-fit: cover; }
.story-visual::after { position: absolute; inset: 0; content: ''; background: linear-gradient(135deg, rgb(var(--ink-rgb) / .42), transparent 55%), linear-gradient(0deg, rgb(var(--ink-rgb) / .45), transparent 35%); }
.story-note { position: absolute; z-index: 2; right: 35px; bottom: 36px; left: 35px; padding: 22px; border-left: 2px solid var(--orange); background: rgb(var(--ink-rgb) / .86); backdrop-filter: blur(12px); }
.story-note b { display: block; margin-bottom: 4px; font-size: 13px; }
.story-note span { display: block; color: rgb(var(--white-rgb) / .66); font-size: 11px; line-height: 1.45; }

/* timeline */
.roadmap { display: grid; grid-template-columns: .6fr 1.4fr; gap: 70px; align-items: start; }
.roadmap-list { border-top: 1px solid var(--line-strong); }
.roadmap-item { display: grid; grid-template-columns: 88px 1fr auto; gap: 20px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line); }
.roadmap-item__num { color: var(--orange-dark); font-family: "Cormorant Garamond", Georgia, serif; font-size: 31px; font-weight: 600; line-height: 1; }
.roadmap-item h3 { margin: 0 0 5px; font-size: 17px; line-height: 1.15; }
.roadmap-item p { max-width: 520px; margin: 0; color: var(--ink-soft); font-size: 13px; line-height: 1.5; }
.roadmap-item a { color: var(--orange-dark); font-size: 18px; transition: transform .25s ease; }
.roadmap-item:hover a { transform: translate(4px,-4px); }

/* case highlight */
.case-highlight { display: grid; grid-template-columns: 1.15fr .85fr; overflow: hidden; margin-top: 66px; border-radius: var(--radius-xl); color: var(--white); background: var(--ink); box-shadow: var(--shadow-lg); }
.case-image { position: relative; min-height: 510px; overflow: hidden; }
.case-image::after { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, transparent 45%, var(--ink)); }
.case-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.case-highlight:hover .case-image img { transform: scale(1.05); }
.case-info { display: flex; flex-direction: column; justify-content: center; padding: 56px 55px 54px 20px; }
.case-info .eyebrow { color: var(--mint); }
.case-info h3 { max-width: 390px; margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: 47px; font-weight: 500; letter-spacing: -.056em; line-height: .95; }
.case-info p { margin: 22px 0 29px; color: rgb(var(--white-rgb) / .68); font-size: 14px; }
.case-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; margin-top: 4px; }
.case-stat { padding-top: 15px; border-top: 1px solid rgb(var(--white-rgb) / .17); }
.case-stat b { display: block; color: var(--orange); font-family: "Cormorant Garamond", Georgia, serif; font-size: 32px; font-weight: 600; letter-spacing: -.05em; line-height: 1; }
.case-stat span { display: block; margin-top: 7px; color: rgb(var(--white-rgb) / .54); font-size: 10px; font-weight: 700; line-height: 1.35; }
.case-info .text-link { align-self: flex-start; margin-top: 30px; color: var(--white); }
.case-note { margin-top: 25px; color: rgb(var(--white-rgb) / .38); font-size: 10px; }

/* audience */
.audience-grid { display: grid; grid-template-columns: .65fr 1fr; gap: min(10vw, 120px); align-items: end; }
.audience-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }
.audience-card { position: relative; min-height: 350px; padding: 23px; overflow: hidden; border-radius: var(--radius-md); background: var(--surface-tint); }
.audience-card:nth-child(2) { color: var(--white); background: var(--orange-dark); }
.audience-card:nth-child(3) { background: var(--orange-pale); }
.audience-card__number { position: absolute; top: -18px; right: 12px; color: rgb(var(--ink-rgb) / .08); font-family: "Cormorant Garamond", Georgia, serif; font-size: 118px; font-weight: 600; line-height: 1; }
.audience-card h3 { position: relative; z-index: 1; margin: 95px 0 14px; font-size: 21px; line-height: 1.05; }
.audience-card p { position: relative; z-index: 1; margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }
.audience-card:nth-child(2) p { color: rgb(var(--white-rgb) / .72); }

/* calculator */
.calculator-band { overflow: hidden; background: var(--surface-tint); }
.calc-layout { display: grid; grid-template-columns: .74fr 1.26fr; gap: 80px; align-items: center; }
.calculator-panel { position: relative; padding: 31px; border: 1px solid rgb(var(--ink-rgb) / .1); border-radius: 23px; background: rgb(var(--white-rgb) / .82); box-shadow: var(--shadow-lg); }
.calculator-panel::before { position: absolute; top: -50px; right: -55px; width: 180px; height: 180px; border: 1px solid rgb(var(--accent-rgb) / .27); border-radius: 50%; content: ''; }
.mini-calc-top { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; padding-bottom: 25px; border-bottom: 1px solid var(--line); }
.mini-calc-top span { color: var(--ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.mini-calc-top b { display: block; margin-top: 7px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 44px; font-weight: 600; letter-spacing: -.06em; line-height: .8; }
.mini-calc-top small { display: block; max-width: 115px; margin-top: 6px; color: var(--ink-soft); font-size: 10px; line-height: 1.35; text-align: right; }
.mini-bars { display: flex; height: 162px; align-items: flex-end; gap: 11px; padding: 25px 0 6px; }
.mini-bars i { display: block; flex: 1; border-radius: 4px 4px 0 0; background: linear-gradient(180deg, var(--orange), var(--orange-dark)); transform-origin: bottom; animation: bar-rise .85s cubic-bezier(.2,.8,.3,1) both; }
.mini-bars i:nth-child(1) { height: 30%; animation-delay: .05s; }.mini-bars i:nth-child(2) { height: 42%; animation-delay: .12s; }.mini-bars i:nth-child(3) { height: 55%; animation-delay: .19s; }.mini-bars i:nth-child(4) { height: 67%; animation-delay: .26s; }.mini-bars i:nth-child(5) { height: 82%; animation-delay: .33s; }.mini-bars i:nth-child(6) { height: 100%; animation-delay: .4s; }
.mini-years { display: flex; justify-content: space-between; color: var(--ink-muted); font-size: 9px; font-weight: 800; }

/* CTA */
.cta { position: relative; overflow: hidden; padding: 108px 0; color: var(--ink); background: var(--surface); }
.cta::after { position: absolute; top: 50%; right: -240px; width: 580px; height: 580px; border: 1px solid rgb(var(--white-rgb) / .11); border-radius: 50%; content: ''; transform: translateY(-50%); box-shadow: 0 0 0 75px rgb(var(--white-rgb) / .035), 0 0 0 150px rgb(var(--white-rgb) / .022); }
.cta-grid { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 35px; }
.cta .eyebrow { color: var(--mint); }
.cta .title { max-width: 730px; }
.cta .title em { color: var(--orange); }
.cta-actions { display: flex; flex-wrap: wrap; gap: 11px; }

/* page hero */
.page-hero { position: relative; min-height: 615px; overflow: hidden; color: var(--white); background: var(--ink); }
.page-hero__image { position: absolute; inset: 0 0 0 54%; }
.page-hero__image::before { position: absolute; z-index: 1; inset: 0; content: ''; background: linear-gradient(90deg, var(--ink) 0%, rgb(var(--ink-rgb) / .3) 45%, rgb(var(--ink-rgb) / .09)); }
.page-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.page-hero__inner { position: relative; z-index: 2; display: flex; min-height: 615px; flex-direction: column; justify-content: center; padding: 125px 0 70px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 35px; color: rgb(var(--white-rgb) / .52); font-size: 11px; font-weight: 700; }
.breadcrumbs a:hover { color: var(--white); }
.page-hero .display { max-width: 690px; }
.page-hero .lead { max-width: 545px; }
.page-hero__badge { position: absolute; z-index: 2; right: max(4vw, 60px); bottom: 44px; display: flex; flex-direction: column; align-items: flex-start; width: 190px; padding: 17px; border: 1px solid rgb(var(--white-rgb) / .17); border-radius: 14px; background: rgb(var(--ink-rgb) / .72); backdrop-filter: blur(12px); }
.page-hero__badge b { color: var(--orange); font-family: "Cormorant Garamond", Georgia, serif; font-size: 34px; letter-spacing: -.05em; line-height: .9; }
.page-hero__badge span { margin-top: 6px; color: rgb(var(--white-rgb) / .66); font-size: 10px; font-weight: 700; line-height: 1.4; }

/* company */
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 70px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.metric { min-height: 156px; padding: 27px 25px 23px; border-right: 1px solid var(--line); }
.metric:first-child { border-left: 1px solid var(--line); }
.metric b { display: block; margin-bottom: 10px; color: var(--orange-dark); font-family: "Cormorant Garamond", Georgia, serif; font-size: 40px; font-weight: 600; letter-spacing: -.07em; line-height: .85; }
.metric span { display: block; max-width: 170px; color: var(--ink-soft); font-size: 11px; font-weight: 700; line-height: 1.4; }
.leader { display: grid; grid-template-columns: .92fr 1.08fr; gap: 80px; align-items: center; }
.leader-photo { position: relative; padding: 0 28px 28px 0; }
.leader-photo::after { position: absolute; z-index: 0; right: 0; bottom: 0; width: 75%; height: 75%; content: ''; background: var(--orange-pale); }
.leader-photo img { position: relative; z-index: 1; width: 100%; min-height: 430px; object-fit: cover; }
.leader-signature { margin-top: 28px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 26px; font-style: italic; }
.check-list { display: grid; gap: 13px; margin: 31px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 23px; color: var(--ink-soft); font-size: 13px; font-weight: 700; }
.check-list li::before { position: absolute; top: .35em; left: 0; width: 11px; height: 11px; border: 1px solid var(--orange-dark); border-radius: 50%; content: ''; box-shadow: inset 0 0 0 3px var(--white); background: var(--orange-dark); }

/* page lists */
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.feature-card { min-height: 265px; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); transition: transform .25s ease, box-shadow .25s ease; }
.feature-card:hover { box-shadow: var(--shadow-md); transform: translateY(-7px); }
.feature-card__index { color: var(--orange-dark); font-family: "Cormorant Garamond", Georgia, serif; font-size: 27px; font-weight: 600; }
.feature-card h3 { margin: 61px 0 11px; font-size: 17px; line-height: 1.15; }
.feature-card p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }
.two-col-points { display: grid; grid-template-columns: .7fr 1.3fr; gap: 100px; align-items: start; }
.bullet-rails { border-top: 1px solid var(--line-strong); }
.bullet-rail { display: grid; grid-template-columns: 73px 1fr; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.bullet-rail b { color: var(--orange-dark); font-family: "Cormorant Garamond", Georgia, serif; font-size: 27px; font-weight: 600; }
.bullet-rail h3 { margin: 0 0 6px; font-size: 17px; line-height: 1.15; }
.bullet-rail p { margin: 0; color: var(--ink-soft); font-size: 13px; }

/* cases */
.case-hero-story { display: grid; grid-template-columns: 1fr 1fr; gap: 62px; align-items: stretch; }
.case-hero-photo { position: relative; overflow: hidden; min-height: 540px; border-radius: var(--radius-xl); }
.case-hero-photo img { width: 100%; height: 100%; object-fit: cover; }
.case-hero-photo span { position: absolute; top: 20px; left: 20px; padding: 9px 12px; border-radius: 999px; color: var(--white); background: rgb(var(--ink-rgb) / .78); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(8px); }
.case-hero-body { display: flex; flex-direction: column; justify-content: center; padding: 35px 0; }
.case-hero-body h2 { max-width: 450px; margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(38px,4vw,57px); font-weight: 500; letter-spacing: -.06em; line-height: .95; }
.case-hero-body > p { max-width: 500px; margin: 25px 0 0; color: var(--ink-soft); font-size: 15px; }
.case-kpis { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin: 34px 0 28px; background: var(--line); border: 1px solid var(--line); }
.case-kpi { min-height: 102px; padding: 17px; background: var(--white); }
.case-kpi b { display: block; color: var(--orange-dark); font-family: "Cormorant Garamond", Georgia, serif; font-size: 29px; letter-spacing: -.05em; line-height: 1; }
.case-kpi span { display: block; max-width: 130px; margin-top: 7px; color: var(--ink-soft); font-size: 10px; font-weight: 700; line-height: 1.35; }
.project-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 55px; }
.project-card { overflow: hidden; border-radius: 18px; background: var(--white); box-shadow: 0 4px 20px rgb(var(--ink-rgb) / .05); }
.project-card__image { height: 205px; overflow: hidden; }
.project-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.project-card:hover .project-card__image img { transform: scale(1.07); }
.project-card__body { padding: 23px; }
.project-card h3 { margin: 0; font-size: 18px; line-height: 1.17; }
.project-card p { min-height: 42px; margin: 12px 0 22px; color: var(--ink-soft); font-size: 12px; line-height: 1.5; }

/* calculator page */
.calculator-wrap { display: grid; grid-template-columns: .88fr 1.12fr; gap: 18px; align-items: stretch; }
.calc-controls, .calc-result { padding: 34px; border-radius: var(--radius-lg); }
.calc-controls { background: var(--white); box-shadow: var(--shadow-md); }
.calc-result { position: relative; overflow: hidden; color: var(--white); background: var(--ink); }
.calc-result::after { position: absolute; right: -80px; bottom: -90px; width: 290px; height: 290px; border: 1px solid rgb(var(--white-rgb) / .16); border-radius: 50%; content: ''; box-shadow: 0 0 0 42px rgb(var(--white-rgb) / .035); }
.calc-controls h2, .calc-result h2 { margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: 35px; font-weight: 500; letter-spacing: -.05em; line-height: 1; }
.calc-caption { margin: 12px 0 30px; color: var(--ink-soft); font-size: 12px; line-height: 1.55; }
.calc-control { margin-top: 28px; }
.calc-control label { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; font-size: 12px; font-weight: 800; }
.calc-control output { color: var(--orange-dark); font-family: "Cormorant Garamond", Georgia, serif; font-size: 27px; font-weight: 600; letter-spacing: -.05em; }
.calc-control input[type=range] { width: 100%; height: 4px; appearance: none; border-radius: 999px; outline: none; background: var(--surface-tint); }
.calc-control input[type=range]::-webkit-slider-thumb { width: 20px; height: 20px; appearance: none; border: 4px solid var(--white); border-radius: 50%; background: var(--orange); box-shadow: 0 2px 8px rgb(var(--ink-rgb) / .22); }
.calc-control input[type=range]::-moz-range-thumb { width: 13px; height: 13px; border: 4px solid var(--white); border-radius: 50%; background: var(--orange); box-shadow: 0 2px 8px rgb(var(--ink-rgb) / .22); }
.segmented { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.segmented button { min-height: 45px; padding: 6px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink-soft); background: var(--paper); font-size: 10px; font-weight: 800; line-height: 1.2; transition: .2s ease; }
.segmented button.is-active, .segmented button:hover { border-color: var(--orange); color: var(--ink); background: var(--orange-pale); }
.calc-output-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 43px; background: rgb(var(--white-rgb) / .13); border: 1px solid rgb(var(--white-rgb) / .13); }
.calc-output { min-height: 148px; padding: 20px; background: rgb(var(--white-rgb) / .03); }
.calc-output b { display: block; margin: 8px 0 6px; color: var(--orange); font-family: "Cormorant Garamond", Georgia, serif; font-size: 41px; font-weight: 600; letter-spacing: -.07em; line-height: .9; }
.calc-output span { color: rgb(var(--white-rgb) / .58); font-size: 10px; font-weight: 700; line-height: 1.35; }
.calc-result .button { position: relative; z-index: 1; margin-top: 25px; }
.disclaimer { margin-top: 26px; color: var(--ink-muted); font-size: 11px; line-height: 1.5; }

/* faq */
.faq-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 90px; align-items: start; }
.faq-intro { position: sticky; top: 100px; }
.faq-intro h2 { margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: 49px; font-weight: 500; letter-spacing: -.06em; line-height: .95; }
.accordion { border-top: 1px solid var(--line-strong); }
.accordion-item { border-bottom: 1px solid var(--line); }
.accordion-button { display: grid; width: 100%; grid-template-columns: 1fr 38px; gap: 15px; padding: 23px 0; border: 0; color: var(--ink); background: transparent; text-align: left; }
.accordion-button b { font-size: 16px; line-height: 1.3; }
.accordion-button span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--orange-dark); font-size: 22px; font-weight: 400; line-height: 1; transition: transform .25s ease, background .25s ease; }
.accordion-item.is-open .accordion-button span { color: var(--white); background: var(--orange); transform: rotate(45deg); }
.accordion-content { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .32s ease; }
.accordion-content > div { overflow: hidden; }
.accordion-item.is-open .accordion-content { grid-template-rows: 1fr; }
.accordion-content p { max-width: 620px; margin: 0; padding: 0 56px 23px 0; color: var(--ink-soft); font-size: 13px; line-height: 1.62; }

/* contacts */
.contact-grid { display: grid; grid-template-columns: .68fr 1.32fr; gap: 80px; align-items: start; }
.contact-cards { display: grid; gap: 11px; margin-top: 30px; }
.contact-card { padding: 17px 19px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }
.contact-card span { display: block; margin-bottom: 5px; color: var(--ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contact-card a, .contact-card b { display: block; font-size: 16px; }
.lead-form { padding: 34px; border-radius: var(--radius-lg); color: var(--white); background: var(--ink); box-shadow: var(--shadow-lg); }
.lead-form__top { display: flex; align-items: start; justify-content: space-between; gap: 30px; margin-bottom: 25px; }
.lead-form h2 { max-width: 370px; margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: 43px; font-weight: 500; letter-spacing: -.055em; line-height: .93; }
.lead-form__top p { max-width: 205px; margin: 4px 0 0; color: rgb(var(--white-rgb) / .59); font-size: 11px; line-height: 1.5; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-field { display: grid; gap: 7px; }
.form-field--full { grid-column: 1/-1; }
.form-field label { color: rgb(var(--white-rgb) / .67); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.form-field input, .form-field textarea { width: 100%; padding: 0 13px; border: 1px solid rgb(var(--white-rgb) / .19); border-radius: 9px; outline: none; color: var(--white); background: rgb(var(--white-rgb) / .05); font-size: 13px; transition: border-color .2s ease, background .2s ease; }
.form-field input { height: 48px; }
.form-field textarea { min-height: 92px; padding-top: 12px; resize: vertical; }
.form-field input:focus, .form-field textarea:focus { border-color: var(--orange); background: rgb(var(--white-rgb) / .09); }
.form-field input::placeholder, .form-field textarea::placeholder { color: rgb(var(--white-rgb) / .33); }
.form-checkbox { display: flex; gap: 10px; align-items: flex-start; margin-top: 17px; color: rgb(var(--white-rgb) / .58); font-size: 10px; line-height: 1.43; }
.form-checkbox input { width: 16px; height: 16px; margin: 0; accent-color: var(--orange); }
.form-submit { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; }
.form-status { min-height: 18px; margin: 10px 0 0; color: var(--accent); font-size: 11px; }
.form-status.is-success { color: var(--mint); }
.honeypot { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* detail case */
.detail-intro { display: grid; grid-template-columns: 1.1fr .9fr; gap: 90px; }
.detail-list { display: grid; gap: 14px; }
.detail-list__item { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.detail-list__item b { color: var(--orange-dark); font-family: "Cormorant Garamond", Georgia, serif; font-size: 26px; font-weight: 600; }
.detail-list__item h3 { margin: 0 0 4px; font-size: 16px; }
.detail-list__item p { margin: 0; color: var(--ink-soft); font-size: 12px; }
.detail-photo { overflow: hidden; min-height: 430px; border-radius: var(--radius-lg); }
.detail-photo img { width: 100%; height: 100%; object-fit: cover; }
.checks-panel { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: center; }
.checks-panel__image { min-height: 460px; overflow: hidden; border-radius: var(--radius-lg); }
.checks-panel__image img { width: 100%; height: 100%; object-fit: cover; }

/* Footer */
.site-footer { color: var(--ink); background: var(--surface); }
.footer-main { display: grid; grid-template-columns: 1.25fr .75fr .75fr; gap: 50px; padding: 69px 0 50px; }
.footer-brand img { width: 174px; }
.footer-brand p { max-width: 260px; margin: 19px 0 0; color: rgb(var(--white-rgb) / .57); font-size: 12px; line-height: 1.55; }
.footer-label { margin: 0 0 16px; color: rgb(var(--white-rgb) / .42); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.footer-nav { display: grid; gap: 9px; }
.footer-nav a, .footer-contact a { color: rgb(var(--white-rgb) / .78); font-size: 12px; font-weight: 700; transition: color .2s ease; }
.footer-nav a:hover, .footer-contact a:hover { color: var(--orange); }
.footer-contact { display: grid; gap: 9px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 19px 0; border-top: 1px solid rgb(var(--white-rgb) / .11); color: rgb(var(--white-rgb) / .43); font-size: 10px; }
.footer-bottom a:hover { color: var(--white); }

/* Modal */
.modal { position: fixed; z-index: 50; inset: 0; display: grid; place-items: center; padding: 20px; opacity: 0; visibility: hidden; background: rgb(var(--ink-rgb) / .72); backdrop-filter: blur(10px); transition: opacity .25s ease, visibility .25s ease; }
.modal.is-open { opacity: 1; visibility: visible; }
.modal-dialog { position: relative; width: min(720px, 100%); max-height: min(90vh, 740px); overflow: auto; border-radius: 23px; transform: translateY(18px) scale(.98); transition: transform .28s ease; }
.modal.is-open .modal-dialog { transform: translateY(0) scale(1); }
.modal-close { position: absolute; z-index: 3; top: 14px; right: 14px; display: grid; width: 35px; height: 35px; place-items: center; padding: 0; border: 1px solid rgb(var(--white-rgb) / .2); border-radius: 50%; color: var(--white); background: rgb(var(--white-rgb) / .09); font-size: 22px; }
.modal .lead-form { border-radius: 0; }

/* Animations */
[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .72s cubic-bezier(.22,.7,.2,1), transform .72s cubic-bezier(.22,.7,.2,1); transition-delay: var(--delay, 0ms); }
[data-reveal].is-visible { opacity: 1; transform: none; }
@keyframes slow-zoom { from { transform: scale(1); } to { transform: scale(1.08); } }
@keyframes hover-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-11px); } }
@keyframes bar-rise { from { transform: scaleY(.2); opacity: .2; } to { transform: scaleY(1); opacity: 1; } }

@media (max-width: 1060px) {
  .header-inner { grid-template-columns: 170px 1fr auto; gap: 18px; }
  .site-nav { gap: 13px; }
  .nav-link { font-size: 10px; }
  .header-phone { display: none; }
  .service-card h3 { margin-top: 80px; }
  .split-intro, .roadmap, .calc-layout, .two-col-points, .faq-layout, .contact-grid, .detail-intro, .checks-panel { gap: 55px; }
  .leader { gap: 55px; }
  .audience-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 780px) {
  .section { padding: 84px 0; }
  .site-header { padding: 16px 0; }
  .site-header.is-scrolled { padding: 9px 0; }
  .header-inner { grid-template-columns: 1fr auto; }
  .brand { width: 152px; }
  .menu-toggle { display: block; }
  .site-header.is-scrolled .menu-toggle { border-color: rgb(var(--ink-rgb) / .22); }
  .site-nav { position: absolute; top: calc(100% + 9px); right: 16px; left: 16px; display: grid; gap: 0; padding: 8px; border: 1px solid rgb(var(--white-rgb) / .14); border-radius: 15px; opacity: 0; visibility: hidden; background: rgb(var(--ink-rgb) / .96); box-shadow: var(--shadow-lg); transform: translateY(-8px); transition: .2s ease; }
  .site-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .nav-link { padding: 12px 10px; color: rgb(var(--white-rgb) / .78) !important; font-size: 13px; }
  .nav-link::after { display: none; }
  .header-actions { display: none; }
  .hero { min-height: 760px; }
  .hero::after { display: none; }
  .hero-media { inset: 0; }
  .hero-media::before { background: linear-gradient(90deg, rgb(var(--ink-rgb) / .94), rgb(var(--ink-rgb) / .66) 68%, rgb(var(--ink-rgb) / .38)); }
  .hero-grid { min-height: 760px; grid-template-columns: 1fr; padding-top: 75px; }
  .hero-copy { padding: 60px 0 160px; }
  .hero-panel { position: absolute; right: 0; bottom: 26px; width: min(285px, 82vw); margin: 0; }
  .scroll-prompt { display: none; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .trust-item { min-height: 100px; padding: 21px 18px; border-bottom: 1px solid rgb(var(--white-rgb) / .12); }
  .trust-item:nth-child(odd) { border-left: 1px solid rgb(var(--white-rgb) / .12); }
  .split-intro, .story-grid, .roadmap, .case-highlight, .audience-grid, .calc-layout, .page-hero, .leader, .two-col-points, .case-hero-story, .calculator-wrap, .faq-layout, .contact-grid, .detail-intro, .checks-panel { grid-template-columns: 1fr; }
  .split-intro, .roadmap, .audience-grid, .calc-layout, .two-col-points, .faq-layout, .contact-grid, .detail-intro, .checks-panel { gap: 34px; }
  .service-rail, .feature-grid { grid-template-columns: 1fr 1fr; }
  .service-card { min-height: 280px; }
  .service-card h3 { margin-top: 58px; }
  .story-copy { padding: 76px 0; }
  .story-visual { min-height: 400px; }
  .roadmap-list { margin-top: 7px; }
  .roadmap-item { grid-template-columns: 50px 1fr auto; gap: 12px; }
  .roadmap-item__num { font-size: 26px; }
  .roadmap-item p { font-size: 12px; }
  .case-highlight { margin-top: 43px; }
  .case-image { min-height: 330px; }
  .case-image::after { background: linear-gradient(0deg, var(--ink), transparent 55%); }
  .case-info { padding: 10px 25px 35px; }
  .case-info h3 { font-size: 43px; }
  .audience-cards { grid-template-columns: 1fr; }
  .audience-card { min-height: 225px; }
  .audience-card h3 { margin-top: 80px; }
  .cta { padding: 78px 0; }
  .cta-grid { display: grid; align-items: start; }
  .page-hero { min-height: 590px; }
  .page-hero__image { inset: 0; }
  .page-hero__image::before { background: linear-gradient(90deg, rgb(var(--ink-rgb) / .94), rgb(var(--ink-rgb) / .6)); }
  .page-hero__inner { min-height: 590px; padding-top: 105px; }
  .page-hero__badge { right: 16px; bottom: 20px; }
  .metrics { grid-template-columns: 1fr 1fr; margin-top: 45px; }
  .metric { min-height: 130px; }
  .metric:nth-child(odd) { border-left: 1px solid var(--line); }
  .leader-photo img { min-height: 340px; }
  .feature-grid { gap: 10px; }
  .feature-card { min-height: 218px; padding: 18px; }
  .feature-card h3 { margin-top: 43px; font-size: 15px; }
  .case-hero-photo { min-height: 360px; }
  .case-hero-body { padding: 0; }
  .case-hero-body h2 { font-size: 46px; }
  .project-grid { grid-template-columns: 1fr; }
  .calc-controls, .calc-result { padding: 25px 20px; }
  .segmented { grid-template-columns: 1fr; }
  .faq-intro { position: static; }
  .faq-intro h2 { font-size: 44px; }
  .lead-form { padding: 26px 18px; }
  .lead-form__top { display: grid; gap: 12px; }
  .lead-form h2 { font-size: 39px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field--full { grid-column: auto; }
  .form-submit { align-items: flex-start; flex-direction: column; }
  .footer-main { grid-template-columns: 1fr; gap: 31px; padding: 50px 0 36px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 9px; }
  .modal { padding: 10px; }
}
@media (max-width: 460px) {
  .hero-actions .button { width: 100%; }
  .trust-grid, .service-rail, .feature-grid, .metrics, .case-kpis, .calc-output-grid { grid-template-columns: 1fr; }
  .trust-item, .metric { border-left: 1px solid rgb(var(--white-rgb) / .12); }
  .metric { border-left-color: var(--line) !important; }
  .service-card { min-height: 245px; }
  .story-points { grid-template-columns: 1fr; }
  .case-stats { grid-template-columns: 1fr; }
  .case-image { min-height: 275px; }
  .page-hero__badge { display: none; }
  .cta-actions .button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}


/* === 2026 premium refresh / local fonts === */
@font-face {
  font-family: 'FindSans Pro';
  src: url('../fonts/FindSansPro-Light.woff2') format('woff2'),
       url('../fonts/FindSansPro-Light-v78.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'FindSans Pro';
  src: url('../fonts/FindSansPro-Regular.woff2') format('woff2'),
       url('../fonts/FindSansPro-Regular-v78.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'FindSans Pro';
  src: url('../fonts/FindSansPro-Bold.woff2') format('woff2'),
       url('../fonts/FindSansPro-Bold-v78.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: 'FindSans Pro', Inter, Arial, sans-serif;
  font-weight: 400;
  letter-spacing: -.012em;
  text-rendering: optimizeLegibility;
}
.display, .title, .hero-panel__value, .trust-item b, .metric b, .mini-calc-top b, .page-hero__badge b, .feature-card__index, .case-kpi b, .case-stat b, .case-stat, .case-story-number, .accent-metric b, .story-card-neo__stats b {
  font-family: 'FindSans Pro', Inter, Arial, sans-serif;
  font-style: normal;
}
.display, .title { font-weight: 300; letter-spacing: -.05em; }
.display em, .title em { color: var(--orange-dark); font-style: normal; }
.title { max-width: 720px; }
.eyebrow { font-size: 10px; letter-spacing: .20em; }
.eyebrow::before { width: 28px; }
.button { min-height: 54px; padding: 0 24px; font-size: 12px; letter-spacing: .02em; text-transform: uppercase; }
.text-link { font-size: 12px; letter-spacing: .02em; text-transform: uppercase; }
.lead { max-width: 620px; color: rgb(var(--white-rgb) / .78); font-size: 17px; }
.section-lead { font-size: 15px; line-height: 1.75; }
.site-header { padding: 22px 0; }
.site-header.is-scrolled { background: rgb(var(--white-rgb) / .92); }
.nav-link, .header-phone { font-size: 11px; letter-spacing: .03em; text-transform: uppercase; }
.hero { min-height: 840px; }
.hero::before { background: radial-gradient(circle at 78% 28%, rgb(var(--accent-rgb) / .32), transparent 24%), linear-gradient(110deg, rgb(var(--ink-rgb) / .82) 0%, rgb(var(--ink-rgb) / .61) 44%, rgb(var(--ink-rgb) / .08) 79%); }
.hero-media { inset: 0 0 0 40%; }
.hero-media img { object-position: center; }
.hero-copy { padding: 100px 0 110px; }
.hero-copy .display { max-width: 770px; }
.hero-panel { width: 330px; border-radius: 24px; background: rgb(var(--ink-rgb) / .72); }
.hero-panel--focus .hero-panel__value { font-size: 54px; font-weight: 700; }
.hero-panel__value small { font-family: 'FindSans Pro', Arial, sans-serif; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.trust-item { min-height: 116px; }
.trust-item b { font-size: 30px; font-weight: 700; }
.service-card, .feature-card, .project-card, .story-card-neo, .narrative-card, .accent-board { border-radius: 24px; }
.service-card h3, .feature-card h3, .roadmap-item h3, .story-card-neo h3, .narrative-card h3 { font-weight: 400; letter-spacing: -.03em; }
.story-card-neo {
  overflow: hidden;
  background: var(--white);
  box-shadow: var(--shadow-md);
  transition: transform .28s ease, box-shadow .28s ease;
}
.story-card-neo:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
.case-story-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 58px;
}
.case-story-grid--spacious { margin-top: 64px; }
.story-card-neo__media { aspect-ratio: 1.28 / 1; overflow: hidden; }
.story-card-neo__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.story-card-neo:hover .story-card-neo__media img { transform: scale(1.04); }
.story-card-neo__body { padding: 28px; }
.story-card-neo__body h3 { margin: 0; font-size: 30px; line-height: 1.05; }
.story-card-neo__body p:not(.eyebrow) { margin: 18px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.65; }
.story-card-neo__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 26px 0 24px;
  border: 1px solid var(--line);
  background: var(--line);
}
.story-card-neo__stats > div { min-height: 98px; padding: 16px; background: var(--paper); }
.story-card-neo__stats b { display: block; font-size: 24px; font-weight: 700; letter-spacing: -.04em; line-height: 1; }
.story-card-neo__stats span { display: block; margin-top: 7px; color: var(--ink-soft); font-size: 10px; font-weight: 700; line-height: 1.45; text-transform: uppercase; }
.case-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: 34px;
  align-items: start;
}
.narrative-stack { display: grid; gap: 18px; }
.narrative-card {
  padding: 28px;
  border: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 8px 20px rgb(var(--ink-rgb) / .04);
}
.narrative-card h3 { margin: 0; font-size: 28px; line-height: 1.1; }
.narrative-card p { margin: 12px 0 0; color: var(--ink-soft); font-size: 15px; line-height: 1.7; }
.narrative-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.narrative-list li { color: var(--ink); font-size: 15px; line-height: 1.6; }
.narrative-list strong { font-weight: 700; }
.note-card {
  margin-top: 20px;
  padding: 17px 18px;
  border-left: 3px solid var(--orange-dark);
  border-radius: 0 16px 16px 0;
  color: var(--ink);
  background: var(--paper);
  font-size: 13px;
  line-height: 1.6;
}
.accent-board {
  position: sticky;
  top: 102px;
  padding: 26px;
  border: 1px solid rgb(var(--white-rgb) / .09);
  color: var(--white);
  background: linear-gradient(180deg, var(--ink) 0%, var(--ink) 100%);
  box-shadow: var(--shadow-lg);
}
.accent-board .eyebrow { color: var(--mint); }
.accent-board .eyebrow::before { background: currentColor; }
.accent-metric { padding: 18px 0; border-bottom: 1px solid rgb(var(--white-rgb) / .08); }
.accent-metric:last-child { border-bottom: 0; }
.accent-metric b { display: block; font-size: 38px; font-weight: 700; letter-spacing: -.05em; line-height: 1; }
.accent-metric span { display: block; max-width: 220px; margin-top: 8px; color: rgb(var(--white-rgb) / .72); font-size: 11px; font-weight: 700; line-height: 1.45; text-transform: uppercase; }
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 56px;
}
.gallery-grid img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 24px;
  box-shadow: var(--shadow-md);
}
.footer-contact .text-link { background: transparent; border: 0; padding: 0 0 3px; color: inherit; }
.footer-contact .text-link:hover { color: var(--orange-dark); }
.modal-dialog h2, .lead-form__top h2 { font-weight: 300; letter-spacing: -.04em; }
/* responsive refinements */
@media (max-width: 1180px) {
  .case-layout { grid-template-columns: 1fr; }
  .accent-board { position: relative; top: auto; }
}
@media (max-width: 1024px) {
  .case-story-grid, .story-card-neo__stats, .gallery-grid { grid-template-columns: 1fr; }
  .story-card-neo__stats > div { min-height: auto; }
  .story-card-neo__body h3 { font-size: 26px; }
}
@media (max-width: 860px) {
  .hero { min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; min-height: auto; padding-top: 110px; }
  .hero-panel { justify-self: start; margin: 0 0 52px; }
  .hero-media { inset: 0; }
  .hero-media::before { background: linear-gradient(180deg, rgb(var(--ink-rgb) / .28) 0%, rgb(var(--ink-rgb) / .8) 58%, rgb(var(--ink-rgb) / .95) 100%); }
  .case-story-grid { gap: 18px; }
}
@media (max-width: 680px) {
  .story-card-neo__body, .narrative-card, .accent-board { padding: 22px; }
  .story-card-neo__body h3, .narrative-card h3 { font-size: 23px; }
  .accent-metric b { font-size: 30px; }
}


/* FAQ atelier — final redesign */
.faq-atelier-hero {
  position: relative;
  overflow: hidden;
  min-height: 515px;
  padding: 132px 0 48px;
  color: var(--white);
  background: var(--ink);
}
.faq-atelier-hero::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgb(var(--ink-rgb) / .02), rgb(var(--ink-rgb) / .5)), linear-gradient(0deg, rgb(var(--white-rgb) / .025) 1px, transparent 1px), linear-gradient(90deg, rgb(var(--white-rgb) / .025) 1px, transparent 1px);
  background-size: auto, 44px 44px, 44px 44px;
  content: '';
}
.faq-atelier-hero__orb { position: absolute; border-radius: 50%; pointer-events: none; }
.faq-atelier-hero__orb--one { top: -175px; right: 8%; width: 410px; height: 410px; border: 1px solid rgb(var(--white-rgb) / .13); box-shadow: 0 0 0 55px rgb(var(--white-rgb) / .025), 0 0 0 110px rgb(var(--white-rgb) / .018); }
.faq-atelier-hero__orb--two { right: 22%; bottom: -165px; width: 360px; height: 360px; background: radial-gradient(circle, rgb(var(--accent-rgb) / .40), rgb(var(--accent-rgb) / .08) 42%, transparent 70%); filter: blur(10px); }
.faq-atelier-hero__inner { position: relative; z-index: 1; }
.faq-atelier-hero__crumbs { display: flex; gap: 8px; margin-bottom: 37px; color: rgb(var(--white-rgb) / .54); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.faq-atelier-hero__crumbs a:hover { color: var(--white); }
.faq-atelier-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(290px,.55fr); gap: min(12vw, 160px); align-items: end; }
.faq-atelier-hero .eyebrow { color: var(--mint); }
.faq-atelier-hero .eyebrow::before { background: currentColor; }
.faq-atelier-hero__title { max-width: 760px; margin: 0; font-size: clamp(47px, 5.8vw, 82px); font-weight: 300; letter-spacing: -.065em; line-height: .94; }
.faq-atelier-hero__title em { color: var(--orange); font-style: normal; }
.faq-atelier-hero__lead { max-width: 385px; margin: 0 0 8px; color: rgb(var(--white-rgb) / .68); font-size: 15px; line-height: 1.72; }
.faq-atelier-hero__bottom { display: flex; justify-content: space-between; margin-top: 76px; padding-top: 18px; border-top: 1px solid rgb(var(--white-rgb) / .15); color: rgb(var(--white-rgb) / .53); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }

.faq-atelier-section { position: relative; overflow: hidden; padding: 120px 0; background: var(--surface-tint); }
.faq-atelier-section::after { position: absolute; right: -170px; bottom: -170px; width: 520px; height: 520px; border: 1px solid rgb(var(--ink-rgb) / .08); border-radius: 50%; content: ''; box-shadow: 0 0 0 60px rgb(var(--ink-rgb) / .025), 0 0 0 120px rgb(var(--ink-rgb) / .017); }
.faq-atelier { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(260px,.60fr) minmax(0,1.4fr); gap: min(9vw, 130px); align-items: start; }
.faq-atelier__intro { position: sticky; top: 104px; }
.faq-atelier__intro h2 { max-width: 360px; margin: 0; font-size: clamp(38px,4vw,57px); font-weight: 300; letter-spacing: -.06em; line-height: .98; }
.faq-atelier__intro h2 em { color: var(--orange-dark); font-style: normal; }
.faq-atelier__intro > p:not(.eyebrow) { max-width: 340px; margin: 24px 0 0; color: var(--ink-soft); font-size: 14px; line-height: 1.72; }
.faq-atelier__intro .button { margin-top: 32px; }
.faq-atelier__legend { display: grid; gap: 18px; margin-top: 36px; padding-top: 24px; border-top: 1px solid var(--line); }
.faq-atelier__legend > div { display: grid; grid-template-columns: 14px auto; column-gap: 10px; align-items: center; }
.faq-atelier__legend b { font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.faq-atelier__legend small { grid-column: 2; margin-top: 2px; color: var(--ink-soft); font-size: 10px; line-height: 1.4; }
.faq-atelier__legend-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgb(var(--accent-rgb) / .14); }
.faq-atelier__legend-line { width: 14px; height: 1px; background: var(--ink); }
.faq-atelier__workbench { display: grid; grid-template-columns: minmax(290px,.88fr) minmax(310px,1.12fr); gap: 22px; align-items: stretch; }
.faq-atelier__questions { display: grid; gap: 9px; }
.faq-question-card { position: relative; display: grid; width: 100%; grid-template-columns: 46px 1fr 22px; align-items: center; gap: 15px; min-height: 78px; padding: 13px 17px; border: 1px solid rgb(var(--ink-rgb) / .11); border-radius: 18px; color: var(--ink); background: rgb(var(--white-rgb) / .78); box-shadow: 0 8px 18px rgb(var(--ink-rgb) / .04); text-align: left; transition: transform .28s ease, background .28s ease, box-shadow .28s ease, border-color .28s ease; }
.faq-question-card:hover { transform: translateX(7px); border-color: rgb(var(--accent-rgb) / .38); box-shadow: 0 14px 26px rgb(var(--ink-rgb) / .08); }
.faq-question-card.is-active { color: var(--white); border-color: transparent; background: var(--ink); box-shadow: 0 18px 30px rgb(var(--ink-rgb) / .16); transform: translateX(10px); }
.faq-question-card.is-active::after { position: absolute; top: 50%; right: -30px; width: 30px; height: 1px; background: var(--orange); content: ''; }
.faq-question-card__number { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgb(var(--ink-rgb) / .13); border-radius: 50%; color: var(--orange-dark); font-size: 11px; font-weight: 700; }
.faq-question-card.is-active .faq-question-card__number { border-color: rgb(var(--white-rgb) / .22); color: var(--mint); }
.faq-question-card__body { display: grid; gap: 5px; }
.faq-question-card__body b { font-size: 14px; font-weight: 700; line-height: 1.2; }
.faq-question-card__body small { color: var(--ink-soft); font-size: 10px; font-weight: 700; letter-spacing: .05em; line-height: 1.2; text-transform: uppercase; }
.faq-question-card.is-active .faq-question-card__body small { color: rgb(var(--white-rgb) / .55); }
.faq-question-card__arrow { color: var(--orange-dark); font-size: 20px; line-height: 1; transition: transform .25s ease; }
.faq-question-card:hover .faq-question-card__arrow, .faq-question-card.is-active .faq-question-card__arrow { transform: translate(3px,-3px); }
.faq-question-card.is-active .faq-question-card__arrow { color: var(--orange); }

.faq-answer-stage { position: relative; display: flex; min-height: 687px; flex-direction: column; overflow: hidden; padding: 28px; border-radius: 26px; color: var(--white); background: linear-gradient(145deg, var(--ink) 0%, var(--ink) 100%); box-shadow: 0 24px 55px rgb(var(--ink-rgb) / .18); }
.faq-answer-stage::before { position: absolute; top: -130px; right: -120px; width: 340px; height: 340px; border: 1px solid rgb(var(--white-rgb) / .16); border-radius: 50%; content: ''; box-shadow: 0 0 0 46px rgb(var(--white-rgb) / .035), 0 0 0 92px rgb(var(--white-rgb) / .02); }
.faq-answer-stage::after { position: absolute; right: 40px; bottom: 68px; width: 170px; height: 170px; border-radius: 50%; background: radial-gradient(circle, rgb(var(--accent-rgb) / .48), rgb(var(--accent-rgb) / .08) 48%, transparent 70%); content: ''; filter: blur(8px); }
.faq-answer-stage__top, .faq-answer-stage__footer { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; color: rgb(var(--white-rgb) / .54); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.faq-answer-stage__mark { position: relative; z-index: 1; margin: 52px 0 22px; }
.faq-answer-stage__mark span { display: block; color: rgb(var(--white-rgb) / .085); font-size: clamp(120px,14vw,185px); font-weight: 700; letter-spacing: -.12em; line-height: .65; transition: opacity .2s ease; }
.faq-answer-stage__kicker { position: relative; z-index: 2; margin: 0 0 12px; color: var(--mint); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.faq-answer-stage h3 { position: relative; z-index: 2; max-width: 470px; margin: 0; font-size: clamp(31px,3.1vw,47px); font-weight: 300; letter-spacing: -.055em; line-height: 1.0; }
.faq-answer-stage__copy { position: relative; z-index: 2; max-width: 480px; margin: 22px 0 0; color: rgb(var(--white-rgb) / .74); font-size: 14px; line-height: 1.75; }
.faq-answer-stage__note { position: relative; z-index: 2; display: grid; grid-template-columns: 8px 1fr; gap: 10px; max-width: 460px; margin-top: 22px; padding-top: 18px; border-top: 1px solid rgb(var(--white-rgb) / .13); }
.faq-answer-stage__note span { width: 8px; height: 8px; margin-top: 5px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 5px rgb(var(--accent-rgb) / .14); }
.faq-answer-stage__note p { margin: 0; color: rgb(var(--white-rgb) / .59); font-size: 11px; font-weight: 700; line-height: 1.55; }
.faq-answer-stage__footer { margin-top: auto; padding-top: 23px; border-top: 1px solid rgb(var(--white-rgb) / .13); }
.faq-answer-stage__button { padding: 0; border: 0; color: var(--white); background: none; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.faq-answer-stage__button i { display: inline-block; margin-left: 7px; color: var(--orange); font-size: 16px; font-style: normal; transition: transform .25s ease; }
.faq-answer-stage__button:hover i { transform: translate(3px,-3px); }
.faq-answer-stage.is-changing h3, .faq-answer-stage.is-changing .faq-answer-stage__copy, .faq-answer-stage.is-changing .faq-answer-stage__note { animation: faqStageShift .34s ease both; }
@keyframes faqStageShift { 0% { opacity: 0; transform: translateY(9px); } 100% { opacity: 1; transform: translateY(0); } }

.faq-quick-strip { padding: 0; background: var(--surface-tint); }
.faq-quick-strip__inner { display: grid; grid-template-columns: auto 1px minmax(250px,1fr) auto; gap: 28px; align-items: center; min-height: 118px; }
.faq-quick-strip p { margin: 0; color: var(--ink); font-size: 14px; font-weight: 700; }
.faq-quick-strip__inner > span { width: 1px; height: 34px; background: rgb(var(--ink-rgb) / .19); }
.faq-quick-strip .text-link { justify-self: end; }

@media (max-width: 1180px) { .faq-atelier { gap: 55px; } .faq-atelier__workbench { grid-template-columns: minmax(270px,.9fr) minmax(300px,1.1fr); } }
@media (max-width: 980px) { .faq-atelier-hero__grid { grid-template-columns: 1fr; gap: 24px; } .faq-atelier-hero__lead { max-width: 600px; } .faq-atelier { grid-template-columns: 1fr; } .faq-atelier__intro { position: static; } .faq-atelier__intro > p:not(.eyebrow) { max-width: 560px; } .faq-atelier__workbench { grid-template-columns: 1fr; } .faq-answer-stage { min-height: 500px; } .faq-question-card.is-active::after { display: none; } .faq-quick-strip__inner { grid-template-columns: 1fr; gap: 13px; padding: 28px 0; } .faq-quick-strip__inner > span { display: none; } .faq-quick-strip .text-link { justify-self: start; margin-top: 5px; } }
@media (max-width: 620px) { .faq-atelier-hero { min-height: auto; padding: 118px 0 34px; } .faq-atelier-hero__bottom { margin-top: 42px; } .faq-atelier-section { padding: 74px 0; } .faq-answer-stage { min-height: 480px; padding: 22px; border-radius: 22px; } .faq-question-card { grid-template-columns: 42px 1fr 16px; gap: 11px; min-height: 73px; padding: 12px; } .faq-question-card.is-active { transform: translateX(4px); } .faq-question-card__body b { font-size: 13px; } .faq-answer-stage__mark { margin: 42px 0 18px; } .faq-answer-stage__mark span { font-size: 130px; } .faq-answer-stage__footer { align-items: flex-start; flex-direction: column; gap: 16px; } }


/* ============================================================
   Новодом · visual refinement 2026
   ============================================================ */
body { background: var(--paper); }
.brand { width: 218px; }
.brand-mark { width: 218px; height: auto; }
.footer-brand img { width: 200px; height: auto; }
.header-actions .button { letter-spacing: .025em; }

/* organic sand transitions, only applied when light/dark sections meet */
.sand-transition { position: relative; isolation: isolate; overflow: visible !important; }
.sand-transition > * { position: relative; z-index: 2; }
.sand-transition::before { position: absolute; left: 0; right: 0; top: -92px; height: 190px; content: ''; z-index: 1; pointer-events: none; clip-path: polygon(0 44%, 8% 34%, 18% 46%, 29% 37%, 41% 53%, 54% 40%, 67% 54%, 80% 37%, 91% 47%, 100% 36%, 100% 100%, 0 100%); filter: drop-shadow(0 -12px 17px rgb(var(--ink-rgb) / .14)); }
.sand-transition::after { position: absolute; left: 0; right: 0; top: -76px; height: 112px; content: ''; z-index: 1; pointer-events: none; opacity: .42; background-image: radial-gradient(circle at 15% 20%, rgb(var(--white-rgb) / .20) 0 1px, transparent 1.5px), radial-gradient(circle at 61% 55%, rgb(var(--white-rgb) / .16) 0 1px, transparent 1.5px), radial-gradient(circle at 85% 34%, rgb(var(--white-rgb) / .14) 0 1px, transparent 1.5px); background-size: 27px 27px, 35px 35px, 46px 46px; mask-image: linear-gradient(180deg,var(--ink),transparent); }
.sand-transition--dark::before { background: linear-gradient(180deg, var(--ink) 0%, var(--dark-deep) 72%); }
.sand-transition--light::before { background: linear-gradient(180deg, var(--white) 0%, var(--sand) 70%); }
.sand-transition--dark { padding-top: calc(130px + 54px); }
.sand-transition--light { padding-top: calc(130px + 54px); }
.story.sand-transition { padding-top: 54px; }
.cta.sand-transition { padding-top: calc(108px + 54px); }
.faq-quick-strip.sand-transition { padding-top: 54px; }
@media (max-width: 980px) { .sand-transition::before { top: -60px; height: 128px; } .sand-transition::after { top:-52px; height:76px; } .sand-transition--dark,.sand-transition--light { padding-top: calc(84px + 36px); } .story.sand-transition { padding-top:36px; } .cta.sand-transition { padding-top: calc(78px + 36px); } }

/* home carousel */
.hero--carousel { min-height: 860px; overflow: hidden; color: var(--white); background: var(--dark-deep); }
.hero-slider__media, .hero-slide { position: absolute; inset: 0; }
.hero-slide { opacity: 0; transform: scale(1.05); transition: opacity 1.05s ease, transform 8s ease; }
.hero-slide.is-active { opacity: 1; transform: scale(1); }
.hero-slide::after { position:absolute; inset:0; content:''; background: linear-gradient(90deg, rgb(var(--ink-rgb) / .96) 0%, rgb(var(--ink-rgb) / .82) 37%, rgb(var(--ink-rgb) / .34) 71%, rgb(var(--ink-rgb) / .36) 100%); }
.hero-slide--blueprint { background:var(--ink); }
.hero-slide img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-slide--blueprint img { object-fit:cover; opacity:.8; }
.hero-carousel__noise { position:absolute; inset:0; pointer-events:none; z-index:1; opacity:.26; background-image:radial-gradient(rgb(var(--white-rgb) / .14) .7px,transparent .8px); background-size: 7px 7px; mix-blend-mode:soft-light; }
.hero-carousel__grid { position:relative; z-index:3; display:grid; grid-template-columns: minmax(0,760px) minmax(280px,330px); justify-content:space-between; align-items:end; min-height:860px; padding:158px 0 82px; gap:35px; }
.hero-carousel__copy { max-width:760px; }
.hero-carousel__copy-set { display:none; max-width:730px; animation: heroCopyIn .6s ease both; }
.hero-carousel__copy-set.is-active { display:block; }
.hero-carousel__copy .display { max-width:720px; }
.hero-carousel__actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:34px; }
.hero-carousel__controls { display:flex; align-items:center; gap:18px; margin-top:42px; color:rgb(var(--white-rgb) / .72); font-size:11px; letter-spacing:.18em; font-weight:700; }
.hero-carousel__controls button { display:grid; width:38px; height:38px; place-items:center; border:1px solid rgb(var(--white-rgb) / .28); border-radius:50%; color:var(--white); background:rgb(var(--white-rgb) / .06); font-size:17px; transition:.25s ease; }
.hero-carousel__controls button:hover { background:var(--white); color:var(--dark-deep); transform:translateY(-2px); }
.hero-case-panel { width:100%; margin-bottom:12px; padding:22px; border:1px solid rgb(var(--white-rgb) / .18); border-radius:24px; background:rgb(var(--ink-rgb) / .72); box-shadow:0 24px 65px rgb(var(--ink-rgb) / .34); backdrop-filter:blur(18px); }
.hero-case-panel__top { display:flex; align-items:center; justify-content:space-between; padding-bottom:14px; border-bottom:1px solid rgb(var(--white-rgb) / .12); color:rgb(var(--white-rgb) / .58); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.hero-case-dot { width:7px; height:7px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 5px rgb(var(--accent-rgb) / .13); }
.hero-case-panel__metric { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; padding:17px 0; border-bottom:1px solid rgb(var(--white-rgb) / .10); }
.hero-case-panel__metric strong { display:block; max-width:100%; color:var(--white); font-size:30px; font-weight:700; letter-spacing:-.055em; line-height:1; white-space:nowrap; }
.hero-case-panel__metric span { color:rgb(var(--white-rgb) / .64); font-size:10px; font-weight:700; line-height:1.3; text-transform:uppercase; letter-spacing:.055em; overflow-wrap:anywhere; }
.hero-case-panel__metric--accent strong { color:var(--accent); }
.hero-case-panel .text-link { margin-top:17px; border:0; padding:0; color:var(--white); }
@keyframes heroCopyIn { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }

/* interactive process approach */
.service-rail { background:transparent; border:0; gap:15px; }
.service-card { min-height:300px; border:1px solid var(--line); border-radius:22px; background:rgb(var(--white-rgb) / .86); box-shadow:0 10px 25px rgb(var(--ink-rgb) / .055); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:58px; }
.process-card { position:relative; display:flex; min-height:240px; flex-direction:column; align-items:flex-start; padding:24px; border:1px solid var(--line); border-radius:22px; color:var(--ink); background:var(--white); box-shadow:0 10px 24px rgb(var(--ink-rgb) / .055); text-align:left; transition:.3s ease; }
.process-card:hover,.process-card.is-active { color:var(--white); border-color:transparent; background:linear-gradient(145deg,var(--accent-strong),var(--accent)); box-shadow:0 18px 35px rgb(var(--ink-rgb) / .18); transform:translateY(-7px); }
.process-card span { color:var(--orange-dark); font-size:14px; font-weight:700; letter-spacing:.12em; }
.process-card.is-active span { color:var(--mint); }
.process-card b { margin-top:auto; font-size:21px; font-weight:400; letter-spacing:-.04em; line-height:1.05; }
.process-card small { margin-top:12px; color:var(--ink-soft); font-size:10px; font-weight:700; line-height:1.35; letter-spacing:.07em; text-transform:uppercase; }
.process-card.is-active small { color:rgb(var(--white-rgb) / .58); }
.process-card i { position:absolute; top:22px; right:22px; color:var(--orange); font-size:22px; font-style:normal; transition:transform .3s ease; }
.process-card:hover i,.process-card.is-active i { transform:rotate(45deg); }
.process-console { margin-top:18px; padding:22px 25px; border:1px solid rgb(var(--ink-rgb) / .12); border-radius:22px; background:linear-gradient(135deg,rgb(var(--surface-tint-rgb) / .92),rgb(var(--white-rgb) / .93)); box-shadow:0 12px 26px rgb(var(--ink-rgb) / .055); }
.process-console__status { display:flex; align-items:center; gap:9px; color:var(--orange-dark); font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.process-console__pulse { width:9px; height:9px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 0 rgb(var(--accent-rgb) / .4); animation:pulse 1.8s infinite; }
.process-console__body { display:grid; grid-template-columns:1.2fr .8fr; gap:42px; align-items:end; margin-top:15px; }
.process-console__body h3 { margin:0; font-size:28px; font-weight:400; letter-spacing:-.045em; }
.process-console__body p:not(.eyebrow) { margin:10px 0 0; color:var(--ink-soft); font-size:13px; line-height:1.65; }
.progress-line { height:5px; overflow:hidden; border-radius:99px; background:rgb(var(--ink-rgb) / .12); }
.progress-line i { display:block; width:36%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--orange),var(--accent)); transition:width 2.3s cubic-bezier(.2,.8,.2,1); }
.process-console.is-working .progress-line i { width:92%; }
.process-console__progress ol { display:grid; gap:8px; margin:14px 0 0; padding:0; list-style:none; counter-reset:step; }
.process-console__progress li { position:relative; padding-left:21px; color:var(--ink-soft); font-size:11px; font-weight:700; }
.process-console__progress li::before { position:absolute; left:0; content:'✓'; color:var(--orange-dark); }
@keyframes pulse { 70% { box-shadow:0 0 0 8px rgb(var(--accent-rgb) / 0); } 100% { box-shadow:0 0 0 0 rgb(var(--accent-rgb) / 0); } }

/* blueprint story */
.story-visual--blueprint { background:var(--ink); }
.story-visual--blueprint img { padding:26px; object-fit:cover; }

/* Founder image uploader */
.founder-layout { display:grid; grid-template-columns:minmax(300px,.85fr) 1.15fr; gap:min(10vw,120px); align-items:center; }
.founder-upload { max-width:480px; }
.founder-upload__frame { overflow:hidden; padding:16px; border:1px dashed rgb(var(--accent-rgb) / .65); border-radius:28px; background:var(--ink); box-shadow:0 20px 45px rgb(var(--ink-rgb) / .13); }
.founder-upload__frame img { width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:18px; }
.founder-upload__caption { display:flex; justify-content:space-between; gap:18px; margin-top:14px; color:var(--ink-soft); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.founder-upload__caption b { color:var(--ink); }
.founder-upload__signature { margin-top:16px; color:var(--orange-dark); font-size:28px; font-weight:300; letter-spacing:-.04em; line-height:1.15; }

/* company approach */
.approach-top { max-width:760px; }
.approach-map { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:60px; }
.approach-map article { position:relative; min-height:230px; padding:25px; border:1px solid rgb(var(--white-rgb) / .12); border-radius:22px; background:rgb(var(--white-rgb) / .045); }
.approach-map article::after { position:absolute; top:44px; right:-15px; width:16px; height:1px; content:''; background:var(--orange); }
.approach-map article:last-child::after { display:none; }
.approach-map span { color:var(--orange); font-size:12px; font-weight:700; letter-spacing:.12em; }
.approach-map h3 { margin:76px 0 10px; color:var(--white); font-size:21px; font-weight:400; }
.approach-map p { margin:0; color:rgb(var(--white-rgb) / .62); font-size:12px; line-height:1.6; }

/* investors */
.investor-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:58px; }
.investor-benefits article { min-height:180px; padding:22px; border-radius:18px; background:var(--white); box-shadow:0 10px 23px rgb(var(--ink-rgb) / .06); }
.investor-benefits span { color:var(--orange-dark); font-size:12px; font-weight:700; }
.investor-benefits b { display:block; margin-top:45px; font-size:18px; font-weight:400; letter-spacing:-.035em; }
.investor-benefits p { margin:9px 0 0; color:var(--ink-soft); font-size:12px; line-height:1.5; }
.investor-blueprint { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; }
.investor-blueprint .section-lead { color:rgb(var(--white-rgb) / .7); }
.investor-blueprint__image { overflow:hidden; border:1px solid rgb(var(--white-rgb) / .12); border-radius:28px; background:var(--ink); box-shadow:0 24px 52px rgb(var(--ink-rgb) / .18); }
.investor-blueprint__image img { width:100%; aspect-ratio:1.5/1; object-fit:cover; }

/* management */
.management-flow { display:grid; gap:14px; margin-top:58px; }
.management-flow__row { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.management-flow__row--two { grid-template-columns:repeat(2,minmax(0,1fr)); width:50%; }
.management-flow article { min-height:210px; padding:23px; border:1px solid var(--line); border-radius:20px; background:var(--white); box-shadow:0 10px 24px rgb(var(--ink-rgb) / .055); }
.management-flow article span { color:var(--orange-dark); font-size:12px; font-weight:700; letter-spacing:.12em; }
.management-flow article h3 { margin:55px 0 9px; font-size:18px; font-weight:400; letter-spacing:-.035em; line-height:1.1; }
.management-flow article p { margin:0; color:var(--ink-soft); font-size:12px; line-height:1.55; }
.change-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:58px; }
.change-grid article { min-height:225px; padding:24px; border:1px solid rgb(var(--white-rgb) / .12); border-radius:22px; background:linear-gradient(145deg,rgb(var(--white-rgb) / .08),rgb(var(--white-rgb) / .025)); }
.change-grid span { color:var(--orange); font-size:12px; font-weight:700; letter-spacing:.1em; }
.change-grid b { display:block; margin-top:62px; color:var(--white); font-size:20px; font-weight:400; letter-spacing:-.04em; }
.change-grid p { margin:9px 0 0; color:rgb(var(--white-rgb) / .6); font-size:12px; line-height:1.55; }

/* calculator */
.calc-modern { display:grid; grid-template-columns:minmax(0,1fr) minmax(350px,.82fr); gap:22px; align-items:stretch; }
.calc-modern__controls { padding:32px; border-radius:28px; background:rgb(var(--white-rgb) / .9); box-shadow:0 18px 42px rgb(var(--ink-rgb) / .08); }
.calc-modern__intro h2 { margin:0; font-size:34px; font-weight:300; letter-spacing:-.05em; }
.calc-modern__intro p { margin:12px 0 0; color:var(--ink-soft); font-size:13px; line-height:1.6; }
.calc-modern__scenarios { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:30px; }
.calc-modern__scenarios button { min-height:64px; padding:10px; border-radius:14px; font-size:10px; }
.calc-modern__range { margin-top:25px; }
.calc-modern__range label { display:flex; justify-content:space-between; gap:16px; color:var(--ink); font-size:12px; font-weight:700; }
.calc-modern__range output { color:var(--orange-dark); }
.calc-modern__range input { width:100%; margin-top:14px; accent-color:var(--orange); }
.calc-modern__range-scale { display:flex; justify-content:space-between; margin-top:4px; color:var(--ink-soft); font-size:10px; }
.calc-modern__result { position:relative; overflow:hidden; padding:32px; border-radius:28px; color:var(--ink); background:var(--white); box-shadow:0 20px 50px rgb(var(--ink-rgb) / .18); }
.calc-modern__result::after { position:absolute; right:-100px; bottom:-115px; width:280px; height:280px; border:1px solid rgb(var(--white-rgb) / .16); border-radius:50%; content:''; box-shadow:0 0 0 48px rgb(var(--white-rgb) / .03),0 0 0 96px rgb(var(--white-rgb) / .02); }
.calc-modern__result .eyebrow { color:var(--mint); }
.calc-modern__total { position:relative; z-index:1; margin-top:42px; }
.calc-modern__total span { display:block; max-width:280px; color:rgb(var(--white-rgb) / .6); font-size:11px; font-weight:700; line-height:1.45; text-transform:uppercase; letter-spacing:.08em; }
.calc-modern__total b { display:block; margin-top:12px; font-size:46px; font-weight:300; letter-spacing:-.06em; line-height:1; }
.calc-modern__metrics { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:28px; background:rgb(var(--white-rgb) / .12); }
.calc-modern__metrics div { min-height:95px; padding:13px; background:rgb(var(--ink-rgb) / .55); }
.calc-modern__metrics span { display:block; min-height:32px; color:rgb(var(--white-rgb) / .54); font-size:9px; font-weight:700; line-height:1.35; text-transform:uppercase; }
.calc-modern__metrics b { display:block; margin-top:10px; color:var(--white); font-size:17px; font-weight:400; letter-spacing:-.035em; }
.calc-modern__chart { position:relative; z-index:1; display:flex; height:86px; align-items:flex-end; gap:7px; margin:25px 0; padding-bottom:4px; border-bottom:1px solid rgb(var(--white-rgb) / .16); }
.calc-modern__chart i { flex:1; border-radius:4px 4px 0 0; background:linear-gradient(180deg,var(--accent),var(--accent)); }
.calc-modern__chart i:nth-child(1){height:26%}.calc-modern__chart i:nth-child(2){height:36%}.calc-modern__chart i:nth-child(3){height:46%}.calc-modern__chart i:nth-child(4){height:62%}.calc-modern__chart i:nth-child(5){height:58%}.calc-modern__chart i:nth-child(6){height:79%}.calc-modern__chart i:nth-child(7){height:100%}
.calc-modern__result .button { position:relative; z-index:1; width:100%; }
.consider-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:58px; }
.consider-grid article { min-height:210px; padding:24px; border-radius:20px; background:linear-gradient(145deg,var(--white),var(--surface-tint)); box-shadow:0 10px 24px rgb(var(--ink-rgb) / .06); }
.consider-grid span { display:block; color:var(--orange-dark); font-size:12px; font-weight:700; letter-spacing:.12em; }
.consider-grid b { display:block; margin-top:58px; font-size:19px; font-weight:400; letter-spacing:-.04em; }
.consider-grid p { margin:9px 0 0; color:var(--ink-soft); font-size:12px; line-height:1.55; }

/* new FAQ: half fortune wheel */
.faq-wheel-hero { min-height:520px; padding:148px 0 86px; color:var(--white); background:radial-gradient(circle at 82% 20%,rgb(var(--accent-rgb) / .22),transparent 20%),linear-gradient(135deg,var(--ink),var(--ink)); }
.faq-wheel-hero .display { max-width:760px; }
.faq-wheel-hero .lead { max-width:650px; }
.faq-wheel-section { padding:130px 0; background:var(--sand); }
.faq-wheel-layout { display:grid; grid-template-columns:.55fr .72fr .9fr; gap:38px; align-items:center; }
.faq-wheel-layout__intro h2 { margin:0; font-size:44px; font-weight:300; letter-spacing:-.055em; line-height:1; }
.faq-wheel-layout__intro h2 em { color:var(--orange-dark); font-style:normal; }
.faq-wheel-layout__intro > p:not(.eyebrow) { margin:20px 0 0; color:var(--ink-soft); font-size:14px; line-height:1.7; }
.faq-wheel-layout__intro .button { margin-top:28px; }
.fortune-stage { position:relative; min-height:510px; display:grid; place-items:center; }
.fortune-viewport { position:relative; width:360px; height:420px; overflow:hidden; border-radius:180px 180px 22px 22px; }
.fortune-viewport::before { position:absolute; top:30px; left:50%; z-index:3; width:18px; height:18px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 8px rgb(var(--accent-rgb) / .15); content:''; transform:translateX(-50%); }
.fortune-wheel { position:absolute; left:50%; top:72px; width:470px; height:470px; border:14px solid var(--ink); border-radius:50%; background:conic-gradient(from 0deg,var(--accent) 0 12.5%,var(--surface-tint) 12.5% 25%,var(--ink) 25% 37.5%,var(--accent) 37.5% 50%,var(--accent) 50% 62.5%,var(--surface-tint) 62.5% 75%,var(--ink) 75% 87.5%,var(--accent) 87.5% 100%); box-shadow:0 20px 45px rgb(var(--ink-rgb) / .2),inset 0 0 0 5px rgb(var(--white-rgb) / .28); transform:translateX(-50%) rotate(0deg); transition:transform .76s cubic-bezier(.2,.8,.2,1); }
.fortune-wheel::before { position:absolute; inset:20px; border:1px solid rgb(var(--white-rgb) / .48); border-radius:50%; content:''; }
.fortune-wheel::after { position:absolute; left:50%; top:50%; width:88px; height:88px; border:12px solid var(--ink); border-radius:50%; background:var(--surface-tint); box-shadow:0 0 0 6px rgb(var(--white-rgb) / .5); content:''; transform:translate(-50%,-50%); }
.fortune-wheel span { position:absolute; left:50%; top:50%; width:2px; height:218px; transform-origin:bottom center; background:rgb(var(--ink-rgb) / .28); }
.fortune-wheel span:nth-child(1){transform:translate(-50%,-100%) rotate(0deg)}.fortune-wheel span:nth-child(2){transform:translate(-50%,-100%) rotate(45deg)}.fortune-wheel span:nth-child(3){transform:translate(-50%,-100%) rotate(90deg)}.fortune-wheel span:nth-child(4){transform:translate(-50%,-100%) rotate(135deg)}.fortune-wheel span:nth-child(5){transform:translate(-50%,-100%) rotate(180deg)}.fortune-wheel span:nth-child(6){transform:translate(-50%,-100%) rotate(225deg)}.fortune-wheel span:nth-child(7){transform:translate(-50%,-100%) rotate(270deg)}.fortune-wheel span:nth-child(8){transform:translate(-50%,-100%) rotate(315deg)}
.fortune-wheel b { position:absolute; left:50%; top:50%; z-index:2; color:var(--orange-dark); font-size:32px; transform:translate(-50%,-55%); }
.fortune-stage__pointer { position:absolute; top:20px; left:50%; z-index:4; color:var(--orange-dark); font-size:25px; transform:translateX(-50%); }
.fortune-controls { position:absolute; bottom:0; display:flex; align-items:center; gap:10px; color:var(--ink-soft); }
.fortune-controls button { display:grid; width:36px; height:36px; place-items:center; border:1px solid rgb(var(--ink-rgb) / .17); border-radius:50%; color:var(--ink); background:var(--white); font-size:17px; transition:.2s; }
.fortune-controls button:hover { color:var(--white); background:var(--orange-dark); }
.fortune-controls small { margin-left:7px; font-size:10px; font-weight:700; }
.fortune-answer { position:relative; min-height:440px; padding:30px; border-radius:28px; color:var(--ink); background:var(--white); box-shadow:0 24px 55px rgb(var(--ink-rgb) / .16); }
.fortune-answer::after { position:absolute; right:-50px; bottom:-60px; width:190px; height:190px; border-radius:50%; background:radial-gradient(circle,rgb(var(--accent-rgb) / .48),rgb(var(--accent-rgb) / .12) 46%,transparent 70%); content:''; filter:blur(8px); }
.fortune-answer__top { position:relative; z-index:1; display:flex; justify-content:space-between; color:rgb(var(--white-rgb) / .52); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.fortune-answer__kicker { position:relative; z-index:1; margin:72px 0 12px; color:var(--mint); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.fortune-answer h3 { position:relative; z-index:1; margin:0; font-size:36px; font-weight:300; letter-spacing:-.055em; line-height:1.03; }
.fortune-answer > p[data-faq-wheel-copy] { position:relative; z-index:1; margin:20px 0 0; color:rgb(var(--white-rgb) / .73); font-size:14px; line-height:1.7; }
.fortune-answer.is-changing h3,.fortune-answer.is-changing > p[data-faq-wheel-copy],.fortune-answer.is-changing .fortune-answer__kicker { animation:answerIn .45s ease both; }
@keyframes answerIn { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.fortune-answer__dots { position:absolute; z-index:1; bottom:30px; left:30px; display:flex; gap:7px; }
.fortune-answer__dots i { width:7px; height:7px; border-radius:50%; background:rgb(var(--white-rgb) / .28); }
.fortune-answer__dots i.is-active { width:23px; border-radius:99px; background:var(--orange); }
.fortune-question-list { grid-column:2 / span 2; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.fortune-question-list button { min-height:45px; padding:8px 10px; border:1px solid rgb(var(--ink-rgb) / .11); border-radius:12px; color:var(--ink-soft); background:rgb(var(--white-rgb) / .78); font-size:10px; font-weight:700; line-height:1.25; text-align:left; transition:.2s; }
.fortune-question-list button:hover,.fortune-question-list button.is-active { color:var(--white); border-color:transparent; background:var(--ink); }

/* contacts */
.contact-config-link { margin-top:27px; color:var(--orange-dark); }
.contact-cards { grid-template-columns:repeat(2,1fr); }

@media (max-width:1120px) { .hero-carousel__grid { grid-template-columns:minmax(0,1fr) 300px; } .process-grid,.approach-map,.management-flow__row,.change-grid,.consider-grid { grid-template-columns:repeat(2,1fr); } .management-flow__row--two { width:100%; } .investor-benefits { grid-template-columns:repeat(2,1fr); } .faq-wheel-layout { grid-template-columns:1fr 1fr; } .faq-wheel-layout__intro { grid-column:1 / -1; max-width:600px; } .fortune-question-list { grid-column:1 / -1; } }
@media (max-width:800px) { .brand,.brand-mark { width:178px; } .hero-carousel__grid { grid-template-columns:1fr; min-height:760px; padding:135px 0 44px; } .hero-case-panel { max-width:330px; margin-top:15px; } .hero--carousel { min-height:760px; } .hero-slide::after { background:linear-gradient(180deg,rgb(var(--ink-rgb) / .30),rgb(var(--ink-rgb) / .92) 75%); } .process-grid,.approach-map,.management-flow__row,.change-grid,.consider-grid,.investor-benefits { grid-template-columns:1fr; } .process-card { min-height:175px; } .process-console__body,.founder-layout,.investor-blueprint,.calc-modern,.faq-wheel-layout { grid-template-columns:1fr; } .management-flow__row--two { width:100%; } .founder-upload { max-width:none; } .approach-map article::after { top:auto; bottom:-15px; left:35px; right:auto; width:1px; height:16px; } .approach-map article:last-child::after { display:none; } .calc-modern__scenarios,.calc-modern__metrics { grid-template-columns:1fr; } .fortune-question-list { grid-template-columns:repeat(2,1fr); } .fortune-stage { min-height:420px; } .fortune-answer { min-height:370px; } }
@media (max-width:520px) { .hero-carousel__actions .button { width:100%; } .hero-case-panel__metric strong { font-size:27px; } .fortune-viewport { width:300px; height:350px; } .fortune-wheel { width:400px; height:400px; top:58px; } .fortune-wheel span { height:183px; } .fortune-answer { padding:24px; } .fortune-answer h3 { font-size:30px; } .fortune-question-list { grid-template-columns:1fr; } .founder-upload__caption { flex-direction:column; gap:5px; } }


/* homepage rework based on approved visual */
.home-hero {
  position: relative;
  overflow: hidden;
  padding: 142px 0 110px;
  color: var(--white);
  background:
    radial-gradient(circle at 12% 16%, rgb(var(--accent-rgb) / .16), transparent 22%),
    radial-gradient(circle at 87% 11%, rgb(var(--white-rgb) / .12), transparent 16%),
    linear-gradient(112deg, var(--ink) 0%, var(--ink) 45%, var(--ink) 100%);
}
.home-hero::after {
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 98px;
  content: '';
  background: var(--white);
  clip-path: polygon(0 70%, 8% 64%, 18% 72%, 29% 58%, 41% 69%, 53% 55%, 66% 67%, 78% 54%, 89% 63%, 100% 50%, 100% 100%, 0 100%);
}
.home-hero__aurora {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 67% 54%, rgb(var(--surface-tint-rgb) / .22), transparent 16%), radial-gradient(circle at 76% 51%, rgb(var(--white-rgb) / .10), transparent 22%);
  opacity: .85;
}
.home-hero__grid {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .98fr) 320px;
  gap: 40px;
  align-items: center;
}
.home-hero__copy .display { max-width: 560px; margin: 0; font-size: clamp(46px, 4.8vw, 70px); }
.home-hero__copy .lead { max-width: 500px; color: rgb(var(--white-rgb) / .78); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.home-hero__actions .button--outline { border-color: rgb(var(--white-rgb) / .22); color: var(--white); }
.home-hero__actions .button--outline:hover { border-color: transparent; }
.home-hero__meta { display:flex; align-items:center; justify-content:space-between; gap:18px; max-width:520px; margin-top:34px; padding-top:18px; border-top:1px solid rgb(var(--white-rgb) / .12); color: rgb(var(--white-rgb) / .66); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform: uppercase; }
.home-hero__dots { display:flex; gap:6px; }
.home-hero__dots i { width:8px; height:8px; border-radius:50%; background: rgb(var(--white-rgb) / .24); transition:.25s; }
.home-hero__dots i.is-active { width:24px; border-radius:99px; background: var(--orange); }
.home-hero__visual { display:grid; justify-items:center; }
.home-hero__visual-frame {
  width: min(100%, 520px);
  overflow: hidden;
  border: 1px solid rgb(var(--white-rgb) / .12);
  border-radius: 28px;
  background: rgb(var(--white-rgb) / .04);
  box-shadow: 0 22px 50px rgb(var(--ink-rgb) / .26);
}
.home-hero__slider { position: relative; aspect-ratio: 1.5 / 1; min-height: 0; }
.home-hero__slider .hero-slide { position:absolute; inset:0; opacity:0; transition:opacity .65s ease, transform 1.2s ease; transform: scale(1.04); }
.home-hero__slider .hero-slide.is-active { opacity:1; transform: scale(1); }
.home-hero__slider .hero-slide img { width:100%; height:100%; object-fit:cover; display:block; }
.home-hero__slider .hero-slide--blueprint { background: linear-gradient(160deg, var(--surface-tint), var(--surface-tint)); }
.home-hero__count { margin-top: 12px; color: rgb(var(--white-rgb) / .64); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.home-hero__panel { padding: 28px 28px 24px; border:1px solid rgb(var(--white-rgb) / .12); border-radius:26px; background: rgb(var(--ink-rgb) / .54); backdrop-filter: blur(14px); box-shadow: 0 18px 40px rgb(var(--ink-rgb) / .22); }
.home-hero__panel .hero-case-panel__metric { grid-template-columns: 1fr; gap: 4px; }
.home-hero__panel .hero-case-panel__metric strong { font-size: 38px; }
.home-hero__panel .hero-case-panel__metric span { max-width: 100%; font-size: 14px; line-height:1.35; white-space: normal; }
.home-hero__panel .text-link { margin-top: 12px; color:var(--white); }

.home-dual { background: var(--white); }
.home-dual__grid { display:grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .96fr); gap: 42px; align-items:start; }
.home-approach { padding-right: 8px; }
.home-approach .title { margin-bottom: 26px; }
.home-approach .process-grid { grid-template-columns: repeat(4,1fr); gap: 12px; }
.home-approach .process-card { min-height: 172px; padding: 18px 16px 16px; align-content: start; }
.home-approach .process-card small { text-transform: none; letter-spacing: normal; font-size: 12px; line-height: 1.45; font-weight: 400; color: var(--ink-soft); }
.home-approach .process-card i { align-self:end; justify-self:end; color: var(--ink-soft); }
.home-approach .process-card.is-active { border-color: rgb(var(--accent-rgb) / .3); box-shadow: 0 12px 26px rgb(var(--ink-rgb) / .08); }
.process-console--wide { margin-top: 16px; padding: 24px 28px; }
.process-console--wide .process-console__body { grid-template-columns: minmax(0, 1.18fr) minmax(220px,.82fr); gap: 24px; align-items: stretch; }
.process-console__list { display:grid; gap:7px; margin: 18px 0 0; padding:0; list-style:none; }
.process-console__list li { position:relative; padding-left:18px; color: var(--ink-soft); font-size: 13px; line-height:1.5; }
.process-console__list li::before { position:absolute; left:0; top:.2em; color: var(--orange-dark); content:'✓'; }
.process-console__aside { display:grid; align-content:center; gap:12px; padding-left: 10px; border-left: 1px solid rgb(var(--ink-rgb) / .08); }
.process-console__micro { color: rgb(var(--ink-rgb) / .42); font-size: 11px; }
.process-console__illustration { border-radius: 18px; overflow:hidden; background: linear-gradient(145deg, var(--surface-tint), var(--surface-tint)); }
.process-console__illustration img { width:100%; height:148px; object-fit:cover; display:block; }

.home-investors {
  overflow:hidden;
  padding: 34px 36px 38px;
  border-radius: 34px;
  color: var(--white);
  background: linear-gradient(145deg, var(--ink) 0%, var(--ink) 52%, var(--ink) 100%);
  box-shadow: 0 24px 50px rgb(var(--ink-rgb) / .16);
}
.home-investors .eyebrow { color: var(--orange); }
.home-investors h2 { margin: 0; font-size: clamp(34px, 3.5vw, 52px); font-weight: 400; letter-spacing: -.05em; line-height: 1.02; }
.home-investors > p:not(.eyebrow) { max-width: 540px; margin: 18px 0 0; color: rgb(var(--white-rgb) / .72); font-size: 15px; line-height: 1.65; }
.home-investors__visual { margin: 24px -8px 16px; border-radius: 24px; overflow:hidden; }
.home-investors__visual img { width:100%; height: 290px; object-fit: cover; display:block; opacity:.96; }
.investor-benefits--compact { grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 0; }
.investor-benefits--compact .feature-card { min-height: 108px; border-color: rgb(var(--white-rgb) / .08); color:var(--white); background: rgb(var(--white-rgb) / .07); backdrop-filter: blur(8px); }
.investor-benefits--compact .feature-card p { color: rgb(var(--white-rgb) / .66); }

.home-cases-band { padding-top: 90px; padding-bottom: 84px; }
.home-cases-band__grid { display:grid; grid-template-columns: 270px repeat(2, minmax(0,1fr)); gap: 18px; align-items: stretch; }
.home-cases-band__intro { display:flex; flex-direction:column; justify-content:space-between; gap:18px; }
.home-cases-band__intro .button { align-self:flex-start; }
.story-card-neo--compact .story-card-neo__media { aspect-ratio: 1.45 / 1; }
.story-card-neo--compact .story-card-neo__body { display:grid; gap:14px; padding:20px 22px 22px; }
.story-card-neo--compact .story-card-neo__body h3 { font-size: 24px; }
.story-card-neo--compact .story-card-neo__stats { grid-template-columns: 1fr; margin-top:0; }
.story-card-neo--compact .story-card-neo__stats > div { min-height:auto; }
.story-visual--framed img { border-radius: 26px; background: rgb(var(--white-rgb) / .02); }

.home-tools { background: var(--surface-tint); }
.home-tools__grid { display:grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 42px; align-items:start; }
.home-calc__panel { position:relative; display:grid; grid-template-columns: minmax(0,1fr) 180px; gap: 12px; margin-top: 26px; padding: 14px; border:1px solid rgb(var(--ink-rgb) / .09); border-radius: 28px; background: rgb(var(--white-rgb) / .92); overflow:hidden; box-shadow: 0 14px 32px rgb(var(--ink-rgb) / .07); }
.home-calc__panel::before { position:absolute; inset:auto -8% -55% auto; width:280px; height:280px; background: radial-gradient(circle, rgb(var(--accent-rgb) / .22), rgb(var(--accent-rgb) / .02) 54%, transparent 68%); content:''; }
.home-calc__panel::after { position:absolute; right:16px; bottom:8px; width:220px; height:148px; opacity:.15; background: center/cover no-repeat url('../images/object-photos/object-photo-35.jpg'); content:''; pointer-events:none; }
.home-calc__inputs { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; }
.home-calc__inputs label { display:grid; gap: 10px; padding: 14px; border-radius: 18px; background: var(--white); box-shadow: inset 0 0 0 1px rgb(var(--ink-rgb) / .06); }
.home-calc__inputs span { color: var(--ink-soft); font-size: 11px; font-weight: 700; }
.home-calc__inputs input { width:100%; padding:0; border:none; background: transparent; color: var(--ink); font-size: 17px; font-weight: 700; }
.home-calc__result { position:relative; z-index:1; display:grid; align-content:center; gap: 6px; padding: 20px; border-radius: 22px; color:var(--white); background: linear-gradient(160deg, var(--ink), var(--ink)); }
.home-calc__result small { color: rgb(var(--white-rgb) / .62); font-size: 10px; font-weight:700; text-transform: uppercase; letter-spacing: .08em; }
.home-calc__result b { font-size: 40px; line-height:1; }
.home-calc__result strong { font-size: 32px; line-height:1; }
.home-faq__intro { margin-bottom: 14px; }
.home-faq__intro h2 { margin: 0; font-size: clamp(34px, 3.4vw, 52px); font-weight:400; letter-spacing:-.05em; line-height:1.02; }
.faq-wheel-layout--home { display:grid; grid-template-columns: 320px minmax(0,1fr); gap: 18px; align-items:end; }
.fortune-stage--home { min-height: 290px; justify-items:start; }
.fortune-stage--home .fortune-viewport { width: 250px; height: 210px; border-radius: 250px 250px 0 0; }
.fortune-stage--home .fortune-stage__pointer { top: -6px; left: 132px; font-size: 28px; }
.fortune-stage--home .fortune-wheel { top: 38px; width: 320px; height: 320px; border-width: 10px; }
.fortune-stage--home .fortune-wheel span { height: 145px; }
.fortune-stage--home .fortune-wheel::after { width: 58px; height: 58px; border-width: 8px; }
.fortune-stage--home .fortune-wheel b { font-size: 20px; }
.fortune-stage--home .fortune-controls { position: static; margin-top: 14px; }
.fortune-answer--soft { min-height: 280px; padding: 26px 28px; border:1px solid rgb(var(--ink-rgb) / .09); color: var(--ink); background: rgb(var(--white-rgb) / .92); box-shadow: 0 14px 32px rgb(var(--ink-rgb) / .07); }
.fortune-answer--soft::after { right: -28px; bottom: -38px; width: 140px; height: 140px; background: radial-gradient(circle, rgb(var(--accent-rgb) / .36), rgb(var(--accent-rgb) / .08) 45%, transparent 70%); }
.fortune-answer--soft .fortune-answer__top { color: rgb(var(--ink-rgb) / .42); }
.fortune-answer--soft .fortune-answer__kicker { margin-top: 32px; color: var(--orange-dark); }
.fortune-answer--soft h3 { font-size: 32px; color: var(--ink); }
.fortune-answer--soft > p[data-faq-wheel-copy] { color: var(--ink-soft); }
.fortune-answer--soft .fortune-answer__dots i { background: rgb(var(--ink-rgb) / .14); }
.fortune-answer--soft .fortune-answer__dots i.is-active { background: var(--orange); }
.fortune-question-list--hidden { display:none; }

.home-founder { background: linear-gradient(160deg, var(--ink), var(--ink)); color:var(--white); }
.home-founder__grid { display:grid; grid-template-columns: 280px 1fr 1.2fr; gap: 26px; align-items: end; }
.home-founder__about h2 { margin:0; font-size: 42px; font-weight:400; letter-spacing:-.05em; }
.home-founder__about p { margin: 12px 0 0; color: rgb(var(--white-rgb) / .7); max-width: 250px; }
.founder-upload { display:grid; align-content:center; gap:16px; min-height: 238px; padding: 28px; border: 1px dashed rgb(var(--accent-rgb) / .5); border-radius: 26px; background: rgb(var(--white-rgb) / .03); }
.founder-upload img { width:100%; max-width: 150px; margin: 0 auto; display:block; }
.founder-upload__caption { display:grid; justify-items:center; gap:6px; text-align:center; }
.founder-upload__caption b { color:var(--white); }
.founder-upload__caption span { color: rgb(var(--white-rgb) / .56); font-size: 12px; }
.home-founder__blueprint { min-height: 238px; border-radius: 26px; overflow:hidden; background: rgb(var(--white-rgb) / .02); }
.home-founder__blueprint img { width:100%; height:100%; object-fit:cover; display:block; }
.home-contact-bar { display:grid; grid-template-columns: auto auto auto auto 1fr; gap: 26px; align-items:center; margin-top: 26px; padding-top: 26px; border-top: 1px solid rgb(var(--white-rgb) / .12); }
.home-contact-bar a, .home-contact-bar b { color:var(--white); font-size: 15px; font-weight: 700; }
.home-contact-bar__label { display:block; color: rgb(var(--white-rgb) / .46); font-size: 10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom: 6px; }
.home-contact-bar__brand { justify-self:end; }
.home-contact-bar__brand img { width: 190px; display:block; }

/* FAQ page strip: remove harsh white look */
.faq-quick-strip { background: var(--surface); }
.faq-quick-strip__inner { color:var(--white); }
.faq-quick-strip p { color: rgb(var(--white-rgb) / .78); }
.faq-quick-strip__inner > span { background: rgb(var(--white-rgb) / .18); }
.faq-quick-strip .text-link { color:var(--white); }

@media (max-width: 1180px) {
  .home-hero__grid { grid-template-columns: 1fr 1fr; }
  .home-hero__panel { grid-column: 1 / -1; max-width: 360px; }
  .home-dual__grid, .home-tools__grid { grid-template-columns: 1fr; }
  .home-approach .process-grid { grid-template-columns: repeat(2,1fr); }
  .home-cases-band__grid { grid-template-columns: 1fr 1fr; }
  .home-cases-band__intro { grid-column: 1 / -1; }
  .home-founder__grid { grid-template-columns: 1fr 1fr; }
  .home-founder__blueprint { grid-column: 1 / -1; }
  .home-contact-bar { grid-template-columns: repeat(2,1fr); }
  .home-contact-bar__brand { justify-self:start; }
}
@media (max-width: 840px) {
  .home-hero { padding-top: 122px; padding-bottom: 88px; }
  .home-hero__grid { grid-template-columns: 1fr; }
  .home-hero__copy .display { max-width: none; }
  .home-hero__visual-frame { width: 100%; }
  .home-approach .process-grid { grid-template-columns: 1fr; }
  .process-console--wide .process-console__body, .home-calc__panel, .faq-wheel-layout--home, .home-founder__grid, .home-contact-bar { grid-template-columns: 1fr; }
  .process-console__aside { border-left: 0; border-top: 1px solid rgb(var(--ink-rgb) / .08); padding-left: 0; padding-top: 16px; }
  .investor-benefits--compact, .home-calc__inputs, .home-cases-band__grid { grid-template-columns: 1fr; }
  .fortune-stage--home { justify-items:center; }
  .home-contact-bar { gap: 18px; }
}
@media (max-width: 520px) {
  .home-hero__actions { flex-direction: column; }
  .home-hero__meta { flex-direction: column; align-items:flex-start; }
  .home-hero__panel .hero-case-panel__metric strong { font-size: 30px; }
  .fortune-stage--home .fortune-viewport { width: 220px; height: 190px; }
  .fortune-stage--home .fortune-wheel { width: 280px; height: 280px; }
  .fortune-stage--home .fortune-wheel span { height: 126px; }
  .fortune-answer--soft { padding: 22px; }
  .fortune-answer--soft h3 { font-size: 28px; }
}


/* Homepage layout primitives */
/* Floating frosted navigation */
.site-header,
.site-header.is-scrolled {
  position: fixed;
  top: 18px;
  right: 0;
  left: 0;
  z-index: 100;
  padding: 0;
  color: var(--white);
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.site-header .header-inner {
  min-height: 66px;
  padding: 8px 12px 8px 18px;
  border: 1px solid rgb(var(--white-rgb) / .18);
  border-radius: 20px;
  background: rgb(var(--ink-rgb) / .72);
  box-shadow: 0 18px 42px rgb(var(--ink-rgb) / .18);
  backdrop-filter: blur(20px) saturate(125%);
}
.site-header.is-scrolled .header-inner {
  border-color: rgb(var(--white-rgb) / .18);
  background: rgb(var(--ink-rgb) / .84);
  box-shadow: 0 16px 36px rgb(var(--ink-rgb) / .24);
}
.site-header .brand { display:block; width: 178px; }
.site-header .brand-mark { width:100%; }
.site-header .nav-link,
.site-header.is-scrolled .nav-link { color: rgb(var(--white-rgb) / .74); }
.site-header .nav-link:hover,
.site-header .nav-link.is-active,
.site-header.is-scrolled .nav-link:hover,
.site-header.is-scrolled .nav-link.is-active { color:var(--white); }
.site-header .nav-link.is-active::after { background: var(--nd-orange); }
.site-header .header-phone,
.site-header.is-scrolled .header-phone { color: var(--white); }
.site-header .header-cta,
.site-header.is-scrolled .header-cta { border: 1px solid rgb(var(--accent-rgb) / .58); color:var(--white); background: rgb(var(--accent-rgb) / .08); }
.site-header .header-cta:hover { background: var(--nd-orange); border-color: var(--nd-orange); }
.site-header.is-scrolled .brand-mark path:last-child { fill: inherit; }

/* shared clean home helpers */
.nd-home { overflow:hidden; background: var(--nd-paper); }
.nd-home .display,
.nd-home .title { color: inherit; }
.nd-home .eyebrow { color: var(--nd-orange); }
.nd-home .eyebrow::before { background: currentColor; }
.nd-text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: max-content;
  color: var(--nd-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  transition: color .22s ease, transform .22s ease;
}
.nd-text-link svg { width: 18px; height: 18px; transition: transform .22s ease; }
.nd-text-link:hover { color: var(--nd-orange); transform: translateX(3px); }
.nd-text-link:hover svg { transform: translate(2px,-2px); }
.nd-text-link--light { color: var(--white); }
.nd-text-link--light:hover { color: var(--accent); }
.nd-section-lead { max-width: 510px; margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.72; }

/* soft sand curves between color zones */
.nd-curve { position: relative; z-index: 1; margin-top: -56px; padding-top: 150px; overflow: visible; }
.nd-curve::before {
  position: absolute;
  top: -88px;
  right: 0;
  left: 0;
  z-index: -1;
  height: 180px;
  content: '';
  background: var(--nd-curve-bg);
  clip-path: polygon(0 46%, 8% 35%, 19% 48%, 30% 36%, 41% 50%, 53% 38%, 65% 52%, 77% 38%, 89% 48%, 100% 36%, 100% 100%, 0 100%);
  filter: drop-shadow(0 -14px 25px rgb(var(--ink-rgb) / .07));
}
.nd-curve::after {
  position: absolute;
  top: -76px;
  right: 0;
  left: 0;
  z-index: -1;
  height: 125px;
  content: '';
  background:
    radial-gradient(ellipse at 18% 55%, rgb(var(--white-rgb) / .6) 0%, transparent 52%),
    radial-gradient(ellipse at 68% 34%, rgb(var(--white-rgb) / .42) 0%, transparent 50%),
    linear-gradient(180deg, rgb(var(--white-rgb) / .20), transparent 70%);
  opacity: .76;
  clip-path: polygon(0 48%, 8% 37%, 19% 50%, 30% 38%, 41% 52%, 53% 40%, 65% 54%, 77% 40%, 89% 50%, 100% 38%, 100% 100%, 0 100%);
}
.nd-curve--light { --nd-curve-bg: var(--nd-paper); background: var(--nd-paper); }
.nd-curve--white { --nd-curve-bg: var(--white); background: var(--white); }
.nd-curve--sand { --nd-curve-bg: var(--nd-sand); background: var(--nd-sand); }
.nd-curve--dark { --nd-curve-bg: var(--nd-deep); color:var(--white); background: var(--nd-deep); }
.nd-curve--dark::after { opacity:.18; background: radial-gradient(ellipse at 18% 55%, rgb(var(--white-rgb) / .24) 0%, transparent 54%), radial-gradient(ellipse at 68% 34%, rgb(var(--white-rgb) / .16) 0%, transparent 54%); }

/* Hero */
.nd-hero {
  position: relative;
  min-height: 810px;
  padding: 168px 0 132px;
  color: var(--white);
  background:
    radial-gradient(circle at 72% 18%, rgb(var(--accent-rgb) / .20), transparent 23%),
    radial-gradient(circle at 17% 86%, rgb(var(--ink-rgb) / .34), transparent 33%),
    linear-gradient(126deg, var(--ink) 0%, var(--ink) 48%, var(--ink) 100%);
}
.nd-hero::after {
  position:absolute;
  bottom:-1px;
  left:0;
  right:0;
  height: 128px;
  content:'';
  background: var(--nd-paper);
  clip-path: polygon(0 64%, 8% 51%, 20% 64%, 31% 49%, 42% 62%, 54% 46%, 66% 61%, 78% 47%, 90% 58%, 100% 44%, 100% 100%, 0 100%);
}
.nd-hero__grain { position:absolute; inset:0; opacity:.20; pointer-events:none; background-image: radial-gradient(rgb(var(--white-rgb) / .30) .6px, transparent .6px); background-size: 10px 10px; mask-image: linear-gradient(180deg, var(--ink), transparent 88%); }
.nd-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns: minmax(0,1.02fr) minmax(360px,.92fr) minmax(250px,.56fr); gap: 36px; align-items:center; }
.nd-hero__copy .display { max-width: 600px; margin:0; font-size: clamp(52px, 5.4vw, 82px); font-weight:300; letter-spacing:-.066em; line-height:.93; }
.nd-hero__copy .display em { color:var(--accent); font-style:normal; }
.nd-hero__lead { max-width:550px; margin: 26px 0 0; color:rgb(var(--white-rgb) / .74); font-size:16px; line-height:1.72; }
.nd-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap: 20px; margin-top: 36px; }
.nd-hero__actions .button { box-shadow: 0 12px 22px rgb(var(--ink-rgb) / .14); }
.nd-hero__caption { display:flex; align-items:center; justify-content:space-between; gap:20px; max-width: 550px; margin-top:44px; padding-top:18px; border-top:1px solid rgb(var(--white-rgb) / .14); color:rgb(var(--white-rgb) / .62); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.nd-hero__dots { display:flex; gap:6px; }
.nd-hero__dots i { width:7px; height:7px; border-radius:50%; background:rgb(var(--white-rgb) / .28); transition:.25s; }
.nd-hero__dots i.is-active { width: 23px; border-radius:99px; background: var(--nd-orange); }
.nd-hero__frame { position:relative; overflow:hidden; border:1px solid rgb(var(--white-rgb) / .2); border-radius: 28px; background:rgb(var(--white-rgb) / .06); box-shadow:0 26px 55px rgb(var(--ink-rgb) / .28); }
.nd-hero__carousel { position:relative; aspect-ratio: 1.05 / 1; min-height: 360px; }
.nd-hero__slide { position:absolute; inset:0; margin:0; opacity:0; transform:scale(1.06); transition:opacity .75s ease, transform 1.15s ease; }
.nd-hero__slide.is-active { opacity:1; transform:scale(1); }
.nd-hero__slide::after { position:absolute; inset:0; content:''; background:linear-gradient(180deg, transparent 45%, rgb(var(--ink-rgb) / .28)); }
.nd-hero__slide img { width:100%; height:100%; object-fit:cover; display:block; }
.nd-hero__slide--blueprint { background:var(--surface-tint); }
.nd-hero__frame-tag { position:absolute; z-index:2; left: 18px; bottom:18px; padding:11px 13px; border:1px solid rgb(var(--white-rgb) / .20); border-radius:12px; color:var(--white); background:rgb(var(--ink-rgb) / .68); font-size:11px; font-weight:700; line-height:1.35; backdrop-filter: blur(12px); }
.nd-hero__frame-tag span { display:block; margin-top:2px; color:rgb(var(--white-rgb) / .62); font-size:9px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.nd-hero__count { margin-top:14px; color:rgb(var(--white-rgb) / .6); font-size:11px; font-weight:700; letter-spacing:.16em; text-align:right; text-transform:uppercase; }
.nd-hero__metrics { padding:26px; border:1px solid rgb(var(--white-rgb) / .15); border-radius:24px; background:rgb(var(--ink-rgb) / .64); box-shadow:0 18px 38px rgb(var(--ink-rgb) / .18); backdrop-filter:blur(18px); }
.nd-hero__metrics > p { margin:0 0 18px; color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.nd-hero__metrics > div { display:grid; gap:4px; padding:16px 0; border-top:1px solid rgb(var(--white-rgb) / .12); }
.nd-hero__metrics strong { font-size:32px; font-weight:700; letter-spacing:-.05em; line-height:1; }
.nd-hero__metrics span { color:rgb(var(--white-rgb) / .66); font-size:12px; line-height:1.35; }
.nd-hero__metrics .nd-text-link { margin-top:19px; }

/* Proof */
.nd-proof { padding-bottom: 78px; }
.nd-proof__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; border:1px solid var(--nd-line); border-radius:22px; overflow:hidden; background:var(--nd-line); box-shadow:0 14px 32px rgb(var(--ink-rgb) / .06); }
.nd-proof__grid > div { min-height:128px; padding:25px; background:var(--nd-paper); }
.nd-proof__grid b { display:block; color:var(--nd-ink); font-size:27px; letter-spacing:-.045em; line-height:1; }
.nd-proof__grid span { display:block; max-width:180px; margin-top:9px; color:var(--ink-soft); font-size:11px; font-weight:700; line-height:1.45; }

/* Strategy */
.nd-strategy { padding-bottom: 134px; }
.nd-strategy__head { display:flex; align-items:end; justify-content:space-between; gap:70px; }
.nd-strategy__head .title { max-width:670px; margin:0; }
.nd-strategy__layout { display:grid; grid-template-columns: minmax(260px,.68fr) minmax(0,1.32fr); gap:28px; align-items:start; margin-top:56px; }
.nd-process { display:grid; gap:9px; }
.nd-process__item { display:grid; grid-template-columns:36px 1fr 18px; align-items:center; gap:13px; width:100%; min-height:74px; padding:15px 16px; border:1px solid var(--nd-line); border-radius:16px; color:var(--nd-ink); background:rgb(var(--white-rgb) / .82); box-shadow:0 8px 20px rgb(var(--ink-rgb) / .04); text-align:left; transition:transform .26s ease, box-shadow .26s ease, background .26s ease, color .26s ease; }
.nd-process__item:hover { transform:translateX(5px); box-shadow:0 15px 30px rgb(var(--ink-rgb) / .09); }
.nd-process__item span { display:grid; width:32px; height:32px; place-items:center; border:1px solid rgb(var(--ink-rgb) / .16); border-radius:50%; color:var(--nd-orange); font-size:10px; font-weight:700; }
.nd-process__item b { font-size:14px; font-weight:700; line-height:1.2; }
.nd-process__item i { color:var(--nd-orange); font-size:19px; font-style:normal; transition:transform .25s ease; }
.nd-process__item:hover i,.nd-process__item.is-active i { transform:translate(3px,-3px); }
.nd-process__item.is-active { border-color:transparent; color:var(--white); background:var(--nd-ink); box-shadow:0 16px 32px rgb(var(--ink-rgb) / .16); }
.nd-process__item.is-active span { border-color:rgb(var(--white-rgb) / .26); color:var(--accent); }
.nd-process-panel { position:relative; overflow:hidden; min-height:420px; padding:34px; border:1px solid rgb(var(--ink-rgb) / .10); border-radius:28px; background:linear-gradient(135deg, var(--surface-tint), var(--white) 58%); box-shadow:0 22px 48px rgb(var(--ink-rgb) / .08); }
.nd-process-panel::after { position:absolute; right:-80px; bottom:-110px; width:330px; height:330px; border-radius:50%; background:radial-gradient(circle, rgb(var(--accent-rgb) / .24), rgb(var(--accent-rgb) / .05) 44%, transparent 70%); content:''; filter:blur(8px); }
.nd-process-panel__top { position:relative; z-index:1; display:flex; align-items:center; gap:9px; color:var(--nd-orange); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.nd-process-panel__pulse { width:8px; height:8px; border-radius:50%; background:var(--nd-orange); box-shadow:0 0 0 0 rgb(var(--accent-rgb) / .45); animation:ndPulse 1.7s infinite; }
.nd-process-panel__body { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(210px,.85fr); gap:26px; align-items:start; margin-top:26px; }
.nd-process-panel h3 { margin:0; font-size:34px; font-weight:400; letter-spacing:-.05em; line-height:1; }
.nd-process-panel p[data-process-desc] { margin:15px 0 0; color:var(--ink-soft); font-size:14px; line-height:1.65; }
.nd-process-panel ol { display:grid; gap:8px; margin:22px 0 0; padding:0; list-style:none; counter-reset:ndstep; }
.nd-process-panel li { position:relative; padding-left:25px; color:var(--ink-soft); font-size:12px; line-height:1.4; }
.nd-process-panel li::before { position:absolute; left:0; top:-1px; color:var(--nd-orange); content:counter(ndstep, decimal-leading-zero); counter-increment:ndstep; font-size:10px; font-weight:700; }
.nd-process-panel__visual { position:relative; min-height:290px; overflow:hidden; border:1px solid rgb(var(--ink-rgb) / .08); border-radius:20px; background:rgb(var(--white-rgb) / .5); }
.nd-process-panel__visual img { width:100%; height:100%; object-fit:cover; display:block; opacity:.9; }
.nd-process-panel__line { position:absolute; right:18px; bottom:18px; left:18px; height:4px; overflow:hidden; border-radius:99px; background:rgb(var(--ink-rgb) / .12); }
.nd-process-panel__line i { display:block; width:65%; height:100%; border-radius:inherit; background:linear-gradient(90deg, var(--nd-orange), var(--accent)); transition:width 1.8s ease; }
.nd-process-panel.is-working .nd-process-panel__line i { width:93%; }
@keyframes ndPulse { 0% { box-shadow:0 0 0 0 rgb(var(--accent-rgb) / .5) } 75%,100% { box-shadow:0 0 0 12px rgb(var(--accent-rgb) / 0) } }

/* Cases */
.nd-cases { padding-bottom:132px; }
.nd-cases__head { display:flex; align-items:end; justify-content:space-between; gap:30px; }
.nd-cases__head .title { margin:0; }
.nd-cases__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:48px; }
.nd-case-card { display:grid; grid-template-columns: minmax(210px,.9fr) minmax(0,1.1fr); min-height:350px; overflow:hidden; border:1px solid rgb(var(--ink-rgb) / .09); border-radius:28px; background:var(--white); box-shadow:0 17px 36px rgb(var(--ink-rgb) / .07); transition:transform .28s ease, box-shadow .28s ease; }
.nd-case-card:hover { transform:translateY(-8px); box-shadow:0 25px 48px rgb(var(--ink-rgb) / .13); }
.nd-case-card__image { overflow:hidden; }
.nd-case-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.nd-case-card:hover .nd-case-card__image img { transform:scale(1.06); }
.nd-case-card__body { display:flex; flex-direction:column; padding:28px; }
.nd-case-card__body p { margin:0; color:var(--nd-orange); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.nd-case-card__body h3 { margin:13px 0 0; font-size:30px; font-weight:400; letter-spacing:-.05em; line-height:1.02; }
.nd-case-card__body span { margin-top:18px; color:var(--ink-soft); font-size:13px; line-height:1.5; }
.nd-case-card__body b { margin-top:15px; color:var(--nd-ink); font-size:42px; letter-spacing:-.06em; line-height:1; }
.nd-case-card__body .nd-text-link { margin-top:auto; padding-top:20px; }

/* Dark ownership section */
.nd-ownership { padding-bottom:140px; }
.nd-ownership__grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr); gap:75px; align-items:center; }
.nd-ownership .eyebrow { color:var(--accent); }
.nd-ownership__copy .title { margin:0; color:var(--white); }
.nd-ownership__copy .title em { color:var(--accent); font-style:normal; }
.nd-ownership__copy > p:not(.eyebrow) { max-width:540px; margin:25px 0 0; color:rgb(var(--white-rgb) / .68); font-size:15px; line-height:1.74; }
.nd-ownership__points { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:38px 0; }
.nd-ownership__points > div { padding:16px 0; border-top:1px solid rgb(var(--white-rgb) / .16); }
.nd-ownership__points b { display:block; color:var(--white); font-size:13px; }
.nd-ownership__points span { display:block; margin-top:7px; color:rgb(var(--white-rgb) / .54); font-size:11px; line-height:1.45; }
.nd-ownership__visual { position:relative; min-height:490px; overflow:hidden; border:1px solid rgb(var(--white-rgb) / .13); border-radius:32px; background:rgb(var(--white-rgb) / .04); box-shadow:0 28px 60px rgb(var(--ink-rgb) / .22); }
.nd-ownership__visual::after { position:absolute; inset:0; content:''; background:linear-gradient(150deg, rgb(var(--ink-rgb) / .12), rgb(var(--ink-rgb) / .56)); }
.nd-ownership__visual img { width:100%; height:100%; object-fit:cover; display:block; opacity:.94; }
.nd-ownership__note { position:absolute; z-index:2; right:22px; bottom:22px; left:22px; padding:18px 20px; border-left:2px solid var(--nd-orange); background:rgb(var(--ink-rgb) / .76); backdrop-filter:blur(12px); }
.nd-ownership__note span { display:block; color:var(--accent); font-size:10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.nd-ownership__note b { display:block; margin-top:6px; color:var(--white); font-size:14px; line-height:1.35; }

/* Tools section */
.nd-tools { padding-bottom:130px; }
.nd-tools__grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:44px; align-items:start; }
.nd-calculator > p:not(.eyebrow) { max-width:460px; margin:20px 0 0; color:var(--ink-soft); font-size:15px; line-height:1.68; }
.nd-calculator__card { position:relative; display:grid; grid-template-columns:repeat(3, minmax(0,1fr)) 180px; gap:1px; margin:28px 0 24px; overflow:hidden; border:1px solid var(--nd-line); border-radius:22px; background:var(--nd-line); box-shadow:0 18px 38px rgb(var(--ink-rgb) / .06); }
.nd-calculator__card > div { min-height:122px; padding:18px; background:var(--white); }
.nd-calculator__card span { display:block; color:var(--ink-soft); font-size:10px; font-weight:700; line-height:1.35; }
.nd-calculator__card b { display:block; margin-top:13px; color:var(--nd-ink); font-size:19px; letter-spacing:-.03em; }
.nd-calculator__card aside { display:grid; align-content:center; gap:9px; padding:20px; color:var(--ink); background:var(--white); }
.nd-calculator__card aside span { color:rgb(var(--white-rgb) / .58); }
.nd-calculator__card aside strong { font-size:30px; letter-spacing:-.05em; }
.nd-calculator__card aside small { color:var(--accent); font-size:13px; font-weight:700; }
.nd-faq__head h2 { max-width:550px; margin:0; font-size:clamp(38px,3.8vw,58px); font-weight:400; letter-spacing:-.055em; line-height:.97; }
.nd-faq__head h2 em { color:var(--nd-orange); font-style:normal; }
.nd-faq__layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:20px; align-items:end; margin-top:26px; }
.nd-faq__wheel-stage { position:relative; display:grid; justify-items:center; min-height:282px; }
.nd-faq__pointer { position:absolute; z-index:4; top:-9px; left:50%; color:var(--nd-orange); font-size:28px; transform:translateX(-50%); }
.nd-faq__viewport { position:relative; width:245px; height:202px; overflow:hidden; border-radius:245px 245px 0 0; }
.nd-faq__wheel { position:absolute; top:35px; left:50%; width:315px; height:315px; border:10px solid var(--ink); border-radius:50%; background:conic-gradient(from 0deg,var(--accent) 0 12.5%,var(--surface-tint) 12.5% 25%,var(--ink) 25% 37.5%,var(--surface-tint) 37.5% 50%,var(--accent) 50% 62.5%,var(--surface-tint) 62.5% 75%,var(--ink) 75% 87.5%,var(--accent) 87.5% 100%); box-shadow:0 18px 40px rgb(var(--ink-rgb) / .22), inset 0 0 0 4px rgb(var(--white-rgb) / .34); transform:translateX(-50%) rotate(0deg); transition:transform .76s cubic-bezier(.2,.8,.2,1); }
.nd-faq__wheel::before { position:absolute; inset:16px; border:1px solid rgb(var(--white-rgb) / .45); border-radius:50%; content:''; }
.nd-faq__wheel::after { position:absolute; top:50%; left:50%; width:60px; height:60px; border:8px solid var(--ink); border-radius:50%; background:var(--surface-tint); box-shadow:0 0 0 5px rgb(var(--white-rgb) / .55); content:''; transform:translate(-50%,-50%); }
.nd-faq__wheel i { position:absolute; top:50%; left:50%; width:2px; height:143px; background:rgb(var(--ink-rgb) / .28); transform-origin:bottom center; }
.nd-faq__wheel i:nth-child(1) { transform:translate(-50%,-100%) rotate(0deg); }.nd-faq__wheel i:nth-child(2) { transform:translate(-50%,-100%) rotate(45deg); }.nd-faq__wheel i:nth-child(3) { transform:translate(-50%,-100%) rotate(90deg); }.nd-faq__wheel i:nth-child(4) { transform:translate(-50%,-100%) rotate(135deg); }.nd-faq__wheel i:nth-child(5) { transform:translate(-50%,-100%) rotate(180deg); }.nd-faq__wheel i:nth-child(6) { transform:translate(-50%,-100%) rotate(225deg); }.nd-faq__wheel i:nth-child(7) { transform:translate(-50%,-100%) rotate(270deg); }.nd-faq__wheel i:nth-child(8) { transform:translate(-50%,-100%) rotate(315deg); }
.nd-faq__wheel b { position:absolute; z-index:2; top:50%; left:50%; color:var(--nd-orange); font-size:22px; transform:translate(-50%,-58%); }
.nd-faq__controls { display:flex; align-items:center; gap:10px; margin-top:12px; color:var(--ink-soft); }
.nd-faq__controls button { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgb(var(--ink-rgb) / .14); border-radius:50%; color:var(--nd-ink); background:var(--white); font-size:16px; transition:.2s; }
.nd-faq__controls button:hover { color:var(--white); border-color:var(--nd-orange); background:var(--nd-orange); }
.nd-faq__controls small { margin-left:5px; font-size:9px; font-weight:700; }
.nd-faq__answer { position:relative; min-height:265px; padding:26px 28px; overflow:hidden; border:1px solid var(--nd-line); border-radius:24px; background:var(--white); box-shadow:0 18px 38px rgb(var(--ink-rgb) / .06); }
.nd-faq__answer::after { position:absolute; right:-50px; bottom:-58px; width:170px; height:170px; border-radius:50%; background:radial-gradient(circle, rgb(var(--accent-rgb) / .35), rgb(var(--accent-rgb) / .08) 48%, transparent 70%); content:''; filter:blur(8px); }
.nd-faq__answer > span { position:relative; z-index:1; color:rgb(var(--ink-rgb) / .44); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.nd-faq__answer p[data-faq-wheel-kicker] { position:relative; z-index:1; margin:27px 0 10px; color:var(--nd-orange); font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.nd-faq__answer h3 { position:relative; z-index:1; margin:0; color:var(--nd-ink); font-size:31px; font-weight:400; letter-spacing:-.05em; line-height:1.03; }
.nd-faq__answer div[data-faq-wheel-copy] { position:relative; z-index:1; margin-top:15px; color:var(--ink-soft); font-size:13px; line-height:1.65; }
.nd-faq__answer.is-changing h3,.nd-faq__answer.is-changing div[data-faq-wheel-copy],.nd-faq__answer.is-changing p[data-faq-wheel-kicker] { animation:ndAnswerIn .4s ease both; }
.nd-faq__dots { position:absolute; z-index:1; bottom:24px; left:28px; display:flex; gap:6px; }
.nd-faq__dots i { width:6px; height:6px; border-radius:50%; background:rgb(var(--ink-rgb) / .15); }
.nd-faq__dots i.is-active { width:22px; border-radius:99px; background:var(--nd-orange); }
.nd-faq__items { display:none; }
.nd-faq__cta { display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; margin-top:18px; padding:16px 18px; border:1px solid rgb(var(--ink-rgb) / .10); border-radius:16px; background:rgb(var(--white-rgb) / .58); }
.nd-faq__cta b { font-size:12px; }
.nd-faq__cta span { color:var(--ink-soft); font-size:11px; line-height:1.45; }
@keyframes ndAnswerIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

/* Final CTA */
.nd-final { padding-bottom:132px; }
.nd-final__grid { display:flex; align-items:end; justify-content:space-between; gap:45px; }
.nd-final .eyebrow { color:var(--accent); }
.nd-final .title { max-width:820px; margin:0; color:var(--white); }
.nd-final .title em { color:var(--accent); font-style:normal; }
.nd-final__action { display:grid; justify-items:start; gap:15px; min-width:260px; }
.nd-final__action span { max-width:250px; color:rgb(var(--white-rgb) / .55); font-size:12px; line-height:1.5; }

@media (max-width:1180px) {
  .site-header .header-inner { grid-template-columns:170px 1fr auto; gap:18px; }
  .site-header .site-nav { gap:13px; }
  .nd-hero__grid { grid-template-columns:minmax(0,1fr) minmax(340px,.9fr); }
  .nd-hero__metrics { grid-column:1 / -1; display:grid; grid-template-columns:auto repeat(3,1fr) auto; align-items:center; gap:16px; }
  .nd-hero__metrics > p { margin:0; }
  .nd-hero__metrics > div { padding:0 0 0 16px; border-top:0; border-left:1px solid rgb(var(--white-rgb) / .12); }
  .nd-hero__metrics .nd-text-link { margin:0; }
  .nd-proof__grid { grid-template-columns:repeat(2,1fr); }
  .nd-ownership__grid { grid-template-columns:1fr; gap:38px; }
  .nd-ownership__visual { min-height:390px; }
  .nd-tools__grid { grid-template-columns:1fr; }
}
@media (max-width:980px) {
  .site-header,.site-header.is-scrolled { top:12px; }
  .site-header .header-inner { min-height:60px; padding:7px 10px 7px 14px; border-radius:17px; grid-template-columns:1fr auto; }
  .site-header .brand { width:155px; }
  .site-header .header-actions { display:none; }
  .site-header .menu-toggle { display:block; border-color:rgb(var(--white-rgb) / .28); }
  .site-header .site-nav { top:calc(100% + 10px); right:0; left:0; padding:8px; border:1px solid rgb(var(--white-rgb) / .16); border-radius:17px; background:rgb(var(--ink-rgb) / .94); box-shadow:0 20px 42px rgb(var(--ink-rgb) / .22); backdrop-filter:blur(18px); }
  .site-header .site-nav .nav-link { padding:12px 13px; color:rgb(var(--white-rgb) / .76); }
  .nd-hero { min-height:auto; padding:135px 0 122px; }
  .nd-hero__grid { grid-template-columns:1fr; }
  .nd-hero__copy .display { max-width:780px; }
  .nd-hero__showcase { max-width:680px; }
  .nd-hero__metrics { grid-column:auto; display:grid; grid-template-columns:repeat(3,1fr); }
  .nd-hero__metrics > p, .nd-hero__metrics .nd-text-link { grid-column:1 / -1; }
  .nd-hero__metrics > div { padding:0; border-left:0; }
  .nd-strategy__head { display:grid; gap:23px; }
  .nd-strategy__layout { grid-template-columns:1fr; }
  .nd-cases__grid { grid-template-columns:1fr; }
  .nd-case-card { grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); }
  .nd-calculator__card { grid-template-columns:repeat(3,1fr); }
  .nd-calculator__card aside { grid-column:1 / -1; grid-template-columns:auto 1fr auto; align-items:center; }
  .nd-faq__layout { grid-template-columns:1fr; }
  .nd-faq__wheel-stage { justify-items:center; }
  .nd-faq__cta { grid-template-columns:1fr; }
  .nd-final__grid { display:grid; align-items:start; }
}
@media (max-width:620px) {
  .nd-curve { margin-top:-34px; padding-top:104px; }
  .nd-curve::before { top:-62px; height:128px; }
  .nd-curve::after { top:-52px; height:94px; }
  .nd-hero__copy .display { font-size:46px; }
  .nd-hero__lead { font-size:14px; }
  .nd-hero__actions { align-items:stretch; flex-direction:column; }
  .nd-hero__caption { align-items:flex-start; flex-direction:column; }
  .nd-hero__carousel { min-height:260px; }
  .nd-hero__metrics { grid-template-columns:1fr; }
  .nd-hero__metrics > div { padding:12px 0; border-top:1px solid rgb(var(--white-rgb) / .12); }
  .nd-proof__grid { grid-template-columns:1fr; }
  .nd-proof__grid > div { min-height:auto; }
  .nd-strategy__layout { margin-top:34px; }
  .nd-process-panel { padding:24px; }
  .nd-process-panel__body { grid-template-columns:1fr; }
  .nd-process-panel__visual { min-height:170px; }
  .nd-case-card { grid-template-columns:1fr; }
  .nd-case-card__image { min-height:230px; }
  .nd-ownership__points { grid-template-columns:1fr; }
  .nd-ownership__visual { min-height:300px; }
  .nd-calculator__card { grid-template-columns:1fr; }
  .nd-calculator__card aside { grid-column:auto; grid-template-columns:1fr; }
  .nd-faq__answer { min-height:280px; }
  .nd-faq__controls { flex-wrap:wrap; justify-content:center; }
  .nd-final .title { font-size:42px; }
}

/* Editorial page opening primitives */
.page-hero {
  min-height: 700px;
  background:
    radial-gradient(circle at 78% 22%, rgb(var(--accent-rgb) / .18), transparent 24%),
    linear-gradient(128deg, var(--ink) 0%, var(--ink) 54%, var(--ink) 100%);
}
.page-hero__image { inset: 0 0 0 48%; }
.page-hero__image::before {
  background:
    linear-gradient(90deg, var(--ink) 0%, rgb(var(--ink-rgb) / .9) 16%, rgb(var(--ink-rgb) / .42) 55%, rgb(var(--ink-rgb) / .10) 100%),
    linear-gradient(180deg, rgb(var(--ink-rgb) / .10), rgb(var(--ink-rgb) / .38));
}
.page-hero__inner {
  display: grid;
  min-height: 700px;
  grid-template-columns: minmax(0, 1.08fr) minmax(260px, .56fr);
  grid-template-rows: auto auto minmax(170px, 1fr);
  column-gap: clamp(38px, 7vw, 108px);
  align-items: end;
  padding: 142px 0 92px;
}
.page-hero__inner .breadcrumbs {
  grid-column: 1 / -1;
  align-self: start;
  margin: 0 0 20px;
  color: rgb(var(--white-rgb) / .58);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.page-hero__inner > .eyebrow {
  grid-column: 1;
  align-self: end;
  margin-bottom: 13px;
  color: var(--accent);
}
.page-hero__inner .display {
  grid-column: 1;
  grid-row: 3;
  max-width: 720px;
  margin: 0;
  font-size: clamp(45px, 5vw, 76px);
  font-weight: 300;
  letter-spacing: -.065em;
  line-height: .93;
}
.page-hero__inner .display em { color: var(--accent); font-style: normal; }
.page-hero__inner .lead {
  grid-column: 2;
  grid-row: 3;
  align-self: end;
  max-width: none;
  margin: 0 0 4px;
  padding: 20px 0 0 21px;
  border-top: 1px solid rgb(var(--white-rgb) / .28);
  border-left: 1px solid rgb(var(--accent-rgb) / .72);
  color: rgb(var(--white-rgb) / .78);
  font-size: 14px;
  line-height: 1.7;
}
.page-hero__badge {
  z-index: 3;
  right: max(4vw, 48px);
  bottom: 38px;
  width: 220px;
  padding: 18px 19px;
  border-color: rgb(var(--white-rgb) / .18);
  border-radius: 18px;
  background: rgb(var(--ink-rgb) / .60);
  box-shadow: 0 20px 40px rgb(var(--ink-rgb) / .14);
}
.page-hero__badge b {
  color: var(--accent);
  font-family: 'FindSans Pro', Inter, Arial, sans-serif;
  font-size: 34px;
  font-weight: 700;
}
.page-hero__badge span { font-size: 11px; line-height: 1.45; }

.page-hero__insight {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  justify-self: stretch;
  margin: 0 0 20px;
  padding: 17px 18px 14px;
  border: 1px solid rgb(var(--white-rgb) / .16);
  border-radius: 19px;
  color: var(--white);
  background: rgb(var(--ink-rgb) / .56);
  box-shadow: 0 14px 30px rgb(var(--ink-rgb) / .14);
  backdrop-filter: blur(15px) saturate(120%);
}
.page-hero__insight-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.page-hero__insight-flag { color: var(--accent); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.page-hero__insight-title { display: block; margin-top: 13px; font-size: 17px; font-weight: 400; line-height: 1.17; letter-spacing: -.025em; }
.page-hero__insight > p { margin: 8px 0 0; color: rgb(var(--white-rgb) / .66); font-size: 11px; line-height: 1.52; }
.page-hero__spark { display: flex; align-items: end; gap: 3px; height: 20px; }
.page-hero__spark i { width: 3px; border-radius: 99px; background: var(--accent); transform-origin: bottom; animation: investorSpark 1.8s ease-in-out infinite; }
.page-hero__spark i:nth-child(1) { height: 7px; animation-delay: -.45s; }
.page-hero__spark i:nth-child(2) { height: 14px; animation-delay: -.25s; }
.page-hero__spark i:nth-child(3) { height: 10px; animation-delay: -.8s; }
.page-hero__spark i:nth-child(4) { height: 18px; animation-delay: -.1s; }
.page-hero__spark i:nth-child(5) { height: 12px; animation-delay: -.6s; }
.page-hero__tip,
.nd-hero__tip {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  margin-top: 14px;
  padding: 0;
  border: 0;
  color: rgb(var(--white-rgb) / .68);
  background: transparent;
  font: inherit;
  font-size: 10px;
  line-height: 1.48;
  text-align: left;
  cursor: pointer;
  transition: color .22s ease, transform .22s ease;
}
.page-hero__tip { padding-top: 12px; border-top: 1px solid rgb(var(--white-rgb) / .12); }
.page-hero__tip:hover,
.nd-hero__tip:hover { color: var(--white); transform: translateX(2px); }
.page-hero__tip-icon,
.nd-hero__tip-icon { flex: 0 0 auto; color: var(--accent); font-size: 13px; line-height: 1; }
.page-hero__tip.is-changing [data-investor-tip-text],
.nd-hero__tip.is-changing [data-investor-tip-text] { animation: investorTipIn .34s ease both; }

/* FAQ opening uses the same editorial composition */
.faq-wheel-hero {
  min-height: 620px;
  padding: 0;
  background:
    radial-gradient(circle at 74% 26%, rgb(var(--accent-rgb) / .22), transparent 20%),
    linear-gradient(130deg, var(--ink), var(--ink) 62%, var(--ink));
}
.faq-wheel-hero__inner {
  display: grid;
  min-height: 620px;
  grid-template-columns: minmax(0, 1.1fr) minmax(270px,.56fr);
  grid-template-rows: auto auto 1fr;
  column-gap: clamp(38px, 7vw, 108px);
  align-items: end;
  padding: 143px 0 84px;
}
.faq-wheel-hero__inner > .eyebrow { grid-column: 1; grid-row: 2; align-self: end; color: var(--accent); }
.faq-wheel-hero__inner .display { grid-column: 1; grid-row: 3; max-width: 730px; margin: 0; font-size: clamp(46px, 5vw, 76px); font-weight: 300; line-height: .93; letter-spacing: -.065em; }
.faq-wheel-hero__inner .display em { color: var(--accent); font-style: normal; }
.faq-wheel-hero__inner > .lead { grid-column: 2; grid-row: 3; align-self: end; max-width: none; margin: 0 0 4px; padding: 20px 0 0 21px; border-top: 1px solid rgb(var(--white-rgb) / .28); border-left: 1px solid rgb(var(--accent-rgb) / .72); color: rgb(var(--white-rgb) / .78); font-size: 14px; line-height:1.7; }
.faq-wheel-hero__insight { grid-column:2; grid-row:2; align-self:end; margin:0 0 20px; }

/* compact micro-note on the home hero */
.nd-hero__tip {
  max-width: 550px;
  margin-top: 12px;
  padding: 11px 13px;
  border: 1px solid rgb(var(--white-rgb) / .12);
  border-radius: 12px;
  background: rgb(var(--white-rgb) / .045);
  backdrop-filter: blur(8px);
}
.nd-hero__tip:hover { border-color: rgb(var(--accent-rgb) / .5); }

@keyframes investorSpark {
  0%, 100% { transform: scaleY(.56); opacity: .55; }
  50% { transform: scaleY(1.08); opacity: 1; }
}
@keyframes investorTipIn {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 980px) {
  .page-hero { min-height: 680px; }
  .page-hero__image { inset: 0; }
  .page-hero__inner,
  .faq-wheel-hero__inner {
    min-height: 680px;
    grid-template-columns: minmax(0,1fr) minmax(235px,.6fr);
    column-gap: 30px;
    padding-top: 124px;
  }
  .faq-wheel-hero__inner { min-height: 610px; }
  .page-hero__inner .display,
  .faq-wheel-hero__inner .display { font-size: clamp(42px, 6vw, 62px); }
  .page-hero__insight { margin-bottom: 16px; }
}
@media (max-width: 720px) {
  .page-hero { min-height: auto; }
  .page-hero__inner,
  .faq-wheel-hero__inner {
    display: grid;
    min-height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 16px;
    padding: 124px 0 92px;
  }
  .faq-wheel-hero__inner { padding-bottom: 82px; }
  .page-hero__inner .breadcrumbs { grid-column: 1; margin-bottom: 2px; }
  .page-hero__inner > .eyebrow,
  .page-hero__inner .display,
  .page-hero__inner .lead,
  .page-hero__insight,
  .faq-wheel-hero__inner > .eyebrow,
  .faq-wheel-hero__inner .display,
  .faq-wheel-hero__inner > .lead,
  .faq-wheel-hero__insight { grid-column: 1; grid-row: auto; }
  .page-hero__inner .lead,
  .faq-wheel-hero__inner > .lead { padding: 16px 0 0 16px; }
  .page-hero__insight,
  .faq-wheel-hero__insight { margin: 4px 0 0; }
  .page-hero__badge { display: none; }
  .page-hero__inner .display,
  .faq-wheel-hero__inner .display { font-size: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-hero__spark i { animation: none; }
}


/* Opening typography primitives */
/* Keep FindSans Pro as the full visual voice of hero typography. */
.opening,
.opening *,
.nd-hero,
.nd-hero * {
  font-family: 'FindSans Pro', Inter, Arial, sans-serif;
}

.opening {
  position: relative;
  overflow: hidden;
  min-height: 720px;
  padding: 148px 0 108px;
  color: var(--white);
  background:
    radial-gradient(circle at 82% 22%, rgb(var(--accent-rgb) / .23), transparent 20%),
    radial-gradient(circle at 18% 78%, rgb(var(--ink-rgb) / .09), transparent 28%),
    linear-gradient(128deg, var(--opening-deep) 0%, var(--opening-mid) 54%, var(--ink) 100%);
}
.opening::before {
  position: absolute;
  inset: 0;
  content: '';
  pointer-events: none;
  opacity: .56;
  background-image: radial-gradient(rgb(var(--white-rgb) / .16) .75px, transparent .9px);
  background-size: 7px 7px;
  mask-image: linear-gradient(90deg, var(--ink) 0%, rgb(var(--ink-rgb) / .5) 49%, transparent 88%);
}
.opening::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 86px;
  content: '';
  background: var(--opening-paper);
  clip-path: polygon(0 72%, 9% 62%, 22% 70%, 36% 56%, 48% 67%, 61% 57%, 75% 70%, 88% 54%, 100% 65%, 100% 100%, 0 100%);
}
.opening--company::after,
.opening--calculator::after,
.opening--contacts::after,
.opening--privacy::after { background: var(--white); }
.opening--cases::after,
.opening--studio::after,
.opening--office::after { background: var(--surface-tint); }
.opening--management::after { background: var(--surface-tint); }
.opening__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(300px, .72fr) minmax(220px, .48fr);
  gap: clamp(24px, 3.4vw, 56px);
  align-items: center;
}
.opening__copy { max-width: 640px; }
.opening__crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 38px;
  color: rgb(var(--white-rgb) / .52);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.opening__crumbs a { color: rgb(var(--white-rgb) / .72); transition: color .2s ease; }
.opening__crumbs a:hover { color: var(--white); }
.opening__crumbs i { color: var(--opening-orange); font-style: normal; }
.opening__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  color: var(--opening-orange);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1;
  text-transform: uppercase;
}
.opening__eyebrow::before { width: 30px; height: 1px; background: currentColor; content: ''; }
.opening__title {
  max-width: 640px;
  margin: 0;
  color: var(--white);
  font-size: clamp(46px, 5.4vw, 78px);
  font-weight: 300;
  letter-spacing: -.072em;
  line-height: .91;
}
.opening__title em { color: var(--opening-orange); font-style: normal; }
.opening__lead {
  max-width: 520px;
  margin: 24px 0 0;
  color: rgb(var(--white-rgb) / .75);
  font-size: 15px;
  line-height: 1.68;
}
.opening__note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  width: min(100%, 520px);
  margin-top: 28px;
  padding: 12px 14px;
  border: 1px solid rgb(var(--white-rgb) / .12);
  border-radius: 13px;
  color: rgb(var(--white-rgb) / .68);
  background: rgb(var(--white-rgb) / .045);
  box-shadow: inset 0 1px 0 rgb(var(--white-rgb) / .04);
  backdrop-filter: blur(12px);
  font-size: 10px;
  line-height: 1.48;
  text-align: left;
  cursor: pointer;
  transition: border-color .22s ease, background .22s ease, transform .22s ease, color .22s ease;
}
.opening__note:hover { border-color: rgb(var(--accent-rgb) / .6); color: var(--white); background: rgb(var(--white-rgb) / .075); transform: translateY(-2px); }
.opening__note-icon { color: var(--opening-orange); font-size: 13px; line-height: 1; }
.opening__visual { position: relative; padding-top: 26px; }
.opening__visual::before {
  position: absolute;
  top: 2px;
  right: -12px;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(var(--accent-rgb) / .40), rgb(var(--accent-rgb) / .10) 44%, transparent 70%);
  content: '';
  filter: blur(10px);
}
.opening__visual-frame {
  position: relative;
  z-index: 1;
  overflow: hidden;
  min-height: 330px;
  border: 1px solid rgb(var(--white-rgb) / .22);
  border-radius: 28px 28px 64px 28px;
  background: rgb(var(--white-rgb) / .06);
  box-shadow: 0 26px 58px rgb(var(--ink-rgb) / .23);
}
.opening__visual-frame::after {
  position: absolute;
  inset: 0;
  content: '';
  pointer-events: none;
  background: linear-gradient(155deg, rgb(var(--white-rgb) / .11), transparent 38%, rgb(var(--ink-rgb) / .23));
}
.opening__visual-frame img { width: 100%; height: 100%; min-height: 330px; object-fit: cover; display: block; }
.opening--company .opening__visual-frame img,
.opening--investors .opening__visual-frame img,
.opening--management .opening__visual-frame img,
.opening--calculator .opening__visual-frame img,
.opening--contacts .opening__visual-frame img {
  padding: 20px;
  object-fit: contain;
  background: linear-gradient(135deg, var(--surface-tint), var(--surface-tint));
}
.opening--privacy .opening__visual-frame img { object-position: center; }
.opening__visual-tag {
  position: absolute;
  z-index: 2;
  right: 16px;
  bottom: 16px;
  max-width: 174px;
  padding: 10px 12px;
  border: 1px solid rgb(var(--white-rgb) / .16);
  border-radius: 12px;
  color: rgb(var(--white-rgb) / .78);
  background: rgb(var(--ink-rgb) / .72);
  backdrop-filter: blur(11px);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}
.opening__metrics {
  align-self: center;
  padding: 20px 20px 17px;
  border: 1px solid rgb(var(--white-rgb) / .14);
  border-radius: 20px;
  background: rgb(var(--ink-rgb) / .50);
  box-shadow: 0 22px 46px rgb(var(--ink-rgb) / .18);
  backdrop-filter: blur(16px) saturate(120%);
}
.opening__metrics > p {
  margin: 0 0 14px;
  color: var(--opening-orange);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.opening__metric { display: grid; gap: 4px; padding: 14px 0; border-top: 1px solid rgb(var(--white-rgb) / .12); }
.opening__metric b { color: var(--white); font-size: 25px; font-weight: 700; letter-spacing: -.055em; line-height: 1; }
.opening__metric span { color: rgb(var(--white-rgb) / .62); font-size: 10px; font-weight: 400; line-height: 1.38; }
.opening__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid rgb(var(--white-rgb) / .12);
  color: var(--white);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  transition: color .2s ease, transform .2s ease;
}
.opening__link svg { width: 16px; height: 16px; }
.opening__link:hover { color: var(--opening-orange); transform: translateX(2px); }

/* The home opening gets the same clean typesetting but keeps its photo rotation. */
.nd-hero__copy .display {
  font-family: 'FindSans Pro', Inter, Arial, sans-serif;
  font-weight: 300;
  letter-spacing: -.075em;
  line-height: .88;
}
.nd-hero__copy .display > br { display: block; }
.nd-hero__copy .display em { color: var(--nd-orange); font-style: normal; }
.nd-hero__lead { max-width: 475px; font-size: 14px; line-height: 1.65; }
.nd-hero__context {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 16px;
  margin: 20px 0 0;
  color: rgb(var(--white-rgb) / .55);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.nd-hero__context span { display: inline-flex; align-items: center; gap: 7px; }
.nd-hero__context span::before { width: 5px; height: 5px; border-radius: 50%; background: var(--nd-orange); content: ''; }

/* Visually stable answer strip on FAQ, without a harsh white bar. */
.faq-quick-strip {
  color: var(--white);
  background: linear-gradient(135deg, var(--ink), var(--ink));
}
.faq-quick-strip p { color: rgb(var(--white-rgb) / .78); }
.faq-quick-strip__inner > span { background: rgb(var(--white-rgb) / .18); }
.faq-quick-strip .text-link { color: var(--white); }

@media (max-width: 1180px) {
  .opening { min-height: auto; padding: 140px 0 104px; }
  .opening__grid { grid-template-columns: minmax(0,1fr) minmax(270px,.75fr); }
  .opening__metrics { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .opening__metrics > p { grid-column: 1 / -1; margin-bottom: 0; }
  .opening__metric { padding: 0; border-top: 0; }
  .opening__link { grid-column: 1 / -1; margin-top: 0; }
}
@media (max-width: 780px) {
  .opening { padding: 128px 0 86px; }
  .opening::after { height: 62px; }
  .opening__grid { grid-template-columns: 1fr; gap: 26px; }
  .opening__crumbs { margin-bottom: 22px; }
  .opening__title { font-size: clamp(42px, 12vw, 59px); }
  .opening__lead { margin-top: 19px; font-size: 14px; }
  .opening__visual { max-width: 520px; width: 100%; }
  .opening__visual-frame, .opening__visual-frame img { min-height: 260px; }
  .opening__metrics { grid-column: auto; grid-template-columns: 1fr; padding: 18px; }
  .opening__metrics > p { grid-column: auto; }
  .opening__metric { padding: 12px 0; border-top: 1px solid rgb(var(--white-rgb) / .12); }
  .opening__link { grid-column: auto; }
  .nd-hero__copy .display { font-size: clamp(45px, 11vw, 61px); }
}
@media (prefers-reduced-motion: reduce) {
  .opening__note { transition: none; }
}

/* Stable hero composition */
.nd-hero,
.opening {
  --safe-copy-width: 470px;
}

.nd-hero {
  min-height: 740px;
  padding: 150px 0 118px;
}
.nd-hero__grid {
  grid-template-columns: minmax(0, 430px) minmax(310px, 390px) minmax(215px, 252px);
  justify-content: space-between;
  gap: clamp(28px, 3vw, 48px);
  align-items: center;
}
.nd-hero__copy,
.nd-hero__showcase,
.nd-hero__metrics,
.opening__copy,
.opening__visual,
.opening__metrics {
  min-width: 0;
}
.nd-hero__copy {
  max-width: 430px;
}
.nd-hero__copy .display {
  max-width: 430px;
  margin: 0;
  font-size: clamp(48px, 4.15vw, 66px);
  line-height: .92;
  letter-spacing: -.072em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.nd-hero__copy .display br { display: block; }
.nd-hero__lead {
  max-width: 420px;
  margin-top: 22px;
  font-size: 14px;
  line-height: 1.65;
}
.nd-hero__actions { margin-top: 28px; gap: 15px; }
.nd-hero__context { margin-top: 18px; }
.nd-hero__caption { max-width: 420px; margin-top: 28px; }
.nd-hero__tip { width: min(100%, 420px); margin-top: 13px; }
.nd-hero__carousel { min-height: 300px; aspect-ratio: 1.15 / 1; }
.nd-hero__metrics { padding: 22px 20px; }
.nd-hero__metrics > div { padding: 13px 0; }
.nd-hero__metrics strong { font-size: 28px; }
.nd-hero__metrics span { font-size: 11px; }

.opening {
  min-height: 660px;
  padding: 134px 0 96px;
}
.opening__grid {
  grid-template-columns: minmax(0, 470px) minmax(285px, 342px) minmax(205px, 238px);
  justify-content: space-between;
  gap: clamp(26px, 3vw, 48px);
  align-items: center;
}
.opening__copy { max-width: 470px; }
.opening__crumbs { margin-bottom: 26px; }
.opening__eyebrow { margin-bottom: 13px; }
.opening__title {
  max-width: 470px;
  margin: 0;
  font-size: clamp(44px, 4.35vw, 64px);
  line-height: .94;
  letter-spacing: -.068em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.opening__lead {
  max-width: 440px;
  margin-top: 19px;
  font-size: 14px;
  line-height: 1.62;
}
.opening__note {
  width: min(100%, 440px);
  margin-top: 20px;
  padding: 11px 13px;
  font-size: 10px;
}
.opening__visual {
  width: 100%;
  padding-top: 0;
  align-self: center;
}
.opening__visual-frame {
  min-height: 290px;
  aspect-ratio: 1.02 / 1;
  border-radius: 24px 24px 48px 24px;
}
.opening__visual-frame img { min-height: 290px; }
.opening__metrics {
  align-self: center;
  padding: 18px 18px 16px;
  border-radius: 18px;
}
.opening__metrics > p { margin-bottom: 10px; }
.opening__metric { padding: 11px 0; }
.opening__metric b { font-size: 23px; }
.opening__metric span { font-size: 10px; }
.opening__link { margin-top: 10px; padding-top: 12px; }

/* Never let medium laptop widths compress the headline under the media card. */
@media (max-width: 1320px) {
  .nd-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr);
    gap: 34px;
  }
  .nd-hero__copy { max-width: 520px; }
  .nd-hero__copy .display { max-width: 520px; font-size: clamp(48px, 5.1vw, 66px); }
  .nd-hero__lead,
  .nd-hero__caption,
  .nd-hero__tip { max-width: 500px; }
  .nd-hero__metrics {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: auto repeat(3, minmax(0,1fr)) auto;
    align-items: center;
    gap: 14px;
  }
  .nd-hero__metrics > p { margin: 0; }
  .nd-hero__metrics > div { padding: 0 0 0 14px; border-top: 0; border-left: 1px solid rgb(var(--white-rgb) / .12); }
  .nd-hero__metrics .nd-text-link { margin: 0; }

  .opening { min-height: auto; padding: 130px 0 92px; }
  .opening__grid { grid-template-columns: minmax(0, 1fr) minmax(290px, .74fr); gap: 34px; }
  .opening__copy { max-width: 520px; }
  .opening__title { max-width: 520px; font-size: clamp(44px, 5vw, 64px); }
  .opening__lead,
  .opening__note { max-width: 490px; }
  .opening__metrics {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr)) auto;
    gap: 14px;
    align-items: center;
  }
  .opening__metrics > p { grid-column: 1 / -1; }
  .opening__metric { padding: 0 0 0 14px; border-top: 0; border-left: 1px solid rgb(var(--white-rgb) / .12); }
  .opening__metric:first-of-type { padding-left: 0; border-left: 0; }
  .opening__link { grid-column: auto; margin: 0; }
}

@media (max-width: 820px) {
  .nd-hero { min-height: auto; padding: 126px 0 98px; }
  .nd-hero__grid { grid-template-columns: 1fr; gap: 25px; }
  .nd-hero__copy, .nd-hero__copy .display, .nd-hero__lead, .nd-hero__caption, .nd-hero__tip { max-width: 100%; }
  .nd-hero__copy .display { font-size: clamp(42px, 11vw, 58px); }
  .nd-hero__showcase { max-width: 560px; width: 100%; }
  .nd-hero__metrics { grid-column: auto; grid-template-columns: 1fr; align-items: stretch; }
  .nd-hero__metrics > div { padding: 12px 0; border-top: 1px solid rgb(var(--white-rgb) / .12); border-left: 0; }
  .nd-hero__metrics > p { margin-bottom: 6px; }
  .nd-hero__metrics .nd-text-link { margin-top: 3px; }

  .opening { padding: 122px 0 80px; }
  .opening__grid { grid-template-columns: 1fr; gap: 24px; }
  .opening__copy,
  .opening__title,
  .opening__lead,
  .opening__note { max-width: 100%; }
  .opening__title { font-size: clamp(41px, 10.5vw, 56px); }
  .opening__visual { max-width: 540px; }
  .opening__metrics { grid-column: auto; grid-template-columns: 1fr; }
  .opening__metric { padding: 12px 0; border-top: 1px solid rgb(var(--white-rgb) / .12); border-left: 0; }
  .opening__metric:first-of-type { border-top: 1px solid rgb(var(--white-rgb) / .12); }
}

/* Headline sizing is deliberately capped so long Russian words stay inside their own column. */
.nd-hero__grid {
  grid-template-columns: minmax(0, 520px) minmax(300px, 360px) minmax(210px, 240px);
}
.nd-hero__copy,
.nd-hero__copy .display { max-width: 520px; }
.nd-hero__copy .display {
  font-size: clamp(46px, 3.65vw, 56px);
  line-height: .94;
}
.nd-hero__lead,
.nd-hero__caption,
.nd-hero__tip { max-width: 500px; }
@media (max-width: 1320px) {
  .nd-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(315px, .78fr); }
  .nd-hero__copy,
  .nd-hero__copy .display { max-width: 540px; }
  .nd-hero__copy .display { font-size: clamp(46px, 4.6vw, 58px); }
}

/* === FAQ: classic gray edition (wheel removed) === */
body[data-page="FAQ"] {
  color: var(--ink);
  background: var(--surface-tint);
}
body[data-page="FAQ"] .site-header .header-inner,
body[data-page="FAQ"] .site-header.is-scrolled .header-inner {
  border-color: rgb(var(--white-rgb) / .22);
  background: rgb(var(--ink-rgb) / .78);
  box-shadow: 0 15px 34px rgb(var(--ink-rgb) / .14);
}
body[data-page="FAQ"] .site-header .header-cta,
body[data-page="FAQ"] .site-header.is-scrolled .header-cta {
  border-color: rgb(var(--white-rgb) / .30);
  color: var(--white);
  background: rgb(var(--white-rgb) / .07);
}
body[data-page="FAQ"] .site-header .header-cta:hover { color:var(--ink); background:var(--surface-tint); border-color:var(--surface-tint); }
body[data-page="FAQ"] .site-footer { background: var(--surface); }
body[data-page="FAQ"] .site-footer .text-link:hover { color: var(--surface-tint); }

.faq-classic-hero {
  position: relative;
  overflow: hidden;
  padding: 166px 0 112px;
  background:
    radial-gradient(circle at 83% 18%, rgb(var(--white-rgb) / .74), transparent 20%),
    radial-gradient(circle at 18% 74%, rgb(var(--ink-rgb) / .055), transparent 29%),
    linear-gradient(145deg, var(--surface-tint) 0%, var(--surface-tint) 54%, var(--surface-tint) 100%);
}
.faq-classic-hero::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 72px;
  content: '';
  background: var(--white);
  clip-path: polygon(0 65%, 12% 47%, 25% 60%, 40% 44%, 53% 60%, 67% 45%, 82% 58%, 100% 40%, 100% 100%, 0 100%);
}
.faq-classic-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(290px,.55fr);
  gap: clamp(40px, 11vw, 160px);
  align-items: end;
}
.faq-classic-hero__crumbs {
  display:flex;
  gap:8px;
  margin-bottom: 34px;
  color:var(--ink);
  font-size:11px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.faq-classic-hero__crumbs a { color:var(--ink); }
.faq-classic-hero__copy .eyebrow { margin-bottom: 20px; color:var(--ink); }
.faq-classic-hero__copy .eyebrow::before { background:var(--ink); }
.faq-classic-hero__copy h1 {
  max-width: 750px;
  margin: 0;
  color:var(--ink);
  font-family:'FindSans Pro', Inter, Arial, sans-serif;
  font-size: clamp(50px, 5.7vw, 82px);
  font-weight:300;
  letter-spacing:-.065em;
  line-height:.93;
}
.faq-classic-hero__copy h1 em { color:var(--ink); font-style:normal; }
.faq-classic-hero__copy > p:not(.eyebrow) {
  max-width: 610px;
  margin: 26px 0 0;
  color:var(--ink);
  font-size:16px;
  line-height:1.7;
}
.faq-classic-hero__chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }
.faq-classic-hero__chips span { padding:9px 12px; border:1px solid rgb(var(--ink-rgb) / .16); border-radius:999px; color:var(--ink); background:rgb(var(--white-rgb) / .42); font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.faq-classic-hero__note {
  padding: 29px;
  border: 1px solid rgb(var(--ink-rgb) / .15);
  border-radius: 24px;
  color:var(--surface-tint);
  background: linear-gradient(145deg, var(--ink), var(--ink));
  box-shadow: 0 21px 42px rgb(var(--ink-rgb) / .17);
}
.faq-classic-hero__note-label { color:rgb(var(--white-rgb) / .57); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.faq-classic-hero__note > p { margin:17px 0 0; font-size:22px; font-weight:300; line-height:1.18; letter-spacing:-.035em; }
.faq-classic-hero__note-stat { display:flex; align-items:end; gap:12px; margin-top:29px; padding-top:17px; border-top:1px solid rgb(var(--white-rgb) / .15); }
.faq-classic-hero__note-stat b { font-size:38px; font-weight:700; letter-spacing:-.06em; line-height:.9; }
.faq-classic-hero__note-stat span { max-width:110px; color:rgb(var(--white-rgb) / .62); font-size:10px; font-weight:700; line-height:1.35; text-transform:uppercase; }

.faq-classic-content { padding: 100px 0 112px; background:var(--white); }
.faq-classic-layout { display:grid; grid-template-columns: minmax(260px,.55fr) minmax(0,1.45fr); gap: clamp(42px, 10vw, 138px); align-items:start; }
.faq-classic-aside { position:sticky; top: 108px; padding: 5px 0; }
.faq-classic-aside .eyebrow { color:var(--ink); }
.faq-classic-aside .eyebrow::before { background:var(--ink); }
.faq-classic-aside h2 { max-width:350px; margin:0; color:var(--ink); font-size: clamp(34px,3.4vw,50px); font-weight:300; letter-spacing:-.055em; line-height:.98; }
.faq-classic-aside h2 em { color:var(--ink); font-style:normal; }
.faq-classic-aside > p:not(.eyebrow) { max-width:330px; margin:22px 0 0; color:var(--ink); font-size:14px; line-height:1.7; }
.faq-classic-aside__line { width:100%; max-width:320px; height:1px; margin:30px 0 22px; background:rgb(var(--ink-rgb) / .16); }
.faq-classic-aside__facts { display:grid; gap:15px; }
.faq-classic-aside__facts > div { display:grid; grid-template-columns: 28px 1fr; gap:10px; align-items:start; }
.faq-classic-aside__facts b { color:var(--ink); font-size:11px; letter-spacing:.05em; }
.faq-classic-aside__facts span { color:var(--ink); font-size:12px; line-height:1.45; }
.faq-classic-accordion { padding: 8px; border:1px solid rgb(var(--ink-rgb) / .10); border-radius:28px; background:var(--surface-tint); box-shadow:0 18px 36px rgb(var(--ink-rgb) / .07); }
.faq-gray-accordion { border:0; }
.faq-gray-accordion .accordion-item { margin-bottom:8px; border:1px solid rgb(var(--ink-rgb) / .11); border-radius:20px; overflow:hidden; background:var(--white); transition:background .22s ease, box-shadow .22s ease; }
.faq-gray-accordion .accordion-item:last-child { margin-bottom:0; }
.faq-gray-accordion .accordion-item.is-open { background:var(--white); box-shadow: 0 10px 20px rgb(var(--ink-rgb) / .06); }
.faq-gray-accordion .accordion-button { grid-template-columns: 1fr 42px; padding: 22px 22px 22px 24px; color:var(--ink); }
.faq-gray-accordion .accordion-button b { font-family:'FindSans Pro', Inter, Arial, sans-serif; font-size:18px; font-weight:400; letter-spacing:-.025em; }
.faq-gray-accordion .accordion-button span { width:34px; height:34px; border-color:rgb(var(--ink-rgb) / .19); color:var(--ink); font-size:21px; }
.faq-gray-accordion .accordion-item.is-open .accordion-button span { color:var(--white); background:var(--ink); border-color:var(--ink); }
.faq-gray-accordion .accordion-content p { max-width:700px; padding:0 78px 26px 24px; color:var(--ink); font-size:14px; line-height:1.7; }

.faq-classic-cta { position:relative; overflow:hidden; padding: 92px 0; color:var(--ink); background:linear-gradient(135deg,var(--surface),var(--surface-tint)); }
.faq-classic-cta::after { position:absolute; right:-110px; bottom:-130px; width:440px; height:440px; border:1px solid rgb(var(--white-rgb) / .10); border-radius:50%; box-shadow:0 0 0 55px rgb(var(--white-rgb) / .025), 0 0 0 110px rgb(var(--white-rgb) / .015); content:''; }
.faq-classic-cta__inner { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:32px; }
.faq-classic-cta .eyebrow { color:rgb(var(--white-rgb) / .52); }
.faq-classic-cta .eyebrow::before { background:currentColor; }
.faq-classic-cta h2 { max-width:700px; margin:0; font-size:clamp(36px,4vw,56px); font-weight:300; letter-spacing:-.055em; line-height:.98; }
.faq-classic-cta h2 em { color:var(--surface-tint); font-style:normal; }
.faq-classic-cta .button { color:var(--ink); background:var(--surface-tint); }
.faq-classic-cta .button:hover { background:var(--white); box-shadow:0 12px 24px rgb(var(--ink-rgb) / .14); }

/* Normal compact FAQ on the home page: same gray language, no wheel. */
.nd-faq-classic { padding: 34px; border:1px solid rgb(var(--ink-rgb) / .10); border-radius:28px; background:linear-gradient(145deg,var(--surface-tint),var(--surface-tint)); box-shadow:0 18px 36px rgb(var(--ink-rgb) / .08); }
.nd-faq-classic__head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; align-items:end; }
.nd-faq-classic__head .eyebrow { grid-column:1 / -1; margin-bottom:0; color:var(--ink); }
.nd-faq-classic__head .eyebrow::before { background:var(--ink); }
.nd-faq-classic__head h2 { max-width:410px; margin:0; color:var(--ink); font-size:36px; font-weight:300; letter-spacing:-.05em; line-height:1.02; }
.nd-faq-classic__head h2 em { color:var(--ink); font-style:normal; }
.nd-faq-classic__head .nd-text-link { color:var(--ink); }
.nd-faq-classic__cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:24px; }
.nd-faq-classic__card { display:grid; grid-template-columns:30px 1fr 16px; align-items:center; gap:10px; min-height:82px; padding:15px; border:1px solid rgb(var(--ink-rgb) / .10); border-radius:17px; color:var(--ink); background:rgb(var(--white-rgb) / .76); transition:transform .24s ease, background .24s ease, box-shadow .24s ease; }
.nd-faq-classic__card:hover { background:var(--white); box-shadow:0 10px 20px rgb(var(--ink-rgb) / .08); transform:translateY(-3px); }
.nd-faq-classic__card span { color:var(--ink-muted); font-size:10px; font-weight:700; }
.nd-faq-classic__card b { font-size:13px; font-weight:400; line-height:1.28; }
.nd-faq-classic__card i { color:var(--ink); font-size:16px; font-style:normal; }
.nd-faq-classic__footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; padding-top:16px; border-top:1px solid rgb(var(--ink-rgb) / .12); color:var(--ink); font-size:12px; }
.nd-faq-classic__footer .nd-text-link { color:var(--ink); }

@media (max-width: 940px) {
  .faq-classic-hero__grid,
  .faq-classic-layout { grid-template-columns:1fr; }
  .faq-classic-aside { position:static; }
  .faq-classic-hero__note { max-width:400px; }
}
@media (max-width: 680px) {
  .faq-classic-hero { padding:128px 0 86px; }
  .faq-classic-hero__copy h1 { font-size:45px; }
  .faq-classic-content { padding:72px 0 82px; }
  .faq-gray-accordion .accordion-button { padding:18px; grid-template-columns:1fr 36px; }
  .faq-gray-accordion .accordion-button b { font-size:16px; }
  .faq-gray-accordion .accordion-content p { padding:0 18px 21px; font-size:13px; }
  .faq-classic-cta { padding:72px 0; }
  .faq-classic-cta__inner { align-items:start; flex-direction:column; }
  .faq-classic-cta .button { width:100%; }
  .nd-faq-classic { padding:24px; }
  .nd-faq-classic__head { grid-template-columns:1fr; }
  .nd-faq-classic__cards { grid-template-columns:1fr; }
  .nd-faq-classic__footer { align-items:flex-start; flex-direction:column; }
}


/* Legacy color bridge */
body { color: var(--ink); background: var(--surface-tint); }
::selection { color: var(--white); background: var(--accent); }
.display em, .title em, .eyebrow, .text-link:hover { color: var(--accent); }
.section--cream, .section--paper, .section--soft, .calculator-band, .faq-classic-content,
.home-tools, .home-dual, .home-cases-band { background: var(--surface-tint); }
.section--orange { background: rgb(var(--accent-rgb) / .14); }
.section--dark, .story, .cta, .site-footer, .home-founder,
.home-investors, .faq-classic-cta, .faq-quick-strip { background: var(--surface); }
.button { color:var(--white); background:var(--accent); }
.button:hover { color:var(--white); background:var(--accent); box-shadow:0 12px 22px rgb(var(--accent-rgb) / .28); }
.button--light { color:var(--ink); background:var(--surface-tint); }
.button--outline { border-color:rgb(var(--surface-tint-rgb) / .7); color:var(--surface-tint); }
.button--outline:hover { color:var(--ink); background:var(--surface-tint); border-color:var(--surface-tint); }
.text-link { color:inherit; }
.site-header.is-scrolled,
.floating-header.is-scrolled .floating-header__shell { color:var(--ink); background:rgb(var(--surface-tint-rgb) / .94); border-color:rgb(var(--ink-rgb) / .18); }
.site-header.is-scrolled .nav-link, .floating-header.is-scrolled .nav-link { color:var(--ink-muted); }
.site-header.is-scrolled .nav-link:hover, .site-header.is-scrolled .nav-link.is-active,
.floating-header.is-scrolled .nav-link:hover, .floating-header.is-scrolled .nav-link.is-active { color:var(--ink); }
.site-header.is-scrolled .header-cta { color:var(--ink); background:rgb(var(--accent-rgb) / .18); }
.hero, .home-hero, .page-hero, .faq-atelier-hero, .faq-classic-cta { background:var(--surface); }
.hero::before, .home-hero__aurora { background:radial-gradient(circle at 72% 27%, rgb(var(--accent-rgb) / .23), transparent 25%), linear-gradient(110deg, rgb(var(--ink-rgb) / .90) 0%, rgb(var(--ink-rgb) / .70) 50%, rgb(var(--ink-rgb) / .18) 100%); }
.hero-media::before, .page-hero__image::before { background:linear-gradient(90deg,var(--surface) 0%,rgb(var(--surface-rgb) / .52) 46%,rgb(var(--surface-rgb) / .05) 100%); }
.hero-panel, .hero-case-panel, .page-hero__badge { background:rgb(var(--ink-rgb) / .82); border-color:rgb(var(--surface-tint-rgb) / .26); }
.hero-panel__value small, .chip::before { color:var(--ink-muted); }
.trust-strip { background:var(--ink); }
.trust-item { border-color:rgb(var(--surface-tint-rgb) / .16); }
.trust-item b { color:var(--accent); }
.service-card, .feature-card, .project-card, .story-card-neo, .narrative-card,
.process-card, .process-console, .calculator-panel, .home-calc__panel,
.nd-faq-classic, .faq-classic-accordion, .faq-gray-accordion .accordion-item,
.faq-classic-hero__chips span, .faq-classic-hero__note { border-color:rgb(var(--ink-rgb) / .18); }
.service-card, .feature-card, .project-card, .story-card-neo, .narrative-card,
.process-card, .process-console, .calculator-panel, .home-calc__panel,
.nd-faq-classic, .faq-classic-accordion, .faq-gray-accordion .accordion-item,
.home-calc__inputs label, .faq-classic-hero__chips span {
  background:var(--surface-tint);
  box-shadow:0 12px 26px rgb(var(--ink-rgb) / .10);
}
.process-card.is-active, .faq-gray-accordion .accordion-item.is-open,
.faq-gray-accordion .accordion-item.is-open .accordion-button span {
  color:var(--white); background:var(--ink); border-color:var(--ink);
}
.process-card.is-active small, .process-card.is-active span { color:rgb(var(--surface-tint-rgb) / .75); }
.process-console__illustration, .home-investors__visual, .story-visual--framed,
.case-hero-photo, .gallery-grid img, .home-hero__visual-frame, .home-founder__blueprint {
  background:var(--ink); border-color:rgb(var(--ink-rgb) / .42);
}
.process-console__illustration img, .home-investors__visual img, .story-visual--framed img,
.home-founder__blueprint img { filter:grayscale(.55) contrast(.92); }
.home-investors, .home-founder, .story, .cta { color:var(--white); }
.investor-benefits--compact .feature-card, .home-investors .feature-card { background:rgb(var(--surface-tint-rgb) / .10); border-color:rgb(var(--surface-tint-rgb) / .18); }
.investor-benefits--compact .feature-card p, .home-investors .feature-card p { color:rgb(var(--surface-tint-rgb) / .72); }
.home-calc__result, .fortune-answer, .faq-classic-hero__note { color:var(--ink); background:var(--white); }
.home-calc__result small, .fortune-answer__top, .fortune-answer > p[data-faq-wheel-copy] { color:rgb(var(--surface-tint-rgb) / .72); }
.fortune-answer--soft { color:var(--ink); background:var(--surface-tint); border-color:rgb(var(--ink-rgb) / .18); }
.fortune-answer--soft h3 { color:var(--ink); }
.fortune-answer--soft > p[data-faq-wheel-copy], .fortune-answer--soft .fortune-answer__top { color:var(--ink-muted); }
.fortune-wheel { border-color:var(--ink); background:conic-gradient(from 0deg,var(--accent) 0 12.5%,var(--surface-tint) 12.5% 25%,var(--ink-muted) 25% 37.5%,var(--surface-tint) 37.5% 50%,var(--accent) 50% 62.5%,var(--surface-tint) 62.5% 75%,var(--ink-muted) 75% 87.5%,var(--surface-tint) 87.5% 100%); }
.fortune-wheel::after { border-color:var(--ink); background:var(--surface-tint); }
.fortune-stage__pointer, .fortune-wheel b, .fortune-controls button:hover { color:var(--accent); }
.fortune-controls button { color:var(--ink); background:var(--surface-tint); border-color:rgb(var(--ink-rgb) / .25); }
.fortune-controls button:hover { background:var(--ink); }
.faq-classic-hero { background:linear-gradient(145deg,var(--surface-tint) 0%,var(--ink-muted) 100%); }
.faq-classic-hero::after { background:var(--surface-tint); }
.faq-classic-hero__copy h1, .faq-classic-aside h2, .faq-classic-aside__facts b,
.faq-gray-accordion .accordion-button, .nd-faq-classic__head h2, .nd-faq-classic__card { color:var(--ink); }
.faq-classic-hero__copy h1 em, .faq-classic-aside h2 em, .faq-gray-accordion .accordion-button span,
.nd-faq-classic__head h2 em { color:var(--accent); }
.faq-classic-hero__copy > p:not(.eyebrow), .faq-classic-aside > p:not(.eyebrow),
.faq-gray-accordion .accordion-content p, .nd-faq-classic__footer { color:var(--ink-muted); }
.faq-gray-accordion .accordion-item.is-open { background:var(--ink); }
.faq-gray-accordion .accordion-item.is-open .accordion-button b { color:var(--white); }
.faq-gray-accordion .accordion-item.is-open .accordion-content p { color:rgb(var(--surface-tint-rgb) / .76); }
.faq-gray-accordion .accordion-item.is-open .accordion-button span { background:var(--accent); border-color:var(--accent); }
.sand-transition--dark::before { background:linear-gradient(180deg,var(--surface-tint) 0%,var(--surface) 72%); }
.sand-transition--light::before { background:linear-gradient(180deg,var(--surface-tint) 0%,var(--ink-muted) 72%); }
.home-founder .eyebrow, .cta .eyebrow, .site-footer .footer-label { color:var(--accent); }
.home-contact-bar, .footer-bottom { border-color:rgb(var(--surface-tint-rgb) / .16); }
.home-contact-bar a, .home-contact-bar b, .site-footer a { color:var(--surface-tint); }
.home-contact-bar__label, .site-footer p, .footer-bottom { color:var(--ink-muted); }
input, textarea, select { color:var(--ink); background:var(--surface-tint); border-color:rgb(var(--ink-rgb) / .24); }
input:focus, textarea:focus, select:focus { outline-color:var(--accent); }
/* Make photos consistent with the light ivory-terracotta interface without destroying readability. */
.hero-slide img, .home-hero__slider img, .story-card-neo__media img, .case-image img,
.page-hero__image img, .case-hero-photo img { filter:grayscale(.22) contrast(.95); }

/* ============================================================
   STUDIO REDESIGN v7 — Premium Design Architect
   Полностью светлая инвестиционная дизайн-система с акцентными CTA-блоками.
   Задача слоя: заменить оранжево-серый визуальный язык на более дорогой,
   контрастный и консистентный, не ломая существующую HTML-архитектуру.
   ============================================================ */
:root {
  color-scheme: light;

  /* Core palette: ivory / terracotta / champagne */
  --ink: #0E1821;
  --ink-rgb: 14 24 33;
  --ink-2: #12222D;
  --ink-2-rgb: 18 34 45;
  --ink-soft: #46515C;
  --ink-muted: #63707A;
  --surface: #F7F3EA;
  --surface-rgb: 247 243 234;
  --surface-tint: #EEE5D6;
  --surface-tint-rgb: 238 229 214;
  --surface-raised: rgb(var(--white-rgb) / .74);
  --surface-solid: #FFFFFF;
  --surface-glass: rgb(var(--white-rgb) / .78);
  --white: #FFFFFF;
  --white-rgb: 255 255 255;

  --accent: #F36A10;
  --accent-rgb: 243 106 16;
  --accent-strong: #FF6500;
  --accent-strong-rgb: 255 101 0;
  --accent-hover: #EE8038;
  --accent-soft: #EEB792;
  --accent-soft-rgb: 238 183 146;
  --accent-soft-2: #FF924B;
  --accent-gold: #EEB792;
  --accent-gold-rgb: 238 183 146;
  --success: #2E6650;
  --warning: #8A5C00;
  --danger: #7B2D26;
  --danger-rgb: 123 45 38;
  --focus: #1F5EFF;
  --mask-solid: #000000;
  --mask-rgb: 0 0 0;

  /* Legacy aliases preserved for existing classes. */
  --paper: var(--surface);
  --paper-2: var(--surface-tint);
  --orange: var(--accent);
  --orange-dark: var(--accent-strong);
  --orange-pale: var(--accent-soft);
  --mint: var(--accent-gold);
  --sand: var(--surface-tint);
  --dark: var(--surface);
  --dark-deep: var(--surface);
  --dark-elev: var(--surface-solid);
  --ghost: rgb(var(--white-rgb) / .72);
  --outline: rgb(var(--ink-rgb) / .14);
  --soft: var(--surface-tint);
  --light: var(--surface);

  --nd-ink: var(--ink);
  --nd-deep: var(--surface);
  --nd-navy: var(--surface-tint);
  --nd-sand: var(--surface-tint);
  --nd-paper: var(--surface);
  --nd-paper-2: var(--surface-tint);
  --nd-cream: var(--surface);
  --nd-orange: var(--accent);
  --nd-gold: var(--accent-gold);
  --nd-line: rgb(var(--ink-rgb) / .13);
  --opening-deep: var(--surface);
  --opening-mid: var(--surface-tint);
  --opening-orange: var(--accent);
  --opening-paper: var(--surface-tint);
  --surface-dark: var(--surface);
  --surface-dark-2: var(--surface-tint);

  --company: var(--accent);
  --cases: var(--accent);
  --studio: var(--accent);
  --office: var(--accent);
  --calculator: var(--accent);
  --contacts: var(--accent);
  --management: var(--accent);
  --privacy: var(--accent);

  --line: rgb(var(--ink-rgb) / .13);
  --line-strong: rgb(var(--ink-rgb) / .24);
  --line-invert: rgb(var(--white-rgb) / .22);

  --font-display: 'FindSans Pro', Manrope, Inter, Arial, sans-serif;
  --font-body: 'FindSans Pro', Manrope, Inter, Arial, sans-serif;

  --text-xs: clamp(.74rem, .70rem + .11vw, .80rem);
  --text-sm: clamp(.86rem, .82rem + .15vw, .95rem);
  --text-md: clamp(1rem, .96rem + .18vw, 1.08rem);
  --text-lg: clamp(1.12rem, 1.05rem + .30vw, 1.28rem);
  --text-xl: clamp(1.36rem, 1.20rem + .65vw, 1.72rem);
  --text-2xl: clamp(1.75rem, 1.45rem + 1.28vw, 2.55rem);
  --text-3xl: clamp(2.35rem, 1.85rem + 2.15vw, 3.82rem);
  --text-display: clamp(3.15rem, 2.05rem + 5vw, 6.85rem);

  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 48px;
  --space-6: 64px;
  --space-7: 88px;
  --space-8: 120px;

  --radius-sm: 14px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --radius-xl: 42px;
  --radius-2xl: 56px;

  --shadow-sm: 0 10px 26px rgb(var(--ink-rgb) / .07);
  --shadow-md: 0 18px 48px rgb(var(--ink-rgb) / .11);
  --shadow-lg: 0 28px 80px rgb(var(--ink-rgb) / .16);
  --shadow-xl: 0 42px 110px rgb(var(--ink-rgb) / .22);
  --glow: 0 0 0 1px rgb(var(--accent-gold-rgb) / .18), 0 26px 90px rgb(var(--accent-rgb) / .22);

  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-spring: cubic-bezier(.22, 1.25, .36, 1);
  --container: min(1220px, calc(100vw - 48px));
}

html {
  scroll-padding-top: 110px;
  background: var(--surface);
}

body {
  color: var(--ink);
  background:
    radial-gradient(circle at 10% -10%, rgb(var(--accent-gold-rgb) / .28), transparent 34vw),
    radial-gradient(circle at 100% 16%, rgb(var(--ink-rgb) / .08), transparent 30vw),
    linear-gradient(180deg, var(--surface) 0%, var(--surface-tint) 100%);
  font-family: var(--font-body);
  font-size: var(--text-md);
  font-weight: 400;
  letter-spacing: -.012em;
  line-height: 1.68;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img { background-color: transparent; }
::selection { color: var(--white); background: var(--accent-strong); }

:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
  border-radius: 10px;
}

.container { width: var(--container); }

body::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  content: '';
  opacity: .42;
  background-image:
    linear-gradient(rgb(var(--ink-rgb) / .035) 1px, transparent 1px),
    linear-gradient(90deg, rgb(var(--ink-rgb) / .035) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(180deg, transparent, var(--mask-solid) 12%, var(--mask-solid) 78%, transparent);
}

.display,
.title,
.opening__title,
.faq-classic-hero__copy h1,
.faq-classic-aside h2,
.lead-form__top h2,
.modal-dialog h2 {
  color: inherit;
  font-family: var(--font-display);
  font-weight: 300;
  letter-spacing: clamp(-.075em, -.055em, -.045em);
  line-height: .94;
  text-wrap: balance;
}

.display { font-size: var(--text-display); }
.title { max-width: 760px; font-size: var(--text-3xl); }
.display em,
.title em,
.opening__title em,
.faq-classic-hero__copy h1 em,
.faq-classic-aside h2 em,
.nd-hero__copy .display em,
.nd-final .title em,
.nd-ownership__copy .title em,
.nd-faq-classic__head h2 em {
  color: var(--accent);
  font-style: normal;
}

.section--dark .title em,
.nd-hero__copy .display em,
.opening__title em,
.nd-final .title em,
.nd-ownership__copy .title em {
  color: var(--accent-gold);
}

.lead,
.section-lead,
.nd-section-lead,
.opening__lead,
.nd-hero__lead,
.split-intro__right,
.narrative-card p,
.story-card-neo__body p:not(.eyebrow),
.feature-card p,
.contact-card p,
.disclaimer,
.two-col-points p,
.bullet-rails p {
  color: var(--ink-soft);
  font-size: var(--text-md);
  line-height: 1.74;
}

.section--dark .lead,
.section--dark .section-lead,
.cta p,
.nd-final__action span,
.nd-ownership__copy > p:not(.eyebrow),
.nd-ownership__points span,
.site-footer p,
.footer-bottom,
.opening__lead,
.nd-hero__lead,
.faq-classic-cta p {
  color: rgb(var(--surface-rgb) / .76);
}

.eyebrow,
.opening__eyebrow {
  color: var(--accent);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1;
  text-transform: uppercase;
}
.eyebrow::before,
.opening__eyebrow::before { width: 34px; height: 1px; background: currentColor; }
.section--dark .eyebrow,
.nd-hero .eyebrow,
.opening__eyebrow,
.nd-final .eyebrow,
.nd-ownership .eyebrow,
.cta .eyebrow,
.site-footer .footer-label { color: var(--accent-gold); }

/* Header: floating, premium, always readable */
.site-header {
  position: fixed;
  z-index: 100;
  top: 18px;
  right: 0;
  left: 0;
  padding: 0;
  color: var(--ink);
  background: transparent;
  transition: transform .35s var(--ease-out), top .35s var(--ease-out);
}
.header-inner {
  min-height: 72px;
  padding: 10px 12px 10px 18px;
  border: 1px solid rgb(var(--ink-rgb) / .10);
  border-radius: 999px;
  background: rgb(var(--surface-rgb) / .84);
  box-shadow: 0 18px 42px rgb(var(--ink-rgb) / .10);
  backdrop-filter: blur(24px) saturate(130%);
  -webkit-backdrop-filter: blur(24px) saturate(130%);
  grid-template-columns: 190px minmax(0,1fr) auto;
}
.site-header.is-scrolled {
  top: 10px;
  padding: 0;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.site-header.is-scrolled .header-inner {
  min-height: 64px;
  background: rgb(var(--white-rgb) / .88);
  box-shadow: 0 18px 48px rgb(var(--ink-rgb) / .14);
}
.brand { width: 168px; }
.brand-mark { display: block; width: 100%; height: auto; filter: none; }
.site-nav { gap: clamp(10px, 1.55vw, 22px); }
.nav-link {
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.nav-link:hover,
.nav-link.is-active,
.site-header.is-scrolled .nav-link:hover,
.site-header.is-scrolled .nav-link.is-active { color: var(--ink); }
.nav-link::after {
  bottom: -9px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--accent-gold));
}
.header-phone {
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}
.header-cta {
  min-height: 44px;
  padding: 0 18px;
  color: var(--white);
  background: var(--ink);
}
.header-cta:hover,
.site-header.is-scrolled .header-cta:hover {
  color: var(--white);
  background: var(--accent-strong);
  box-shadow: 0 14px 28px rgb(var(--accent-rgb) / .24);
}
.site-header.is-scrolled .header-cta { color: var(--white); background: var(--ink); }
.menu-toggle {
  border-color: rgb(var(--ink-rgb) / .20);
  color: var(--ink);
  background: rgb(var(--white-rgb) / .50);
}

/* Buttons and text links */
.button,
button.button,
a.button {
  position: relative;
  min-height: 56px;
  padding: 0 24px;
  overflow: hidden;
  border: 1px solid rgb(var(--white-rgb) / .08);
  border-radius: 999px;
  color: var(--white);
  background:
    linear-gradient(135deg, var(--accent-strong) 0%, var(--accent) 58%, var(--accent) 100%);
  box-shadow: 0 16px 32px rgb(var(--accent-rgb) / .22), inset 0 1px 0 rgb(var(--white-rgb) / .18);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: transform .28s var(--ease-spring), box-shadow .28s var(--ease-out), background .28s var(--ease-out), border-color .28s var(--ease-out);
}
.button::before {
  position: absolute;
  inset: 0;
  content: '';
  opacity: 0;
  background: linear-gradient(120deg, transparent 0%, rgb(var(--white-rgb) / .22) 45%, transparent 62%);
  transform: translateX(-110%);
  transition: transform .62s var(--ease-out), opacity .28s var(--ease-out);
}
.button:hover {
  color: var(--white);
  background: linear-gradient(135deg, var(--accent-strong) 0%, var(--accent-hover) 58%, var(--accent) 100%);
  box-shadow: 0 22px 42px rgb(var(--accent-rgb) / .28), inset 0 1px 0 rgb(var(--white-rgb) / .22);
  transform: translateY(-3px);
}
.button:hover::before { opacity: 1; transform: translateX(105%); }
.button:active { transform: translateY(-1px) scale(.99); }
.button:disabled { opacity: .66; cursor: wait; transform: none; }
.button--light {
  color: var(--ink);
  background: var(--white);
  border-color: rgb(var(--ink-rgb) / .12);
  box-shadow: 0 12px 26px rgb(var(--ink-rgb) / .08);
}
.button--light:hover { color: var(--ink); background: var(--accent-soft-2); }
.button--outline,
.button.secondary,
.button--ghost {
  color: var(--ink);
  background: rgb(var(--white-rgb) / .16);
  border-color: rgb(var(--ink-rgb) / .20);
  box-shadow: none;
}
.section--dark .button--outline,
.opening .button--outline,
.nd-hero .button--outline {
  color: var(--surface);
  border-color: rgb(var(--surface-rgb) / .30);
  background: rgb(var(--surface-rgb) / .06);
}
.button--outline:hover,
.button.secondary:hover,
.button--ghost:hover {
  color: var(--white);
  border-color: var(--accent);
  background: var(--ink);
}
.text-link,
.nd-text-link,
.opening__link {
  color: inherit;
  border-bottom: 1px solid currentColor;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: color .22s var(--ease-out), transform .22s var(--ease-out), border-color .22s var(--ease-out);
}
.text-link:hover,
.nd-text-link:hover,
.opening__link:hover { color: var(--accent); transform: translateX(2px); }
.section--dark .text-link:hover,
.nd-hero .nd-text-link:hover,
.nd-text-link--light:hover,
.opening__link:hover { color: var(--accent-gold); }

/* Shared surfaces */
.section { padding: clamp(76px, 9vw, 132px) 0; }
.section--cream,
.section--paper,
.section--soft,
.section--orange,
.nd-curve--sand,
.nd-curve--light,
.nd-curve--white,
.faq-classic-content,
.faq-quick-strip,
.sand-transition { background: transparent; }
.section--paper { background: rgb(var(--white-rgb) / .34); }
.section--dark,
.cta,
.site-footer,
.nd-curve--dark,
.nd-final,
.nd-ownership,
.faq-classic-cta {
  color: var(--surface);
  background:
    radial-gradient(circle at 74% 16%, rgb(var(--accent-gold-rgb) / .17), transparent 26vw),
    radial-gradient(circle at 8% 82%, rgb(var(--accent-rgb) / .16), transparent 32vw),
    linear-gradient(135deg, var(--surface-dark) 0%, var(--surface-dark-2) 100%);
}

.feature-card,
.service-card,
.project-card,
.story-card-neo,
.narrative-card,
.note-card,
.contact-card,
.metric,
.approach-map,
.founder-upload__frame,
.calc-modern__controls,
.calc-modern__result,
.calc-modern__metrics,
.calc-modern__scenarios,
.accordion-item,
.faq-classic-accordion,
.faq-gray-accordion .accordion-item,
.nd-faq-classic,
.nd-case-card,
.nd-calculator__card,
.nd-process-panel,
.nd-process__item,
.opening__metrics,
.opening__note,
.opening__visual-frame,
.lead-form,
.modal-dialog,
.accent-board {
  border-color: var(--line);
  background: var(--surface-glass);
  box-shadow: var(--shadow-sm);
  backdrop-filter: blur(18px) saturate(118%);
  -webkit-backdrop-filter: blur(18px) saturate(118%);
}
.feature-card,
.service-card,
.project-card,
.story-card-neo,
.narrative-card,
.contact-card,
.nd-case-card,
.nd-process__item,
.accordion-item {
  transition: transform .32s var(--ease-spring), box-shadow .32s var(--ease-out), border-color .32s var(--ease-out), background .32s var(--ease-out);
}
.feature-card:hover,
.service-card:hover,
.project-card:hover,
.story-card-neo:hover,
.narrative-card:hover,
.contact-card:hover,
.nd-case-card:hover,
.nd-process__item:hover {
  border-color: rgb(var(--accent-rgb) / .25);
  box-shadow: var(--shadow-md);
  transform: translateY(-7px);
}

/* Home hero */
.nd-home { background: transparent; }
.nd-hero {
  position: relative;
  isolation: isolate;
  min-height: 830px;
  padding: 158px 0 132px;
  color: var(--surface);
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgb(var(--accent-gold-rgb) / .23), transparent 25vw),
    radial-gradient(circle at 14% 82%, rgb(var(--accent-rgb) / .22), transparent 33vw),
    linear-gradient(128deg, var(--ink) 0%, var(--ink-2) 52%, var(--surface-tint) 100%);
}
.nd-hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: '';
  opacity: .58;
  background-image:
    linear-gradient(rgb(var(--surface-rgb) / .045) 1px, transparent 1px),
    linear-gradient(90deg, rgb(var(--surface-rgb) / .045) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, var(--mask-solid), rgb(var(--mask-rgb) / .8) 60%, transparent);
}
.nd-hero::after,
.opening::after {
  height: 136px;
  background: var(--surface);
  clip-path: polygon(0 60%, 9% 48%, 21% 62%, 34% 47%, 48% 60%, 63% 44%, 77% 59%, 90% 43%, 100% 55%, 100% 100%, 0 100%);
}
.nd-hero__grain { opacity: .14; background-size: 9px 9px; }
.nd-hero__grid {
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, .78fr) minmax(220px, .42fr);
  gap: clamp(28px, 4vw, 58px);
  align-items: center;
}
.nd-hero__copy,
.nd-hero__copy .display { max-width: 650px; }
.nd-hero__copy .display {
  font-size: clamp(3.55rem, 6vw, 6.7rem);
  line-height: .88;
  letter-spacing: -.078em;
}
.nd-hero__lead { max-width: 560px; margin-top: 28px; color: rgb(var(--surface-rgb) / .78); font-size: var(--text-lg); }
.nd-hero__actions { gap: 14px; margin-top: 36px; }
.nd-hero__context {
  gap: 10px 18px;
  margin-top: 24px;
  color: rgb(var(--surface-rgb) / .62);
  font-size: 10px;
}
.nd-hero__context span::before { background: var(--accent-gold); box-shadow: 0 0 0 5px rgb(var(--accent-gold-rgb) / .12); }
.nd-hero__caption {
  max-width: 560px;
  margin-top: 42px;
  border-top-color: rgb(var(--surface-rgb) / .16);
  color: rgb(var(--surface-rgb) / .70);
}
.nd-hero__dots i { background: rgb(var(--surface-rgb) / .28); }
.nd-hero__dots i.is-active { background: var(--accent-gold); }
.nd-hero__tip,
.opening__note {
  border-color: rgb(var(--surface-rgb) / .16);
  color: rgb(var(--surface-rgb) / .74);
  background: rgb(var(--white-rgb) / .055);
}
.nd-hero__tip:hover,
.opening__note:hover {
  border-color: rgb(var(--accent-gold-rgb) / .50);
  color: var(--surface);
  background: rgb(var(--white-rgb) / .09);
}
.nd-hero__frame,
.nd-hero__metrics,
.opening__visual-frame,
.opening__metrics {
  border-color: rgb(var(--surface-rgb) / .18);
  background: rgb(var(--surface-rgb) / .07);
  box-shadow: 0 30px 90px rgb(var(--mask-rgb) / .28), inset 0 1px 0 rgb(var(--white-rgb) / .10);
}
.nd-hero__frame {
  overflow: hidden;
  border-radius: 34px 34px 76px 34px;
  transform: rotate(.35deg);
}
.nd-hero__frame::before,
.opening__visual-frame::before,
.nd-ownership__visual::before {
  position: absolute;
  inset: 1px;
  z-index: 2;
  pointer-events: none;
  content: '';
  border-radius: inherit;
  background: linear-gradient(135deg, rgb(var(--white-rgb) / .18), transparent 34%, rgb(var(--accent-gold-rgb) / .12) 72%, transparent);
  mix-blend-mode: screen;
}
.nd-hero__slide::after { background: linear-gradient(180deg, transparent 48%, rgb(var(--ink-rgb) / .52)); }
.nd-hero__slide--blueprint { background: var(--accent-soft-2); }
.nd-hero__slide--blueprint img { object-fit: contain; padding: 28px; }
.nd-hero__frame-tag,
.opening__visual-tag,
.nd-ownership__note {
  border-color: rgb(var(--surface-rgb) / .16);
  color: var(--surface);
  background: rgb(var(--ink-rgb) / .72);
  box-shadow: 0 12px 32px rgb(var(--mask-rgb) / .20);
}
.nd-hero__frame-tag span { color: rgb(var(--surface-rgb) / .66); }
.nd-hero__metrics > p,
.opening__metrics > p,
.nd-process-panel__top,
.nd-case-card__body p,
.nd-calculator__card aside small { color: var(--accent-gold); }
.nd-hero__metrics > div,
.opening__metric { border-color: rgb(var(--surface-rgb) / .13); }
.nd-hero__metrics strong,
.opening__metric b { color: var(--surface); }
.nd-hero__metrics span,
.opening__metric span { color: rgb(var(--surface-rgb) / .68); }

/* Page openings */
.opening,
.faq-classic-hero {
  position: relative;
  isolation: isolate;
  color: var(--surface);
  background:
    radial-gradient(circle at 83% 18%, rgb(var(--accent-gold-rgb) / .20), transparent 24vw),
    radial-gradient(circle at 17% 82%, rgb(var(--accent-rgb) / .20), transparent 31vw),
    linear-gradient(128deg, var(--ink) 0%, var(--ink-2) 58%, var(--surface-tint) 100%);
}
.opening::before,
.faq-classic-hero::before {
  opacity: .50;
  background-image:
    radial-gradient(rgb(var(--surface-rgb) / .20) .7px, transparent .8px),
    linear-gradient(90deg, rgb(var(--surface-rgb) / .040) 1px, transparent 1px);
  background-size: 8px 8px, 56px 56px;
  mask-image: linear-gradient(90deg, var(--mask-solid) 0%, rgb(var(--mask-rgb) / .70) 56%, transparent 94%);
}
.opening--company::after,
.opening--calculator::after,
.opening--contacts::after,
.opening--privacy::after,
.opening--cases::after,
.opening--studio::after,
.opening--office::after,
.opening--management::after { background: var(--surface); }
.opening__crumbs { color: rgb(var(--surface-rgb) / .56); }
.opening__crumbs a { color: rgb(var(--surface-rgb) / .76); }
.opening__crumbs a:hover { color: var(--surface); }
.opening__crumbs i { color: var(--accent-gold); }
.opening__title { color: var(--surface); }
.opening__visual::before { background: radial-gradient(circle, rgb(var(--accent-gold-rgb) / .34), rgb(var(--accent-gold-rgb) / .08) 44%, transparent 70%); }
.opening--company .opening__visual-frame img,
.opening--investors .opening__visual-frame img,
.opening--management .opening__visual-frame img,
.opening--calculator .opening__visual-frame img,
.opening--contacts .opening__visual-frame img {
  background: linear-gradient(135deg, rgb(var(--surface-rgb) / .92), rgb(var(--accent-soft-rgb) / .86));
}

/* Proof, strategy, bento cards */
.nd-proof__grid,
.metrics,
.feature-grid,
.investor-benefits,
.change-grid,
.contact-cards,
.gallery-grid,
.case-story-grid,
.consider-grid {
  gap: 18px;
}
.nd-proof__grid {
  border: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}
.nd-proof__grid > div,
.metric,
.feature-card,
.contact-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgb(var(--white-rgb) / .64);
  box-shadow: var(--shadow-sm);
}
.nd-proof__grid b,
.metric b,
.feature-card__index,
.accent-metric b,
.story-card-neo__stats b,
.nd-case-card__body b,
.calc-modern__result strong,
.calc-modern__metrics b { color: var(--ink); }
.nd-proof__grid span,
.metric span,
.feature-card p,
.nd-case-card__body span,
.story-card-neo__stats span { color: var(--ink-soft); }

.nd-strategy__head { align-items: end; }
.nd-strategy__layout { grid-template-columns: minmax(260px,.62fr) minmax(0,1.38fr); gap: 28px; }
.nd-process__item {
  min-height: 78px;
  border-radius: 22px;
  background: rgb(var(--white-rgb) / .68);
}
.nd-process__item span {
  border-color: rgb(var(--accent-rgb) / .22);
  color: var(--accent);
  background: rgb(var(--accent-soft-rgb) / .48);
}
.nd-process__item i { color: var(--accent); }
.nd-process__item.is-active,
.process-card.is-active,
.faq-gray-accordion .accordion-item.is-open {
  color: var(--surface);
  border-color: rgb(var(--surface-rgb) / .16);
  background: linear-gradient(145deg, var(--ink) 0%, var(--ink-2) 100%);
  box-shadow: var(--shadow-lg);
}
.nd-process__item.is-active span,
.process-card.is-active span { color: var(--accent-gold); border-color: rgb(var(--surface-rgb) / .26); background: rgb(var(--surface-rgb) / .08); }
.nd-process-panel {
  overflow: hidden;
  border-radius: 34px;
  background: linear-gradient(145deg, rgb(var(--white-rgb) / .78), rgb(var(--surface-tint-rgb) / .72));
}
.nd-process-panel::after { background: radial-gradient(circle, rgb(var(--accent-gold-rgb) / .36), rgb(var(--accent-gold-rgb) / .08) 46%, transparent 72%); }
.nd-process-panel__pulse { background: var(--accent); box-shadow: 0 0 0 0 rgb(var(--accent-rgb) / .45); }
.nd-process-panel h3 { color: var(--ink); font-size: clamp(1.9rem, 2.7vw, 2.55rem); }
.nd-process-panel p[data-process-desc],
.nd-process-panel li { color: var(--ink-soft); }
.nd-process-panel li::before { color: var(--accent); }
.nd-process-panel__visual { background: rgb(var(--white-rgb) / .48); border-color: var(--line); }
.nd-process-panel__line i { background: linear-gradient(90deg, var(--accent), var(--accent-gold)); }

/* Case cards and editorial content */
.nd-case-card,
.story-card-neo {
  border-radius: 32px;
  background: rgb(var(--white-rgb) / .74);
}
.nd-case-card__image img,
.story-card-neo__media img,
.gallery-grid img,
.opening__visual-frame img,
.nd-hero__slide img,
.founder-upload__frame img,
.investor-blueprint__image img {
  filter: saturate(.88) contrast(.98) sepia(.05);
}
.nd-case-card__body h3,
.story-card-neo__body h3,
.narrative-card h3,
.contact-card h3,
.feature-card h3 {
  color: var(--ink);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1.03;
}
.story-card-neo__stats {
  border-color: var(--line);
  background: var(--line);
}
.story-card-neo__stats > div { background: rgb(var(--white-rgb) / .55); }
.narrative-card,
.note-card,
.accent-board { border-radius: 28px; }
.note-card {
  border-left-color: var(--accent);
  color: var(--ink);
  background: rgb(var(--accent-soft-rgb) / .58);
}
.accent-board {
  color: var(--surface);
  background:
    radial-gradient(circle at 80% 14%, rgb(var(--accent-gold-rgb) / .18), transparent 22vw),
    linear-gradient(145deg, var(--ink), var(--ink-2));
}
.accent-board .eyebrow,
.accent-metric b { color: var(--accent-gold); }
.accent-metric { border-bottom-color: rgb(var(--surface-rgb) / .14); }
.accent-metric span { color: rgb(var(--surface-rgb) / .72); }

/* Ownership / dark blocks */
.nd-ownership__visual {
  border-radius: 38px;
  border-color: rgb(var(--surface-rgb) / .16);
  background: rgb(var(--surface-rgb) / .06);
  box-shadow: 0 34px 92px rgb(var(--mask-rgb) / .24);
}
.nd-ownership__points > div { border-top-color: rgb(var(--surface-rgb) / .18); }
.nd-ownership__points b,
.nd-final .title,
.nd-ownership__copy .title,
.cta .title { color: var(--surface); }
.nd-ownership__note span { color: var(--accent-gold); }

/* Calculator */
.nd-tools__grid { gap: clamp(28px, 4vw, 56px); }
.nd-calculator__card {
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(180px, .72fr);
  border: 1px solid var(--line);
  border-radius: 30px;
  background: var(--line);
  box-shadow: var(--shadow-md);
}
.nd-calculator__card > div { background: rgb(var(--white-rgb) / .70); }
.nd-calculator__card aside {
  color: var(--surface);
  background:
    radial-gradient(circle at 90% 0%, rgb(var(--accent-gold-rgb) / .22), transparent 62%),
    linear-gradient(145deg, var(--ink), var(--ink-2));
}
.nd-calculator__card aside span { color: rgb(var(--surface-rgb) / .66); }
.nd-calculator__card aside small { color: var(--accent-gold); }
.calc-modern {
  border-radius: var(--radius-xl);
}
.calc-modern__controls,
.calc-modern__result,
.calc-modern__metrics,
.calc-modern__chart,
.calc-modern__scenarios {
  border-radius: 28px;
}
.calc-modern__result {
  color: var(--surface);
  background: linear-gradient(145deg, var(--ink), var(--ink-2));
}
.calc-modern__result span,
.calc-modern__result small { color: rgb(var(--surface-rgb) / .72); }
.calc-modern__range input[type="range"] {
  accent-color: var(--accent);
}
.segmented button,
.calc-modern__scenarios button {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  background: rgb(var(--white-rgb) / .56);
  transition: .24s var(--ease-out);
}
.segmented button:hover,
.calc-modern__scenarios button:hover,
.segmented button.is-active,
.calc-modern__scenarios button.is-active {
  color: var(--white);
  border-color: var(--accent);
  background: var(--accent);
}

/* FAQ */
.faq-classic-hero {
  min-height: 640px;
  padding: 150px 0 104px;
}
.faq-classic-hero::after { background: var(--surface); }
.faq-classic-hero__copy h1 {
  color: var(--surface);
  font-size: clamp(3rem, 5.5vw, 6.2rem);
}
.faq-classic-hero__copy > p:not(.eyebrow),
.faq-classic-hero__crumbs,
.faq-classic-hero__crumbs a { color: rgb(var(--surface-rgb) / .74); }
.faq-classic-hero__chips span,
.faq-classic-hero__note {
  border-color: rgb(var(--surface-rgb) / .16);
  color: var(--surface);
  background: rgb(var(--surface-rgb) / .08);
}
.faq-classic-hero__note-label,
.faq-classic-hero__note-stat b { color: var(--accent-gold); }
.faq-classic-layout { gap: clamp(28px, 5vw, 72px); }
.faq-classic-aside h2,
.nd-faq-classic__head h2,
.nd-faq-classic__card { color: var(--ink); }
.faq-classic-aside h2 em,
.nd-faq-classic__head h2 em,
.faq-gray-accordion .accordion-button span { color: var(--accent); }
.faq-classic-aside > p:not(.eyebrow),
.faq-gray-accordion .accordion-content p,
.nd-faq-classic__footer { color: var(--ink-soft); }
.faq-gray-accordion .accordion-item,
.nd-faq-classic__card {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgb(var(--white-rgb) / .66);
}
.faq-gray-accordion .accordion-item.is-open .accordion-button b { color: var(--surface); }
.faq-gray-accordion .accordion-item.is-open .accordion-content p { color: rgb(var(--surface-rgb) / .78); }
.faq-gray-accordion .accordion-item.is-open .accordion-button span { color: var(--ink); background: var(--accent-gold); border-color: var(--accent-gold); }
.nd-faq-classic {
  padding: clamp(24px, 3vw, 36px);
  border-radius: 34px;
}
.nd-faq-classic__card:hover { color: var(--surface); background: var(--ink); transform: translateY(-4px); }

/* Forms and modal */
.modal {
  background: rgb(var(--ink-rgb) / .68);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.modal-dialog {
  border-radius: 34px;
  color: var(--ink);
  background: rgb(var(--surface-rgb) / .94);
}
.modal-close {
  color: var(--ink);
  background: rgb(var(--white-rgb) / .76);
  border: 1px solid var(--line);
  transition: .22s var(--ease-out);
}
.modal-close:hover { color: var(--white); background: var(--ink); }
.lead-form { background: transparent; box-shadow: none; backdrop-filter: none; }
.form-field label {
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}
input,
textarea,
select {
  min-height: 54px;
  border: 1px solid rgb(var(--ink-rgb) / .18);
  border-radius: 16px;
  color: var(--ink);
  background: rgb(var(--white-rgb) / .72);
  transition: border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), background .2s var(--ease-out), transform .2s var(--ease-out);
}
textarea { min-height: 124px; }
input::placeholder,
textarea::placeholder { color: var(--ink-muted); opacity: 1; }
input:hover,
textarea:hover,
select:hover { border-color: rgb(var(--accent-rgb) / .36); background: var(--white); }
input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--accent);
  background: var(--white);
  box-shadow: 0 0 0 4px rgb(var(--accent-rgb) / .12);
}
input:user-invalid,
textarea:user-invalid,
select:user-invalid { border-color: var(--danger); box-shadow: 0 0 0 4px rgb(var(--danger-rgb) / .10); }
.form-checkbox { color: var(--ink-soft); }
.form-checkbox input { min-height: auto; accent-color: var(--accent); }
.form-status { color: var(--danger); font-size: 12px; font-weight: 700; }
.form-status.is-success { color: var(--success); }
.honeypot { display: none !important; }

/* Contacts, footer, CTA */
.contact-grid { gap: clamp(28px, 4vw, 56px); }
.contact-card { border-radius: 28px; }
.contact-card b,
.contact-card a { color: var(--ink); }
.contact-config-link { color: var(--accent); }
.cta {
  position: relative;
  overflow: hidden;
}
.cta::before,
.nd-final::before,
.site-footer::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: '';
  opacity: .35;
  background-image: radial-gradient(rgb(var(--surface-rgb) / .16) .8px, transparent .9px);
  background-size: 9px 9px;
  mask-image: linear-gradient(90deg, var(--mask-solid), transparent 82%);
}
.cta-grid,
.nd-final__grid,
.footer-main,
.footer-bottom { position: relative; z-index: 1; }
.site-footer {
  position: relative;
  border-top: 1px solid rgb(var(--surface-rgb) / .12);
}
.footer-brand img { width: 180px; }
.footer-nav a,
.footer-contact a,
.site-footer a { color: rgb(var(--surface-rgb) / .82); }
.footer-nav a:hover,
.footer-contact a:hover,
.site-footer a:hover { color: var(--accent-gold); }
.footer-bottom { border-color: rgb(var(--surface-rgb) / .14); color: rgb(var(--surface-rgb) / .56); }

/* Accessibility and motion */
[data-reveal] {
  transform: translateY(22px);
  opacity: 0;
  transition: opacity .72s var(--ease-out), transform .72s var(--ease-out);
  transition-delay: var(--delay, 0ms);
}
[data-reveal].is-visible { opacity: 1; transform: none; }
.nd-hero__slide { transition: opacity .75s var(--ease-out), transform 1.1s var(--ease-out), filter 1.1s var(--ease-out); }
.nd-hero__slide.is-active { filter: none; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* Responsive system */
@media (max-width: 1180px) {
  .header-inner { grid-template-columns: 170px minmax(0,1fr) auto; }
  .site-nav { gap: 11px; }
  .nav-link { font-size: 10px; }
  .nd-hero__grid,
  .opening__grid { grid-template-columns: minmax(0,1fr) minmax(300px,.76fr); }
  .nd-hero__metrics,
  .opening__metrics { grid-column: 1 / -1; }
  .nd-strategy__layout,
  .nd-tools__grid,
  .nd-ownership__grid,
  .case-layout,
  .faq-classic-layout,
  .contact-grid { grid-template-columns: 1fr; }
  .accent-board { position: relative; top: auto; }
}

@media (max-width: 900px) {
  .site-header { top: 10px; }
  .header-inner {
    min-height: 64px;
    grid-template-columns: 1fr auto;
    border-radius: 28px;
    padding: 9px 10px 9px 16px;
  }
  .brand { width: 154px; }
  .menu-toggle { display: block; }
  .header-actions { display: none; }
  .site-nav {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid rgb(var(--ink-rgb) / .10);
    border-radius: 24px;
    opacity: 0;
    visibility: hidden;
    background: rgb(var(--surface-rgb) / .96);
    box-shadow: var(--shadow-lg);
    transform: translateY(-8px) scale(.98);
    transform-origin: top center;
    transition: opacity .22s var(--ease-out), visibility .22s var(--ease-out), transform .22s var(--ease-out);
    backdrop-filter: blur(22px) saturate(130%);
    -webkit-backdrop-filter: blur(22px) saturate(130%);
  }
  .site-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .nav-link {
    padding: 13px 14px;
    border-radius: 16px;
    color: var(--ink) !important;
    font-size: 13px;
    background: transparent;
  }
  .nav-link:hover,
  .nav-link.is-active { color: var(--white) !important; background: var(--ink); }
  .nav-link::after { display: none; }

  .nd-hero { min-height: auto; padding: 122px 0 96px; }
  .opening,
  .faq-classic-hero { min-height: auto; padding: 122px 0 86px; }
  .nd-hero::after,
  .opening::after { height: 82px; }
  .nd-hero__grid,
  .opening__grid,
  .nd-cases__grid,
  .nd-case-card,
  .nd-calculator__card,
  .nd-proof__grid,
  .story-card-neo__stats,
  .gallery-grid,
  .footer-main,
  .cta-grid,
  .nd-final__grid { grid-template-columns: 1fr; }
  .nd-hero__copy .display { font-size: clamp(3.1rem, 13vw, 5.25rem); }
  .nd-hero__showcase,
  .opening__visual { max-width: 620px; }
  .nd-hero__frame { transform: none; }
  .nd-ownership__points { grid-template-columns: 1fr; gap: 8px; }
  .nd-strategy__head,
  .nd-cases__head,
  .nd-final__grid { align-items: flex-start; flex-direction: column; }
  .nd-process-panel__body { grid-template-columns: 1fr; }
  .footer-main { gap: 34px; }
}

@media (max-width: 620px) {
  body { font-size: 15px; }
  .section { padding: 72px 0; }
  .display { font-size: clamp(3rem, 15vw, 4.8rem); }
  .title { font-size: clamp(2.25rem, 10vw, 3.35rem); }
  .button { width: 100%; min-height: 54px; padding: 0 18px; }
  .nd-hero__actions,
  .cta-actions { width: 100%; }
  .nd-hero__actions .nd-text-link { justify-content: center; width: 100%; margin-top: 4px; }
  .nd-hero__caption { align-items: flex-start; flex-direction: column; gap: 12px; }
  .nd-hero__carousel { min-height: 280px; }
  .nd-hero__metrics,
  .opening__metrics,
  .nd-process-panel,
  .nd-faq-classic,
  .modal-dialog { border-radius: 24px; }
  .opening__title,
  .faq-classic-hero__copy h1 { font-size: clamp(2.75rem, 13vw, 4.2rem); }
  .opening__visual-frame,
  .opening__visual-frame img { min-height: 250px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-field--full { grid-column: auto; }
  .form-submit { align-items: stretch; flex-direction: column; }
  .modal { padding: 12px; }
  .modal-dialog { max-height: calc(100vh - 24px); overflow: auto; }
}

/* JS-enhanced interaction hooks */
.feature-card,
.service-card,
.project-card,
.story-card-neo,
.nd-case-card,
.contact-card,
.narrative-card,
.nd-process__item {
  transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
}
.feature-card:hover,
.service-card:hover,
.project-card:hover,
.story-card-neo:hover,
.nd-case-card:hover,
.contact-card:hover,
.narrative-card:hover,
.nd-process__item:hover {
  transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(-7px);
}
input[type="range"] {
  background:
    linear-gradient(90deg, var(--accent) var(--range-progress, 0%), rgb(var(--ink-rgb) / .16) var(--range-progress, 0%));
}
input[type="range"]::-webkit-slider-runnable-track { background: transparent; }
input[type="range"]::-moz-range-track { background: transparent; }
input[type="range"]::-webkit-slider-thumb {
  width: 20px;
  height: 20px;
  border: 3px solid var(--white);
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 8px 18px rgb(var(--accent-rgb) / .26);
  -webkit-appearance: none;
  appearance: none;
}
input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border: 3px solid var(--white);
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 8px 18px rgb(var(--accent-rgb) / .26);
}


/* Light-only correction pass inside STUDIO REDESIGN v7. */
.nd-hero,
.opening,
.faq-classic-hero,
.nd-curve--dark,
.nd-final,
.nd-ownership,
.cta,
.faq-classic-cta,
.site-footer,
.section--dark {
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 10%, rgb(var(--accent-rgb) / .13), transparent 34rem),
    radial-gradient(circle at 86% 20%, rgb(var(--accent-gold-rgb) / .28), transparent 28rem),
    linear-gradient(135deg, var(--surface) 0%, var(--surface-tint) 100%);
}
.nd-hero::before,
.nd-hero::after,
.opening::before,
.opening::after,
.faq-classic-hero::after,
.nd-curve--dark::before,
.nd-curve--dark::after,
.nd-final::before,
.nd-ownership::before,
.cta::before,
.faq-classic-cta::after,
.site-footer::before {
  background: transparent;
  box-shadow: none;
  opacity: 0;
}
.nd-curve--dark { --nd-curve-bg: var(--surface); }
.section--dark .title,
.section--dark .display,
.nd-hero .display,
.nd-final .title,
.nd-ownership__copy .title,
.opening__title,
.faq-classic-hero__copy h1,
.cta .title,
.faq-classic-cta h2 {
  color: var(--ink);
}
.section--dark .title em,
.nd-hero__copy .display em,
.opening__title em,
.nd-final .title em,
.nd-ownership__copy .title em,
.cta .title em,
.faq-classic-cta h2 em,
.faq-classic-hero__copy h1 em {
  color: var(--accent);
}
.section--dark .lead,
.section--dark .section-lead,
.nd-hero__lead,
.nd-hero__caption,
.nd-hero__count,
.opening__lead,
.opening__crumbs,
.opening__crumbs a,
.opening__note,
.opening__metrics span,
.opening__link,
.nd-ownership__copy > p:not(.eyebrow),
.nd-ownership__points span,
.nd-final__action span,
.cta p,
.faq-classic-hero__copy > p:not(.eyebrow),
.faq-classic-cta p,
.site-footer p,
.footer-bottom {
  color: var(--ink-soft);
}
.nd-hero__caption,
.nd-hero__metrics > div,
.opening__metric,
.nd-ownership__points > div,
.footer-bottom,
.site-footer {
  border-color: var(--line);
}
.nd-hero__dots i { background: rgb(var(--ink-rgb) / .18); }
.nd-hero__dots i.is-active { background: var(--accent); }
.nd-hero__grain {
  opacity: .28;
  background-image: radial-gradient(rgb(var(--ink-rgb) / .18) .6px, transparent .7px);
  mask-image: linear-gradient(180deg, var(--mask-solid), transparent 88%);
}
.nd-hero__frame,
.nd-hero__metrics,
.opening__metrics,
.opening__note,
.opening__visual-frame,
.faq-classic-hero__note,
.nd-ownership__visual,
.nd-process-panel,
.nd-faq-classic,
.home-calc__result,
.calc-modern__result {
  color: var(--ink);
  border-color: var(--line);
  background: rgb(var(--white-rgb) / .78);
  box-shadow: var(--shadow-md);
  backdrop-filter: blur(18px) saturate(122%);
  -webkit-backdrop-filter: blur(18px) saturate(122%);
}
.nd-hero__metrics > p,
.opening__metrics > p,
.opening__eyebrow,
.nd-ownership .eyebrow,
.nd-final .eyebrow,
.cta .eyebrow,
.faq-classic-cta .eyebrow,
.site-footer .footer-label,
.faq-classic-hero__copy .eyebrow {
  color: var(--accent);
}
.nd-hero__metrics strong,
.opening__metric b,
.nd-ownership__points b,
.faq-classic-hero__note-stat b,
.faq-classic-hero__note > p,
.site-footer a,
.footer-nav a,
.footer-contact a {
  color: var(--ink);
}
.nd-hero__metrics span,
.opening__metric span,
.faq-classic-hero__note-label,
.faq-classic-hero__note-stat span,
.faq-classic-aside__facts span {
  color: var(--ink-soft);
}
.nd-hero__frame-tag,
.opening__visual-tag,
.nd-ownership__note {
  color: var(--white);
  border-color: rgb(var(--white-rgb) / .18);
  background: rgb(var(--accent-strong-rgb) / .92);
  box-shadow: var(--shadow-sm);
}
.nd-hero__frame-tag span,
.nd-ownership__note b { color: rgb(var(--white-rgb) / .82); }
.nd-ownership__note span { color: var(--accent-gold); }
.cta-grid,
.nd-final__grid,
.faq-classic-cta__inner {
  padding: clamp(28px, 4vw, 56px);
  border: 1px solid rgb(var(--accent-gold-rgb) / .34);
  border-radius: var(--radius-xl);
  color: var(--white);
  background:
    radial-gradient(circle at 80% 15%, rgb(var(--accent-gold-rgb) / .20), transparent 24rem),
    linear-gradient(135deg, var(--accent-strong), var(--accent));
  box-shadow: var(--glow);
}
.cta-grid .title,
.nd-final__grid .title,
.faq-classic-cta__inner h2,
.cta-grid .eyebrow,
.nd-final__grid .eyebrow,
.faq-classic-cta__inner .eyebrow,
.cta-grid p,
.nd-final__grid span,
.faq-classic-cta__inner p {
  color: var(--white);
}
.cta-grid .title em,
.nd-final__grid .title em,
.faq-classic-cta__inner h2 em {
  color: var(--accent-gold);
}
.cta-grid .button,
.nd-final__grid .button,
.faq-classic-cta__inner .button {
  color: var(--ink);
  background: var(--white);
  box-shadow: 0 14px 30px rgb(var(--ink-rgb) / .18);
}
.cta-grid .button:hover,
.nd-final__grid .button:hover,
.faq-classic-cta__inner .button:hover {
  color: var(--white);
  background: var(--ink);
}
.site-footer {
  padding-top: 70px;
  border-top: 1px solid var(--line);
}
.footer-brand img { filter: none; }
.footer-nav a:hover,
.footer-contact a:hover,
.site-footer a:hover,
.site-footer .text-link:hover { color: var(--accent); }
.faq-classic-content,
.section--paper,
.section--cream,
.section--soft,
.nd-curve--light,
.nd-curve--sand,
.nd-curve--white,
.sand-transition--dark,
.sand-transition--light {
  background: var(--surface);
}
.sand-transition::before,
.sand-transition::after,
.sand-transition--dark::before,
.sand-transition--light::before {
  background: transparent;
  opacity: 0;
}
body[data-page="FAQ"] {
  color: var(--ink);
  background: var(--surface);
}
body[data-page="FAQ"] .site-header .header-inner,
body[data-page="FAQ"] .site-header.is-scrolled .header-inner {
  border-color: var(--line);
  background: rgb(var(--white-rgb) / .88);
  box-shadow: var(--shadow-md);
}
body[data-page="FAQ"] .site-header .header-cta,
body[data-page="FAQ"] .site-header.is-scrolled .header-cta {
  color: var(--white);
  border-color: var(--accent);
  background: var(--accent);
}
body[data-page="FAQ"] .site-header .header-cta:hover {
  color: var(--white);
  background: var(--accent-strong);
  border-color: var(--accent-strong);
}
body[data-page="FAQ"] .site-footer { background: var(--surface); }
.faq-classic-hero { background: linear-gradient(145deg, var(--surface) 0%, var(--surface-tint) 100%); }
.faq-classic-accordion,
.faq-gray-accordion .accordion-item,
.nd-faq-classic__card {
  color: var(--ink);
  border-color: var(--line);
  background: rgb(var(--white-rgb) / .82);
}
.faq-gray-accordion .accordion-item.is-open {
  color: var(--ink);
  background: var(--white);
  box-shadow: var(--shadow-md);
}
.faq-gray-accordion .accordion-item.is-open .accordion-button b,
.faq-gray-accordion .accordion-item.is-open .accordion-content p {
  color: var(--ink);
}
.faq-gray-accordion .accordion-item.is-open .accordion-button span {
  color: var(--white);
  background: var(--accent);
  border-color: var(--accent);
}
.home-calc__result small,
.fortune-answer__top,
.fortune-answer > p[data-faq-wheel-copy] { color: var(--ink-soft); }
.fortune-answer,
.fortune-answer--soft,
.home-calc__result {
  color: var(--ink);
  background: var(--white);
  border-color: var(--line);
}
.fortune-wheel,
.fortune-controls { display: none; }
input:hover,
textarea:hover,
select:hover,
input:focus,
textarea:focus,
select:focus { background: var(--white); }
input[type="range"]::-webkit-slider-thumb { border-color: var(--white); }
input[type="range"]::-moz-range-thumb { border-color: var(--white); }
@media (max-width: 1180px) {
  .container { width: min(100vw - 40px, 1060px); }
}
@media (max-width: 620px) {
  .container { width: calc(100vw - 28px); }
}

/* ============================================================
   STUDIO REDESIGN v7.1 — Light UI hotfix
   Fixes: dark floating header, white text on light surfaces, cramped nav.
   ============================================================ */
body .site-header,
body .site-header.is-scrolled {
  position: fixed;
  top: 12px;
  right: 0;
  left: 0;
  z-index: 200;
  padding: 0;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body .site-header .header-inner,
body .site-header.is-scrolled .header-inner,
body[data-page="FAQ"] .site-header .header-inner,
body[data-page="FAQ"] .site-header.is-scrolled .header-inner {
  min-height: 70px;
  display: grid;
  grid-template-columns: minmax(145px, 168px) minmax(0, 1fr) auto;
  gap: clamp(12px, 1.25vw, 22px);
  align-items: center;
  padding: 9px 12px 9px 18px;
  border: 1px solid rgb(var(--ink-rgb) / .11);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgb(var(--white-rgb) / .94), rgb(var(--surface-rgb) / .90));
  box-shadow: 0 16px 36px rgb(var(--ink-rgb) / .11);
  backdrop-filter: blur(22px) saturate(145%);
  -webkit-backdrop-filter: blur(22px) saturate(145%);
}

body .site-header.is-scrolled .header-inner {
  min-height: 64px;
  background: rgb(var(--white-rgb) / .94);
  box-shadow: 0 14px 34px rgb(var(--ink-rgb) / .12);
}

body .site-header .brand {
  width: min(168px, 100%);
  min-width: 0;
}

body .site-header .brand-mark {
  display: block;
  width: 100%;
  height: auto;
  filter: none;
}

body .site-header .site-nav,
body .site-header.is-scrolled .site-nav {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: clamp(8px, 1vw, 15px);
  overflow: visible;
}

body .site-header .nav-link,
body .site-header.is-scrolled .nav-link,
body[data-page="FAQ"] .site-header .nav-link,
body[data-page="FAQ"] .site-header.is-scrolled .nav-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0;
  color: var(--ink-soft) !important;
  background: transparent !important;
  border-radius: 0;
  font-size: clamp(9.7px, .78vw, 11.2px);
  font-weight: 800;
  letter-spacing: .055em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  text-shadow: none;
}

body .site-header .nav-link:hover,
body .site-header .nav-link.is-active,
body .site-header.is-scrolled .nav-link:hover,
body .site-header.is-scrolled .nav-link.is-active,
body[data-page="FAQ"] .site-header .nav-link:hover,
body[data-page="FAQ"] .site-header .nav-link.is-active {
  color: var(--ink) !important;
  background: transparent !important;
}

body .site-header .nav-link::after {
  right: 0;
  bottom: 3px;
  left: 0;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--accent-gold));
}

body .site-header .header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: max-content;
}

body .site-header .header-phone,
body .site-header.is-scrolled .header-phone,
body[data-page="FAQ"] .site-header .header-phone {
  color: var(--ink) !important;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .015em;
  line-height: 1;
  white-space: nowrap;
}

body .site-header .button.header-cta,
body .site-header.is-scrolled .button.header-cta,
body[data-page="FAQ"] .site-header .button.header-cta,
body[data-page="FAQ"] .site-header.is-scrolled .button.header-cta {
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid rgb(var(--accent-rgb) / .30);
  color: var(--white) !important;
  background: linear-gradient(135deg, var(--accent-strong), var(--accent)) !important;
  box-shadow: 0 12px 24px rgb(var(--accent-rgb) / .20), inset 0 1px 0 rgb(var(--white-rgb) / .16);
}

body .site-header .button.header-cta:hover,
body .site-header.is-scrolled .button.header-cta:hover,
body[data-page="FAQ"] .site-header .button.header-cta:hover {
  color: var(--white) !important;
  border-color: var(--accent-strong);
  background: linear-gradient(135deg, var(--accent-strong), var(--accent-strong)) !important;
  box-shadow: 0 16px 32px rgb(var(--accent-rgb) / .26), inset 0 1px 0 rgb(var(--white-rgb) / .18);
  transform: translateY(-1px);
}

/* Light surfaces must never inherit white text from old dark versions. */
.nd-hero,
.opening,
.faq-classic-hero,
.nd-curve--dark,
.nd-ownership,
.section--dark,
.site-footer {
  color: var(--ink);
}

.nd-hero .eyebrow,
.opening__eyebrow,
.faq-classic-hero .eyebrow,
.nd-ownership .eyebrow,
.section--dark .eyebrow,
.site-footer .footer-label {
  color: var(--accent) !important;
}

.nd-hero .nd-text-link,
.nd-hero .nd-text-link--light,
.opening .nd-text-link,
.opening__link,
.faq-classic-hero .nd-text-link,
.nd-ownership .nd-text-link,
.nd-ownership .nd-text-link--light,
.section--dark .nd-text-link,
.section--dark .nd-text-link--light,
.site-footer .text-link,
.site-footer .nd-text-link,
.site-footer a {
  color: var(--accent-strong) !important;
}

.nd-hero .nd-text-link:hover,
.opening .nd-text-link:hover,
.opening__link:hover,
.faq-classic-hero .nd-text-link:hover,
.nd-ownership .nd-text-link:hover,
.section--dark .nd-text-link:hover,
.site-footer a:hover {
  color: var(--accent) !important;
}

.button--outline,
a.button--outline,
button.button--outline {
  color: var(--accent-strong) !important;
  border-color: rgb(var(--accent-rgb) / .42) !important;
  background: rgb(var(--white-rgb) / .36) !important;
  box-shadow: none;
}

.button--outline:hover,
a.button--outline:hover,
button.button--outline:hover {
  color: var(--white) !important;
  border-color: var(--accent) !important;
  background: var(--accent) !important;
}

/* Keep the deliberate terracotta CTA panels contrast-safe. */
.cta-grid,
.nd-final__grid,
.faq-classic-cta__inner {
  color: var(--white);
}

.cta-grid .eyebrow,
.nd-final__grid .eyebrow,
.faq-classic-cta__inner .eyebrow {
  color: var(--accent-gold) !important;
}

.cta-grid .title,
.nd-final__grid .title,
.faq-classic-cta__inner h2,
.cta-grid p,
.nd-final__grid span,
.faq-classic-cta__inner p,
.cta-grid .nd-text-link,
.nd-final__grid .nd-text-link,
.faq-classic-cta__inner .nd-text-link {
  color: var(--white) !important;
}

/* Calculator/result panels were converted to light surfaces; text follows. */
.calc-modern__result,
.home-calc__result,
.calc-result {
  color: var(--ink);
  border: 1px solid var(--line);
  background: var(--white);
}

.calc-modern__total span,
.calc-modern__metrics span,
.home-calc__result small,
.calc-result p,
.calc-result span {
  color: var(--ink-soft) !important;
}

.calc-modern__total b,
.calc-modern__metrics b,
.home-calc__result b,
.calc-result strong,
.calc-result b {
  color: var(--ink) !important;
}

@media (max-width: 1180px) {
  body .site-header .header-inner,
  body .site-header.is-scrolled .header-inner {
    grid-template-columns: minmax(135px, 156px) minmax(0, 1fr) auto;
    gap: 12px;
    padding-left: 16px;
  }
  body .site-header .site-nav { gap: 8px; }
  body .site-header .header-phone { display: none; }
  body .site-header .button.header-cta { min-height: 44px; padding-inline: 15px; }
}

@media (max-width: 900px) {
  body .site-header,
  body .site-header.is-scrolled { top: 10px; }

  body .site-header .header-inner,
  body .site-header.is-scrolled .header-inner {
    min-height: 62px;
    grid-template-columns: 1fr auto;
    border-radius: 20px;
    padding: 8px 10px 8px 15px;
  }

  body .site-header .brand { width: 154px; }
  body .site-header .header-actions { display: none; }
  body .site-header .menu-toggle {
    display: grid;
    place-items: center;
    border-color: rgb(var(--ink-rgb) / .18);
    color: var(--ink);
    background: rgb(var(--white-rgb) / .70);
  }

  body .site-header .site-nav,
  body .site-header.is-scrolled .site-nav {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid rgb(var(--ink-rgb) / .10);
    border-radius: 22px;
    opacity: 0;
    visibility: hidden;
    background: rgb(var(--white-rgb) / .96);
    box-shadow: var(--shadow-lg);
    transform: translateY(-8px) scale(.98);
    transform-origin: top center;
    transition: opacity .22s var(--ease-out), visibility .22s var(--ease-out), transform .22s var(--ease-out);
    backdrop-filter: blur(22px) saturate(130%);
    -webkit-backdrop-filter: blur(22px) saturate(130%);
  }

  body .site-header .site-nav.is-open { opacity: 1; visibility: visible; transform: none; }

  body .site-header .site-nav .nav-link,
  body .site-header.is-scrolled .site-nav .nav-link {
    min-height: 44px;
    padding: 0 14px;
    border-radius: 14px;
    color: var(--ink) !important;
    background: transparent !important;
    font-size: 13px;
  }

  body .site-header .site-nav .nav-link:hover,
  body .site-header .site-nav .nav-link.is-active {
    color: var(--white) !important;
    background: var(--accent) !important;
  }

  body .site-header .site-nav .nav-link::after { display: none; }
}

/* ============================================================
   STUDIO REDESIGN v7.2 — Header and light-section contrast fix
   Fixes: white text inherited by approach cards; phone/CTA overlap in header.
   ============================================================ */

/* Header: no overlap, no dark legacy colors, stable at 1440/1280/1024. */
body .site-header .header-inner,
body .site-header.is-scrolled .header-inner,
body[data-page="FAQ"] .site-header .header-inner,
body[data-page="FAQ"] .site-header.is-scrolled .header-inner {
  grid-template-columns: minmax(136px, 158px) minmax(0, 1fr) auto;
  gap: clamp(8px, .85vw, 14px);
  max-width: var(--container);
  overflow: hidden;
}

body .site-header .site-nav,
body .site-header.is-scrolled .site-nav {
  min-width: 0;
  justify-content: center;
  gap: clamp(7px, .75vw, 12px);
  overflow: hidden;
}

body .site-header .site-nav .nav-link,
body .site-header.is-scrolled .site-nav .nav-link {
  flex: 0 1 auto;
  min-width: 0;
  font-size: clamp(9.2px, .72vw, 10.8px);
  letter-spacing: .04em;
}

body .site-header .header-actions {
  min-width: 0;
  max-width: 100%;
  gap: 8px;
}

body .site-header .header-phone,
body .site-header.is-scrolled .header-phone,
body[data-page="FAQ"] .site-header .header-phone {
  position: static !important;
  flex: 0 0 auto;
  max-width: 132px;
  overflow: hidden;
  color: var(--ink) !important;
  text-overflow: ellipsis;
  transform: none !important;
}

body .site-header .button.header-cta,
body .site-header.is-scrolled .button.header-cta,
body[data-page="FAQ"] .site-header .button.header-cta,
body[data-page="FAQ"] .site-header.is-scrolled .button.header-cta {
  flex: 0 0 auto;
  min-width: 166px;
  min-height: 46px;
  padding-inline: 16px;
  white-space: nowrap;
}

/* The whole site is light: old dark-section descendants must not keep white text. */
body .section--dark:not(.cta),
body .section--dark:not(.cta) .approach-top,
body .section--dark:not(.cta) .split-intro,
body .nd-curve--dark,
body .nd-ownership {
  color: var(--ink) !important;
}

body .section--dark:not(.cta) .title,
body .section--dark:not(.cta) h2,
body .section--dark:not(.cta) h3,
body .section--dark:not(.cta) strong,
body .nd-curve--dark .title,
body .nd-curve--dark h2,
body .nd-curve--dark h3,
body .nd-ownership .title,
body .nd-ownership h2,
body .nd-ownership h3 {
  color: var(--ink) !important;
}

body .section--dark:not(.cta) p,
body .section--dark:not(.cta) li,
body .section--dark:not(.cta) span:not(.eyebrow),
body .nd-curve--dark p,
body .nd-curve--dark li,
body .nd-curve--dark span:not(.eyebrow),
body .nd-ownership p,
body .nd-ownership li,
body .nd-ownership span:not(.eyebrow) {
  color: var(--ink-soft) !important;
}

/* Company approach map: light cards, readable hierarchy. */
body .approach-map {
  border: 0;
  background: transparent !important;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body .approach-map article,
body .section--dark .approach-map article {
  overflow: hidden;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  background: linear-gradient(180deg, rgb(var(--white-rgb) / .92), rgb(var(--white-rgb) / .70)) !important;
  box-shadow: var(--shadow-sm);
}

body .approach-map article:hover {
  border-color: rgb(var(--accent-rgb) / .32) !important;
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
}

body .approach-map span,
body .section--dark .approach-map span {
  color: var(--accent) !important;
}

body .approach-map h3,
body .section--dark .approach-map h3 {
  color: var(--ink) !important;
  font-weight: 700;
  text-shadow: none;
}

body .approach-map p,
body .section--dark .approach-map p {
  color: var(--ink-soft) !important;
  text-shadow: none;
}

body .approach-map article::after,
body .section--dark .approach-map article::after {
  background: var(--accent) !important;
}

/* Keep deliberate terracotta CTA panels white; only section-level dark legacy is neutralized. */
body .cta-grid,
body .cta-grid *,
body .nd-final__grid,
body .nd-final__grid *,
body .faq-classic-cta__inner,
body .faq-classic-cta__inner * {
  text-shadow: none;
}

@media (max-width: 1360px) {
  body .site-header .header-phone,
  body .site-header.is-scrolled .header-phone,
  body[data-page="FAQ"] .site-header .header-phone {
    display: none !important;
  }
}

@media (max-width: 1120px) {
  body .site-header .header-inner,
  body .site-header.is-scrolled .header-inner {
    grid-template-columns: 1fr auto;
  }

  body .site-header .header-actions {
    display: none !important;
  }

  body .site-header .menu-toggle {
    display: grid;
    place-items: center;
    border-color: rgb(var(--ink-rgb) / .18);
    color: var(--ink);
    background: rgb(var(--white-rgb) / .72);
  }

  body .site-header .site-nav,
  body .site-header.is-scrolled .site-nav {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    display: grid;
    gap: 5px;
    padding: 12px;
    border: 1px solid rgb(var(--ink-rgb) / .10);
    border-radius: 22px;
    opacity: 0;
    visibility: hidden;
    overflow: visible;
    background: rgb(var(--white-rgb) / .97);
    box-shadow: var(--shadow-lg);
    transform: translateY(-8px) scale(.98);
    transform-origin: top center;
    transition: opacity .22s var(--ease-out), visibility .22s var(--ease-out), transform .22s var(--ease-out);
    backdrop-filter: blur(22px) saturate(130%);
    -webkit-backdrop-filter: blur(22px) saturate(130%);
  }

  body .site-header .site-nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  body .site-header .site-nav .nav-link,
  body .site-header.is-scrolled .site-nav .nav-link {
    min-height: 44px;
    padding: 0 14px;
    border-radius: 14px;
    color: var(--ink) !important;
    background: transparent !important;
    font-size: 13px;
  }

  body .site-header .site-nav .nav-link:hover,
  body .site-header .site-nav .nav-link.is-active {
    color: var(--white) !important;
    background: var(--accent) !important;
  }

  body .site-header .site-nav .nav-link::after { display: none; }
}


/* ============================================================
   STUDIO REDESIGN v7.3 — Header navigation spacing hotfix
   Fixes: nav items visually glued together on desktop widths.
   ============================================================ */
@media (min-width: 1121px) {
  body .site-header .header-inner,
  body .site-header.is-scrolled .header-inner,
  body[data-page="FAQ"] .site-header .header-inner,
  body[data-page="FAQ"] .site-header.is-scrolled .header-inner {
    grid-template-columns: minmax(142px, 162px) minmax(0, 1fr) auto;
    gap: clamp(12px, 1.2vw, 18px);
    padding-inline: 16px 12px;
  }

  body .site-header .site-nav,
  body .site-header.is-scrolled .site-nav {
    justify-content: flex-start;
    gap: clamp(10px, 1.05vw, 17px);
  }

  body .site-header .nav-link,
  body .site-header.is-scrolled .nav-link,
  body[data-page="FAQ"] .site-header .nav-link,
  body[data-page="FAQ"] .site-header.is-scrolled .nav-link {
    min-height: 36px;
    padding-inline: 2px;
    font-size: clamp(10px, .78vw, 11.5px);
    letter-spacing: .03em;
  }

  body .site-header .header-actions {
    gap: 10px;
  }

  body .site-header .button.header-cta,
  body .site-header.is-scrolled .button.header-cta,
  body[data-page="FAQ"] .site-header .button.header-cta,
  body[data-page="FAQ"] .site-header.is-scrolled .button.header-cta {
    min-width: 176px;
    padding-inline: 18px;
  }
}


/* ============================================================
   STUDIO REDESIGN v7.4 — Real desktop header fix
   Purpose: remove the phone from the desktop header and give nav links
   fixed breathing room instead of letting them collapse into one line.
   ============================================================ */
body .site-header .header-phone,
body .site-header.is-scrolled .header-phone,
body[data-page="FAQ"] .site-header .header-phone,
body[data-page="FAQ"] .site-header.is-scrolled .header-phone {
  display: none !important;
}

@media (min-width: 1181px) {
  body .site-header .header-inner,
  body .site-header.is-scrolled .header-inner,
  body[data-page="FAQ"] .site-header .header-inner,
  body[data-page="FAQ"] .site-header.is-scrolled .header-inner {
    grid-template-columns: 148px minmax(0, 1fr) 184px !important;
    gap: 18px !important;
    min-height: 68px;
    padding: 9px 12px 9px 18px !important;
    overflow: visible !important;
  }

  body .site-header .brand,
  body .site-header.is-scrolled .brand {
    width: 148px !important;
  }

  body .site-header .site-nav,
  body .site-header.is-scrolled .site-nav {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    justify-content: center !important;
    gap: clamp(14px, 1vw, 20px) !important;
    min-width: 0;
    overflow: visible !important;
  }

  body .site-header .nav-link,
  body .site-header.is-scrolled .nav-link,
  body[data-page="FAQ"] .site-header .nav-link,
  body[data-page="FAQ"] .site-header.is-scrolled .nav-link {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    padding: 0 1px !important;
    font-size: 11px !important;
    letter-spacing: .02em !important;
    white-space: nowrap !important;
  }

  body .site-header .header-actions,
  body .site-header.is-scrolled .header-actions {
    display: flex !important;
    justify-content: flex-end;
    min-width: 184px !important;
    width: 184px !important;
  }

  body .site-header .button.header-cta,
  body .site-header.is-scrolled .button.header-cta,
  body[data-page="FAQ"] .site-header .button.header-cta,
  body[data-page="FAQ"] .site-header.is-scrolled .button.header-cta {
    width: 184px !important;
    min-width: 184px !important;
    padding-inline: 16px !important;
  }
}

@media (max-width: 1180px) {
  body .site-header .header-inner,
  body .site-header.is-scrolled .header-inner,
  body[data-page="FAQ"] .site-header .header-inner,
  body[data-page="FAQ"] .site-header.is-scrolled .header-inner {
    grid-template-columns: 1fr auto !important;
  }

  body .site-header .header-actions,
  body .site-header.is-scrolled .header-actions {
    display: none !important;
  }

  body .site-header .menu-toggle,
  body .site-header.is-scrolled .menu-toggle {
    display: grid !important;
    place-items: center;
  }

  body .site-header .site-nav,
  body .site-header.is-scrolled .site-nav {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    left: 0 !important;
    display: grid !important;
    gap: 6px !important;
    padding: 12px !important;
    opacity: 0;
    visibility: hidden;
  }

  body .site-header .site-nav.is-open,
  body .site-header.is-scrolled .site-nav.is-open {
    opacity: 1;
    visibility: visible;
  }
}


/* ============================================================
   STUDIO REDESIGN v7.5 — Requested orange palette
   Accent palette: #F36A10 / #FF924B / #FF6500 / #EE8038 / #EEB792
   ============================================================ */


/* ============================================================
   STUDIO REDESIGN v7.6 — Hero light-text visibility hotfix
   Fixes unreadable white/cream text on the light homepage hero.
   ============================================================ */
body .nd-hero__context {
  color: var(--ink-soft) !important;
}
body .nd-hero__context span::before {
  background: var(--accent) !important;
  box-shadow: 0 0 0 5px rgb(var(--accent-rgb) / .14) !important;
}
body .nd-hero__caption {
  border-top-color: rgb(var(--ink-rgb) / .14) !important;
  color: var(--ink-soft) !important;
}
body .nd-hero__caption span,
body .nd-hero__caption [data-hero-label],
body .nd-hero__count {
  color: var(--ink) !important;
}
body .nd-hero__dots i {
  background: rgb(var(--ink-rgb) / .18) !important;
}
body .nd-hero__dots i.is-active {
  background: var(--accent) !important;
}
body .nd-hero__tip {
  border-color: rgb(var(--ink-rgb) / .12) !important;
  color: var(--ink) !important;
  background: rgb(var(--white-rgb) / .78) !important;
  box-shadow: 0 10px 26px rgb(var(--ink-rgb) / .06) !important;
}
body .nd-hero__tip [data-investor-tip-text] {
  color: var(--ink-soft) !important;
}
body .nd-hero__tip:hover {
  border-color: rgb(var(--accent-rgb) / .28) !important;
  color: var(--ink) !important;
  background: rgb(var(--accent-rgb) / .10) !important;
}
body .nd-hero__tip:hover [data-investor-tip-text] {
  color: var(--ink) !important;
}
body .nd-hero__frame-tag {
  color: var(--white) !important;
}
body .nd-hero__frame-tag span {
  color: rgb(var(--white-rgb) / .72) !important;
}


/* ============================================================
   STUDIO REDESIGN v7.7 — Hero typography art direction hotfix
   Goal: make the homepage headline feel bold and editorial like the reference.
   ============================================================ */
body .nd-hero__copy .display {
  max-width: 760px !important;
  font-size: clamp(4rem, 6.9vw, 7.35rem) !important;
  font-weight: 800 !important;
  line-height: .88 !important;
  letter-spacing: -.072em !important;
  text-wrap: unset !important;
}
body .nd-hero__copy .display em {
  color: var(--accent) !important;
  font-style: normal;
  font-weight: 500;
}
body .nd-hero__lead {
  max-width: 760px !important;
  margin-top: 22px !important;
  color: var(--ink-soft) !important;
  font-size: clamp(1.08rem, 1.55vw, 1.56rem) !important;
  line-height: 1.42 !important;
  font-weight: 500 !important;
}
body .nd-hero__copy .eyebrow {
  margin-bottom: 18px;
}
@media (max-width: 900px) {
  body .nd-hero__copy .display {
    max-width: 100% !important;
    font-size: clamp(3.1rem, 12vw, 4.9rem) !important;
    line-height: .9 !important;
  }
  body .nd-hero__lead {
    font-size: clamp(1rem, 4vw, 1.18rem) !important;
    line-height: 1.45 !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v7.8 — Hero headline line-break fix
   Fixed to 3 lines: no word starts from a separate broken line.
   ============================================================ */
body .nd-hero__copy,
body .nd-hero__copy .display {
  max-width: 760px !important;
}
body .nd-hero__copy .display {
  font-size: clamp(3.45rem, 5.25vw, 5.85rem) !important;
  font-weight: 800 !important;
  line-height: .9 !important;
  letter-spacing: -.064em !important;
  text-wrap: unset !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}
body .nd-hero__copy .display em {
  display: inline !important;
  color: var(--accent) !important;
  font-style: normal !important;
  font-weight: 500 !important;
}
@media (max-width: 900px) {
  body .nd-hero__copy .display {
    font-size: clamp(2.95rem, 10.8vw, 4.5rem) !important;
    line-height: .92 !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v7.9 — Hero headline line-break alignment fix
   Goal: fold the main title into a clean 4-line composition.
   ============================================================ */
body .nd-hero__grid {
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr) !important;
  align-items: start !important;
}
body .nd-hero__copy,
body .nd-hero__copy .display {
  max-width: 780px !important;
}
body .nd-hero__copy .display {
  font-size: clamp(3.35rem, 5.15vw, 6.05rem) !important;
  line-height: .88 !important;
  letter-spacing: -.078em !important;
}
body .nd-hero__copy .display em {
  display: inline !important;
}
body .nd-hero__lead {
  max-width: 700px !important;
}
@media (max-width: 1180px) {
  body .nd-hero__grid {
    grid-template-columns: 1fr !important;
  }
  body .nd-hero__copy,
  body .nd-hero__copy .display,
  body .nd-hero__lead {
    max-width: 100% !important;
  }
}
@media (max-width: 900px) {
  body .nd-hero__copy .display {
    font-size: clamp(3rem, 10.5vw, 4.6rem) !important;
    line-height: .9 !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v8.0 — Hero metrics strip layout
   Goal: turn the metrics card into a horizontal premium strip.
   ============================================================ */
body .nd-hero__metrics {
  grid-column: 1 / -1 !important;
  align-self: stretch !important;
  display: grid !important;
  grid-template-columns: minmax(180px, 1.1fr) repeat(3, minmax(140px, .9fr)) auto !important;
  align-items: center !important;
  gap: 0 !important;
  margin-top: 18px !important;
  padding: 18px 20px !important;
  border: 1px solid var(--line) !important;
  border-radius: 28px !important;
  background: rgb(var(--white-rgb) / .76) !important;
  box-shadow: 0 18px 42px rgb(var(--ink-rgb) / .08) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}
body .nd-hero__metrics > p {
  margin: 0 !important;
  padding-right: 18px !important;
  color: var(--accent) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
body .nd-hero__metrics > div {
  display: grid !important;
  gap: 4px !important;
  min-height: 72px !important;
  padding: 6px 22px !important;
  border-top: 0 !important;
  border-left: 1px solid var(--line) !important;
  align-content: center !important;
}
body .nd-hero__metrics strong {
  color: var(--ink) !important;
  font-size: clamp(2rem, 2.5vw, 2.35rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.06em !important;
  line-height: .95 !important;
}
body .nd-hero__metrics span {
  color: var(--ink-soft) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}
body .nd-hero__metrics .nd-text-link {
  justify-self: end !important;
  align-self: center !important;
  margin: 0 0 0 18px !important;
  padding-left: 20px !important;
  border-left: 1px solid var(--line) !important;
  color: var(--accent) !important;
  white-space: nowrap !important;
}
body .nd-hero__metrics .nd-text-link:hover {
  color: var(--accent-strong) !important;
}
@media (max-width: 1180px) {
  body .nd-hero__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
  }
  body .nd-hero__metrics > p,
  body .nd-hero__metrics .nd-text-link {
    grid-column: 1 / -1 !important;
  }
  body .nd-hero__metrics > p {
    padding: 0 0 14px !important;
  }
  body .nd-hero__metrics > div {
    min-height: 64px !important;
    padding: 14px 16px !important;
  }
  body .nd-hero__metrics > div:nth-of-type(2n) {
    border-left: 0 !important;
  }
  body .nd-hero__metrics .nd-text-link {
    justify-self: start !important;
    margin: 10px 0 0 !important;
    padding: 14px 0 0 !important;
    border-left: 0 !important;
    border-top: 1px solid var(--line) !important;
  }
}
@media (max-width: 720px) {
  body .nd-hero__metrics {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
  }
  body .nd-hero__metrics > div {
    min-height: auto !important;
    padding: 12px 0 !important;
    border-left: 0 !important;
    border-top: 1px solid var(--line) !important;
  }
  body .nd-hero__metrics > p {
    padding: 0 0 10px !important;
  }
  body .nd-hero__metrics .nd-text-link {
    margin-top: 8px !important;
    padding-top: 12px !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v8.1 — Calculator values no-wrap hotfix
   Goal: keep money values on one line inside the calculator strip.
   ============================================================ */
body .nd-calculator__card > div,
body .nd-calculator__card aside {
  min-width: 0;
}
body .nd-calculator__card b,
body .nd-calculator__card aside strong {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  font-variant-numeric: lining-nums tabular-nums;
}
body .nd-calculator__card b {
  font-size: clamp(1.2rem, 1.5vw, 1.85rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -.05em !important;
}
body .nd-calculator__card aside strong {
  font-size: clamp(2rem, 2.8vw, 3.15rem) !important;
  line-height: .95 !important;
  letter-spacing: -.06em !important;
}
@media (min-width: 901px) {
  body .nd-calculator__card {
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(210px, .84fr) !important;
  }
}
@media (max-width: 1180px) and (min-width: 721px) {
  body .nd-calculator__card b {
    font-size: clamp(1.1rem, 1.8vw, 1.45rem) !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v8.2 — Calculator strip fit hotfix
   Goal: ensure every calculator value is fully visible without clipping.
   ============================================================ */
body .nd-calculator__card {
  grid-template-columns: minmax(110px, 1fr) minmax(110px, 1fr) minmax(110px, 1fr) minmax(190px, 1.28fr) !important;
}
body .nd-calculator__card > div {
  padding: 16px 14px !important;
}
body .nd-calculator__card span {
  font-size: 10px !important;
  line-height: 1.2 !important;
}
body .nd-calculator__card b {
  margin-top: 10px !important;
  font-size: clamp(.98rem, 1.05vw, 1.28rem) !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
}
body .nd-calculator__card aside {
  padding: 16px 18px !important;
}
body .nd-calculator__card aside strong {
  font-size: clamp(1.9rem, 2.25vw, 2.7rem) !important;
}
body .nd-calculator__card aside small {
  font-size: 12px !important;
}
@media (max-width: 1180px) and (min-width: 901px) {
  body .nd-calculator__card {
    grid-template-columns: minmax(96px, 1fr) minmax(96px, 1fr) minmax(96px, 1fr) minmax(176px, 1.12fr) !important;
  }
  body .nd-calculator__card > div {
    padding: 14px 12px !important;
  }
  body .nd-calculator__card b {
    font-size: clamp(.88rem, 1vw, 1.08rem) !important;
  }
  body .nd-calculator__card aside strong {
    font-size: clamp(1.55rem, 2vw, 2.05rem) !important;
  }
}
@media (max-width: 900px) {
  body .nd-calculator__card {
    grid-template-columns: 1fr 1fr !important;
  }
  body .nd-calculator__card aside {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 560px) {
  body .nd-calculator__card {
    grid-template-columns: 1fr !important;
  }
  body .nd-calculator__card aside {
    grid-column: auto !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v8.3 — Ownership title line-break alignment
   Goal: fold the management section title into a clean editorial stack.
   ============================================================ */
body .nd-ownership__copy .title {
  max-width: 760px !important;
  font-size: clamp(3.1rem, 5.2vw, 5.7rem) !important;
  line-height: .88 !important;
  letter-spacing: -.078em !important;
  text-wrap: unset !important;
}
body .nd-ownership__copy .title em {
  display: inline !important;
  color: var(--accent) !important;
  font-style: normal !important;
  font-weight: 400 !important;
}
body .nd-ownership__copy > p:not(.eyebrow) {
  max-width: 620px !important;
}
@media (max-width: 900px) {
  body .nd-ownership__copy .title {
    max-width: 100% !important;
    font-size: clamp(2.75rem, 11vw, 4.45rem) !important;
    line-height: .9 !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v8.4 — Editorial stacked titles + ownership cards polish
   Goal: align stacked title widths and make the supporting plates look cleaner.
   ============================================================ */
body .nd-hero__copy,
body .nd-ownership__copy {
  max-width: 780px !important;
}
body .nd-hero__copy .display,
body .nd-ownership__copy .title {
  text-wrap: pretty !important;
}
body .nd-ownership__grid {
  grid-template-columns: minmax(0, 1.02fr) minmax(320px, .98fr) !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: start !important;
}
body .nd-ownership__copy .title {
  max-width: 760px !important;
  font-size: clamp(3rem, 5vw, 5.45rem) !important;
  line-height: .88 !important;
  letter-spacing: -.076em !important;
}
body .nd-ownership__copy .title em {
  color: var(--accent) !important;
}
body .nd-ownership__copy > p:not(.eyebrow) {
  max-width: 660px !important;
  margin-top: 22px !important;
}
body .nd-ownership__points {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 32px 0 !important;
}
body .nd-ownership__points > div {
  min-height: 128px !important;
  padding: 18px 16px !important;
  border: 1px solid var(--line) !important;
  border-radius: 22px !important;
  background: rgb(var(--white-rgb) / .62) !important;
  box-shadow: 0 14px 30px rgb(var(--ink-rgb) / .05) !important;
}
body .nd-ownership__points b {
  font-size: 14px !important;
  line-height: 1.2 !important;
}
body .nd-ownership__points span {
  margin-top: 8px !important;
  color: var(--ink-soft) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
body .nd-ownership__visual {
  min-height: 520px !important;
  border-radius: 34px !important;
  border-color: var(--line) !important;
  background: linear-gradient(180deg, rgb(var(--white-rgb) / .48), rgb(var(--surface-tint-rgb) / .72)) !important;
  box-shadow: 0 26px 54px rgb(var(--ink-rgb) / .10) !important;
}
body .nd-ownership__visual::after {
  background: linear-gradient(180deg, rgb(var(--white-rgb) / 0), rgb(var(--ink-rgb) / .08)) !important;
}
body .nd-ownership__note {
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  padding: 18px 20px !important;
  border: 1px solid var(--line) !important;
  border-left: 4px solid var(--accent) !important;
  border-radius: 18px !important;
  background: rgb(var(--white-rgb) / .86) !important;
  box-shadow: 0 16px 34px rgb(var(--ink-rgb) / .08) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
body .nd-ownership__note b {
  color: var(--ink) !important;
}
body .nd-ownership__note span {
  color: var(--accent) !important;
}
@media (max-width: 1180px) {
  body .nd-ownership__grid {
    grid-template-columns: 1fr !important;
  }
  body .nd-ownership__copy,
  body .nd-ownership__copy .title,
  body .nd-ownership__copy > p:not(.eyebrow) {
    max-width: 100% !important;
  }
}
@media (max-width: 780px) {
  body .nd-ownership__copy .title {
    font-size: clamp(2.7rem, 10.8vw, 4.25rem) !important;
    line-height: .9 !important;
  }
  body .nd-ownership__points {
    grid-template-columns: 1fr !important;
  }
  body .nd-ownership__points > div {
    min-height: auto !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v8.5 — Company opening title to 2 lines
   Goal: keep “Одна система — / от стратегии до дохода.” in two clean lines.
   ============================================================ */
body .opening--company .opening__copy {
  max-width: 620px !important;
}
body .opening--company .opening__title {
  max-width: 620px !important;
  font-size: clamp(3rem, 4.65vw, 5.25rem) !important;
  line-height: .9 !important;
  letter-spacing: -.074em !important;
  text-wrap: unset !important;
  overflow-wrap: normal !important;
}
body .opening--company .opening__lead {
  max-width: 560px !important;
}
@media (max-width: 900px) {
  body .opening--company .opening__copy,
  body .opening--company .opening__title,
  body .opening--company .opening__lead {
    max-width: 100% !important;
  }
  body .opening--company .opening__title {
    font-size: clamp(2.7rem, 10.5vw, 4.4rem) !important;
    line-height: .92 !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v8.7 — Lead form visibility hotfix
   Goal: make contact/lead forms fully readable on light sections.
   ============================================================ */
body .lead-form {
  color: var(--ink) !important;
  padding: clamp(24px, 2.4vw, 34px) !important;
  border: 1px solid var(--line) !important;
  border-radius: 30px !important;
  background: rgb(var(--white-rgb) / .72) !important;
  box-shadow: 0 20px 48px rgb(var(--ink-rgb) / .08) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
}
body .lead-form__top,
body .lead-form__top div {
  color: var(--ink) !important;
}
body .lead-form__top h2 {
  color: var(--ink) !important;
}
body .lead-form__top p {
  color: var(--ink-soft) !important;
  max-width: 260px !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
body .lead-form .eyebrow {
  color: var(--accent) !important;
}
body .lead-form .form-field label {
  color: var(--ink) !important;
}
body .lead-form input,
body .lead-form textarea,
body .lead-form select {
  color: var(--ink) !important;
  background: rgb(var(--white-rgb) / .92) !important;
  border-color: rgb(var(--ink-rgb) / .14) !important;
}
body .lead-form input::placeholder,
body .lead-form textarea::placeholder,
body .lead-form select::placeholder {
  color: rgb(var(--ink-rgb) / .42) !important;
}
body .lead-form .form-checkbox,
body .lead-form .form-checkbox span {
  color: var(--ink-soft) !important;
}
body .lead-form .button {
  box-shadow: 0 18px 36px rgb(var(--accent-rgb) / .22) !important;
}


/* ============================================================
   STUDIO REDESIGN v8.8 — Company hero 2-line title + metrics redesign
   Goal: exact 2-line title, remove visual tag, and make “Коротко о главном” cleaner.
   ============================================================ */
body .opening--company .opening__grid {
  grid-template-columns: minmax(500px, 1.1fr) minmax(320px, .92fr) minmax(250px, .68fr) !important;
  gap: clamp(28px, 3.2vw, 54px) !important;
  align-items: center !important;
}
body .opening--company .opening__copy {
  max-width: 760px !important;
}
body .opening--company .opening__title.opening__title--two-line {
  max-width: 760px !important;
  font-size: clamp(3rem, 4.4vw, 5.35rem) !important;
  line-height: .9 !important;
  letter-spacing: -.078em !important;
  text-wrap: unset !important;
}
body .opening--company .opening__title.opening__title--two-line > span,
body .opening--company .opening__title.opening__title--two-line > em {
  display: block !important;
  white-space: nowrap !important;
}
body .opening--company .opening__lead {
  max-width: 620px !important;
}
body .opening--company .opening__visual {
  min-height: 332px !important;
}
body .opening--company .opening__visual-tag {
  display: none !important;
}
body .opening--company .opening__metrics {
  align-self: stretch !important;
  padding: 22px 18px !important;
  border: 1px solid var(--line) !important;
  border-radius: 28px !important;
  background: rgb(var(--white-rgb) / .82) !important;
  box-shadow: 0 18px 40px rgb(var(--ink-rgb) / .07) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
body .opening--company .opening__metrics > p {
  margin-bottom: 12px !important;
  color: var(--accent) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
body .opening--company .opening__metric {
  gap: 6px !important;
  padding: 16px 0 !important;
  border-top: 1px solid rgb(var(--ink-rgb) / .10) !important;
}
body .opening--company .opening__metric:first-of-type {
  padding-top: 8px !important;
}
body .opening--company .opening__metric b {
  color: var(--ink) !important;
  font-size: clamp(1.75rem, 2.25vw, 2.25rem) !important;
  font-weight: 800 !important;
  line-height: .96 !important;
  letter-spacing: -.065em !important;
}
body .opening--company .opening__metric span {
  color: var(--ink-soft) !important;
  font-size: 12px !important;
  line-height: 1.42 !important;
}
body .opening--company .opening__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 14px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgb(var(--ink-rgb) / .10) !important;
  color: var(--accent) !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
}
body .opening--company .opening__link:hover {
  color: var(--accent-strong) !important;
}
@media (max-width: 1360px) {
  body .opening--company .opening__grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .82fr) !important;
  }
  body .opening--company .opening__metrics {
    grid-column: 1 / -1 !important;
    max-width: 640px !important;
  }
}
@media (max-width: 900px) {
  body .opening--company .opening__grid {
    grid-template-columns: 1fr !important;
  }
  body .opening--company .opening__title.opening__title--two-line,
  body .opening--company .opening__title.opening__title--two-line > span,
  body .opening--company .opening__title.opening__title--two-line > em {
    white-space: normal !important;
  }
  body .opening--company .opening__title.opening__title--two-line {
    font-size: clamp(2.7rem, 10.5vw, 4.4rem) !important;
  }
  body .opening--company .opening__metrics {
    max-width: 100% !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v8.9 — Company hero without visual card
   Goal: remove the blueprint image and rebalance the layout.
   ============================================================ */
body .opening--company .opening__grid {
  grid-template-columns: minmax(560px, 1.2fr) minmax(290px, .72fr) !important;
  gap: clamp(34px, 4vw, 72px) !important;
  align-items: start !important;
}
body .opening--company .opening__copy {
  max-width: 820px !important;
}
body .opening--company .opening__metrics {
  grid-column: auto !important;
  max-width: 100% !important;
  position: relative;
  top: 8px;
}
@media (max-width: 1360px) {
  body .opening--company .opening__grid {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .7fr) !important;
  }
}
@media (max-width: 1100px) {
  body .opening--company .opening__grid {
    grid-template-columns: 1fr !important;
  }
  body .opening--company .opening__metrics {
    top: 0;
    max-width: 640px !important;
  }
}
@media (max-width: 900px) {
  body .opening--company .opening__metrics {
    max-width: 100% !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v9.0 — Company title fit beside metrics panel
   Goal: keep the 2-line title clear of the right metrics card.
   ============================================================ */
body .opening--company .opening__grid {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 286px) !important;
  gap: clamp(26px, 2.8vw, 44px) !important;
  align-items: start !important;
}
body .opening--company .opening__copy {
  min-width: 0 !important;
  max-width: none !important;
}
body .opening--company .opening__title.opening__title--two-line {
  max-width: 100% !important;
  font-size: clamp(2.7rem, 4vw, 4.7rem) !important;
  line-height: .91 !important;
  letter-spacing: -.072em !important;
}
body .opening--company .opening__title.opening__title--two-line > span,
body .opening--company .opening__title.opening__title--two-line > em {
  display: block !important;
  white-space: nowrap !important;
}
body .opening--company .opening__lead {
  max-width: 660px !important;
}
body .opening--company .opening__metrics {
  max-width: 286px !important;
}
@media (max-width: 1280px) {
  body .opening--company .opening__grid {
    grid-template-columns: minmax(0, 1fr) minmax(248px, 272px) !important;
  }
  body .opening--company .opening__title.opening__title--two-line {
    font-size: clamp(2.55rem, 3.65vw, 4.1rem) !important;
  }
}
@media (max-width: 1100px) {
  body .opening--company .opening__grid {
    grid-template-columns: 1fr !important;
  }
  body .opening--company .opening__metrics {
    max-width: 640px !important;
  }
}
@media (max-width: 900px) {
  body .opening--company .opening__title.opening__title--two-line > span,
  body .opening--company .opening__title.opening__title--two-line > em {
    white-space: normal !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v9.1 — Company section gap reduction
   Goal: reduce the oversized vertical gap between the opening block and the next panel.
   ============================================================ */
body .opening--company {
  min-height: auto !important;
  padding-top: 132px !important;
  padding-bottom: 34px !important;
}
body .opening--company + .section.section--paper {
  margin-top: 0 !important;
  padding-top: 18px !important;
}
body .opening--company + .section.section--paper .container {
  padding-top: 0 !important;
}
@media (max-width: 1100px) {
  body .opening--company {
    padding-bottom: 26px !important;
  }
  body .opening--company + .section.section--paper {
    padding-top: 12px !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v9.2 — Global compact spacing pass
   Goal: remove oversized vertical gaps across the site.
   ============================================================ */
body .section {
  padding: clamp(44px, 6vw, 78px) 0 !important;
}
body .opening,
body .faq-classic-hero {
  min-height: auto !important;
  padding-top: 124px !important;
  padding-bottom: 52px !important;
}
body .nd-hero {
  min-height: auto !important;
  padding-top: 120px !important;
  padding-bottom: 56px !important;
}
body .cta,
body .faq-classic-cta,
body .nd-final,
body .nd-ownership,
body .site-footer {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}
body .split-intro,
body .cta-grid,
body .founder-layout,
body .story-layout,
body .calculator-band__grid,
body .approach-top {
  margin-bottom: clamp(18px, 2.2vw, 30px) !important;
}
body .metrics,
body .approach-map,
body .check-grid,
body .faq-classic-list,
body .contact-grid,
body .cards-grid {
  margin-top: clamp(18px, 2.2vw, 30px) !important;
}
@media (max-width: 900px) {
  body .section {
    padding: 40px 0 !important;
  }
  body .opening,
  body .faq-classic-hero,
  body .nd-hero {
    padding-top: 112px !important;
    padding-bottom: 42px !important;
  }
  body .cta,
  body .faq-classic-cta,
  body .nd-final,
  body .nd-ownership,
  body .site-footer {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v9.3 — Center short last row in management flow
   Goal: center the last 2-card row so it doesn't look left-heavy.
   ============================================================ */
body .management-flow__row--two {
  width: calc(50% - 7px) !important;
  margin-inline: auto !important;
  justify-self: center !important;
}
@media (max-width: 1120px) {
  body .management-flow__row--two {
    width: 100% !important;
    margin-inline: 0 !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v9.4 — Homepage metrics duo redesign
   Goal: make the two consecutive rows of cards feel like one polished composition.
   ============================================================ */
body .nd-hero {
  padding-bottom: 34px !important;
}
body .nd-hero__metrics {
  position: relative;
  overflow: hidden;
  border-radius: 28px !important;
  background: linear-gradient(180deg, rgb(var(--white-rgb) / .92), rgb(var(--white-rgb) / .82)) !important;
  box-shadow: 0 22px 48px rgb(var(--ink-rgb) / .10) !important;
}
body .nd-hero__metrics::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 50%, rgb(var(--accent-rgb) / .09), transparent 24%),
    radial-gradient(circle at 88% 50%, rgb(var(--accent-rgb) / .08), transparent 20%);
  pointer-events: none;
}
body .nd-hero__metrics > * {
  position: relative;
  z-index: 1;
}
body .nd-hero__metrics > p {
  max-width: 180px !important;
}
body .nd-hero__metrics > div {
  min-height: 72px;
}
body .nd-proof {
  position: relative;
  margin-top: -8px;
  padding-top: 10px !important;
  padding-bottom: 30px !important;
}
body .nd-proof::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  width: min(1120px, calc(100% - 48px));
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgb(var(--accent-rgb) / .20), transparent);
}
body .nd-proof__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
body .nd-proof__grid > div {
  position: relative;
  min-height: 152px !important;
  padding: 26px 22px 22px !important;
  overflow: hidden;
  border-radius: 26px !important;
  background: linear-gradient(180deg, rgb(var(--white-rgb) / .88), rgb(var(--white-rgb) / .68)) !important;
  box-shadow: 0 18px 36px rgb(var(--ink-rgb) / .07) !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
body .nd-proof__grid > div::before {
  content: '';
  position: absolute;
  left: 22px;
  right: 22px;
  top: 0;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), rgb(var(--accent-rgb) / .28));
}
body .nd-proof__grid > div::after {
  content: '';
  position: absolute;
  width: 110px;
  height: 110px;
  right: -26px;
  bottom: -34px;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(var(--accent-rgb) / .14), transparent 68%);
  pointer-events: none;
}
body .nd-proof__grid > div:nth-child(1),
body .nd-proof__grid > div:nth-child(3) {
  transform: translateY(-10px);
}
body .nd-proof__grid > div:nth-child(2),
body .nd-proof__grid > div:nth-child(4) {
  transform: translateY(10px);
}
body .nd-proof__grid > div:hover {
  transform: translateY(-4px) !important;
  border-color: rgb(var(--accent-rgb) / .30) !important;
  box-shadow: 0 24px 42px rgb(var(--ink-rgb) / .11) !important;
}
body .nd-proof__grid > div:nth-child(1) {
  background: linear-gradient(180deg, rgb(var(--accent-rgb) / .14), rgb(var(--white-rgb) / .94) 40%, rgb(var(--white-rgb) / .74));
}
body .nd-proof__grid > div:nth-child(4) {
  background: linear-gradient(180deg, rgb(var(--white-rgb) / .88), rgb(var(--accent-rgb) / .10));
}
body .nd-proof__grid b {
  display: block;
  margin-bottom: 10px;
  font-size: clamp(2rem, 2.2vw, 2.5rem) !important;
  line-height: .94 !important;
  letter-spacing: -.068em !important;
}
body .nd-proof__grid span {
  max-width: 220px !important;
  margin-top: 0 !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
}
@media (max-width: 1180px) {
  body .nd-proof__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .nd-proof__grid > div:nth-child(n) {
    transform: none !important;
  }
}
@media (max-width: 720px) {
  body .nd-proof {
    margin-top: 0;
    padding-top: 8px !important;
  }
  body .nd-proof__grid {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v9.5 — Remove white gap before strategy section
   Goal: eliminate the blank white break between the proof cards and the next homepage section.
   ============================================================ */
body .nd-proof {
  padding-bottom: 18px !important;
}
body .nd-strategy.nd-curve {
  --nd-curve-bg: var(--surface) !important;
  background: var(--surface) !important;
  margin-top: -34px !important;
  padding-top: 72px !important;
}
body .nd-strategy.nd-curve::before {
  top: -56px !important;
  height: 112px !important;
  filter: none !important;
}
body .nd-strategy.nd-curve::after {
  top: -48px !important;
  height: 82px !important;
  opacity: .42 !important;
}
body .nd-strategy__head {
  margin-top: 0 !important;
}
@media (max-width: 900px) {
  body .nd-strategy.nd-curve {
    margin-top: -18px !important;
    padding-top: 52px !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v9.6 — Ownership section cleanup
   Goal: remove the bottom note card from the visual and make the section feel cleaner and more premium.
   ============================================================ */
body .nd-ownership {
  padding-top: 48px !important;
  padding-bottom: 44px !important;
}
body .nd-ownership__grid {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr) !important;
  gap: clamp(26px, 3.2vw, 48px) !important;
  align-items: center !important;
}
body .nd-ownership__copy {
  max-width: 720px !important;
}
body .nd-ownership__copy .title {
  max-width: 700px !important;
  font-size: clamp(2.9rem, 4.85vw, 5.15rem) !important;
}
body .nd-ownership__copy > p:not(.eyebrow) {
  max-width: 610px !important;
}
body .nd-ownership__points {
  gap: 16px !important;
  margin: 28px 0 0 !important;
}
body .nd-ownership__points > div {
  min-height: 118px !important;
  padding: 18px 18px 16px !important;
  background: linear-gradient(180deg, rgb(var(--white-rgb) / .82), rgb(var(--white-rgb) / .66)) !important;
  box-shadow: 0 16px 34px rgb(var(--ink-rgb) / .06) !important;
}
body .nd-ownership__visual {
  min-height: 438px !important;
  padding: 14px !important;
  border-radius: 30px !important;
  background: linear-gradient(145deg, rgb(var(--white-rgb) / .78), rgb(var(--surface-tint-rgb) / .94)) !important;
  box-shadow: 0 26px 60px rgb(var(--ink-rgb) / .10) !important;
}
body .nd-ownership__visual::after {
  inset: auto 0 0 0 !important;
  height: 90px !important;
  background: linear-gradient(180deg, rgb(var(--white-rgb) / 0), rgb(var(--accent-rgb) / .06)) !important;
}
body .nd-ownership__visual img {
  width: 100% !important;
  height: 100% !important;
  border-radius: 22px !important;
  background: rgb(var(--white-rgb) / .92) !important;
  box-shadow: 0 10px 22px rgb(var(--ink-rgb) / .06) !important;
}
body .nd-ownership__note {
  display: none !important;
}
@media (max-width: 1180px) {
  body .nd-ownership__grid {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  body .nd-ownership__visual {
    min-height: 380px !important;
  }
}
@media (max-width: 780px) {
  body .nd-ownership__visual {
    min-height: 300px !important;
    padding: 10px !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v9.7 — Remove ownership visual block entirely
   Goal: remove the right blueprint card and let the content breathe full-width.
   ============================================================ */
body .nd-ownership {
  padding-top: 46px !important;
  padding-bottom: 40px !important;
}
body .nd-ownership__grid {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}
body .nd-ownership__copy {
  max-width: 860px !important;
}
body .nd-ownership__copy .title {
  max-width: 760px !important;
}
body .nd-ownership__copy > p:not(.eyebrow) {
  max-width: 720px !important;
}
body .nd-ownership__points {
  max-width: 860px !important;
  margin-top: 28px !important;
}
body .nd-ownership__visual,
body .nd-ownership__note {
  display: none !important;
}
@media (max-width: 780px) {
  body .nd-ownership__copy,
  body .nd-ownership__points {
    max-width: 100% !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v9.8 — Ownership title in 2 lines
   Goal: keep the ownership headline clean and readable in exactly two lines.
   ============================================================ */
body .nd-ownership__copy .title.title--two-line {
  max-width: 980px !important;
  font-size: clamp(2.7rem, 4.55vw, 5rem) !important;
  line-height: .9 !important;
  letter-spacing: -.074em !important;
}
body .nd-ownership__copy .title.title--two-line > span,
body .nd-ownership__copy .title.title--two-line > em {
  display: block !important;
  white-space: nowrap !important;
}
body .nd-ownership__copy .title.title--two-line > em {
  color: var(--accent) !important;
  font-style: normal !important;
}
@media (max-width: 980px) {
  body .nd-ownership__copy .title.title--two-line {
    max-width: 100% !important;
    font-size: clamp(2.5rem, 8.6vw, 4.4rem) !important;
  }
  body .nd-ownership__copy .title.title--two-line > span,
  body .nd-ownership__copy .title.title--two-line > em {
    white-space: normal !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v9.9 — Ownership cards moved to right sidebar
   Goal: place the three supporting cards on the right side of the section.
   ============================================================ */
body .nd-ownership__grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
  gap: clamp(28px, 4vw, 56px) !important;
  align-items: start !important;
}
body .nd-ownership__copy {
  max-width: 720px !important;
}
body .nd-ownership__copy > p:not(.eyebrow) {
  max-width: 620px !important;
}
body .nd-ownership__copy .nd-text-link {
  margin-top: 22px !important;
}
body .nd-ownership__points {
  align-self: start !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  max-width: 360px !important;
  margin: 12px 0 0 !important;
}
body .nd-ownership__points > div {
  min-height: 118px !important;
  padding: 20px 20px 18px !important;
  border: 1px solid var(--line) !important;
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgb(var(--white-rgb) / .88), rgb(var(--white-rgb) / .68)) !important;
  box-shadow: 0 16px 34px rgb(var(--ink-rgb) / .06) !important;
}
body .nd-ownership__points b {
  display: block !important;
  margin-bottom: 8px !important;
}
@media (max-width: 1100px) {
  body .nd-ownership__grid {
    grid-template-columns: 1fr !important;
  }
  body .nd-ownership__points {
    max-width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 26px !important;
  }
}
@media (max-width: 780px) {
  body .nd-ownership__points {
    grid-template-columns: 1fr !important;
  }
}






/* ============================================================
   STUDIO REDESIGN v10.1 — Ownership title with accent on third line
   Goal: move the orange words to the third line and keep the title clear of the right cards.
   ============================================================ */
body .nd-ownership__grid {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 320px) !important;
  gap: clamp(24px, 3vw, 40px) !important;
}
body .nd-ownership__copy {
  max-width: 680px !important;
}
body .nd-ownership__copy .title.title--two-line {
  max-width: 100% !important;
  font-size: clamp(2.45rem, 3.95vw, 4.35rem) !important;
  line-height: .9 !important;
  letter-spacing: -.074em !important;
  color: var(--ink) !important;
}
body .nd-ownership__copy .title.title--two-line > span,
body .nd-ownership__copy .title.title--two-line > em {
  display: block !important;
  white-space: nowrap !important;
}
body .nd-ownership__copy .title.title--two-line > span,
body .nd-ownership__copy .title.title--two-line .title__line-ink {
  color: var(--ink) !important;
}
body .nd-ownership__copy .title.title--two-line .title__line-accent {
  color: var(--accent) !important;
  font-style: normal !important;
}
body .nd-ownership__points {
  max-width: 320px !important;
}
@media (max-width: 1180px) {
  body .nd-ownership__grid {
    grid-template-columns: 1fr !important;
  }
  body .nd-ownership__points {
    max-width: 100% !important;
  }
}
@media (max-width: 980px) {
  body .nd-ownership__copy .title.title--two-line {
    font-size: clamp(2.3rem, 7.2vw, 4rem) !important;
  }
  body .nd-ownership__copy .title.title--two-line > span,
  body .nd-ownership__copy .title.title--two-line > em {
    white-space: normal !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v10.2 — Process panel widgets instead of blueprint image
   Goal: replace the generic image with stage-specific interactive widgets.
   ============================================================ */
body .nd-process-panel__body {
  grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr) !important;
  gap: 28px !important;
}
body .nd-process-panel__visual.nd-process-widget {
  min-height: 0 !important;
  padding: 20px !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgb(var(--white-rgb) / .92), rgb(var(--surface-tint-rgb) / .78)) !important;
  box-shadow: inset 0 1px 0 rgb(var(--white-rgb) / .6), 0 16px 34px rgb(var(--ink-rgb) / .06) !important;
}
body .nd-process-widget {
  display: grid !important;
  gap: 16px !important;
}
body .nd-process-widget__badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgb(var(--accent-rgb) / .11);
  color: var(--accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body .nd-process-widget__hero {
  display: grid;
  gap: 4px;
  padding: 8px 0 4px;
}
body .nd-process-widget__hero span {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .08em;
}
body .nd-process-widget__hero b {
  color: var(--ink);
  font-size: clamp(2.2rem, 3vw, 3rem);
  font-weight: 800;
  line-height: .94;
  letter-spacing: -.07em;
}
body .nd-process-widget__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
body .nd-process-widget__stats > div {
  min-height: 88px;
  padding: 14px 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgb(var(--white-rgb) / .82);
}
body .nd-process-widget__stats span {
  display: block;
  margin-bottom: 8px;
  color: var(--ink-soft);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .06em;
}
body .nd-process-widget__stats b {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.3;
}
body .nd-process-widget__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
body .nd-process-widget__list li {
  position: relative;
  padding-left: 18px;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.45;
}
body .nd-process-widget__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .52em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgb(var(--accent-rgb) / .12);
}
body .nd-process-panel.is-working .nd-process-widget__badge {
  box-shadow: 0 0 0 0 rgb(var(--accent-rgb) / .3);
  animation: ndPulse 1.7s infinite;
}
@media (max-width: 980px) {
  body .nd-process-panel__body {
    grid-template-columns: 1fr !important;
  }
  body .nd-process-widget__stats {
    grid-template-columns: 1fr !important;
  }
}

body .nd-process-panel__visual img,
body .nd-process-panel__line { display:none !important; }


/* ============================================================
   STUDIO REDESIGN v10.3 — Process widget without mini stat cards
   Goal: remove the small inner tiles and keep the right widget clean.
   ============================================================ */
body .nd-process-panel__visual.nd-process-widget {
  padding: 22px !important;
}
body .nd-process-widget {
  align-content: start !important;
  gap: 18px !important;
}
body .nd-process-widget__hero {
  padding: 6px 0 2px !important;
}
body .nd-process-widget__list {
  margin-top: 2px !important;
  padding: 16px !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  background: rgb(var(--white-rgb) / .76) !important;
}
body .nd-process-widget__stats {
  display: none !important;
}
body .nd-process-widget__list li {
  font-size: 13px !important;
}


/* ============================================================
   STUDIO REDESIGN v10.4 — Investors intro without visual card
   Goal: remove the blueprint card from the investors intro and rebalance the section.
   ============================================================ */
body .opening--investors .opening__grid {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}
body .opening--investors .opening__copy {
  max-width: 860px !important;
}
body .opening--investors .opening__title {
  max-width: 760px !important;
}
body .opening--investors .opening__lead {
  max-width: 680px !important;
}
body .opening--investors .opening__note {
  max-width: 560px !important;
}
body .opening--investors .opening__visual,
body .opening--investors .opening__visual-frame,
body .opening--investors .opening__visual-tag {
  display: none !important;
}
@media (max-width: 900px) {
  body .opening--investors .opening__copy,
  body .opening--investors .opening__title,
  body .opening--investors .opening__lead,
  body .opening--investors .opening__note {
    max-width: 100% !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v10.5 — Investors hero title in 2 lines
   Goal: keep “Капитал работает.” and “Рутину берем на себя.” as two clean lines.
   ============================================================ */
body .opening--investors .opening__copy {
  max-width: 980px !important;
}
body .opening--investors .opening__title.opening__title--investors-two {
  max-width: 980px !important;
  font-size: clamp(3.1rem, 5.15vw, 6rem) !important;
  line-height: .88 !important;
  letter-spacing: -.078em !important;
  text-wrap: unset !important;
  overflow-wrap: normal !important;
}
body .opening--investors .opening__title.opening__title--investors-two > span,
body .opening--investors .opening__title.opening__title--investors-two > em {
  display: block !important;
  white-space: nowrap !important;
}
body .opening--investors .opening__title.opening__title--investors-two > span {
  color: var(--ink) !important;
}
body .opening--investors .opening__title.opening__title--investors-two > em {
  color: var(--accent) !important;
  font-style: normal !important;
}
@media (max-width: 1180px) {
  body .opening--investors .opening__title.opening__title--investors-two {
    font-size: clamp(2.8rem, 7vw, 5rem) !important;
  }
}
@media (max-width: 720px) {
  body .opening--investors .opening__title.opening__title--investors-two > span,
  body .opening--investors .opening__title.opening__title--investors-two > em {
    white-space: normal !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v10.6 — Investors metrics card moved to right and compacted
   Goal: place the “Коротко о главном” block on the right edge and make it smaller.
   ============================================================ */
body .opening--investors .opening__grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 344px) !important;
  gap: clamp(28px, 3.2vw, 48px) !important;
  align-items: start !important;
}
body .opening--investors .opening__copy {
  max-width: 780px !important;
  min-width: 0 !important;
}
body .opening--investors .opening__lead {
  max-width: 620px !important;
}
body .opening--investors .opening__note {
  max-width: 520px !important;
}
body .opening--investors .opening__metrics {
  grid-column: auto !important;
  align-self: start !important;
  justify-self: end !important;
  width: 100% !important;
  max-width: 344px !important;
  padding: 20px 18px !important;
  border-radius: 24px !important;
}
body .opening--investors .opening__metrics > p {
  margin-bottom: 8px !important;
  font-size: 12px !important;
}
body .opening--investors .opening__metric {
  padding: 12px 0 !important;
}
body .opening--investors .opening__metric b {
  font-size: clamp(1.5rem, 2.1vw, 2.05rem) !important;
  line-height: .96 !important;
  letter-spacing: -.06em !important;
}
body .opening--investors .opening__metric span {
  margin-top: 4px !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
}
body .opening--investors .opening__link {
  margin-top: 12px !important;
}
@media (max-width: 1080px) {
  body .opening--investors .opening__grid {
    grid-template-columns: 1fr !important;
  }
  body .opening--investors .opening__copy,
  body .opening--investors .opening__lead,
  body .opening--investors .opening__note,
  body .opening--investors .opening__title {
    max-width: 100% !important;
  }
  body .opening--investors .opening__metrics {
    justify-self: start !important;
    max-width: 420px !important;
    margin-top: 8px !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v10.7 — Investors strategy section without mockup
   Replace the right mockup image with a clean explanatory scheme.
   ============================================================ */
body .investor-blueprint {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(340px, 1.1fr) !important;
  gap: clamp(28px, 4vw, 64px) !important;
  align-items: center !important;
}
body .investor-blueprint .section-lead {
  color: var(--ink-soft) !important;
  max-width: 560px !important;
}
body .investor-blueprint__scheme {
  padding: 30px !important;
  border: 1px solid var(--line) !important;
  border-radius: 32px !important;
  background:
    linear-gradient(140deg, rgb(var(--white-rgb) / .84), rgb(var(--surface-tint-rgb) / .94)),
    radial-gradient(circle at 100% 100%, rgb(var(--accent-rgb) / .08), transparent 40%) !important;
  box-shadow: 0 24px 54px rgb(var(--ink-rgb) / .08) !important;
}
body .investor-blueprint__scheme-label {
  margin: 0 0 18px !important;
  color: var(--accent) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
body .investor-blueprint__scheme-steps {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
}
body .investor-blueprint__scheme-steps > div {
  min-height: 128px !important;
  padding: 18px 18px 16px !important;
  border: 1px solid var(--line) !important;
  border-radius: 22px !important;
  background: rgb(var(--white-rgb) / .74) !important;
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
}
body .investor-blueprint__scheme-steps span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  background: rgb(var(--accent-rgb) / .12) !important;
  color: var(--accent) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
}
body .investor-blueprint__scheme-steps b {
  color: var(--ink) !important;
  font-size: 22px !important;
  line-height: .98 !important;
  letter-spacing: -.04em !important;
}
body .investor-blueprint__scheme-steps small {
  color: var(--ink-soft) !important;
  font-size: 13px !important;
  line-height: 1.38 !important;
}
body .investor-blueprint__scheme-note {
  padding: 18px 18px 16px !important;
  border-radius: 22px !important;
  background: rgb(var(--accent-rgb) / .08) !important;
  border: 1px solid rgb(var(--accent-rgb) / .18) !important;
}
body .investor-blueprint__scheme-note b {
  display: block !important;
  margin-bottom: 10px !important;
  color: var(--ink) !important;
  font-size: 18px !important;
  line-height: 1.04 !important;
}
body .investor-blueprint__scheme-note ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid !important;
  gap: 9px !important;
}
body .investor-blueprint__scheme-note li {
  position: relative !important;
  padding-left: 16px !important;
  color: var(--ink-soft) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
body .investor-blueprint__scheme-note li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: .58em !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: var(--accent) !important;
}
body .investor-blueprint__image,
body .investor-blueprint__image img {
  display: none !important;
}
@media (max-width: 980px) {
  body .investor-blueprint {
    grid-template-columns: 1fr !important;
  }
  body .investor-blueprint__scheme-steps {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v10.8 — Management intro without scheme image
   Remove the opening mockup on management page and format the heading in two lines.
   ============================================================ */
body .opening--management .opening__grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 348px) !important;
  gap: clamp(30px, 3.4vw, 52px) !important;
  align-items: start !important;
}
body .opening--management .opening__copy {
  max-width: 760px !important;
}
body .opening--management .opening__title.opening__title--management-two-line {
  max-width: 720px !important;
  color: var(--ink) !important;
  font-size: clamp(3rem, 5vw, 5.1rem) !important;
  line-height: .9 !important;
  letter-spacing: -.078em !important;
}
body .opening--management .opening__title.opening__title--management-two-line > span,
body .opening--management .opening__title.opening__title--management-two-line > em {
  display: block !important;
  white-space: nowrap !important;
}
body .opening--management .opening__title.opening__title--management-two-line > span {
  color: var(--ink) !important;
}
body .opening--management .opening__title.opening__title--management-two-line > em {
  color: var(--accent) !important;
  font-style: normal !important;
}
body .opening--management .opening__lead {
  max-width: 620px !important;
}
body .opening--management .opening__note {
  max-width: 540px !important;
}
body .opening--management .opening__visual,
body .opening--management .opening__visual-frame,
body .opening--management .opening__visual-tag {
  display: none !important;
}
body .opening--management .opening__metrics {
  align-self: start !important;
  justify-self: end !important;
  width: 100% !important;
  max-width: 348px !important;
}
@media (max-width: 1080px) {
  body .opening--management .opening__grid {
    grid-template-columns: 1fr !important;
  }
  body .opening--management .opening__metrics {
    justify-self: start !important;
    max-width: 420px !important;
  }
}
@media (max-width: 860px) {
  body .opening--management .opening__title.opening__title--management-two-line > span,
  body .opening--management .opening__title.opening__title--management-two-line > em {
    white-space: normal !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v10.9 — Management change cards readable and premium
   Make the 4 cards on management page light, clear and visually stronger.
   ============================================================ */
body .change-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 40px !important;
}
body .change-grid article,
body .section--dark .change-grid article {
  min-height: 230px !important;
  padding: 24px 24px 22px !important;
  border: 1px solid var(--line) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgb(var(--white-rgb) / .96), rgb(var(--surface-tint-rgb) / .68)) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
}
body .change-grid article:hover {
  transform: translateY(-4px) !important;
  border-color: rgb(var(--accent-rgb) / .26) !important;
  box-shadow: var(--shadow-md) !important;
}
body .change-grid article span,
body .section--dark .change-grid article span {
  color: var(--accent) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
}
body .change-grid article b,
body .section--dark .change-grid article b {
  display: block !important;
  margin-top: 58px !important;
  color: var(--ink) !important;
  font-size: clamp(1.85rem, 2.35vw, 2.3rem) !important;
  font-weight: 700 !important;
  line-height: .98 !important;
  letter-spacing: -.05em !important;
  text-shadow: none !important;
}
body .change-grid article p,
body .section--dark .change-grid article p {
  margin: 12px 0 0 !important;
  color: var(--ink-soft) !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  text-shadow: none !important;
}
@media (max-width: 1120px) {
  body .change-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 800px) {
  body .change-grid {
    grid-template-columns: 1fr !important;
  }
  body .change-grid article {
    min-height: 0 !important;
  }
  body .change-grid article b {
    margin-top: 34px !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v11.0 — Cases grid supports 3 cards
   ============================================================ */
.nd-cases__grid {
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}
.case-story-grid {
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}


/* ============================================================
   STUDIO REDESIGN v11.1 — Homepage cases polished 3-card layout
   Goal: make the cases on the homepage look balanced, premium and readable.
   ============================================================ */
body .nd-cases {
  padding-top: clamp(48px, 5.6vw, 78px) !important;
  padding-bottom: clamp(54px, 6.2vw, 86px) !important;
}
body .nd-cases__head {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 24px !important;
}
body .nd-cases__head .title {
  max-width: 820px !important;
}
body .nd-cases__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(16px, 1.6vw, 24px) !important;
  margin-top: clamp(28px, 3.2vw, 44px) !important;
}
body .nd-case-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  overflow: hidden !important;
  min-height: 0 !important;
  border: 1px solid var(--line) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(180deg, rgb(var(--white-rgb) / .95), rgb(var(--surface-tint-rgb) / .62)) !important;
  box-shadow: 0 20px 46px rgb(var(--ink-rgb) / .08) !important;
  transform: translateY(0) !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}
body .nd-case-card::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 14% 8%, rgb(var(--accent-rgb) / .12), transparent 28%),
    linear-gradient(180deg, rgb(var(--white-rgb) / .20), transparent 40%) !important;
  opacity: .9 !important;
}
body .nd-case-card:hover {
  transform: translateY(-7px) !important;
  border-color: rgb(var(--accent-rgb) / .28) !important;
  box-shadow: 0 28px 56px rgb(var(--ink-rgb) / .12) !important;
}
body .nd-case-card__image {
  position: relative !important;
  z-index: 1 !important;
  margin: 12px 12px 0 !important;
  overflow: hidden !important;
  min-height: 0 !important;
  aspect-ratio: 1.25 / 1 !important;
  border-radius: 22px !important;
  background: var(--surface-tint) !important;
}
body .nd-case-card__image::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(180deg, transparent 48%, rgb(var(--ink-rgb) / .26)) !important;
}
body .nd-case-card__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  filter: saturate(.96) contrast(1.02) !important;
  transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .55s ease !important;
}
body .nd-case-card:hover .nd-case-card__image img {
  transform: scale(1.045) !important;
  filter: saturate(1.03) contrast(1.04) !important;
}
body .nd-case-card__body {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  min-height: 300px !important;
  flex-direction: column !important;
  padding: 22px 24px 24px !important;
}
body .nd-case-card__body p {
  align-self: flex-start !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  border: 1px solid rgb(var(--accent-rgb) / .18) !important;
  border-radius: 999px !important;
  color: var(--accent) !important;
  background: rgb(var(--accent-rgb) / .08) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}
body .nd-case-card__body h3 {
  margin: 18px 0 0 !important;
  color: var(--ink) !important;
  font-size: clamp(1.6rem, 2vw, 2.15rem) !important;
  font-weight: 700 !important;
  line-height: .98 !important;
  letter-spacing: -.06em !important;
}
body .nd-case-card__body span {
  margin-top: 14px !important;
  max-width: 270px !important;
  color: var(--ink-soft) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
body .nd-case-card__body b {
  display: block !important;
  margin-top: auto !important;
  padding-top: 22px !important;
  border-top: 1px solid var(--line) !important;
  color: var(--accent) !important;
  font-size: clamp(2.35rem, 3.2vw, 3.6rem) !important;
  font-weight: 800 !important;
  line-height: .88 !important;
  letter-spacing: -.075em !important;
}
body .nd-case-card__body .nd-text-link {
  width: fit-content !important;
  margin-top: 18px !important;
  padding-top: 0 !important;
  color: var(--ink) !important;
}
body .nd-case-card__body .nd-text-link:hover {
  color: var(--accent) !important;
}
body .nd-case-card:nth-child(2) {
  transform: translateY(14px) !important;
}
body .nd-case-card:nth-child(2):hover {
  transform: translateY(7px) !important;
}
body .nd-case-card:nth-child(3) {
  background:
    linear-gradient(180deg, rgb(var(--white-rgb) / .96), rgb(var(--accent-rgb) / .09) 100%) !important;
}
@media (max-width: 1180px) {
  body .nd-cases__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .nd-case-card:nth-child(2),
  body .nd-case-card:nth-child(2):hover {
    transform: none !important;
  }
  body .nd-case-card:nth-child(3) {
    grid-column: 1 / -1 !important;
    grid-template-columns: minmax(260px, .74fr) minmax(0, 1fr) !important;
  }
  body .nd-case-card:nth-child(3) .nd-case-card__image {
    height: calc(100% - 12px) !important;
    aspect-ratio: auto !important;
    margin: 12px 0 12px 12px !important;
  }
}
@media (max-width: 760px) {
  body .nd-cases__head {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  body .nd-cases__grid,
  body .nd-case-card:nth-child(3) {
    grid-template-columns: 1fr !important;
  }
  body .nd-case-card:nth-child(3) .nd-case-card__image {
    height: auto !important;
    aspect-ratio: 1.25 / 1 !important;
    margin: 12px 12px 0 !important;
  }
  body .nd-case-card__body {
    min-height: 250px !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v11.2 — Cases page premium cards
   Goal: make all case cards in the Cases section look installed, balanced and studio-level.
   ============================================================ */
body[data-page="Кейсы"] .section--paper {
  position: relative !important;
  overflow: hidden !important;
}
body[data-page="Кейсы"] .section--paper::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 8% 16%, rgb(var(--accent-rgb) / .075), transparent 28%),
    radial-gradient(circle at 94% 72%, rgb(var(--accent-rgb) / .08), transparent 30%) !important;
}
body[data-page="Кейсы"] .section--paper > .container {
  position: relative !important;
  z-index: 1 !important;
}
body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 1.8vw, 26px) !important;
  margin-top: clamp(30px, 3.4vw, 48px) !important;
  align-items: stretch !important;
}
body[data-page="Кейсы"] .story-card-neo {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  overflow: hidden !important;
  min-height: 100% !important;
  border: 1px solid var(--line) !important;
  border-radius: 32px !important;
  background:
    linear-gradient(180deg, rgb(var(--white-rgb) / .96), rgb(var(--surface-tint-rgb) / .62)) !important;
  box-shadow: 0 22px 52px rgb(var(--ink-rgb) / .08) !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}
body[data-page="Кейсы"] .story-card-neo:hover {
  transform: translateY(-7px) !important;
  border-color: rgb(var(--accent-rgb) / .32) !important;
  box-shadow: 0 30px 68px rgb(var(--ink-rgb) / .13) !important;
}
body[data-page="Кейсы"] .story-card-neo::before {
  content: '' !important;
  position: absolute !important;
  left: 22px !important;
  right: 22px !important;
  top: 0 !important;
  z-index: 2 !important;
  height: 4px !important;
  border-radius: 0 0 999px 999px !important;
  background: linear-gradient(90deg, var(--accent), rgb(var(--accent-rgb) / .28)) !important;
}
body[data-page="Кейсы"] .story-card-neo:nth-child(3) {
  background:
    radial-gradient(circle at 90% 0%, rgb(var(--accent-rgb) / .13), transparent 34%),
    linear-gradient(180deg, rgb(var(--white-rgb) / .97), rgb(var(--surface-tint-rgb) / .68)) !important;
}
body[data-page="Кейсы"] .story-card-neo__media {
  position: relative !important;
  aspect-ratio: 1.18 / .88 !important;
  overflow: hidden !important;
  margin: 14px 14px 0 !important;
  border-radius: 24px !important;
  background: var(--surface-tint) !important;
}
body[data-page="Кейсы"] .story-card-neo__media::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, transparent 46%, rgb(var(--ink-rgb) / .42)),
    radial-gradient(circle at 16% 12%, rgb(var(--white-rgb) / .28), transparent 30%) !important;
  pointer-events: none !important;
}
body[data-page="Кейсы"] .story-card-neo__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: scale(1.001) !important;
  filter: saturate(.96) contrast(1.02) !important;
  transition: transform .55s ease, filter .55s ease !important;
}
body[data-page="Кейсы"] .story-card-neo:hover .story-card-neo__media img {
  transform: scale(1.055) !important;
  filter: saturate(1.04) contrast(1.04) !important;
}
body[data-page="Кейсы"] .story-card-neo__body {
  display: flex !important;
  flex-direction: column !important;
  padding: 24px 24px 22px !important;
}
body[data-page="Кейсы"] .story-card-neo__body .eyebrow {
  margin-bottom: 14px !important;
  color: var(--accent) !important;
  font-size: 10px !important;
  letter-spacing: .14em !important;
}
body[data-page="Кейсы"] .story-card-neo__body h3 {
  min-height: 92px !important;
  margin: 0 !important;
  color: var(--ink) !important;
  font-size: clamp(1.75rem, 2vw, 2.25rem) !important;
  font-weight: 700 !important;
  line-height: .98 !important;
  letter-spacing: -.058em !important;
}
body[data-page="Кейсы"] .story-card-neo__body p:not(.eyebrow) {
  margin: 16px 0 0 !important;
  color: var(--ink-soft) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
body[data-page="Кейсы"] .story-card-neo__stats {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  margin: 22px 0 22px !important;
  border: 0 !important;
  background: transparent !important;
}
body[data-page="Кейсы"] .story-card-neo__stats > div {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 0 !important;
  padding: 13px 0 !important;
  border-top: 1px solid rgb(var(--ink-rgb) / .10) !important;
  background: transparent !important;
}
body[data-page="Кейсы"] .story-card-neo__stats > div:last-child {
  border-bottom: 1px solid rgb(var(--ink-rgb) / .10) !important;
}
body[data-page="Кейсы"] .story-card-neo__stats b {
  flex: 0 0 auto !important;
  color: var(--ink) !important;
  font-size: clamp(1.45rem, 1.9vw, 2rem) !important;
  font-weight: 800 !important;
  line-height: .95 !important;
  letter-spacing: -.06em !important;
  white-space: nowrap !important;
}
body[data-page="Кейсы"] .story-card-neo__stats span {
  flex: 1 1 auto !important;
  max-width: 150px !important;
  margin: 0 !important;
  color: var(--ink-soft) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.28 !important;
  text-align: right !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
body[data-page="Кейсы"] .story-card-neo__body .text-link {
  align-self: stretch !important;
  justify-content: center !important;
  margin-top: auto !important;
  padding: 15px 18px !important;
  border: 1px solid rgb(var(--accent-rgb) / .22) !important;
  border-radius: 999px !important;
  background: rgb(var(--accent-rgb) / .09) !important;
  color: var(--accent) !important;
  text-decoration: none !important;
}
body[data-page="Кейсы"] .story-card-neo__body .text-link:hover {
  background: var(--accent) !important;
  color: var(--white) !important;
}
@media (max-width: 1180px) {
  body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body[data-page="Кейсы"] .story-card-neo:nth-child(3) {
    grid-column: 1 / -1 !important;
    grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr) !important;
    grid-template-rows: 1fr !important;
  }
  body[data-page="Кейсы"] .story-card-neo:nth-child(3) .story-card-neo__media {
    height: calc(100% - 28px) !important;
  }
}
@media (max-width: 760px) {
  body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious {
    grid-template-columns: 1fr !important;
  }
  body[data-page="Кейсы"] .story-card-neo:nth-child(3) {
    grid-column: auto !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto 1fr !important;
  }
  body[data-page="Кейсы"] .story-card-neo__body h3 {
    min-height: 0 !important;
  }
  body[data-page="Кейсы"] .story-card-neo__stats b {
    white-space: normal !important;
  }
}


/* ============================================================
   Calculator KPI strip redesign
   Clean light cards, readable labels, balanced numbers.
   ============================================================ */
body .nd-calculator__card {
  gap: 0 !important;
  border: 1px solid rgb(var(--ink-rgb) / .12) !important;
  background: rgb(var(--white-rgb) / .72) !important;
  overflow: hidden !important;
}

body .nd-calculator__card > div {
  min-height: 112px !important;
  padding: 18px 18px 16px !important;
  background: rgb(var(--white-rgb) / .86) !important;
  border-right: 1px solid rgb(var(--ink-rgb) / .12) !important;
}

body .nd-calculator__card > div:last-of-type {
  border-right: 0 !important;
}

body .nd-calculator__card span {
  display: block !important;
  color: var(--ink-soft) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
}

body .nd-calculator__card b {
  display: block !important;
  margin-top: 18px !important;
  color: var(--ink) !important;
  font-size: clamp(1.25rem, 1.7vw, 1.65rem) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -.055em !important;
  white-space: nowrap !important;
}

@media(max-width:760px){
  body .nd-calculator__card > div {
    border-right:0 !important;
    border-bottom:1px solid rgb(var(--ink-rgb) / .12) !important;
  }
}


/* ============================================================
   Calculator KPI cards redesign
   ============================================================ */
body .calc-kpi,
body .calculator-kpi,
body .calc__metric,
body .metric-card {
    background:
      linear-gradient(145deg, rgb(var(--white-rgb) / .96), rgb(var(--surface-tint-rgb) / .7)) !important;
    border: 1px solid var(--line) !important;
    border-radius: 22px !important;
    min-height: 128px !important;
    padding: 22px 20px !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 18px 45px rgb(var(--ink-rgb) / .06) !important;
}

body .calc-kpi::before,
body .calculator-kpi::before,
body .calc__metric::before,
body .metric-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 3px !important;
    background: var(--accent) !important;
}

body .calc-kpi span,
body .calculator-kpi span,
body .calc__metric span,
body .metric-card span {
    display:block !important;
    color: var(--ink-soft) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    max-width: 170px !important;
}

body .calc-kpi b,
body .calculator-kpi b,
body .calc__metric b,
body .metric-card b {
    display:block !important;
    margin-top: 18px !important;
    color: var(--ink) !important;
    font-size: clamp(1.65rem, 2.4vw, 2.35rem) !important;
    font-weight: 850 !important;
    line-height: .95 !important;
    letter-spacing: -.06em !important;
    white-space: nowrap !important;
}

body .calc-kpi:hover,
body .calculator-kpi:hover,
body .calc__metric:hover,
body .metric-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 24px 55px rgb(var(--ink-rgb) / .10) !important;
}

@media(max-width:760px){
    body .calc-kpi,
    body .calculator-kpi,
    body .calc__metric,
    body .metric-card {
        min-height:110px !important;
    }
}


/* ============================================================
   Calculator KPI light cards hotfix v3
   ============================================================ */
.calc-modern__metrics {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 28px !important;
  background: transparent !important;
  border: 0 !important;
}

.calc-modern__metrics > div {
  position: relative !important;
  overflow: hidden !important;
  min-height: 112px !important;
  padding: 18px 18px 16px !important;
  border-radius: 20px !important;
  border: 1px solid var(--line) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(248,245,239,.96) 100%) !important;
  box-shadow: 0 10px 26px rgb(var(--ink-rgb) / .06) !important;
}

.calc-modern__metrics > div::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--accent), rgba(243,106,16,.28)) !important;
}

.calc-modern__metrics span {
  display: block !important;
  min-height: auto !important;
  margin: 0 !important;
  color: var(--ink-soft) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  max-width: 150px !important;
}

.calc-modern__metrics b {
  display: block !important;
  margin-top: 18px !important;
  color: var(--ink) !important;
  font-size: clamp(1.8rem, 2.1vw, 2.35rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.05em !important;
  line-height: .95 !important;
  white-space: nowrap !important;
}

@media (max-width: 800px) {
  .calc-modern__metrics {
    grid-template-columns: 1fr !important;
  }
}


/* ============================================================
   Calculator KPI light cards fit hotfix v4
   Goal: keep headings and values fully inside each card.
   ============================================================ */
.calc-modern__metrics {
  gap: 12px !important;
}

.calc-modern__metrics > div {
  min-height: 118px !important;
  padding: 16px 14px 14px !important;
}

.calc-modern__metrics span {
  font-size: 10px !important;
  line-height: 1.15 !important;
  letter-spacing: .03em !important;
  max-width: none !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.calc-modern__metrics b {
  margin-top: 16px !important;
  font-size: clamp(1.45rem, 1.75vw, 1.9rem) !important;
  line-height: .98 !important;
  letter-spacing: -.04em !important;
}

@media (max-width: 1024px) {
  .calc-modern__metrics > div {
    padding: 15px 13px 14px !important;
  }
  .calc-modern__metrics span {
    font-size: 9.5px !important;
  }
  .calc-modern__metrics b {
    font-size: clamp(1.35rem, 2.2vw, 1.75rem) !important;
  }
}


/* ============================================================
   Calculator KPI fit hotfix v5
   Goal: ensure all KPI values fit fully, including the ₽ sign.
   ============================================================ */
.calc-modern__metrics {
  gap: 10px !important;
}

.calc-modern__metrics > div {
  min-height: 114px !important;
  padding: 14px 12px 14px !important;
}

.calc-modern__metrics span {
  font-size: 9px !important;
  line-height: 1.12 !important;
  letter-spacing: .025em !important;
}

.calc-modern__metrics b {
  margin-top: 14px !important;
  font-size: clamp(1.16rem, 1.42vw, 1.52rem) !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
  white-space: nowrap !important;
}

.calc-modern__metrics > div:nth-child(3) b {
  font-size: clamp(1.02rem, 1.26vw, 1.38rem) !important;
}

@media (max-width: 1024px) {
  .calc-modern__metrics > div {
    padding: 13px 11px 13px !important;
  }
  .calc-modern__metrics b {
    font-size: clamp(1.1rem, 2vw, 1.4rem) !important;
  }
  .calc-modern__metrics > div:nth-child(3) b {
    font-size: clamp(0.98rem, 1.75vw, 1.28rem) !important;
  }
}


/* ============================================================
   FAQ chips visibility hotfix v6
   Make the 4 pills readable on light background.
   ============================================================ */
body .faq-classic-hero__chips span {
  color: var(--ink) !important;
  border-color: rgb(var(--ink-rgb) / .14) !important;
  background: rgb(var(--white-rgb) / .72) !important;
  box-shadow: 0 8px 22px rgb(var(--ink-rgb) / .06) !important;
}

body .faq-classic-hero__chips span:hover {
  color: var(--ink) !important;
  border-color: rgb(var(--accent-rgb) / .22) !important;
  background: rgb(var(--white-rgb) / .88) !important;
}


/* ============================================================
   Calculator hero redesign v7
   Remove blueprint image from calculator hero and keep the headline in 2 lines.
   ============================================================ */
body .opening--calculator .opening__grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, .48fr) !important;
  gap: 34px !important;
  align-items: start !important;
}
body .opening--calculator .opening__copy {
  max-width: 760px !important;
}
body .opening--calculator .opening__title.opening__title--calculator-two {
  max-width: 720px !important;
  font-size: clamp(3.15rem, 5.3vw, 6rem) !important;
  line-height: .9 !important;
  letter-spacing: -.078em !important;
  text-wrap: unset !important;
  overflow-wrap: normal !important;
}
body .opening--calculator .opening__title.opening__title--calculator-two > span,
body .opening--calculator .opening__title.opening__title--calculator-two > em {
  display: block !important;
  white-space: nowrap !important;
}
body .opening--calculator .opening__title.opening__title--calculator-two > span {
  color: var(--ink) !important;
}
body .opening--calculator .opening__title.opening__title--calculator-two > em {
  color: var(--accent) !important;
}
body .opening--calculator .opening__lead {
  max-width: 660px !important;
}
body .opening--calculator .opening__note {
  max-width: 560px !important;
}
body .opening--calculator .opening__metrics {
  align-self: center !important;
  margin-top: 18px !important;
}
@media (max-width: 1100px) {
  body .opening--calculator .opening__grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  body .opening--calculator .opening__metrics {
    max-width: 420px !important;
    margin-top: 0 !important;
  }
}
@media (max-width: 720px) {
  body .opening--calculator .opening__copy,
  body .opening--calculator .opening__title.opening__title--calculator-two,
  body .opening--calculator .opening__lead,
  body .opening--calculator .opening__note,
  body .opening--calculator .opening__metrics {
    max-width: 100% !important;
  }
  body .opening--calculator .opening__title.opening__title--calculator-two > span,
  body .opening--calculator .opening__title.opening__title--calculator-two > em {
    white-space: normal !important;
  }
}


/* ============================================================
   Calculator hero overlap hotfix v8
   Keep the headline clear of the right-side summary card.
   ============================================================ */
@media (min-width: 1101px) {
  body .opening--calculator .opening__grid {
    grid-template-columns: minmax(0, .96fr) minmax(290px, .40fr) !important;
    gap: 28px !important;
  }
  body .opening--calculator .opening__copy {
    max-width: 680px !important;
  }
  body .opening--calculator .opening__title.opening__title--calculator-two {
    max-width: 640px !important;
    font-size: clamp(2.95rem, 4.55vw, 5.25rem) !important;
    letter-spacing: -.07em !important;
  }
  body .opening--calculator .opening__lead {
    max-width: 620px !important;
  }
  body .opening--calculator .opening__note {
    max-width: 520px !important;
  }
  body .opening--calculator .opening__metrics {
    width: 100% !important;
    max-width: 340px !important;
    justify-self: end !important;
    margin-top: 0 !important;
  }
}


/* ============================================================
   Contacts hero cleanup v9
   Goal: remove the visual card on contacts page and keep the title in 2 clean lines.
   ============================================================ */
body .opening--contacts .opening__grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px) !important;
  gap: clamp(28px, 3.4vw, 52px) !important;
  align-items: start !important;
}
body .opening--contacts .opening__copy {
  max-width: 780px !important;
  min-width: 0 !important;
}
body .opening--contacts .opening__lead {
  max-width: 640px !important;
}
body .opening--contacts .opening__note {
  max-width: 540px !important;
}
body .opening--contacts .opening__visual,
body .opening--contacts .opening__visual-frame,
body .opening--contacts .opening__visual-tag {
  display: none !important;
}
body .opening--contacts .opening__title.opening__title--contacts-two {
  max-width: 780px !important;
  font-size: clamp(3rem, 5vw, 5.85rem) !important;
  line-height: .89 !important;
  letter-spacing: -.078em !important;
  text-wrap: unset !important;
  overflow-wrap: normal !important;
}
body .opening--contacts .opening__title.opening__title--contacts-two > span,
body .opening--contacts .opening__title.opening__title--contacts-two > em {
  display: block !important;
  white-space: nowrap !important;
}
body .opening--contacts .opening__title.opening__title--contacts-two > span {
  color: var(--ink) !important;
}
body .opening--contacts .opening__title.opening__title--contacts-two > em {
  color: var(--accent) !important;
  font-style: normal !important;
}
body .opening--contacts .opening__metrics {
  grid-column: auto !important;
  align-self: start !important;
  justify-self: end !important;
  width: 100% !important;
  max-width: 340px !important;
  margin-top: 0 !important;
}
@media (max-width: 1080px) {
  body .opening--contacts .opening__grid {
    grid-template-columns: 1fr !important;
  }
  body .opening--contacts .opening__copy,
  body .opening--contacts .opening__title,
  body .opening--contacts .opening__lead,
  body .opening--contacts .opening__note {
    max-width: 100% !important;
  }
  body .opening--contacts .opening__title.opening__title--contacts-two > span,
  body .opening--contacts .opening__title.opening__title--contacts-two > em {
    white-space: normal !important;
  }
  body .opening--contacts .opening__metrics {
    justify-self: start !important;
    max-width: 420px !important;
    margin-top: 8px !important;
  }
}


/* ============================================================
   STUDIO REDESIGN v12.0 — Contact form premium + booking status
   Goal: make the contact request form more expressive, readable and ready
   for Google Calendar booking responses.
   ============================================================ */
body .lead-form--contact {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(26px, 3vw, 42px) !important;
  border: 1px solid rgb(var(--ink-rgb) / .10) !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 86% 0%, rgb(var(--accent-rgb) / .12), transparent 34%),
    linear-gradient(145deg, rgb(var(--white-rgb) / .98), rgb(var(--surface-tint-rgb) / .55)) !important;
  box-shadow: 0 28px 70px rgb(var(--ink-rgb) / .10) !important;
}

body .lead-form--contact::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  height: 5px !important;
  background: linear-gradient(90deg, var(--accent), rgb(var(--accent-rgb) / .25), transparent) !important;
}

body .lead-form--contact .lead-form__top {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .58fr) !important;
  gap: 28px !important;
  align-items: start !important;
  margin-bottom: 28px !important;
  padding-bottom: 24px !important;
  border-bottom: 1px solid var(--line) !important;
}

body .lead-form--contact .lead-form__top h2 {
  max-width: 560px !important;
  margin: 0 !important;
  color: var(--ink) !important;
  font-size: clamp(2.45rem, 4vw, 4.6rem) !important;
  line-height: .88 !important;
  letter-spacing: -.075em !important;
}

body .lead-form--contact .lead-form__top h2 em {
  color: var(--accent) !important;
  font-style: italic !important;
}

body .lead-form--contact .lead-form__top > p {
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1px solid rgb(var(--accent-rgb) / .16) !important;
  border-radius: 18px !important;
  background: rgb(var(--white-rgb) / .74) !important;
  color: var(--ink-soft) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

body .lead-form--contact .form-grid {
  gap: 18px 18px !important;
}

body .lead-form--contact .form-field {
  position: relative !important;
}

body .lead-form--contact .form-field label {
  margin-bottom: 8px !important;
  color: var(--ink) !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

body .lead-form--contact input,
body .lead-form--contact textarea {
  min-height: 58px !important;
  border: 1px solid rgb(var(--ink-rgb) / .14) !important;
  border-radius: 16px !important;
  background: rgb(var(--white-rgb) / .82) !important;
  color: var(--ink) !important;
  box-shadow: inset 0 1px 0 rgb(var(--white-rgb) / .8) !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease, transform .2s ease !important;
}

body .lead-form--contact textarea {
  min-height: 122px !important;
}

body .lead-form--contact input:focus,
body .lead-form--contact textarea:focus {
  border-color: rgb(var(--accent-rgb) / .65) !important;
  background: var(--white) !important;
  box-shadow: 0 0 0 4px rgb(var(--accent-rgb) / .13), inset 0 1px 0 rgb(var(--white-rgb) / .9) !important;
  transform: translateY(-1px) !important;
}

body .lead-form--contact .form-checkbox {
  margin-top: 18px !important;
  color: var(--ink-soft) !important;
}

body .lead-form--contact .form-submit {
  align-items: center !important;
  gap: 18px !important;
  margin-top: 24px !important;
}

body .lead-form--contact .form-status {
  display: block !important;
  max-width: 520px !important;
  padding: 12px 14px !important;
  border-radius: 16px !important;
  color: var(--ink-soft) !important;
  background: rgb(var(--white-rgb) / .62) !important;
}

body .lead-form--contact .form-status:not(:empty) {
  border: 1px solid var(--line) !important;
}

body .lead-form--contact .form-status.is-success {
  color: var(--ink) !important;
  border-color: rgb(var(--accent-rgb) / .22) !important;
  background: rgb(var(--accent-rgb) / .08) !important;
}

@media (max-width: 860px) {
  body .lead-form--contact .lead-form__top {
    grid-template-columns: 1fr !important;
  }

  body .lead-form--contact {
    padding: 22px !important;
    border-radius: 26px !important;
  }
}


/* ============================================================
   PRODUCTION POLISH v12 — mobile CTA, simplified first screen,
   privacy links, webp pictures and safer responsive behavior.
   ============================================================ */
:root { --bottom-cta-height: 82px; }
html, body { max-width: 100%; overflow-x: clip; }
picture { display: block; max-width: 100%; }
picture > img { width: 100%; height: auto; }
.mobile-nav-actions,
.mobile-sticky-cta { display: none; }
.form-checkbox a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.form-status.is-success { font-weight: 800; }
.lead-form.is-sent { box-shadow: 0 22px 70px rgb(var(--accent-rgb) / .18); }
[hidden] { display: none !important; }
@media (max-width: 980px) {
  .site-nav .mobile-nav-actions { display: grid; gap: 10px; padding: 12px 10px 8px; border-top: 1px solid rgb(var(--white-rgb) / .12); }
  .mobile-nav-actions__primary { width: 100%; min-height: 46px; }
  .mobile-nav-actions__link { display: flex; align-items: center; justify-content: center; min-height: 42px; border: 1px solid rgb(var(--white-rgb) / .14); border-radius: 999px; color: rgb(var(--white-rgb) / .86); font-size: 12px; font-weight: 800; }
  .site-header.is-scrolled .site-nav .mobile-nav-actions__link { color: rgb(var(--white-rgb) / .86); }
}
@media (max-width: 760px) {
  body { padding-bottom: var(--bottom-cta-height); }
  .mobile-sticky-cta { position: fixed; z-index: 45; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); left: 12px; display: grid; grid-template-columns: minmax(0, 1fr) 54px; gap: 10px; padding: 10px; border: 1px solid rgb(var(--white-rgb) / .65); border-radius: 24px; background: rgb(var(--white-rgb) / .94); box-shadow: 0 18px 48px rgb(var(--ink-rgb) / .18); backdrop-filter: blur(18px); }
  .mobile-sticky-cta__button { width: 100%; min-height: 52px; }
  .mobile-sticky-cta__phone { display: grid; place-items: center; width: 54px; min-height: 52px; border-radius: 50%; color: var(--white); background: var(--ink); font-weight: 900; }
  .modal { z-index: 70; }
  .site-footer { padding-bottom: 76px; }
}
@media (max-width: 620px) {
  .container { width: min(100% - 30px, var(--container)); }
  .header-inner { grid-template-columns: 146px 1fr auto !important; gap: 10px !important; }
  .brand { width: 142px !important; }
  .site-header { padding: 14px 0 !important; }
  .site-header.is-scrolled { padding: 10px 0 !important; }
  .menu-toggle { width: 42px !important; height: 42px !important; }
  .site-nav { right: 12px !important; left: 12px !important; max-height: calc(100vh - 92px); overflow: auto; }
  .nd-hero { min-height: auto !important; padding: 104px 0 34px !important; }
  .nd-hero__grid { gap: 18px !important; }
  .nd-hero__copy .display { font-size: clamp(40px, 13vw, 54px) !important; line-height: .9 !important; }
  .nd-hero__lead { margin-top: 16px !important; font-size: 13px !important; line-height: 1.55 !important; }
  .nd-hero__actions { margin-top: 20px !important; display: grid !important; gap: 10px !important; }
  .nd-hero__actions .button, .nd-hero__actions .nd-text-link { width: 100% !important; justify-content: center !important; }
  .nd-hero__context, .nd-hero__caption, .nd-hero__tip { display: none !important; }
  .nd-hero__showcase { order: 2; margin-top: 4px !important; }
  .nd-hero__frame { border-radius: 24px !important; }
  .nd-hero__carousel { min-height: 230px !important; aspect-ratio: 1.06 / 1 !important; }
  .nd-hero__frame-tag { right: 12px !important; bottom: 12px !important; left: 12px !important; width: auto !important; }
  .nd-hero__metrics { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; padding: 14px !important; border-radius: 22px !important; }
  .nd-hero__metrics > p, .nd-hero__metrics .nd-text-link { grid-column: 1 / -1; }
  .nd-hero__metrics > div { padding: 10px 0 !important; }
  .nd-hero__metrics strong { font-size: 23px !important; }
  .nd-proof__grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .section { padding: 78px 0 !important; }
  .title { font-size: clamp(34px, 10vw, 44px) !important; }
  .opening__title { font-size: clamp(42px, 13vw, 58px) !important; }
  .lead-form { border-radius: 24px !important; }
  .form-grid { grid-template-columns: 1fr !important; }
  .form-submit { align-items: stretch !important; flex-direction: column !important; }
  .form-submit .button { width: 100% !important; }
  .footer-main { gap: 24px !important; }
}
@media (max-width: 380px) {
  .container { width: min(100% - 24px, var(--container)); }
  .brand { width: 132px !important; }
  .nd-hero__copy .display { font-size: 39px !important; }
  .nd-hero__metrics { grid-template-columns: 1fr !important; }
  .mobile-sticky-cta { grid-template-columns: 1fr 50px; right: 8px; left: 8px; }
}

/* v12 webp picture compatibility: keep image containers full-height after <picture> wrapping. */
.hero-media picture,
.story-visual picture,
.case-image picture,
.page-hero__image picture,
.leader-photo picture,
.case-hero-photo picture,
.project-card__image picture,
.detail-photo picture,
.checks-panel__image picture,
.story-card-neo__media picture,
.gallery-grid picture,
.home-hero__slider .hero-slide picture,
.process-console__illustration picture,
.home-investors__visual picture,
.home-founder__blueprint picture,
.nd-hero__slide picture,
.nd-process-panel__visual picture,
.nd-case-card__image picture,
.nd-ownership__visual picture,
.opening__visual-frame picture {
  width: 100%;
  height: 100%;
}
.hero-media picture > img,
.story-visual picture > img,
.case-image picture > img,
.page-hero__image picture > img,
.leader-photo picture > img,
.case-hero-photo picture > img,
.project-card__image picture > img,
.detail-photo picture > img,
.checks-panel__image picture > img,
.story-card-neo__media picture > img,
.gallery-grid picture > img,
.home-hero__slider .hero-slide picture > img,
.process-console__illustration picture > img,
.home-investors__visual picture > img,
.home-founder__blueprint picture > img,
.nd-hero__slide picture > img,
.nd-process-panel__visual picture > img,
.nd-case-card__image picture > img,
.nd-ownership__visual picture > img,
.opening__visual-frame picture > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nd-hero__slide--blueprint picture > img { object-fit: contain; }

/* ============================================================
   MOBILE NAV HOTFIX v13 — reliable hamburger on touch devices.
   Fixes tap target, stacking, pointer events, open/close states,
   and cached CSS conflicts from older mobile nav rules.
   ============================================================ */
@media (max-width: 1180px) {
  body .site-header,
  body .site-header.is-scrolled {
    z-index: 1000 !important;
  }

  body .site-header .header-inner,
  body .site-header.is-scrolled .header-inner {
    position: relative !important;
    z-index: 1001 !important;
  }

  body .site-header .menu-toggle,
  body .site-header.is-scrolled .menu-toggle {
    position: relative !important;
    z-index: 1003 !important;
    display: grid !important;
    place-items: center !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border: 1px solid rgb(var(--ink-rgb) / .18) !important;
    border-radius: 16px !important;
    color: var(--ink) !important;
    background: rgb(var(--white-rgb) / .82) !important;
    box-shadow: inset 0 1px 0 rgb(var(--white-rgb) / .90), 0 10px 24px rgb(var(--ink-rgb) / .10) !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  body .site-header .menu-toggle span,
  body .site-header.is-scrolled .menu-toggle span {
    display: block !important;
    width: 18px !important;
    height: 1.6px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    background: currentColor !important;
    transition: transform .22s ease, opacity .22s ease !important;
  }

  body .site-header .menu-toggle span + span {
    margin-top: 6px !important;
  }

  body .site-header .menu-toggle.is-active,
  body .site-header.nav-is-open .menu-toggle {
    border-color: rgb(var(--accent-rgb) / .36) !important;
    background: rgb(var(--white-rgb) / .96) !important;
    box-shadow: 0 0 0 4px rgb(var(--accent-rgb) / .14), 0 16px 34px rgb(var(--ink-rgb) / .14) !important;
  }

  body .site-header .menu-toggle.is-active span:first-child,
  body .site-header.nav-is-open .menu-toggle span:first-child {
    transform: translateY(3.8px) rotate(45deg) !important;
  }

  body .site-header .menu-toggle.is-active span:last-child,
  body .site-header.nav-is-open .menu-toggle span:last-child {
    transform: translateY(-3.8px) rotate(-45deg) !important;
  }

  body .site-header .site-nav,
  body .site-header.is-scrolled .site-nav {
    position: absolute !important;
    z-index: 1002 !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    left: 0 !important;
    display: grid !important;
    gap: 6px !important;
    max-height: min(72vh, 620px) !important;
    padding: 12px !important;
    overflow: auto !important;
    border: 1px solid rgb(var(--ink-rgb) / .10) !important;
    border-radius: 24px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: rgb(var(--white-rgb) / .98) !important;
    box-shadow: 0 24px 70px rgb(var(--ink-rgb) / .20) !important;
    transform: translateY(-8px) scale(.98) !important;
    transform-origin: top center !important;
    transition: opacity .22s ease, visibility .22s ease, transform .22s ease !important;
    backdrop-filter: blur(24px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(145%) !important;
  }

  body .site-header .site-nav.is-open,
  body .site-header.is-scrolled .site-nav.is-open,
  body .site-header.nav-is-open .site-nav,
  body.nav-open .site-header .site-nav {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }

  body .site-header .site-nav .nav-link,
  body .site-header.is-scrolled .site-nav .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 46px !important;
    padding: 0 14px !important;
    border-radius: 16px !important;
    color: var(--ink) !important;
    background: rgb(var(--surface-rgb) / .62) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }

  body .site-header .site-nav .nav-link:hover,
  body .site-header .site-nav .nav-link.is-active {
    color: var(--white) !important;
    background: var(--accent) !important;
  }

  body .site-header .site-nav .mobile-nav-actions {
    display: grid !important;
    gap: 10px !important;
    padding: 12px 0 2px !important;
    border-top: 1px solid rgb(var(--ink-rgb) / .08) !important;
  }

  body .site-header .mobile-nav-actions__primary {
    width: 100% !important;
    min-height: 48px !important;
  }

  body .site-header .mobile-nav-actions__link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    border: 1px solid rgb(var(--ink-rgb) / .10) !important;
    border-radius: 999px !important;
    color: var(--ink) !important;
    background: rgb(var(--white-rgb) / .72) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
  }
}

@media (max-width: 620px) {
  body .site-header .menu-toggle,
  body .site-header.is-scrolled .menu-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 15px !important;
  }

  body .site-header .site-nav,
  body .site-header.is-scrolled .site-nav {
    right: 0 !important;
    left: 0 !important;
    max-height: calc(100vh - 112px) !important;
  }
}

/* ============================================================
   MOBILE NAV HOTFIX v14 — force visible mobile menu.
   Problem fixed: the menu list existed in HTML, but the mobile
   dropdown was clipped by older header rules with overflow:hidden.
   This patch makes the header wrapper visible on mobile and shows
   the menu when JS adds .is-open / .nav-is-open or aria-expanded=true.
   ============================================================ */
@media (max-width: 1180px) {
  html body .site-header,
  html body .site-header.is-scrolled {
    overflow: visible !important;
    z-index: 5000 !important;
  }

  html body .site-header .container,
  html body .site-header .header-inner,
  html body .site-header.is-scrolled .container,
  html body .site-header.is-scrolled .header-inner,
  html body[data-page="FAQ"] .site-header .header-inner,
  html body[data-page="FAQ"] .site-header.is-scrolled .header-inner {
    overflow: visible !important;
  }

  html body .site-header .site-nav,
  html body .site-header.is-scrolled .site-nav {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 4999 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    width: auto !important;
    max-height: calc(100dvh - 118px) !important;
    padding: 12px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border: 1px solid rgb(var(--ink-rgb) / .10) !important;
    border-radius: 24px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: rgb(var(--white-rgb) / .985) !important;
    box-shadow: 0 28px 80px rgb(var(--ink-rgb) / .24) !important;
    transform: translateY(-10px) scale(.985) !important;
    transform-origin: top center !important;
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease !important;
    backdrop-filter: blur(24px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(145%) !important;
  }

  html body .site-header .site-nav.is-open,
  html body .site-header.is-scrolled .site-nav.is-open,
  html body .site-header.nav-is-open .site-nav,
  html body.nav-open .site-header .site-nav {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }

  @supports selector(body:has(*)) {
    html body:has(.menu-toggle[aria-expanded="true"]) .site-header .site-nav {
      opacity: 1 !important;
      visibility: visible !important;
      pointer-events: auto !important;
      transform: translateY(0) scale(1) !important;
    }
  }

  html body .site-header .site-nav .nav-link,
  html body .site-header.is-scrolled .site-nav .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 15px !important;
    border-radius: 16px !important;
    color: var(--ink) !important;
    background: rgb(var(--surface-rgb) / .65) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
  }

  html body .site-header .site-nav .nav-link:hover,
  html body .site-header .site-nav .nav-link.is-active {
    color: var(--white) !important;
    background: var(--accent) !important;
  }

  html body .site-header .menu-toggle,
  html body .site-header.is-scrolled .menu-toggle {
    position: relative !important;
    z-index: 5001 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
  }
}

@media (max-width: 620px) {
  html body .site-header .site-nav,
  html body .site-header.is-scrolled .site-nav {
    top: calc(100% + 10px) !important;
    right: -2px !important;
    left: -2px !important;
    max-height: calc(100dvh - 106px) !important;
    border-radius: 22px !important;
  }
}


/* v15: responsive hero headline calibration for mobile widths */
body .nd-hero__copy .display.hero-display {
  max-width: 100% !important;
  font-size: clamp(3rem, 7vw, 6.4rem) !important;
  line-height: .88 !important;
  letter-spacing: -.078em !important;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
body .hero-display__line {
  display: block;
}
body .hero-display__line--3 {
  margin-top: .05em;
}
@media (max-width: 760px) {
  body .nd-hero__copy .display.hero-display {
    font-size: clamp(2.45rem, 11.4vw, 3.7rem) !important;
    line-height: .9 !important;
    letter-spacing: -.072em !important;
  }
}
@media (max-width: 620px) {
  body .nd-hero__copy .display.hero-display {
    max-width: 100% !important;
    font-size: clamp(2.2rem, 10.8vw, 3.35rem) !important;
    line-height: .91 !important;
    letter-spacing: -.068em !important;
  }
}
@media (max-width: 430px) {
  body .nd-hero__copy .display.hero-display {
    font-size: clamp(2rem, 10.2vw, 3rem) !important;
    line-height: .92 !important;
    letter-spacing: -.064em !important;
  }
}
@media (max-width: 380px) {
  body .nd-hero__copy .display.hero-display {
    font-size: clamp(1.85rem, 9.8vw, 2.8rem) !important;
    letter-spacing: -.058em !important;
  }
}
@media (max-width: 359px) {
  body .calc-modern__total b {
    font-size: clamp(33px, calc(17.5vw - 23px), 40px) !important;
    letter-spacing: -.06em !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 340px) {
  body .nd-hero__copy .display.hero-display {
    font-size: clamp(1.7rem, 9.3vw, 2.55rem) !important;
    line-height: .94 !important;
    letter-spacing: -.05em !important;
  }
}


/* v16: mobile-first readability and overflow cleanup from real phone review */
html, body { max-width: 100%; overflow-x: hidden; }
body * { box-sizing: border-box; }
img, picture, svg, video { max-width: 100%; }
.mobile-back-link { display: none; }
@media (max-width: 760px) {
  html, body { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; }
  main, section, .nd-home, .opening, .nd-hero, .cta, .nd-final { max-width: 100vw !important; overflow-x: hidden !important; }
  .container { width: min(100% - 32px, var(--container)) !important; max-width: calc(100vw - 32px) !important; }
  .mobile-back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin: 104px 16px -74px;
    padding: 0 16px;
    border: 1px solid rgb(var(--ink-rgb) / .12);
    border-radius: 999px;
    color: var(--ink);
    background: rgb(var(--white-rgb) / .82);
    box-shadow: 0 10px 26px rgb(var(--ink-rgb) / .08);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
  }
  .opening .mobile-back-link + &, .faq-classic-hero .mobile-back-link + & { margin-top: 0; }
  .eyebrow, .opening__eyebrow {
    font-size: 11px !important;
    line-height: 1.2 !important;
    letter-spacing: .16em !important;
    max-width: 100% !important;
  }
  .display, .title, .opening__title, .faq-classic-hero__copy h1,
  .lead-form__top h2, .modal-dialog h2, .nd-faq-classic__head h2 {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: auto !important;
  }
  body .nd-hero__copy .display.hero-display {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2.28rem, 9.4vw, 3.05rem) !important;
    line-height: .95 !important;
    letter-spacing: -.045em !important;
    white-space: normal !important;
  }
  body .hero-display__line { display: block !important; max-width: 100% !important; }
  body .hero-display__line--2 { font-size: .92em !important; letter-spacing: -.04em !important; }
  body .hero-display__line--3 { margin-top: .02em !important; }
  .nd-hero__lead, .section-lead, .nd-section-lead, .opening__lead,
  .narrative-card p, .contact-card p, .feature-card p, .story-card-neo__body p:not(.eyebrow) {
    font-size: 18px !important;
    line-height: 1.48 !important;
  }
  .nd-hero__lead { margin-top: 18px !important; color: rgb(var(--ink-rgb) / .72) !important; }
  .nd-hero__actions { margin-top: 24px !important; display: grid !important; gap: 12px !important; }
  .button, .nd-text-link, .text-link {
    max-width: 100% !important;
    white-space: normal !important;
  }
  .button { min-height: 58px !important; font-size: 14px !important; letter-spacing: .08em !important; }
  .nd-hero__context {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
    margin-top: 20px !important;
    color: var(--ink-muted) !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
  }
  .nd-hero__caption { margin-top: 26px !important; font-size: 12px !important; line-height: 1.25 !important; letter-spacing: .08em !important; }
  .nd-hero__tip { display: grid !important; grid-template-columns: auto 1fr !important; align-items: start !important; font-size: 14px !important; line-height: 1.35 !important; }
  .nd-hero__frame-tag {
    right: 12px !important;
    bottom: 12px !important;
    left: 12px !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    letter-spacing: .02em !important;
  }
  .nd-hero__frame-tag span { font-size: 12px !important; letter-spacing: .02em !important; }
  .nd-hero__metrics { margin-top: 8px !important; }
  .nd-hero__metrics strong { font-size: 30px !important; line-height: .98 !important; }
  .nd-hero__metrics span, .nd-hero__metrics > p { font-size: 13px !important; line-height: 1.25 !important; }

  .nd-proof__grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .nd-proof__grid > div { min-height: 132px !important; padding: 26px 28px !important; border-radius: 24px !important; }
  .nd-proof__grid b { font-size: clamp(2.3rem, 10vw, 3.2rem) !important; line-height: .95 !important; letter-spacing: -.055em !important; }
  .nd-proof__grid span { font-size: 18px !important; line-height: 1.28 !important; }

  .title, h2.title, .opening__title, .faq-classic-hero__copy h1 {
    font-size: clamp(2.25rem, 9.2vw, 3.35rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
  }
  .nd-strategy__head { gap: 20px !important; }
  .nd-process { gap: 14px !important; }
  .nd-process__item {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 24px !important;
    align-items: center !important;
    min-height: 94px !important;
    padding: 20px 22px !important;
    border: 1px solid rgb(var(--ink-rgb) / .10) !important;
    border-radius: 24px !important;
    color: var(--ink) !important;
    background: rgb(var(--white-rgb) / .86) !important;
    box-shadow: 0 12px 30px rgb(var(--ink-rgb) / .07) !important;
  }
  .nd-process__item.is-active {
    border-color: rgb(var(--accent-rgb) / .45) !important;
    color: var(--ink) !important;
    background: var(--white) !important;
  }
  .nd-process__item span,
  .nd-process__item.is-active span {
    display: inline-grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    color: var(--accent) !important;
    background: rgb(var(--accent-rgb) / .10) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
  }
  .nd-process__item b,
  .nd-process__item.is-active b {
    display: block !important;
    min-width: 0 !important;
    color: var(--ink) !important;
    font-size: 21px !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    white-space: normal !important;
  }
  .nd-process__item i,
  .nd-process__item.is-active i { color: var(--accent) !important; font-size: 24px !important; }
  .nd-process-panel { padding: 26px 22px !important; border-radius: 28px !important; }
  .nd-process-panel__body { gap: 22px !important; }
  .nd-process-panel h3 { font-size: clamp(2.15rem, 8.8vw, 3rem) !important; line-height: 1.04 !important; letter-spacing: -.045em !important; }
  .nd-process-panel p { font-size: 18px !important; line-height: 1.5 !important; }
  .nd-process-panel ol { display: grid !important; gap: 10px !important; padding-left: 0 !important; }
  .nd-process-panel ol li { font-size: 16px !important; line-height: 1.34 !important; }
  .nd-process-widget__hero b { font-size: 56px !important; }

  .cta, .nd-final {
    padding: 76px 0 !important;
    overflow: hidden !important;
  }
  .cta-grid, .nd-final__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .cta-grid .title, .nd-final__grid .title,
  .cta .title, .nd-final .title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2.05rem, 8.2vw, 2.95rem) !important;
    line-height: 1.07 !important;
    letter-spacing: -.035em !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }
  .cta-grid .title em, .nd-final__grid .title em { display: inline !important; }
  .cta-actions, .nd-final__action { width: 100% !important; min-width: 0 !important; justify-items: stretch !important; }
  .cta-grid .button, .nd-final__grid .button, .cta-actions .button { width: 100% !important; min-width: 0 !important; }
  .nd-final__action span { max-width: 100% !important; font-size: 16px !important; line-height: 1.35 !important; }
  .lead-form__top h2, .modal-dialog h2 { font-size: clamp(2rem, 8.4vw, 2.8rem) !important; line-height: 1.08 !important; }
}
@media (max-width: 430px) {
  body .nd-hero__copy .display.hero-display { font-size: clamp(2.05rem, 8.7vw, 2.72rem) !important; line-height: .98 !important; letter-spacing: -.04em !important; }
  .nd-hero__lead, .section-lead, .nd-section-lead, .opening__lead { font-size: 17px !important; }
  .title, h2.title, .opening__title, .faq-classic-hero__copy h1 { font-size: clamp(2.05rem, 8.6vw, 2.85rem) !important; }
  .cta-grid .title, .nd-final__grid .title { font-size: clamp(1.9rem, 8vw, 2.55rem) !important; }
}
@media (max-width: 370px) {
  body .nd-hero__copy .display.hero-display { font-size: 2rem !important; letter-spacing: -.035em !important; }
  .title, h2.title, .opening__title, .faq-classic-hero__copy h1 { font-size: 2rem !important; }
}


/* v17: make mobile process block clearly a selector, not navigation links */
.nd-process-mobile-head {
  display: none;
}
@media (max-width: 760px) {
  .nd-process-mobile-head {
    display: grid !important;
    gap: 8px;
    margin: 0 0 14px;
    padding: 18px 18px 16px;
    border: 1px solid rgb(var(--accent-rgb) / .18);
    border-radius: 24px;
    background: rgb(var(--white-rgb) / .78);
    box-shadow: 0 12px 28px rgb(var(--ink-rgb) / .06);
  }
  .nd-process-mobile-head span {
    color: var(--accent);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .13em;
    line-height: 1.2;
    text-transform: uppercase;
  }
  .nd-process-mobile-head p {
    margin: 0;
    color: var(--ink-soft);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
  }
  .nd-process {
    gap: 10px !important;
  }
  .nd-process__item,
  .nd-process__item.is-active {
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    min-height: 78px !important;
    padding: 14px 14px 14px 16px !important;
    border-radius: 22px !important;
    text-align: left !important;
    transform: none !important;
  }
  .nd-process__item {
    border: 1px solid rgb(var(--ink-rgb) / .10) !important;
    background: rgb(var(--white-rgb) / .72) !important;
  }
  .nd-process__item.is-active {
    border: 2px solid var(--accent) !important;
    background: linear-gradient(135deg, rgb(var(--white-rgb) / .96), rgb(var(--accent-rgb) / .08)) !important;
    box-shadow: 0 16px 34px rgb(var(--accent-rgb) / .12) !important;
  }
  .nd-process__item span,
  .nd-process__item.is-active span {
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    font-size: 13px !important;
  }
  .nd-process__item b,
  .nd-process__item.is-active b {
    font-size: 20px !important;
    line-height: 1.08 !important;
  }
  .nd-process__item i,
  .nd-process__item.is-active i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 74px !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border: 1px solid rgb(var(--accent-rgb) / .20) !important;
    border-radius: 999px !important;
    color: var(--accent) !important;
    background: rgb(var(--accent-rgb) / .08) !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
  }
  .nd-process__item.is-active i {
    color: var(--white) !important;
    background: var(--accent) !important;
    border-color: var(--accent) !important;
  }
  .nd-process-panel {
    margin-top: 16px !important;
    border-top: 5px solid var(--accent) !important;
  }
  .nd-process-panel__top span:last-child::before {
    content: 'Ниже не новая страница — это описание выбранного шага';
    display: block;
    margin-bottom: 6px;
    color: var(--ink-soft);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.3;
    text-transform: none;
  }
}
@media (max-width: 430px) {
  .nd-process__item,
  .nd-process__item.is-active {
    grid-template-columns: 40px minmax(0, 1fr) !important;
  }
  .nd-process__item i,
  .nd-process__item.is-active i {
    grid-column: 2;
    justify-self: start;
    margin-top: 6px;
    min-width: 78px !important;
  }
}


/* v18: mobile process opens as a clear modal; desktop process remains original */
.nd-process__mobile-cta,
.process-mobile-modal { display: none; }
@media (min-width: 761px) {
  .nd-process-mobile-head { display: none !important; }
  .nd-process__item i {
    display: block !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--accent) !important;
    font-size: 19px !important;
    line-height: 1 !important;
    font-style: normal !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }
  .nd-process__item.is-active i { color: var(--accent-gold) !important; }
}
@media (max-width: 760px) {
  body.is-process-modal-open { overflow: hidden; }
  .nd-process-mobile-head {
    display: grid !important;
    gap: 8px !important;
    margin: 0 0 14px !important;
    padding: 18px 18px 16px !important;
    border: 1px solid rgb(var(--accent-rgb) / .20) !important;
    border-radius: 24px !important;
    background: rgb(var(--white-rgb) / .84) !important;
    box-shadow: 0 14px 34px rgb(var(--ink-rgb) / .07) !important;
  }
  .nd-process-mobile-head span {
    color: var(--accent) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .13em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
  }
  .nd-process-mobile-head p {
    margin: 0 !important;
    color: var(--ink) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.32 !important;
  }
  .nd-process { gap: 12px !important; }
  .nd-process__item,
  .nd-process__item.is-active {
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    min-height: 82px !important;
    padding: 15px 14px 15px 16px !important;
    border-radius: 24px !important;
    text-align: left !important;
    transform: none !important;
    cursor: pointer !important;
  }
  .nd-process__item {
    border: 1px solid rgb(var(--ink-rgb) / .10) !important;
    color: var(--ink) !important;
    background: rgb(var(--white-rgb) / .86) !important;
    box-shadow: 0 12px 30px rgb(var(--ink-rgb) / .07) !important;
  }
  .nd-process__item.is-active {
    border: 1px solid rgb(var(--accent-rgb) / .45) !important;
    color: var(--ink) !important;
    background: linear-gradient(135deg, rgb(var(--white-rgb) / .98), rgb(var(--accent-rgb) / .08)) !important;
    box-shadow: 0 16px 34px rgb(var(--accent-rgb) / .11) !important;
  }
  .nd-process__item i,
  .nd-process__item.is-active i { display: none !important; }
  .nd-process__mobile-cta {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 104px !important;
    min-height: 38px !important;
    padding: 0 13px !important;
    border: 1px solid rgb(var(--accent-rgb) / .22) !important;
    border-radius: 999px !important;
    color: var(--accent) !important;
    background: rgb(var(--accent-rgb) / .08) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }
  .nd-process__item.is-active .nd-process__mobile-cta {
    color: var(--white) !important;
    border-color: var(--accent) !important;
    background: var(--accent) !important;
  }
  .nd-process-panel { display: none !important; }
  .process-mobile-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 120 !important;
    display: grid !important;
    align-items: end !important;
    justify-items: stretch !important;
    padding: 18px 14px calc(18px + env(safe-area-inset-bottom)) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .24s ease !important;
  }
  .process-mobile-modal.is-open {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .process-mobile-modal__backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgb(var(--ink-rgb) / .48) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
  }
  .process-mobile-modal__dialog {
    position: relative !important;
    z-index: 1 !important;
    width: min(100%, 560px) !important;
    max-height: min(86dvh, 720px) !important;
    margin: 0 auto !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    padding: 24px 22px 22px !important;
    border: 1px solid rgb(var(--white-rgb) / .68) !important;
    border-radius: 32px !important;
    color: var(--ink) !important;
    background:
      radial-gradient(circle at 86% 8%, rgb(var(--accent-rgb) / .12), transparent 35%),
      linear-gradient(145deg, var(--white), var(--surface-tint)) !important;
    box-shadow: 0 30px 90px rgb(var(--ink-rgb) / .28) !important;
    transform: translateY(22px) scale(.98) !important;
    transition: transform .28s var(--ease-out) !important;
  }
  .process-mobile-modal.is-open .process-mobile-modal__dialog {
    transform: translateY(0) scale(1) !important;
  }
  .process-mobile-modal__close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    border: 1px solid rgb(var(--ink-rgb) / .12) !important;
    border-radius: 50% !important;
    color: var(--ink) !important;
    background: rgb(var(--white-rgb) / .72) !important;
    font-size: 30px !important;
    line-height: 1 !important;
  }
  .process-mobile-modal__kicker {
    margin: 0 52px 14px 0 !important;
    color: var(--accent) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
  }
  .process-mobile-modal__kicker span {
    display: inline-grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    margin-left: 6px !important;
    border-radius: 50% !important;
    background: rgb(var(--accent-rgb) / .10) !important;
    font-size: 12px !important;
  }
  .process-mobile-modal__dialog h3 {
    margin: 0 !important;
    max-width: 360px !important;
    color: var(--ink) !important;
    font-size: clamp(2.25rem, 10vw, 3rem) !important;
    font-weight: 400 !important;
    line-height: 1.02 !important;
    letter-spacing: -.05em !important;
  }
  .process-mobile-modal__desc {
    margin: 16px 0 0 !important;
    color: var(--ink-soft) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.44 !important;
  }
  .process-mobile-modal__result {
    display: grid !important;
    gap: 4px !important;
    margin-top: 18px !important;
    padding: 18px !important;
    border: 1px solid rgb(var(--accent-rgb) / .18) !important;
    border-radius: 24px !important;
    background: rgb(var(--accent-rgb) / .08) !important;
  }
  .process-mobile-modal__result span {
    color: var(--accent) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
  }
  .process-mobile-modal__result b {
    color: var(--ink) !important;
    font-size: clamp(2.7rem, 12vw, 4rem) !important;
    font-weight: 800 !important;
    letter-spacing: -.06em !important;
    line-height: .95 !important;
  }
  .process-mobile-modal__result small {
    color: var(--ink-soft) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
  }
  .process-mobile-modal__list-block {
    margin-top: 16px !important;
    padding: 18px !important;
    border: 1px solid rgb(var(--ink-rgb) / .08) !important;
    border-radius: 24px !important;
    background: rgb(var(--white-rgb) / .72) !important;
  }
  .process-mobile-modal__list-block--soft { background: rgb(var(--white-rgb) / .50) !important; }
  .process-mobile-modal__list-block h4 {
    margin: 0 0 12px !important;
    color: var(--ink) !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
  }
  .process-mobile-modal__list-block ol,
  .process-mobile-modal__list-block ul {
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    counter-reset: modalStep !important;
  }
  .process-mobile-modal__list-block li {
    position: relative !important;
    padding-left: 32px !important;
    color: var(--ink-soft) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.32 !important;
  }
  .process-mobile-modal__list-block ol li::before {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: var(--accent) !important;
    content: counter(modalStep, decimal-leading-zero) !important;
    counter-increment: modalStep !important;
    font-size: 12px !important;
    font-weight: 900 !important;
  }
  .process-mobile-modal__list-block ul li::before {
    position: absolute !important;
    left: 3px !important;
    top: .45em !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: var(--accent) !important;
    box-shadow: 0 0 0 6px rgb(var(--accent-rgb) / .10) !important;
    content: '' !important;
  }
  .process-mobile-modal__actions {
    display: grid !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }
  .process-mobile-modal__actions .button { width: 100% !important; min-height: 56px !important; }
  .process-mobile-modal__ok {
    min-height: 50px !important;
    border: 1px solid rgb(var(--ink-rgb) / .10) !important;
    border-radius: 999px !important;
    color: var(--ink) !important;
    background: rgb(var(--white-rgb) / .74) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }
}
@media (max-width: 430px) {
  .nd-process__item,
  .nd-process__item.is-active {
    grid-template-columns: 40px minmax(0, 1fr) !important;
  }
  .nd-process__mobile-cta {
    grid-column: 2 !important;
    justify-self: start !important;
    margin-top: 7px !important;
  }
  .process-mobile-modal { padding-right: 10px !important; padding-left: 10px !important; }
  .process-mobile-modal__dialog { border-radius: 28px !important; padding: 22px 20px 20px !important; }
}


/* v19: clearer selected state + lock background scroll under mobile process modal */
html.is-process-modal-open,
body.is-process-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none !important;
  touch-action: none !important;
}
body.is-process-modal-open .process-mobile-modal,
body.is-process-modal-open .process-mobile-modal__dialog {
  touch-action: pan-y !important;
}
@media (max-width: 760px) {
  .nd-process__item.is-active {
    border-color: var(--accent) !important;
    background:
      radial-gradient(circle at 92% 10%, rgb(var(--accent-rgb) / .18), transparent 42%),
      linear-gradient(135deg, rgb(var(--white-rgb) / 1), rgb(var(--accent-rgb) / .13)) !important;
    box-shadow: 0 18px 42px rgb(var(--accent-rgb) / .20), inset 0 0 0 1px rgb(var(--accent-rgb) / .16) !important;
  }
  .nd-process__item.is-active span {
    color: var(--white) !important;
    border-color: var(--accent) !important;
    background: var(--accent) !important;
    box-shadow: 0 10px 22px rgb(var(--accent-rgb) / .22) !important;
  }
  .nd-process__item.is-active b { color: var(--ink) !important; }
  .nd-process__item.is-active::after {
    content: none !important;
    position: absolute !important;
    top: 10px !important;
    right: 14px !important;
    color: var(--accent) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
  }
  .nd-process__item.is-active .nd-process__mobile-cta {
    margin-top: 14px !important;
    color: var(--white) !important;
    border-color: var(--accent) !important;
    background: linear-gradient(135deg, var(--accent-strong), var(--accent)) !important;
    box-shadow: 0 10px 22px rgb(var(--accent-rgb) / .24) !important;
  }
  .process-mobile-modal {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }
  .process-mobile-modal__dialog {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }
}
@media (max-width: 430px) {
  .nd-process__item.is-active::after {
    top: 12px !important;
    right: 14px !important;
  }
}


/* v20: mobile process cards are simple open buttons, no selected badge/highlight */
@media (max-width: 760px) {
  .nd-process__item.is-active {
    border: 1px solid rgb(var(--ink-rgb) / .10) !important;
    color: var(--ink) !important;
    background: rgb(var(--white-rgb) / .86) !important;
    box-shadow: 0 12px 30px rgb(var(--ink-rgb) / .07) !important;
  }
  .nd-process__item.is-active::after {
    content: none !important;
    display: none !important;
  }
  .nd-process__item.is-active span {
    color: var(--accent) !important;
    border-color: rgb(var(--accent-rgb) / .22) !important;
    background: rgb(var(--accent-rgb) / .08) !important;
    box-shadow: none !important;
  }
  .nd-process__item.is-active b { color: var(--ink) !important; }
  .nd-process__item .nd-process__mobile-cta,
  .nd-process__item.is-active .nd-process__mobile-cta {
    margin-top: 0 !important;
    color: var(--accent) !important;
    border-color: rgb(var(--accent-rgb) / .22) !important;
    background: rgb(var(--accent-rgb) / .08) !important;
    box-shadow: none !important;
  }
}
@media (max-width: 430px) {
  .nd-process__item .nd-process__mobile-cta,
  .nd-process__item.is-active .nd-process__mobile-cta {
    margin-top: 7px !important;
  }
}


/* v21: hard fix for mobile process popup overlay clipping/bleed-through */
@media (max-width: 760px) {
  html.is-process-modal-open,
  body.is-process-modal-open {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }
  body.is-process-modal-open {
    width: 100% !important;
  }
  body .process-mobile-modal {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 9999 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)) !important;
    background: rgb(var(--ink-rgb) / .46) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
    transform: none !important;
    contain: none !important;
  }
  body .process-mobile-modal.is-open {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  body .process-mobile-modal__backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    background: rgb(var(--ink-rgb) / .46) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }
  body .process-mobile-modal__dialog {
    position: relative !important;
    z-index: 1 !important;
    width: min(100%, 560px) !important;
    max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    touch-action: pan-y !important;
    margin: 0 auto !important;
  }
  body.is-process-modal-open .site-header,
  body.is-process-modal-open .mobile-sticky-cta {
    pointer-events: none !important;
  }
}
@supports not (height: 100dvh) {
  @media (max-width: 760px) {
    body .process-mobile-modal,
    body .process-mobile-modal__backdrop { height: 100vh !important; }
    body .process-mobile-modal__dialog { max-height: calc(100vh - 24px) !important; }
  }
}


/* v22: clean mobile back button inside page hero */
.mobile-back-wrap { display: none; }
@media (max-width: 760px) {
  .opening > .mobile-back-wrap,
  .faq-classic-hero > .mobile-back-wrap {
    display: block !important;
    position: relative !important;
    z-index: 3 !important;
    margin: 0 auto 18px !important;
  }
  body .mobile-back-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid rgb(var(--surface-rgb) / .22) !important;
    border-radius: 999px !important;
    color: var(--surface) !important;
    background: rgb(var(--surface-rgb) / .10) !important;
    box-shadow: inset 0 1px 0 rgb(var(--white-rgb) / .10), 0 12px 28px rgb(var(--mask-rgb) / .14) !important;
    backdrop-filter: blur(16px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(130%) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    letter-spacing: -.01em !important;
  }
  body .mobile-back-link span {
    display: grid !important;
    place-items: center !important;
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    color: var(--ink) !important;
    background: var(--accent-gold) !important;
    font-size: 14px !important;
    line-height: 1 !important;
  }
  body .mobile-back-link b {
    display: block !important;
    font: inherit !important;
  }
  body .mobile-back-link:active {
    transform: translateY(1px) !important;
  }
  .opening__crumbs {
    margin-top: 4px !important;
  }
}
@media (max-width: 430px) {
  .opening > .mobile-back-wrap,
  .faq-classic-hero > .mobile-back-wrap {
    margin-bottom: 16px !important;
  }
  body .mobile-back-link {
    min-height: 42px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
  }
}


/* v23: more visible mobile back button */
@media (max-width: 760px) {
  .opening > .mobile-back-wrap,
  .faq-classic-hero > .mobile-back-wrap,
  .mobile-back-wrap {
    display: block !important;
    position: relative !important;
    z-index: 8 !important;
    margin: 0 auto 22px !important;
  }
  body .mobile-back-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 0 20px 0 14px !important;
    border: 1px solid rgb(var(--accent-rgb) / .72) !important;
    border-radius: 999px !important;
    color: var(--ink) !important;
    background: linear-gradient(135deg, rgb(var(--white-rgb) / .98), rgb(var(--accent-rgb) / .18)) !important;
    box-shadow: 0 12px 26px rgb(var(--accent-rgb) / .22), 0 6px 14px rgb(var(--ink-rgb) / .08), inset 0 1px 0 rgb(var(--white-rgb) / .85) !important;
    backdrop-filter: blur(16px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(150%) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    letter-spacing: -.02em !important;
  }
  body .mobile-back-link span {
    display: grid !important;
    place-items: center !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    color: var(--white) !important;
    background: var(--accent) !important;
    box-shadow: 0 7px 16px rgb(var(--accent-rgb) / .32) !important;
    font-size: 17px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
  }
  body .mobile-back-link b {
    display: block !important;
    color: var(--ink) !important;
    font: inherit !important;
  }
  body .mobile-back-link:active {
    transform: translateY(1px) scale(.99) !important;
  }
}
@media (max-width: 430px) {
  body .mobile-back-link {
    min-height: 46px !important;
    padding-right: 18px !important;
    font-size: 13.5px !important;
  }
  body .mobile-back-link span { width: 27px !important; height: 27px !important; }
}


/* v25: mobile-only premium redesign for calculator KPI block. Desktop styles untouched. */
@media (max-width: 760px) {
  body .nd-calculator__card {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin: 24px 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  body .nd-calculator__card > div {
    position: relative !important;
    min-height: 96px !important;
    padding: 18px 18px 18px 62px !important;
    border: 1px solid rgb(var(--ink-rgb) / .09) !important;
    border-radius: 24px !important;
    background:
      radial-gradient(circle at 100% 0%, rgb(var(--accent-rgb) / .12), transparent 42%),
      linear-gradient(145deg, rgb(var(--white-rgb) / .96), rgb(var(--surface-rgb) / .82)) !important;
    box-shadow: 0 14px 32px rgb(var(--ink-rgb) / .07), inset 0 1px 0 rgb(var(--white-rgb) / .78) !important;
    overflow: hidden !important;
  }

  body .nd-calculator__card > div::before {
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    content: '' !important;
    transform: translateY(-50%) !important;
    background: rgb(var(--accent-rgb) / .13) !important;
    box-shadow: inset 0 0 0 1px rgb(var(--accent-rgb) / .22) !important;
  }

  body .nd-calculator__card > div::after {
    position: absolute !important;
    left: 28px !important;
    top: 50% !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    content: '' !important;
    transform: translateY(-50%) !important;
    background: var(--accent) !important;
    box-shadow: 0 0 0 5px rgb(var(--accent-rgb) / .10) !important;
  }

  body .nd-calculator__card > div + div {
    margin-top: 0 !important;
  }

  body .nd-calculator__card span {
    color: rgb(var(--ink-rgb) / .58) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
  }

  body .nd-calculator__card b {
    margin-top: 11px !important;
    color: var(--ink) !important;
    font-size: clamp(1.45rem, 6.2vw, 1.9rem) !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    letter-spacing: -.055em !important;
    white-space: nowrap !important;
  }

  body .nd-calculator__card aside {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: end !important;
    gap: 8px 14px !important;
    min-height: 128px !important;
    padding: 22px 22px 20px !important;
    border: 1px solid rgb(var(--surface-rgb) / .10) !important;
    border-radius: 28px !important;
    color: var(--surface) !important;
    background:
      radial-gradient(circle at 88% 8%, rgb(var(--accent-rgb) / .30), transparent 32%),
      linear-gradient(145deg, #101923 0%, #17232d 58%, #25313a 100%) !important;
    box-shadow: 0 20px 42px rgb(var(--ink-rgb) / .18), inset 0 1px 0 rgb(var(--white-rgb) / .10) !important;
    overflow: hidden !important;
  }

  body .nd-calculator__card aside::before {
    position: absolute !important;
    right: -34px !important;
    bottom: -48px !important;
    width: 142px !important;
    height: 142px !important;
    border-radius: 50% !important;
    content: '' !important;
    background: radial-gradient(circle, rgb(var(--accent-rgb) / .32), rgb(var(--accent-rgb) / .08) 50%, transparent 70%) !important;
    pointer-events: none !important;
  }

  body .nd-calculator__card aside span {
    position: relative !important;
    grid-column: 1 / -1 !important;
    color: rgb(var(--surface-rgb) / .66) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }

  body .nd-calculator__card aside strong {
    position: relative !important;
    color: var(--surface) !important;
    font-size: clamp(2.2rem, 10vw, 3rem) !important;
    font-weight: 950 !important;
    line-height: .92 !important;
    letter-spacing: -.07em !important;
    white-space: nowrap !important;
  }

  body .nd-calculator__card aside small {
    position: relative !important;
    align-self: end !important;
    justify-self: end !important;
    padding: 8px 11px !important;
    border-radius: 999px !important;
    color: var(--ink) !important;
    background: var(--accent-gold) !important;
    box-shadow: 0 10px 20px rgb(var(--accent-rgb) / .18) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 380px) {
  body .nd-calculator__card > div {
    padding-left: 56px !important;
  }
  body .nd-calculator__card aside {
    grid-template-columns: 1fr !important;
  }
  body .nd-calculator__card aside small {
    justify-self: start !important;
  }
}


/* v26: all visible blueprint visuals replaced with real object photos */
.home-calc__panel::after {
  background-image: url('../images/object-photos/object-photo-35.jpg') !important;
  opacity: .10 !important;
  border-radius: 22px;
}
.nd-hero__slide picture,
.nd-hero__slide picture > img {
  width: 100%;
  height: 100%;
  display: block;
}
.nd-hero__slide picture > img {
  object-fit: cover;
}


/* v27: mobile/tablet-only polished calculator plaque. Desktop remains unchanged. */
@media (max-width: 980px) {
  body .nd-calculator__card {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 24px 0 24px !important;
    padding: 10px !important;
    border: 1px solid rgb(var(--ink-rgb) / .08) !important;
    border-radius: 28px !important;
    background:
      radial-gradient(circle at 100% 0%, rgb(var(--accent-rgb) / .12), transparent 38%),
      rgb(var(--white-rgb) / .78) !important;
    box-shadow: 0 18px 42px rgb(var(--ink-rgb) / .08), inset 0 1px 0 rgb(var(--white-rgb) / .85) !important;
    overflow: hidden !important;
  }

  body .nd-calculator__card > div,
  body .nd-calculator__card aside {
    min-width: 0 !important;
    border-radius: 22px !important;
  }

  body .nd-calculator__card > div {
    position: relative !important;
    display: grid !important;
    align-content: space-between !important;
    gap: 12px !important;
    min-height: 116px !important;
    padding: 17px 16px !important;
    border: 1px solid rgb(var(--ink-rgb) / .07) !important;
    background:
      linear-gradient(145deg, rgb(var(--white-rgb) / .96), rgb(var(--surface-rgb) / .72)) !important;
    box-shadow: inset 0 1px 0 rgb(var(--white-rgb) / .92) !important;
    overflow: hidden !important;
  }

  body .nd-calculator__card > div::before {
    position: absolute !important;
    right: 13px !important;
    top: 13px !important;
    left: auto !important;
    width: 9px !important;
    height: 9px !important;
    border-radius: 50% !important;
    content: '' !important;
    transform: none !important;
    background: var(--accent) !important;
    box-shadow: 0 0 0 6px rgb(var(--accent-rgb) / .10) !important;
  }

  body .nd-calculator__card > div::after {
    display: none !important;
  }

  body .nd-calculator__card span {
    max-width: 110px !important;
    color: rgb(var(--ink-rgb) / .58) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    line-height: 1.08 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
  }

  body .nd-calculator__card b {
    margin: 0 !important;
    color: var(--ink) !important;
    font-size: clamp(1.45rem, 5.4vw, 1.85rem) !important;
    font-weight: 950 !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
    white-space: nowrap !important;
  }

  body .nd-calculator__card aside {
    position: relative !important;
    display: grid !important;
    align-content: space-between !important;
    gap: 10px !important;
    min-height: 116px !important;
    padding: 18px 16px !important;
    border: 1px solid rgb(var(--surface-rgb) / .10) !important;
    color: var(--surface) !important;
    background:
      radial-gradient(circle at 86% 14%, rgb(var(--accent-rgb) / .34), transparent 34%),
      linear-gradient(145deg, #101923 0%, #182530 58%, #27333c 100%) !important;
    box-shadow: 0 14px 28px rgb(var(--ink-rgb) / .18), inset 0 1px 0 rgb(var(--white-rgb) / .10) !important;
    overflow: hidden !important;
  }

  body .nd-calculator__card aside::before {
    position: absolute !important;
    right: -40px !important;
    bottom: -58px !important;
    width: 150px !important;
    height: 150px !important;
    border-radius: 50% !important;
    content: '' !important;
    background: radial-gradient(circle, rgb(var(--accent-rgb) / .32), rgb(var(--accent-rgb) / .08) 50%, transparent 70%) !important;
    pointer-events: none !important;
  }

  body .nd-calculator__card aside span {
    position: relative !important;
    max-width: 100% !important;
    grid-column: auto !important;
    color: rgb(var(--surface-rgb) / .62) !important;
  }

  body .nd-calculator__card aside strong {
    position: relative !important;
    color: var(--surface) !important;
    font-size: clamp(2rem, 8.2vw, 2.8rem) !important;
    font-weight: 950 !important;
    line-height: .88 !important;
    letter-spacing: -.07em !important;
    white-space: nowrap !important;
  }

  body .nd-calculator__card aside small {
    position: relative !important;
    justify-self: start !important;
    width: fit-content !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    color: var(--ink) !important;
    background: var(--accent-gold) !important;
    box-shadow: 0 10px 20px rgb(var(--accent-rgb) / .18) !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 420px) {
  body .nd-calculator__card {
    gap: 9px !important;
    padding: 9px !important;
  }
  body .nd-calculator__card > div,
  body .nd-calculator__card aside {
    min-height: 108px !important;
    padding: 15px 14px !important;
    border-radius: 20px !important;
  }
  body .nd-calculator__card b {
    font-size: clamp(1.28rem, 5.8vw, 1.58rem) !important;
  }
  body .nd-calculator__card aside strong {
    font-size: clamp(1.88rem, 8.6vw, 2.35rem) !important;
  }
}

@media (max-width: 340px) {
  body .nd-calculator__card {
    grid-template-columns: 1fr !important;
  }
}


/* v28: mobile-only calculator plaque fit fix. Desktop remains untouched. */
@media (max-width: 980px) {
  body .nd-tools .nd-calculator .nd-calculator__card,
  body .nd-calculator .nd-calculator__card {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 8px !important;
    margin: 22px 0 22px !important;
    border: 1px solid rgb(var(--ink-rgb) / .08) !important;
    border-radius: 26px !important;
    background: rgb(var(--white-rgb) / .70) !important;
    box-shadow: 0 16px 36px rgb(var(--ink-rgb) / .08), inset 0 1px 0 rgb(var(--white-rgb) / .86) !important;
    overflow: hidden !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div,
  body .nd-calculator .nd-calculator__card > div,
  body .nd-tools .nd-calculator .nd-calculator__card aside,
  body .nd-calculator .nd-calculator__card aside {
    box-sizing: border-box !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 94px !important;
    padding: 14px 13px !important;
    border-radius: 20px !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div,
  body .nd-calculator .nd-calculator__card > div {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 10px !important;
    border: 1px solid rgb(var(--ink-rgb) / .07) !important;
    background: linear-gradient(145deg, rgb(var(--white-rgb) / .97), rgb(var(--surface-rgb) / .76)) !important;
    overflow: hidden !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div::before,
  body .nd-calculator .nd-calculator__card > div::before,
  body .nd-tools .nd-calculator .nd-calculator__card > div::after,
  body .nd-calculator .nd-calculator__card > div::after {
    display: none !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card span,
  body .nd-calculator .nd-calculator__card span {
    display: block !important;
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    color: rgb(var(--ink-rgb) / .58) !important;
    font-size: clamp(8.2px, 2.25vw, 10px) !important;
    font-weight: 950 !important;
    line-height: 1.08 !important;
    letter-spacing: .025em !important;
    text-transform: uppercase !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card b,
  body .nd-calculator .nd-calculator__card b {
    display: block !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    color: var(--ink) !important;
    font-size: clamp(16px, 4.45vw, 22px) !important;
    font-weight: 950 !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
    white-space: nowrap !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside,
  body .nd-calculator .nd-calculator__card aside {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 8px 12px !important;
    min-height: 105px !important;
    padding: 17px 16px !important;
    border: 0 !important;
    color: var(--surface) !important;
    background: radial-gradient(circle at 92% 0%, rgb(var(--accent-rgb) / .28), transparent 32%), linear-gradient(145deg, #101923 0%, #17232d 58%, #25313a 100%) !important;
    box-shadow: 0 14px 28px rgb(var(--ink-rgb) / .17), inset 0 1px 0 rgb(var(--white-rgb) / .10) !important;
    overflow: hidden !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside span,
  body .nd-calculator .nd-calculator__card aside span {
    grid-column: 1 / -1 !important;
    color: rgb(var(--surface-rgb) / .66) !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside strong,
  body .nd-calculator .nd-calculator__card aside strong {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: var(--surface) !important;
    font-size: clamp(30px, 8vw, 44px) !important;
    font-weight: 950 !important;
    line-height: .9 !important;
    letter-spacing: -.07em !important;
    white-space: nowrap !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside small,
  body .nd-calculator .nd-calculator__card aside small {
    justify-self: end !important;
    align-self: end !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    color: var(--ink) !important;
    background: var(--accent-gold) !important;
    box-shadow: 0 10px 20px rgb(var(--accent-rgb) / .16) !important;
    font-size: clamp(9px, 2.6vw, 11px) !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 360px) {
  body .nd-tools .nd-calculator .nd-calculator__card,
  body .nd-calculator .nd-calculator__card {
    gap: 7px !important;
    padding: 7px !important;
    border-radius: 23px !important;
  }
  body .nd-tools .nd-calculator .nd-calculator__card > div,
  body .nd-calculator .nd-calculator__card > div {
    min-height: 88px !important;
    padding: 12px 11px !important;
    border-radius: 18px !important;
  }
  body .nd-tools .nd-calculator .nd-calculator__card b,
  body .nd-calculator .nd-calculator__card b {
    font-size: clamp(15px, 4.25vw, 18px) !important;
  }
  body .nd-tools .nd-calculator .nd-calculator__card aside,
  body .nd-calculator .nd-calculator__card aside {
    grid-template-columns: 1fr !important;
  }
  body .nd-tools .nd-calculator .nd-calculator__card aside small,
  body .nd-calculator .nd-calculator__card aside small {
    justify-self: start !important;
  }
}


/* v29: mobile calculator numbers no-overlap fix. Desktop remains untouched. */
@media (max-width: 980px) {
  body .nd-tools .nd-calculator .nd-calculator__card,
  body .nd-calculator .nd-calculator__card {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 10px !important;
    overflow: hidden !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div,
  body .nd-calculator .nd-calculator__card > div {
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 96px !important;
    padding: 14px 12px !important;
    overflow: hidden !important;
    border-radius: 19px !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div span,
  body .nd-calculator .nd-calculator__card > div span {
    max-width: 100% !important;
    font-size: clamp(8.5px, 2.15vw, 10.5px) !important;
    line-height: 1.08 !important;
    letter-spacing: .01em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div b,
  body .nd-calculator .nd-calculator__card > div b {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    font-size: clamp(17px, 4.05vw, 22px) !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside,
  body .nd-calculator .nd-calculator__card aside {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    overflow: hidden !important;
    border-radius: 22px !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside strong,
  body .nd-calculator .nd-calculator__card aside strong {
    max-width: 100% !important;
    overflow: hidden !important;
    font-size: clamp(30px, 8.2vw, 42px) !important;
    line-height: .92 !important;
    letter-spacing: -.055em !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 430px) {
  body .nd-tools .nd-calculator .nd-calculator__card,
  body .nd-calculator .nd-calculator__card {
    gap: 8px !important;
    padding: 8px !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div,
  body .nd-calculator .nd-calculator__card > div {
    min-height: 90px !important;
    padding: 12px 10px !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div b,
  body .nd-calculator .nd-calculator__card > div b {
    font-size: clamp(15px, 4.65vw, 19px) !important;
    letter-spacing: -.03em !important;
  }
}

@media (max-width: 360px) {
  body .nd-tools .nd-calculator .nd-calculator__card > div b,
  body .nd-calculator .nd-calculator__card > div b {
    font-size: 14px !important;
    letter-spacing: -.02em !important;
  }
}


/* v30: mobile calculator plaque hard fix — keep all values inside their own cells. */
@media (max-width: 900px) {
  body .nd-tools .nd-calculator .nd-calculator__card,
  body .nd-calculator .nd-calculator__card {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background: rgb(var(--ink-rgb) / .10) !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div,
  body .nd-calculator .nd-calculator__card > div {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-width: 0 !important;
    min-height: 108px !important;
    padding: 14px 10px !important;
    border-radius: 0 !important;
    border-right: 1px solid rgb(var(--ink-rgb) / .12) !important;
    box-shadow: none !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div:last-of-type,
  body .nd-calculator .nd-calculator__card > div:last-of-type {
    border-right: 0 !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div span,
  body .nd-calculator .nd-calculator__card > div span {
    font-size: 9px !important;
    line-height: 1.08 !important;
    letter-spacing: .01em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div b,
  body .nd-calculator .nd-calculator__card > div b {
    margin-top: 8px !important;
    font-size: clamp(12px, 3.2vw, 16px) !important;
    line-height: 1 !important;
    letter-spacing: -.05em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside,
  body .nd-calculator .nd-calculator__card aside {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: end !important;
    gap: 6px 12px !important;
    min-height: 102px !important;
    padding: 16px 14px !important;
    border-radius: 0 0 24px 24px !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside strong,
  body .nd-calculator .nd-calculator__card aside strong {
    font-size: clamp(26px, 7.2vw, 38px) !important;
    line-height: .9 !important;
    white-space: nowrap !important;
    letter-spacing: -.06em !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside small,
  body .nd-calculator .nd-calculator__card aside small {
    justify-self: end !important;
    font-size: 10px !important;
    padding: 6px 9px !important;
  }
}

@media (max-width: 430px) {
  body .nd-tools .nd-calculator .nd-calculator__card > div,
  body .nd-calculator .nd-calculator__card > div {
    min-height: 102px !important;
    padding: 12px 8px !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div span,
  body .nd-calculator .nd-calculator__card > div span {
    font-size: 8px !important;
    line-height: 1.06 !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div b,
  body .nd-calculator .nd-calculator__card > div b {
    font-size: 11px !important;
    letter-spacing: -.045em !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside {
    grid-template-columns: 1fr !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside small,
  body .nd-calculator .nd-calculator__card aside small {
    justify-self: start !important;
  }
}


/* v31: DESKTOP calculator plaque fix. Mobile rules remain unchanged. */
@media (min-width: 981px) {
  body .nd-tools .nd-calculator .nd-calculator__card,
  body .nd-calculator .nd-calculator__card {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    padding: 10px !important;
    border: 1px solid rgb(var(--ink-rgb) / .08) !important;
    border-radius: 28px !important;
    background: rgb(var(--white-rgb) / .72) !important;
    overflow: hidden !important;
    box-shadow: 0 18px 42px rgb(var(--ink-rgb) / .08), inset 0 1px 0 rgb(var(--white-rgb) / .86) !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div,
  body .nd-calculator .nd-calculator__card > div {
    min-width: 0 !important;
    min-height: 108px !important;
    padding: 16px 14px !important;
    border: 1px solid rgb(var(--ink-rgb) / .07) !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, rgb(var(--white-rgb) / .98), rgb(var(--surface-rgb) / .78)) !important;
    box-shadow: none !important;
    overflow: hidden !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div span,
  body .nd-calculator .nd-calculator__card > div span {
    display: block !important;
    font-size: clamp(9px, .75vw, 11px) !important;
    line-height: 1.12 !important;
    letter-spacing: .02em !important;
    color: rgb(var(--ink-rgb) / .62) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div b,
  body .nd-calculator .nd-calculator__card > div b {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 14px !important;
    color: var(--ink) !important;
    font-size: clamp(16px, 1.35vw, 22px) !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside,
  body .nd-calculator .nd-calculator__card aside {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 8px 18px !important;
    min-width: 0 !important;
    min-height: 118px !important;
    padding: 22px 24px !important;
    border-radius: 24px !important;
    color: var(--surface) !important;
    background: radial-gradient(circle at 88% 0%, rgb(var(--accent-rgb) / .28), transparent 34%), linear-gradient(145deg, #101923 0%, #17232d 58%, #25313a 100%) !important;
    box-shadow: 0 16px 32px rgb(var(--ink-rgb) / .16), inset 0 1px 0 rgb(var(--white-rgb) / .10) !important;
    overflow: hidden !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside span,
  body .nd-calculator .nd-calculator__card aside span {
    grid-column: 1 / -1 !important;
    color: rgb(var(--surface-rgb) / .66) !important;
    font-size: 10px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside strong,
  body .nd-calculator .nd-calculator__card aside strong {
    display: block !important;
    max-width: 100% !important;
    color: var(--surface) !important;
    font-size: clamp(32px, 2.7vw, 44px) !important;
    font-weight: 950 !important;
    line-height: .92 !important;
    letter-spacing: -.06em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card aside small,
  body .nd-calculator .nd-calculator__card aside small {
    justify-self: end !important;
    align-self: end !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    color: var(--ink) !important;
    background: var(--accent-gold) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}


/* v32: fix mobile back button overlapping the fixed header */
@media (max-width: 760px) {
  body .site-header {
    z-index: 120 !important;
  }

  body .opening > .mobile-back-wrap,
  body .faq-classic-hero > .mobile-back-wrap,
  body .mobile-back-wrap {
    display: block !important;
    position: sticky !important;
    top: calc(104px + env(safe-area-inset-top)) !important;
    z-index: 90 !important;
    width: min(100% - 32px, var(--container)) !important;
    max-width: calc(100vw - 32px) !important;
    margin: 0 auto 20px !important;
    padding: 0 !important;
    transform: none !important;
  }

  body .mobile-back-link {
    margin: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 430px) {
  body .opening > .mobile-back-wrap,
  body .faq-classic-hero > .mobile-back-wrap,
  body .mobile-back-wrap {
    top: calc(96px + env(safe-area-inset-top)) !important;
    margin-bottom: 18px !important;
  }
}


/* v33: place mobile back button cleanly in the gap under breadcrumbs and above the title */
@media (max-width: 760px) {
  body .opening > .mobile-back-wrap,
  body .faq-classic-hero > .mobile-back-wrap,
  body > .mobile-back-wrap,
  body main > .mobile-back-wrap {
    display: none !important;
  }

  body .opening__copy > .mobile-back-wrap,
  body .faq-classic-hero__copy > .mobile-back-wrap,
  body .opening__copy .mobile-back-wrap,
  body .faq-classic-hero__copy .mobile-back-wrap {
    display: block !important;
    position: static !important;
    width: 100% !important;
    margin: 10px 0 14px !important;
    padding: 0 !important;
    z-index: auto !important;
  }

  body .opening__crumbs + .mobile-back-wrap,
  body .faq-classic-hero__crumbs + .mobile-back-wrap {
    margin-top: 8px !important;
    margin-bottom: 14px !important;
  }

  body .mobile-back-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 18px 0 14px !important;
    border: 1px solid rgb(var(--accent-rgb) / .28) !important;
    border-radius: 999px !important;
    color: var(--ink) !important;
    background: linear-gradient(135deg, rgb(var(--white-rgb) / .96), rgb(var(--accent-rgb) / .13)) !important;
    box-shadow: 0 8px 20px rgb(var(--ink-rgb) / .08), inset 0 1px 0 rgb(var(--white-rgb) / .86) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
  }

  body .mobile-back-link span {
    width: 28px !important;
    height: 28px !important;
    color: var(--white) !important;
    background: var(--accent) !important;
  }
}

@media (max-width: 430px) {
  body .opening__copy > .mobile-back-wrap,
  body .faq-classic-hero__copy > .mobile-back-wrap {
    margin: 8px 0 12px !important;
  }

  body .mobile-back-link {
    min-height: 44px !important;
    padding: 0 16px 0 12px !important;
    font-size: 13px !important;
  }
}


/* v35: from version 33, add only a tiny desktop gap between hero text and photo */
@media (min-width: 761px) {
  body .nd-hero__copy {
    padding-right: 8px !important;
  }
}


/* v36: desktop-only real gap between hero headline and photo */
@media (min-width: 761px) {
  body .nd-hero__showcase {
    box-sizing: border-box !important;
    padding-left: 38px !important;
    min-width: 0 !important;
  }

  body .nd-hero__showcase .nd-hero__frame,
  body .nd-hero__showcase .nd-hero__count {
    width: 100% !important;
  }
}


/* v37: mobile typography — no ugly word splits, prefer stacked whole words */
@media (max-width: 760px) {
  body :is(h1, h2, h3, .title, .display, .opening__title, .faq-classic-hero__copy h1, .lead-form__top h2, .modal-dialog h2, .nd-faq-classic__head h2, .section-lead, .opening__lead, .nd-hero__lead, .nd-final__action span, .process-neo__card h3, .story-card-neo__body h3, .faq-classic-item__question, .opening__metric b, .metric b, .check-list li, .feature-card h3, .contact-card h3) {
    -webkit-hyphens: none !important;
    hyphens: none !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
  }

  body :is(.title, .opening__title, .faq-classic-hero__copy h1, .lead-form__top h2, .modal-dialog h2, .nd-faq-classic__head h2, .split-intro .title, .cta-grid .title, .nd-final__grid .title, .opening__copy .title) {
    text-wrap: balance !important;
    max-inline-size: 11.5ch !important;
  }

  body .nd-hero__copy .display.hero-display {
    text-wrap: balance !important;
    -webkit-hyphens: none !important;
    hyphens: none !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
  }

  body .section-lead,
  body .opening__lead,
  body .nd-hero__lead,
  body p,
  body li {
    -webkit-hyphens: none !important;
    hyphens: none !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body .cta-grid .title,
  body .nd-final__grid .title {
    max-inline-size: 9.8ch !important;
    font-size: clamp(1.85rem, 7.6vw, 2.45rem) !important;
    line-height: 1.03 !important;
    letter-spacing: -.03em !important;
  }

  body .split-intro .title,
  body .opening__title,
  body .faq-classic-hero__copy h1,
  body h2.title {
    font-size: clamp(1.95rem, 8vw, 2.7rem) !important;
    line-height: 1.02 !important;
  }
}

@media (max-width: 430px) {
  body :is(.title, .opening__title, .faq-classic-hero__copy h1, .lead-form__top h2, .modal-dialog h2, .nd-faq-classic__head h2, .split-intro .title, .cta-grid .title, .nd-final__grid .title, h2.title) {
    max-inline-size: 10.4ch !important;
  }

  body .cta-grid .title,
  body .nd-final__grid .title {
    max-inline-size: 9.2ch !important;
    font-size: clamp(1.72rem, 7.2vw, 2.22rem) !important;
  }
}


/* v39: compact Android / Redmi 10C mobile hardening. Desktop untouched. */
@media (max-width: 760px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100%;
  }

  body {
    padding-bottom: 96px !important;
  }

  body * {
    box-sizing: border-box !important;
  }

  body :is(main, section, .nd-home, .opening, .faq-classic-hero, .section, .cta, .nd-final, .modal-dialog, .lead-form, .process-mobile-modal__dialog) {
    max-width: 100vw !important;
    overflow-x: clip !important;
  }

  body .container,
  body .opening__grid,
  body .faq-classic-hero__grid,
  body .calc-modern,
  body .contact-grid,
  body .founder-layout,
  body .case-hero-layout,
  body .detail-grid,
  body .story-layout,
  body .nd-tools__grid,
  body .nd-cases__grid,
  body .home-contact-bar {
    width: min(100% - 28px, var(--container)) !important;
    max-width: calc(100vw - 28px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body .site-header {
    top: 8px !important;
    padding: 0 !important;
  }

  body .header-inner {
    width: min(100% - 28px, var(--container)) !important;
    min-height: 68px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    padding: 8px 10px 8px 14px !important;
    border-radius: 22px !important;
  }

  body .brand,
  body .brand-mark {
    width: min(152px, 42vw) !important;
    min-width: 0 !important;
  }

  body .menu-toggle {
    width: 54px !important;
    height: 54px !important;
    flex: 0 0 54px !important;
  }

  body .site-nav {
    top: calc(78px + env(safe-area-inset-top)) !important;
    right: 14px !important;
    left: 14px !important;
    max-height: calc(100dvh - 96px) !important;
  }

  /* No broken words: reduce type instead of slicing words. */
  body :is(h1, h2, h3, .display, .title, .opening__title, .faq-classic-hero__copy h1, .lead-form__top h2, .modal-dialog h2, .nd-faq-classic__head h2, .process-mobile-modal__dialog h3) {
    -webkit-hyphens: none !important;
    hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-wrap: balance !important;
    max-width: 100% !important;
  }

  body :is(.title, h2.title, .opening__title, .faq-classic-hero__copy h1, .lead-form__top h2, .modal-dialog h2, .nd-faq-classic__head h2) {
    font-size: clamp(31px, 7.4vw, 39px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
  }

  body .section-lead,
  body .opening__lead,
  body .nd-section-lead,
  body .nd-hero__lead,
  body .split-intro__right,
  body .case-intro p,
  body .lead-form__top p,
  body .contact-card p,
  body .process-mobile-modal__desc,
  body p,
  body li {
    -webkit-hyphens: none !important;
    hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }

  body .section-lead,
  body .opening__lead,
  body .nd-section-lead,
  body .nd-hero__lead,
  body .split-intro__right {
    font-size: clamp(17px, 4.4vw, 20px) !important;
    line-height: 1.44 !important;
  }

  /* Top page heroes on narrow Android screens. */
  body .opening,
  body .faq-classic-hero {
    padding-top: 102px !important;
    padding-bottom: 46px !important;
  }

  body .opening__copy,
  body .faq-classic-hero__copy {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body .opening__title,
  body .faq-classic-hero__copy h1 {
    font-size: clamp(34px, 8.4vw, 44px) !important;
    line-height: 1.03 !important;
  }

  body .opening__eyebrow,
  body .eyebrow {
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: .135em !important;
  }

  body .opening__note {
    max-width: 100% !important;
    color: var(--ink) !important;
    background: rgb(var(--white-rgb) / .86) !important;
    border-color: rgb(var(--accent-rgb) / .18) !important;
    box-shadow: 0 12px 28px rgb(var(--ink-rgb) / .06) !important;
  }

  body .opening__note span:not(.opening__note-icon),
  body .opening__note [data-investor-tip-text] {
    color: rgb(var(--ink-rgb) / .72) !important;
  }

  /* Company/founder and case text that was too wide on Redmi 10C. */
  body .founder-layout .title,
  body .split-intro .title,
  body .cta-grid .title,
  body .nd-final__grid .title,
  body .case-hero .opening__title,
  body .case-hero h1,
  body .case-title,
  body .story-card-neo h3 {
    font-size: clamp(30px, 7.2vw, 38px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.04em !important;
  }

  body .founder-layout,
  body .check-list,
  body .case-hero-layout,
  body .opening__metrics,
  body .faq-classic-hero__note,
  body .calc-modern__controls,
  body .calc-modern__result,
  body .lead-form {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body .check-list li,
  body .contact-card b,
  body .contact-card a,
  body .footer-contact a,
  body [data-contact="email"],
  body [data-contact="phone"] {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  /* Calculator page: scenario block and controls fit on low-width browser viewport. */
  body .calc-modern__controls {
    padding: 24px 18px !important;
    border-radius: 26px !important;
  }

  body .calc-modern__intro h2 {
    font-size: clamp(34px, 8vw, 44px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.04em !important;
  }

  body .calc-modern__intro p {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  body .calc-modern__scenarios {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 22px !important;
  }

  body .calc-modern__scenarios button {
    min-height: 54px !important;
    font-size: 13px !important;
  }

  /* Lead/contact form: no right overflow, no sticky CTA covering the form. */
  body .form-grid,
  body .form-submit {
    min-width: 0 !important;
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }

  body .form-field,
  body .form-field input,
  body .form-field textarea,
  body .form-field select {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body .form-field label {
    font-size: 13px !important;
    line-height: 1.18 !important;
    letter-spacing: .08em !important;
  }

  body .form-checkbox {
    display: grid !important;
    grid-template-columns: 26px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
    max-width: 100% !important;
  }

  body .form-checkbox input {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    margin-top: 1px !important;
  }

  body .form-checkbox span,
  body .form-checkbox label,
  body .form-checkbox a {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    font-size: 13px !important;
    line-height: 1.32 !important;
  }

  body .form-submit .button,
  body .lead-form .button {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 58px !important;
    padding: 0 18px !important;
    font-size: clamp(14px, 4vw, 17px) !important;
    white-space: normal !important;
    text-align: center !important;
  }

  /* Contact cards should never crop phone/email. */
  body .contact-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body .contact-card {
    min-width: 0 !important;
    padding: 22px 20px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  body .contact-card b,
  body .contact-card a {
    font-size: clamp(22px, 6vw, 29px) !important;
    line-height: 1.12 !important;
    letter-spacing: -.035em !important;
  }

  /* Mobile process popup: long Russian titles fit without running past the close button. */
  body .process-mobile-modal {
    padding: 10px 8px calc(10px + env(safe-area-inset-bottom)) !important;
  }

  body .process-mobile-modal__dialog {
    width: min(100%, calc(100vw - 18px)) !important;
    max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
    padding: 22px 18px 18px !important;
    border-radius: 28px !important;
  }

  body .process-mobile-modal__kicker {
    margin-right: 56px !important;
    font-size: 10px !important;
    letter-spacing: .12em !important;
  }

  body .process-mobile-modal__dialog h3 {
    max-width: calc(100vw - 92px) !important;
    font-size: clamp(33px, 8.2vw, 42px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
  }

  body .process-mobile-modal__desc {
    font-size: clamp(17px, 4.55vw, 21px) !important;
    line-height: 1.38 !important;
  }

  body .process-mobile-modal__result {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  body .process-mobile-modal__result b {
    font-size: clamp(38px, 12vw, 58px) !important;
    line-height: .92 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  body .process-mobile-modal__list-block li {
    font-size: 15px !important;
    line-height: 1.32 !important;
  }

  /* Sticky CTA: compact and never shown on pages that already contain a form/heavy case content. */
  body .mobile-sticky-cta {
    right: 10px !important;
    bottom: calc(8px + env(safe-area-inset-bottom)) !important;
    left: 10px !important;
    grid-template-columns: minmax(0, 1fr) 50px !important;
    gap: 8px !important;
    padding: 8px !important;
    border-radius: 22px !important;
  }

  body .mobile-sticky-cta__button {
    min-height: 50px !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
    padding: 0 14px !important;
  }

  body .mobile-sticky-cta__phone {
    width: 50px !important;
    min-height: 50px !important;
  }

  body[data-page="Контакты"] .mobile-sticky-cta,
  body[data-page="Калькулятор доходности"] .mobile-sticky-cta,
  body[data-page="Кейс офиса"] .mobile-sticky-cta,
  body[data-page="Кейс · Гараж"] .mobile-sticky-cta,
  body[data-page="Кейс студии"] .mobile-sticky-cta,
  body.is-form-focused .mobile-sticky-cta,
  body.is-process-modal-open .mobile-sticky-cta {
    display: none !important;
  }

  body[data-page="Контакты"],
  body[data-page="Калькулятор доходности"],
  body[data-page="Кейс офиса"],
  body[data-page="Кейс · Гараж"],
  body[data-page="Кейс студии"] {
    padding-bottom: 28px !important;
  }
}

@media (max-width: 430px) {
  body .container,
  body .opening__grid,
  body .faq-classic-hero__grid,
  body .calc-modern,
  body .contact-grid,
  body .founder-layout,
  body .case-hero-layout,
  body .detail-grid,
  body .story-layout,
  body .nd-tools__grid,
  body .nd-cases__grid,
  body .home-contact-bar {
    width: min(100% - 24px, var(--container)) !important;
    max-width: calc(100vw - 24px) !important;
  }

  body :is(.title, h2.title, .opening__title, .faq-classic-hero__copy h1, .lead-form__top h2, .modal-dialog h2, .nd-faq-classic__head h2) {
    font-size: clamp(29px, 7.25vw, 36px) !important;
    line-height: 1.06 !important;
  }

  body .founder-layout .title,
  body .split-intro .title,
  body .cta-grid .title,
  body .nd-final__grid .title,
  body .case-hero h1,
  body .case-title,
  body .story-card-neo h3 {
    font-size: clamp(28px, 7vw, 34px) !important;
  }

  body .process-mobile-modal__dialog h3 {
    max-width: calc(100vw - 86px) !important;
    font-size: clamp(31px, 7.8vw, 38px) !important;
  }

  body .process-mobile-modal__desc {
    font-size: 17px !important;
  }

  body .contact-card b,
  body .contact-card a {
    font-size: clamp(20px, 5.4vw, 26px) !important;
  }
}


/* v46: new brand symbol + polished wordmark and friendly form success message */
body .site-header .brand,
body .site-header.is-scrolled .brand,
body .brand--footer {
  display: inline-flex !important;
  align-items: center !important;
  gap: 11px !important;
  width: auto !important;
  max-width: 245px !important;
  min-width: 0 !important;
  color: var(--ink) !important;
  text-decoration: none !important;
}

body .site-header .brand-mark,
body .site-header.is-scrolled .brand-mark,
body .brand--footer .brand-mark {
  display: block !important;
  flex: 0 0 auto !important;
  width: 49px !important;
  height: 49px !important;
  object-fit: contain !important;
  filter: none !important;
}

body .brand-copy {
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
  line-height: 1 !important;
}

body .brand-copy strong {
  color: var(--ink) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: -.035em !important;
  white-space: nowrap !important;
}

body .brand-copy small {
  color: rgb(var(--ink-rgb) / .56) !important;
  font-size: 6.5px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .09em !important;
  white-space: nowrap !important;
}

body .footer-brand .brand--footer {
  margin-bottom: 18px !important;
}

body .footer-brand .brand--footer .brand-mark {
  width: 58px !important;
  height: 58px !important;
}

body .footer-brand .brand--footer .brand-copy strong {
  font-size: 20px !important;
}

body .form-status:not(:empty) {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  max-width: min(100%, 520px) !important;
  padding: 12px 15px !important;
  border: 1px solid rgb(var(--accent-rgb) / .22) !important;
  border-radius: 16px !important;
  background: rgb(var(--white-rgb) / .74) !important;
  box-shadow: 0 10px 28px rgb(var(--ink-rgb) / .06) !important;
  color: var(--ink-soft) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

body .form-status.is-success:not(:empty) {
  color: var(--ink) !important;
  border-color: rgb(var(--accent-rgb) / .34) !important;
  background: linear-gradient(135deg, rgb(var(--white-rgb) / .94), rgb(var(--accent-rgb) / .10)) !important;
}

body .form-status.is-success:not(:empty)::before {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  content: '✓' !important;
  color: var(--white) !important;
  background: var(--accent) !important;
  font-size: 13px !important;
  font-weight: 950 !important;
}

@media (max-width: 760px) {
  body .site-header .brand,
  body .site-header.is-scrolled .brand {
    gap: 8px !important;
    max-width: calc(100vw - 112px) !important;
  }

  body .site-header .brand-mark,
  body .site-header.is-scrolled .brand-mark {
    width: 42px !important;
    height: 42px !important;
  }

  body .site-header .brand-copy strong,
  body .site-header.is-scrolled .brand-copy strong {
    font-size: 16px !important;
  }

  body .site-header .brand-copy small,
  body .site-header.is-scrolled .brand-copy small {
    font-size: 5.5px !important;
    letter-spacing: .07em !important;
  }

  body .footer-brand .brand--footer .brand-mark {
    width: 52px !important;
    height: 52px !important;
  }

  body .form-status:not(:empty) {
    width: 100% !important;
    padding: 12px 13px !important;
    border-radius: 15px !important;
    font-size: 11.5px !important;
  }
}


/* v47: use the supplied complete logo as one image, with correct crop and sizing */
body .site-header .brand,
body .site-header.is-scrolled .brand,
body .brand--footer {
  display: block !important;
  flex: 0 0 auto !important;
  width: 164px !important;
  max-width: 164px !important;
  min-width: 0 !important;
  line-height: 0 !important;
  overflow: visible !important;
}

body .site-header .brand-mark,
body .site-header.is-scrolled .brand-mark,
body .brand--footer .brand-mark,
body .footer-brand img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  aspect-ratio: 316 / 102 !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: none !important;
}

body .brand-copy {
  display: none !important;
}

body .footer-brand .brand--footer {
  width: 184px !important;
  max-width: 184px !important;
  margin-bottom: 18px !important;
}

@media (max-width: 760px) {
  body .site-header .brand,
  body .site-header.is-scrolled .brand {
    width: 138px !important;
    max-width: 138px !important;
  }

  body .footer-brand .brand--footer {
    width: 168px !important;
    max-width: 168px !important;
  }
}

@media (max-width: 370px) {
  body .site-header .brand,
  body .site-header.is-scrolled .brand {
    width: 128px !important;
    max-width: 128px !important;
  }
}


/* v48: larger footer logo only */
@media (min-width: 761px) {
  body .footer-brand .brand--footer {
    width: 260px !important;
    max-width: 260px !important;
    margin-bottom: 22px !important;
  }
}

@media (max-width: 760px) {
  body .footer-brand .brand--footer {
    width: 195px !important;
    max-width: 195px !important;
  }
}


/* Founder card polish: larger photo + dedicated founder name field */
body .founder-upload--leader {
  max-width: 520px !important;
  min-height: auto !important;
  padding: 28px !important;
  gap: 18px !important;
  border: 1px dashed rgb(var(--accent-rgb) / .45) !important;
  border-radius: 34px !important;
  background: linear-gradient(180deg, rgb(var(--white-rgb) / .78), rgb(var(--white-rgb) / .56)) !important;
  box-shadow: 0 20px 50px rgb(var(--ink-rgb) / .08) !important;
}
body .founder-upload--leader .founder-upload__frame {
  width: min(100%, 370px) !important;
  margin: 0 auto !important;
  padding: 14px !important;
  border: 0 !important;
  border-radius: 30px !important;
  background: #f6f3ec !important;
  box-shadow: inset 0 0 0 1px rgb(var(--ink-rgb) / .06) !important;
}
body .founder-upload--leader .founder-upload__frame picture {
  display: block !important;
  width: 100% !important;
}
body .founder-upload--leader .founder-upload__frame img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  object-position: center top !important;
  border-radius: 24px !important;
  filter: none !important;
}
body .founder-upload--leader .founder-upload__caption {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 0 !important;
  text-align: left !important;
}
body .founder-upload--leader .founder-upload__caption b {
  color: var(--ink) !important;
}
body .founder-upload--leader .founder-upload__caption span {
  color: var(--ink-soft) !important;
  font-size: 11px !important;
}
body .founder-upload__person {
  display: grid !important;
  gap: 6px !important;
  padding: 16px 18px !important;
  border-radius: 22px !important;
  background: rgb(var(--white-rgb) / .82) !important;
  box-shadow: inset 0 0 0 1px rgb(var(--ink-rgb) / .08) !important;
}
body .founder-upload__person-label {
  color: var(--ink-soft) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}
body .founder-upload__person-name {
  color: var(--orange-dark) !important;
  font-size: clamp(24px, 2vw, 30px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
  font-weight: 500 !important;
}
@media (max-width: 900px) {
  body .founder-upload--leader {
    max-width: none !important;
    padding: 22px !important;
  }
  body .founder-upload--leader .founder-upload__frame {
    width: min(100%, 320px) !important;
  }
}
@media (max-width: 520px) {
  body .founder-upload--leader {
    padding: 18px !important;
    border-radius: 28px !important;
  }
  body .founder-upload--leader .founder-upload__frame {
    width: min(100%, 250px) !important;
    padding: 10px !important;
    border-radius: 24px !important;
  }
  body .founder-upload--leader .founder-upload__frame img {
    aspect-ratio: 4 / 5 !important;
    border-radius: 18px !important;
  }
  body .founder-upload--leader .founder-upload__caption {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
  }
  body .founder-upload__person {
    padding: 14px 16px !important;
  }
  body .founder-upload__person-name {
    font-size: 22px !important;
  }
}


/* Founder card final alignment */
body .founder-upload--leader .founder-upload__caption {
  display: none !important;
}
body .founder-upload--leader .founder-upload__person {
  width: min(100%, 360px) !important;
  margin-left: auto !important;
  text-align: right !important;
  justify-items: end !important;
}
body .founder-upload--leader .founder-upload__person-name {
  font-size: clamp(20px, 1.8vw, 28px) !important;
}
@media (max-width: 520px) {
  body .founder-upload--leader .founder-upload__person {
    width: 100% !important;
  }
}


/* ============================================================
   v58 — smooth colour transitions for the Company page
   Soft gradients + shallow organic waves between sections.
   ============================================================ */
body[data-page="О компании"] main {
  background: #f3ecdf;
}

body[data-page="О компании"] .opening--company {
  overflow: hidden !important;
}

/* Hero -> team facts */
body[data-page="О компании"] .opening--company::after {
  bottom: -1px !important;
  height: 126px !important;
  opacity: 1 !important;
  background:
    linear-gradient(180deg,
      rgb(248 244 236 / 0) 0%,
      rgb(248 244 236 / .42) 38%,
      #f8f4ec 100%) !important;
  clip-path: polygon(
    0 58%, 8% 52%, 17% 57%, 27% 48%, 38% 55%,
    50% 46%, 62% 56%, 74% 49%, 86% 57%, 94% 51%,
    100% 55%, 100% 100%, 0 100%
  ) !important;
  filter: none !important;
}

body[data-page="О компании"] .opening--company + .section.section--paper {
  position: relative;
  isolation: isolate;
  overflow: visible !important;
  background:
    radial-gradient(circle at 15% 8%, rgb(255 255 255 / .72), transparent 30%),
    linear-gradient(180deg, #f8f4ec 0%, #f5efe5 52%, #efe5d7 100%) !important;
}

/* Facts -> founder */
body[data-page="О компании"] .section--paper + .section--cream {
  position: relative;
  isolation: isolate;
  overflow: visible !important;
  background:
    radial-gradient(circle at 82% 18%, rgb(255 255 255 / .46), transparent 26%),
    linear-gradient(180deg, #efe5d7 0%, #f5eee4 48%, #eee1cf 100%) !important;
}

body[data-page="О компании"] .section--paper + .section--cream::before {
  content: '' !important;
  position: absolute !important;
  z-index: 1 !important;
  top: -76px !important;
  left: 0 !important;
  right: 0 !important;
  height: 122px !important;
  pointer-events: none !important;
  opacity: 1 !important;
  background:
    linear-gradient(180deg,
      rgb(239 229 215 / 0) 0%,
      rgb(242 234 222 / .68) 48%,
      #f5eee4 100%) !important;
  clip-path: polygon(
    0 48%, 10% 55%, 21% 47%, 33% 57%, 45% 49%,
    57% 58%, 69% 50%, 81% 57%, 91% 49%, 100% 55%,
    100% 100%, 0 100%
  ) !important;
  filter: blur(.15px) !important;
}

body[data-page="О компании"] .section--paper + .section--cream > .container {
  position: relative;
  z-index: 2;
}

/* Founder -> approach */
body[data-page="О компании"] .section--cream + .section--dark {
  position: relative;
  isolation: isolate;
  overflow: visible !important;
  background:
    radial-gradient(circle at 18% 12%, rgb(255 255 255 / .38), transparent 30%),
    linear-gradient(180deg, #eee1cf 0%, #e9dccb 46%, #f1e9de 100%) !important;
}

body[data-page="О компании"] .section--cream + .section--dark::before {
  content: '' !important;
  position: absolute !important;
  z-index: 1 !important;
  top: -82px !important;
  left: 0 !important;
  right: 0 !important;
  height: 132px !important;
  pointer-events: none !important;
  opacity: 1 !important;
  background:
    linear-gradient(180deg,
      rgb(238 225 207 / 0) 0%,
      rgb(235 222 204 / .72) 46%,
      #e9dccb 100%) !important;
  clip-path: polygon(
    0 54%, 9% 46%, 19% 55%, 30% 47%, 41% 58%,
    53% 49%, 65% 57%, 77% 46%, 89% 55%, 100% 48%,
    100% 100%, 0 100%
  ) !important;
  filter: blur(.15px) !important;
}

body[data-page="О компании"] .section--cream + .section--dark > .container {
  position: relative;
  z-index: 2;
}

/* Approach -> CTA: keep it seamless, only a very light tonal shift. */
body[data-page="О компании"] .section--dark + .cta {
  background:
    radial-gradient(circle at 84% 26%, rgb(255 255 255 / .32), transparent 28%),
    linear-gradient(180deg, #f1e9de 0%, #f5eee4 100%) !important;
}

/* Restore only these transitions after the older global reset. */
body[data-page="О компании"] .sand-transition::after {
  opacity: .18 !important;
  background-image:
    radial-gradient(circle at 17% 18%, rgb(255 255 255 / .26) 0 1px, transparent 1.4px),
    radial-gradient(circle at 64% 56%, rgb(255 255 255 / .18) 0 1px, transparent 1.5px) !important;
  background-size: 34px 34px, 49px 49px !important;
}

@media (max-width: 760px) {
  body[data-page="О компании"] .opening--company::after {
    height: 92px !important;
  }

  body[data-page="О компании"] .section--paper + .section--cream::before,
  body[data-page="О компании"] .section--cream + .section--dark::before {
    top: -54px !important;
    height: 88px !important;
  }
}


/* ============================================================
   v59 — compact premium footer logo
   Larger visually, less stretched horizontally, with a soft card.
   ============================================================ */
body .footer-brand .brand--footer {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 248px !important;
  max-width: 248px !important;
  min-height: 92px !important;
  margin: 0 0 22px !important;
  padding: 10px 22px !important;
  overflow: hidden !important;
  border: 1px solid rgb(var(--accent-rgb) / .20) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 18% 20%, rgb(var(--accent-rgb) / .12), transparent 34%),
    linear-gradient(145deg, rgb(var(--white-rgb) / .92), rgb(var(--white-rgb) / .58)) !important;
  box-shadow:
    0 16px 34px rgb(var(--ink-rgb) / .08),
    inset 0 1px 0 rgb(var(--white-rgb) / .92) !important;
}

body .footer-brand .brand--footer::before {
  content: '' !important;
  position: absolute !important;
  z-index: -1 !important;
  inset: auto 18px 0 18px !important;
  height: 3px !important;
  border-radius: 999px 999px 0 0 !important;
  background: linear-gradient(90deg, transparent, var(--accent), transparent) !important;
  opacity: .75 !important;
}

body .footer-brand .brand--footer::after {
  content: '' !important;
  position: absolute !important;
  z-index: -1 !important;
  top: -26px !important;
  right: -24px !important;
  width: 82px !important;
  height: 82px !important;
  border-radius: 50% !important;
  background: rgb(var(--accent-rgb) / .08) !important;
  filter: blur(2px) !important;
}

body .footer-brand .brand--footer .brand-mark,
body .footer-brand .brand--footer img {
  display: block !important;
  width: auto !important;
  height: 72px !important;
  max-width: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: scaleX(.84) !important;
  transform-origin: center center !important;
  filter: drop-shadow(0 5px 10px rgb(var(--ink-rgb) / .08)) !important;
}

body .footer-brand > p {
  max-width: 290px !important;
  margin-top: 0 !important;
}

@media (max-width: 760px) {
  body .footer-brand .brand--footer {
    width: 218px !important;
    max-width: 218px !important;
    min-height: 80px !important;
    padding: 9px 17px !important;
    border-radius: 19px !important;
  }

  body .footer-brand .brand--footer .brand-mark,
  body .footer-brand .brand--footer img {
    height: 61px !important;
    transform: scaleX(.84) !important;
  }
}

/* ============================================================
   v60 — desktop layout stability
   Keeps the desktop composition predictable on different PC
   resolutions, Windows scaling values and browser viewport sizes.
   Mobile/tablet rules at 900px and below are intentionally untouched.
   ============================================================ */
@media (min-width: 901px) {
  html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  body .container {
    width: min(1220px, calc(100vw - clamp(40px, 5vw, 64px))) !important;
    max-width: 1220px !important;
    min-width: 0 !important;
  }

  /* Header: allow every column to shrink without collisions. */
  body .header-inner {
    grid-template-columns: clamp(146px, 13vw, 178px) minmax(0, 1fr) auto !important;
    gap: clamp(10px, 1.35vw, 22px) !important;
    min-width: 0 !important;
  }

  body .site-header .brand,
  body .site-header .brand-mark {
    width: clamp(146px, 12.4vw, 168px) !important;
    min-width: 0 !important;
  }

  body .site-nav {
    min-width: 0 !important;
    gap: clamp(7px, .9vw, 15px) !important;
  }

  body .nav-link {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    font-size: clamp(9px, .72vw, 11px) !important;
    letter-spacing: clamp(.025em, .045vw, .07em) !important;
  }

  body .header-actions,
  body .header-cta {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  body .header-cta {
    min-height: 44px !important;
    padding-right: clamp(14px, 1.2vw, 18px) !important;
    padding-left: clamp(14px, 1.2vw, 18px) !important;
    font-size: clamp(10px, .74vw, 12px) !important;
  }

  /* Homepage hero: typography is now calculated for its own column. */
  body .nd-hero__grid {
    grid-template-columns: minmax(0, 1fr) clamp(360px, 30vw, 440px) !important;
    column-gap: clamp(24px, 2.2vw, 36px) !important;
    row-gap: clamp(30px, 3vw, 46px) !important;
    align-items: start !important;
  }

  body .nd-hero__copy {
    min-width: 0 !important;
    max-width: none !important;
    padding-right: 0 !important;
  }

  body .nd-hero__copy .display.hero-display {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(52px, 4.1vw, 59px) !important;
    line-height: .91 !important;
    letter-spacing: -.068em !important;
    text-wrap: unset !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body .hero-display__line,
  body .hero-display__line--1,
  body .hero-display__line--2,
  body .hero-display__line--3 {
    display: block !important;
    max-width: 100% !important;
    white-space: nowrap !important;
  }

  body .hero-display__line--3 {
    margin-top: .025em !important;
  }

  body .nd-hero__lead {
    max-width: 650px !important;
    margin-top: 20px !important;
    font-size: clamp(16px, 1.25vw, 19px) !important;
    line-height: 1.45 !important;
  }

  body .nd-hero__actions {
    margin-top: 28px !important;
  }

  body .nd-hero__context {
    margin-top: 19px !important;
  }

  body .nd-hero__caption {
    max-width: 560px !important;
    margin-top: 30px !important;
  }

  body .nd-hero__tip {
    width: min(100%, 440px) !important;
    max-width: 440px !important;
  }

  body .nd-hero__showcase {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
  }

  body .nd-hero__showcase .nd-hero__frame,
  body .nd-hero__showcase .nd-hero__count {
    width: 100% !important;
    max-width: 100% !important;
  }

  body .nd-hero__carousel {
    min-height: 0 !important;
    aspect-ratio: 1.14 / 1 !important;
  }

  body .nd-hero__metrics {
    grid-column: 1 / -1 !important;
    grid-template-columns: minmax(155px, .95fr) repeat(3, minmax(150px, 1fr)) auto !important;
    margin-top: 0 !important;
    min-width: 0 !important;
  }

  body .nd-hero__metrics > div,
  body .nd-hero__metrics strong,
  body .nd-hero__metrics span {
    min-width: 0 !important;
  }

  body .nd-hero__metrics strong {
    white-space: nowrap !important;
    font-size: clamp(27px, 2.15vw, 34px) !important;
  }

  body .nd-hero__metrics .nd-text-link {
    white-space: nowrap !important;
  }

  /* Company opening: preserve its two-line title without card overlap. */
  body .opening--company .opening__grid {
    grid-template-columns: minmax(0, 1fr) clamp(252px, 21vw, 286px) !important;
    gap: clamp(28px, 2.8vw, 44px) !important;
    align-items: start !important;
  }

  body .opening--company .opening__copy {
    min-width: 0 !important;
    max-width: none !important;
  }

  body .opening--company .opening__title.opening__title--two-line {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(48px, 3.6vw, 60px) !important;
    line-height: .93 !important;
    letter-spacing: -.062em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body .opening--company .opening__title.opening__title--two-line > span,
  body .opening--company .opening__title.opening__title--two-line > em {
    display: block !important;
    max-width: 100% !important;
    white-space: nowrap !important;
  }

  body .opening--company .opening__lead {
    max-width: 650px !important;
    font-size: clamp(15px, 1.1vw, 17px) !important;
    line-height: 1.55 !important;
  }

  body .opening--company .opening__metrics {
    width: 100% !important;
    max-width: 286px !important;
    min-width: 0 !important;
  }

  /* Generic desktop safety for cards and split layouts. */
  body :is(.opening__copy, .split-intro > *, .founder-layout > *, .cta-grid > *, .metrics > *, .nd-proof__grid > *) {
    min-width: 0 !important;
  }

  body :is(.metric b, .opening__metric b, .nd-proof__grid b) {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

/* Compact desktop / Windows scaling: retain the PC layout, but tighten it. */
@media (min-width: 901px) and (max-width: 1180px) {
  body .container {
    width: calc(100vw - 40px) !important;
  }

  body .header-inner {
    grid-template-columns: 142px minmax(0, 1fr) auto !important;
    gap: 9px !important;
    padding-right: 9px !important;
    padding-left: 14px !important;
  }

  body .site-header .brand,
  body .site-header .brand-mark {
    width: 142px !important;
  }

  body .site-nav {
    gap: 6px !important;
  }

  body .nav-link {
    font-size: 8.7px !important;
    letter-spacing: .018em !important;
  }

  body .header-cta {
    min-height: 42px !important;
    padding-right: 13px !important;
    padding-left: 13px !important;
    font-size: 9.5px !important;
  }

  body .nd-hero__grid {
    grid-template-columns: minmax(0, 1fr) clamp(330px, 32vw, 380px) !important;
    column-gap: 24px !important;
  }

  body .nd-hero__copy .display.hero-display {
    font-size: clamp(46px, 4.5vw, 52px) !important;
  }

  body .nd-hero__lead {
    font-size: 16px !important;
  }

  body .nd-hero__metrics {
    grid-template-columns: minmax(135px, .85fr) repeat(3, minmax(125px, 1fr)) auto !important;
    padding-right: 15px !important;
    padding-left: 15px !important;
  }

  body .nd-hero__metrics strong {
    font-size: 26px !important;
  }

  body .opening--company .opening__grid {
    grid-template-columns: minmax(0, 1fr) 252px !important;
    gap: 28px !important;
  }

  body .opening--company .opening__title.opening__title--two-line {
    font-size: clamp(44px, 4.15vw, 49px) !important;
  }

  body .opening--company .opening__metrics {
    max-width: 252px !important;
    padding: 18px 16px !important;
  }
}

/* v60.1 — keep the Company summary card vertical at laptop widths. */
@media (min-width: 901px) {
  body .opening--company .opening__metrics {
    display: block !important;
    align-self: start !important;
    height: auto !important;
    overflow: hidden !important;
  }

  body .opening--company .opening__metrics > p {
    display: block !important;
    margin: 0 0 12px !important;
  }

  body .opening--company .opening__metric,
  body .opening--company .opening__metric:first-of-type {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 14px 0 !important;
    border-top: 1px solid rgb(var(--ink-rgb) / .10) !important;
    border-left: 0 !important;
  }

  body .opening--company .opening__metric b,
  body .opening--company .opening__metric span {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body .opening--company .opening__metric b {
    font-size: clamp(25px, 2vw, 32px) !important;
  }

  body .opening--company .opening__link {
    display: inline-flex !important;
    grid-column: auto !important;
    width: auto !important;
    margin: 10px 0 0 !important;
    padding-top: 14px !important;
    white-space: nowrap !important;
  }
}

/* ================================================================
   v61 — polished contact directory
   A calmer, clearer 2×2 contact panel with useful icons, consistent
   card heights and protected phone/email lines on desktop and mobile.
   ================================================================ */
body[data-page="Контакты"] .contact-cards--directory {
  position: relative;
  isolation: isolate;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 32px !important;
  padding: 12px;
  border: 1px solid rgb(var(--ink-rgb) / .08);
  border-radius: 34px;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 0%, rgb(var(--accent-rgb) / .11), transparent 38%),
    linear-gradient(145deg, rgb(var(--white-rgb) / .74), rgb(var(--surface-tint-rgb) / .58));
  box-shadow:
    0 24px 55px rgb(var(--ink-rgb) / .08),
    inset 0 1px 0 rgb(var(--white-rgb) / .82);
}

body[data-page="Контакты"] .contact-cards--directory::before {
  position: absolute;
  z-index: -1;
  right: -70px;
  bottom: -90px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  content: '';
  background: radial-gradient(circle, rgb(var(--accent-gold-rgb) / .16), transparent 68%);
  pointer-events: none;
}

body[data-page="Контакты"] .contact-cards--directory .contact-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 164px;
  flex-direction: column;
  justify-content: space-between;
  padding: 19px 19px 17px;
  border: 1px solid rgb(var(--ink-rgb) / .085);
  border-radius: 24px;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgb(var(--white-rgb) / .96), rgb(var(--white-rgb) / .78));
  box-shadow:
    0 12px 28px rgb(var(--ink-rgb) / .055),
    inset 0 1px 0 rgb(var(--white-rgb) / .95);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

body[data-page="Контакты"] .contact-cards--directory .contact-card::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 58px;
  height: 58px;
  border-radius: 58px 0 0 0;
  content: '';
  background: linear-gradient(135deg, transparent 35%, rgb(var(--accent-rgb) / .055));
  pointer-events: none;
  transition: background .25s ease, width .25s ease, height .25s ease;
}

body[data-page="Контакты"] .contact-cards--directory .contact-card:hover {
  border-color: rgb(var(--accent-rgb) / .25);
  box-shadow:
    0 20px 38px rgb(var(--ink-rgb) / .09),
    inset 0 1px 0 rgb(var(--white-rgb) / .98);
}

body[data-page="Контакты"] .contact-cards--directory .contact-card:hover::after {
  width: 76px;
  height: 76px;
  background: linear-gradient(135deg, transparent 28%, rgb(var(--accent-rgb) / .095));
}

body[data-page="Контакты"] .contact-card__top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

body[data-page="Контакты"] .contact-card .contact-card__label {
  display: block;
  margin: 0;
  color: rgb(var(--ink-rgb) / .58);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.15;
  text-transform: uppercase;
}

body[data-page="Контакты"] .contact-card .contact-card__icon {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  margin: 0;
  place-items: center;
  border: 1px solid rgb(var(--accent-rgb) / .18);
  border-radius: 12px;
  color: var(--accent);
  background: rgb(var(--accent-rgb) / .08);
  box-shadow: inset 0 1px 0 rgb(var(--white-rgb) / .7);
  transition: color .25s ease, background .25s ease, transform .25s ease;
}

body[data-page="Контакты"] .contact-card .contact-card__icon svg {
  width: 17px;
  height: 17px;
}

body[data-page="Контакты"] .contact-card:hover .contact-card__icon {
  color: var(--white);
  background: var(--accent);
  transform: translateY(-2px) rotate(-3deg);
}

body[data-page="Контакты"] .contact-card .contact-card__value {
  position: relative;
  z-index: 1;
  display: flex !important;
  min-width: 0;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  margin: 17px 0 0;
  color: var(--ink);
}

body[data-page="Контакты"] .contact-card .contact-card__value b {
  display: block;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  color: var(--ink);
  font-size: clamp(16px, 1.18vw, 19px);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.22;
  text-wrap: pretty;
}

body[data-page="Контакты"] .contact-card--phone .contact-card__value b,
body[data-page="Контакты"] .contact-card--email .contact-card__value b {
  font-size: clamp(15px, 1.08vw, 18px);
  white-space: nowrap;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body[data-page="Контакты"] .contact-card--format .contact-card__value b {
  font-size: clamp(15px, 1.02vw, 17px);
  line-height: 1.25;
}

body[data-page="Контакты"] .contact-card .contact-card__arrow {
  display: grid;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  margin: 0 0 1px;
  place-items: center;
  border-radius: 50%;
  color: var(--accent);
  background: rgb(var(--accent-rgb) / .09);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  transition: color .25s ease, background .25s ease, transform .25s ease;
}

body[data-page="Контакты"] .contact-card__value--link:hover .contact-card__arrow {
  color: var(--white);
  background: var(--accent);
  transform: translate(2px, -2px);
}

body[data-page="Контакты"] .contact-card .contact-card__hint {
  position: relative;
  z-index: 1;
  max-width: calc(100% - 24px);
  margin: 10px 0 0;
  color: rgb(var(--ink-rgb) / .48);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .015em;
  line-height: 1.3;
}

@media (max-width: 1120px) {
  body[data-page="Контакты"] .contact-cards--directory .contact-card {
    min-height: 150px;
  }
  body[data-page="Контакты"] .contact-card .contact-card__value b {
    font-size: 18px;
  }
  body[data-page="Контакты"] .contact-card--phone .contact-card__value b,
  body[data-page="Контакты"] .contact-card--email .contact-card__value b {
    font-size: 18px;
  }
}

@media (max-width: 760px) {
  body[data-page="Контакты"] .contact-cards--directory {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 10px;
    border-radius: 28px;
  }
  body[data-page="Контакты"] .contact-cards--directory .contact-card {
    min-height: 138px;
    padding: 18px !important;
    border-radius: 21px !important;
  }
  body[data-page="Контакты"] .contact-card .contact-card__value b,
  body[data-page="Контакты"] .contact-card--phone .contact-card__value b,
  body[data-page="Контакты"] .contact-card--email .contact-card__value b,
  body[data-page="Контакты"] .contact-card--format .contact-card__value b {
    font-size: clamp(18px, 5.15vw, 23px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.025em !important;
  }
  body[data-page="Контакты"] .contact-card--phone .contact-card__value b,
  body[data-page="Контакты"] .contact-card--email .contact-card__value b {
    white-space: normal;
    overflow-wrap: anywhere !important;
  }
  body[data-page="Контакты"] .contact-card .contact-card__hint {
    font-size: 11px;
  }
}

@media (max-width: 380px) {
  body[data-page="Контакты"] .contact-card .contact-card__value b,
  body[data-page="Контакты"] .contact-card--phone .contact-card__value b,
  body[data-page="Контакты"] .contact-card--email .contact-card__value b,
  body[data-page="Контакты"] .contact-card--format .contact-card__value b {
    font-size: 18px !important;
  }
}

/* v61.1 — compact final tuning after visual QA */
body[data-page="Контакты"] .contact-cards--directory .contact-card__value--link {
  display: block !important;
}
body[data-page="Контакты"] .contact-cards--directory .contact-card__hint {
  display: none;
}
body[data-page="Контакты"] .contact-cards--directory .contact-card--phone .contact-card__value b,
body[data-page="Контакты"] .contact-cards--directory .contact-card--email .contact-card__value b {
  font-size: clamp(15px, 1.05vw, 17px);
}
body[data-page="Контакты"] .contact-cards--directory .contact-card--hours .contact-card__value b {
  font-size: clamp(15px, 1.02vw, 16px);
}
body[data-page="Контакты"] .contact-cards--directory .contact-card--format .contact-card__value b {
  font-size: clamp(14px, .98vw, 15.5px);
  line-height: 1.22;
}
body[data-page="Контакты"] .contact-cards--directory .contact-card {
  min-height: 128px;
}
body[data-page="Контакты"] .contact-cards--directory .contact-card--hours,
body[data-page="Контакты"] .contact-cards--directory .contact-card--format {
  min-height: 154px;
}
@media (max-width: 1120px) {
  body[data-page="Контакты"] .contact-cards--directory .contact-card {
    min-height: 128px;
  }
  body[data-page="Контакты"] .contact-cards--directory .contact-card--hours,
  body[data-page="Контакты"] .contact-cards--directory .contact-card--format {
    min-height: 148px;
  }
}
@media (max-width: 760px) {
  body[data-page="Контакты"] .contact-cards--directory .contact-card,
  body[data-page="Контакты"] .contact-cards--directory .contact-card--hours,
  body[data-page="Контакты"] .contact-cards--directory .contact-card--format {
    min-height: 118px;
  }
  body[data-page="Контакты"] .contact-cards--directory .contact-card--phone .contact-card__value b,
  body[data-page="Контакты"] .contact-cards--directory .contact-card--email .contact-card__value b,
  body[data-page="Контакты"] .contact-cards--directory .contact-card--hours .contact-card__value b,
  body[data-page="Контакты"] .contact-cards--directory .contact-card--format .contact-card__value b {
    font-size: clamp(18px, 5vw, 22px) !important;
  }
}

/* contact cards improvements */
body[data-page="Контакты"] .contact-card__value--link b{font-size:15px;line-height:1.25;overflow-wrap:anywhere;}
body[data-page="Контакты"] .contact-card__value{overflow-wrap:anywhere;}
.email-choice-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:9999;align-items:center;justify-content:center;padding:20px;}
.email-choice-modal.active{display:flex;}
.email-choice-modal__box{background:#fff;border-radius:24px;padding:28px;max-width:360px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.2);text-align:center;}
.email-choice-modal__box h3{margin:0 0 20px;}
.email-choice-modal__box a,.email-choice-close{display:block;width:100%;margin:10px 0;padding:14px;border-radius:16px;border:1px solid #eee;background:#fafafa;color:#111;text-decoration:none;font-weight:700;}
.email-choice-modal__box span{font-size:12px;opacity:.7;}
.email-choice-close{cursor:pointer;}

/* ================================================================
   v62.1 — contact text fit without changing the card layout
   Phone and both email addresses scale to the actual card width,
   so the existing 2×2 composition stays untouched on desktop.
   ================================================================ */
body[data-page="Контакты"] .contact-cards--directory .contact-card {
  container-type: inline-size;
}

body[data-page="Контакты"] .contact-cards--directory .contact-card__value,
body[data-page="Контакты"] .contact-cards--directory .contact-card__value--link,
body[data-page="Контакты"] .contact-cards--directory .contact-card__value b {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

@media (min-width: 761px) {
  body[data-page="Контакты"] .contact-cards--directory .contact-card--phone .contact-card__value b {
    font-size: 15px !important;
    line-height: 1.22 !important;
    letter-spacing: -.035em !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body[data-page="Контакты"] .contact-cards--directory .contact-card--email .contact-card__value b {
    font-size: 13px !important;
    line-height: 1.3 !important;
    letter-spacing: -.035em !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  @container (max-width: 220px) {
    body[data-page="Контакты"] .contact-cards--directory .contact-card--phone .contact-card__value b {
      font-size: 12.5px !important;
    }

    body[data-page="Контакты"] .contact-cards--directory .contact-card--email .contact-card__value b {
      width: 121% !important;
      max-width: none !important;
      font-size: 11px !important;
      transform: scaleX(.825);
      transform-origin: left center;
    }
  }
}

/* ============================================================
   v64 — premium unified footer
   Dark architectural footer with a clear CTA, strong brand block,
   structured navigation and complete contact information.
   ============================================================ */
body .site-footer.site-footer--premium {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 0 !important;
  color: #fff !important;
  background:
    linear-gradient(135deg, #0b151d 0%, #101f2a 52%, #0b171f 100%) !important;
}

body .site-footer--premium::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  content: '';
  opacity: .36;
  background-image:
    linear-gradient(rgb(255 255 255 / .035) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / .035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, #000, transparent 82%);
  pointer-events: none;
}

body .site-footer--premium::after {
  position: absolute;
  z-index: -1;
  top: -280px;
  right: -190px;
  width: 620px;
  height: 620px;
  border: 1px solid rgb(var(--accent-rgb) / .18);
  border-radius: 50%;
  content: '';
  box-shadow:
    0 0 0 74px rgb(var(--accent-rgb) / .03),
    0 0 0 148px rgb(var(--accent-rgb) / .018);
  pointer-events: none;
}

body .site-footer--premium .footer-ambient {
  position: absolute;
  z-index: -1;
  border-radius: 50%;
  filter: blur(2px);
  pointer-events: none;
}

body .site-footer--premium .footer-ambient--one {
  top: 18%;
  left: -170px;
  width: 390px;
  height: 390px;
  background: radial-gradient(circle, rgb(var(--accent-rgb) / .13), transparent 68%);
}

body .site-footer--premium .footer-ambient--two {
  right: 14%;
  bottom: -210px;
  width: 430px;
  height: 430px;
  background: radial-gradient(circle, rgb(var(--accent-gold-rgb) / .08), transparent 70%);
}

body .site-footer--premium .footer-shell {
  position: relative;
  z-index: 2;
  padding-top: 34px;
  padding-bottom: 24px;
}

body .site-footer--premium .footer-cta {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  min-height: 190px;
  padding: clamp(28px, 4vw, 48px);
  overflow: hidden;
  border: 1px solid rgb(var(--accent-rgb) / .28);
  border-radius: 30px;
  color: var(--ink);
  background:
    radial-gradient(circle at 88% 4%, rgb(var(--accent-rgb) / .15), transparent 28%),
    linear-gradient(135deg, #fffaf1 0%, #f3eadb 100%);
  box-shadow: 0 24px 70px rgb(0 0 0 / .22), inset 0 1px 0 rgb(255 255 255 / .92);
}

body .site-footer--premium .footer-cta::before {
  position: absolute;
  top: -94px;
  right: 10%;
  width: 210px;
  height: 210px;
  border: 1px solid rgb(var(--accent-rgb) / .16);
  border-radius: 50%;
  content: '';
  box-shadow: 0 0 0 42px rgb(var(--accent-rgb) / .035);
}

body .site-footer--premium .footer-cta__copy {
  position: relative;
  z-index: 1;
  max-width: 720px;
}

body .site-footer--premium .footer-cta__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 15px;
  color: var(--accent-strong) !important;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
}

body .site-footer--premium .footer-cta__eyebrow span {
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

body .site-footer--premium .footer-cta h2 {
  max-width: 700px;
  margin: 0;
  color: var(--ink) !important;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(36px, 4vw, 58px);
  font-weight: 550;
  letter-spacing: -.052em;
  line-height: .96;
}

body .site-footer--premium .footer-cta h2 em {
  color: var(--accent-strong) !important;
  font-style: italic;
}

body .site-footer--premium .footer-cta__copy > p:last-child {
  max-width: 600px;
  margin: 17px 0 0;
  color: var(--ink-soft) !important;
  font-size: 13px;
  line-height: 1.65;
}

body .site-footer--premium .footer-cta__button {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  min-width: 224px;
  min-height: 58px;
  padding-inline: 26px;
  color: #fff !important;
  border-color: rgb(var(--accent-rgb) / .34) !important;
  background: linear-gradient(135deg, var(--accent-strong), var(--accent)) !important;
  box-shadow: 0 16px 30px rgb(var(--accent-rgb) / .23);
}

body .site-footer--premium .footer-cta__button:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #d84f00, var(--accent-strong)) !important;
  box-shadow: 0 20px 34px rgb(var(--accent-rgb) / .31);
}

body .site-footer--premium .footer-main--premium {
  display: grid !important;
  grid-template-columns: minmax(280px, 1.15fr) minmax(190px, .72fr) minmax(310px, 1fr) !important;
  gap: clamp(40px, 7vw, 96px) !important;
  padding: 64px 0 52px !important;
}

body .site-footer--premium .footer-brand--premium {
  min-width: 0;
}

body .site-footer--premium .footer-brand .brand--footer {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 270px !important;
  max-width: 100% !important;
  min-height: 106px !important;
  margin: 0 0 24px !important;
  padding: 14px 24px !important;
  overflow: hidden !important;
  border: 1px solid rgb(var(--accent-gold-rgb) / .24) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at 18% 16%, rgb(var(--accent-rgb) / .12), transparent 38%),
    linear-gradient(145deg, rgb(255 255 255 / .97), rgb(247 243 234 / .88)) !important;
  box-shadow: 0 20px 46px rgb(0 0 0 / .2), inset 0 1px 0 rgb(255 255 255 / .96) !important;
}

body .site-footer--premium .footer-brand .brand--footer::before {
  position: absolute !important;
  right: 24px !important;
  bottom: 0 !important;
  left: 24px !important;
  height: 3px !important;
  border-radius: 999px 999px 0 0 !important;
  content: '' !important;
  background: linear-gradient(90deg, transparent, var(--accent), transparent) !important;
  opacity: .9 !important;
}

body .site-footer--premium .footer-brand .brand--footer::after {
  display: none !important;
}

body .site-footer--premium .footer-brand .brand--footer .brand-mark,
body .site-footer--premium .footer-brand .brand--footer img {
  display: block !important;
  width: 232px !important;
  height: auto !important;
  max-width: 100% !important;
  aspect-ratio: 316 / 102 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
  filter: drop-shadow(0 5px 9px rgb(var(--ink-rgb) / .08)) !important;
}

body .site-footer--premium .footer-brand--premium > p {
  max-width: 330px !important;
  margin: 0 !important;
  color: rgb(255 255 255 / .58) !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}

body .site-footer--premium .footer-status {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 2px 9px;
  align-items: center;
  margin-top: 22px;
  padding: 11px 14px;
  border: 1px solid rgb(255 255 255 / .1);
  border-radius: 14px;
  color: #fff;
  background: rgb(255 255 255 / .045);
}

body .site-footer--premium .footer-status > span {
  grid-row: 1 / 3;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #60d394;
  box-shadow: 0 0 0 5px rgb(96 211 148 / .1);
}

body .site-footer--premium .footer-status b {
  color: rgb(255 255 255 / .86);
  font-size: 10px;
  line-height: 1.2;
}

body .site-footer--premium .footer-status small {
  color: rgb(255 255 255 / .48);
  font-size: 9px;
  line-height: 1.2;
}

body .site-footer--premium .footer-column {
  min-width: 0;
}

body .site-footer--premium .footer-label {
  margin: 4px 0 22px !important;
  color: var(--accent-gold) !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

body .site-footer--premium .footer-nav {
  display: grid !important;
  gap: 0 !important;
}

body .site-footer--premium .footer-nav a {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 39px;
  padding: 7px 0;
  border-bottom: 1px solid rgb(255 255 255 / .075);
  color: rgb(255 255 255 / .78) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  transition: color .2s ease, padding-left .2s ease, border-color .2s ease;
}

body .site-footer--premium .footer-nav a span {
  color: rgb(var(--accent-gold-rgb) / .6);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 13px;
  font-weight: 700;
}

body .site-footer--premium .footer-nav a:hover {
  padding-left: 5px;
  border-color: rgb(var(--accent-rgb) / .44);
  color: #fff !important;
}

body .site-footer--premium .footer-contact--premium {
  display: grid !important;
  gap: 0 !important;
}

body .site-footer--premium .footer-contact__item {
  position: relative;
  display: grid;
  gap: 7px;
  padding: 0 0 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgb(255 255 255 / .085);
}

body .site-footer--premium .footer-contact__caption {
  color: rgb(255 255 255 / .4);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}

body .site-footer--premium .footer-contact__value,
body .site-footer--premium .footer-contact__value span {
  color: rgb(255 255 255 / .88) !important;
  font-size: clamp(13px, 1.2vw, 16px) !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
}

body .site-footer--premium .footer-contact__value:hover,
body .site-footer--premium .footer-contact__value:hover span {
  color: var(--accent-gold) !important;
}

body .site-footer--premium .footer-address {
  max-width: 300px;
}

body .site-footer--premium .footer-email-choice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-height: 48px;
  padding: 0 14px 0 16px;
  border: 1px solid rgb(255 255 255 / .12);
  border-radius: 14px;
  color: #fff;
  background: rgb(255 255 255 / .055);
  font-size: 12px;
  font-weight: 800;
  transition: border-color .2s ease, background .2s ease;
}

body .site-footer--premium .footer-email-choice:hover,
body .site-footer--premium .footer-contact__item--email.is-open .footer-email-choice {
  border-color: rgb(var(--accent-rgb) / .5);
  background: rgb(var(--accent-rgb) / .1);
}

body .site-footer--premium .footer-email-choice svg {
  width: 16px;
  height: 16px;
  transition: transform .2s ease;
}

body .site-footer--premium .footer-contact__item--email.is-open .footer-email-choice svg {
  transform: rotate(180deg);
}

body .site-footer--premium .footer-email-menu {
  position: absolute;
  z-index: 30;
  top: calc(100% - 12px);
  right: 0;
  left: 0;
  display: grid;
  gap: 7px;
  padding: 8px;
  border: 1px solid rgb(255 255 255 / .13);
  border-radius: 16px;
  visibility: hidden;
  opacity: 0;
  background: #142630;
  box-shadow: 0 22px 48px rgb(0 0 0 / .36);
  transform: translateY(-6px);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}

body .site-footer--premium .footer-contact__item--email.is-open .footer-email-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

body .site-footer--premium .footer-email-menu a {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 11px 12px;
  border-radius: 11px;
  color: #fff !important;
  background: rgb(255 255 255 / .055);
  transition: background .2s ease, transform .2s ease;
}

body .site-footer--premium .footer-email-menu a:hover {
  color: #fff !important;
  background: rgb(var(--accent-rgb) / .16);
  transform: translateY(-1px);
}

body .site-footer--premium .footer-email-menu b {
  font-size: 11px;
}

body .site-footer--premium .footer-email-menu small {
  overflow-wrap: anywhere;
  color: rgb(255 255 255 / .55);
  font-size: 9px;
}

body .site-footer--premium .footer-wordmark {
  overflow: hidden;
  margin: 0;
  color: transparent;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(74px, 11.4vw, 168px);
  font-weight: 600;
  letter-spacing: -.075em;
  line-height: .72;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  -webkit-text-stroke: 1px rgb(255 255 255 / .075);
  user-select: none;
}

body .site-footer--premium .footer-bottom--premium {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 24px 0 0 !important;
  margin-top: 28px;
  border-top: 1px solid rgb(255 255 255 / .1) !important;
  color: rgb(255 255 255 / .42) !important;
  font-size: 9px !important;
  line-height: 1.4;
}

body .site-footer--premium .footer-bottom--premium > span:last-child {
  text-align: right;
}

body .site-footer--premium .footer-bottom__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 20px;
}

body .site-footer--premium .footer-bottom__links a {
  color: rgb(255 255 255 / .52) !important;
}

body .site-footer--premium .footer-bottom__links a:hover {
  color: var(--accent-gold) !important;
}

@media (max-width: 1000px) {
  body .site-footer--premium .footer-main--premium {
    grid-template-columns: minmax(250px, 1fr) minmax(180px, .7fr) !important;
    gap: 48px 64px !important;
  }

  body .site-footer--premium .footer-column--contacts {
    grid-column: 1 / -1;
  }

  body .site-footer--premium .footer-contact--premium {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 18px !important;
  }

  body .site-footer--premium .footer-contact__item {
    margin: 0;
    padding: 18px;
    border: 1px solid rgb(255 255 255 / .1);
    border-radius: 18px;
    background: rgb(255 255 255 / .035);
  }

  body .site-footer--premium .footer-email-menu {
    top: calc(100% + 8px);
  }
}

@media (max-width: 760px) {
  body .site-footer.site-footer--premium {
    padding-bottom: 78px !important;
  }

  body .site-footer--premium .footer-shell {
    padding-top: 20px;
    padding-bottom: 18px;
  }

  body .site-footer--premium .footer-cta {
    grid-template-columns: 1fr;
    gap: 24px;
    min-height: 0;
    padding: 27px 22px 23px;
    border-radius: 24px;
  }

  body .site-footer--premium .footer-cta h2 {
    font-size: clamp(34px, 11vw, 46px);
  }

  body .site-footer--premium .footer-cta__button {
    width: 100%;
    min-width: 0;
  }

  body .site-footer--premium .footer-main--premium {
    grid-template-columns: 1fr !important;
    gap: 38px !important;
    padding: 46px 0 38px !important;
  }

  body .site-footer--premium .footer-brand .brand--footer {
    width: 242px !important;
    min-height: 94px !important;
    margin-bottom: 21px !important;
    padding: 12px 20px !important;
    border-radius: 21px !important;
  }

  body .site-footer--premium .footer-brand .brand--footer .brand-mark,
  body .site-footer--premium .footer-brand .brand--footer img {
    width: 208px !important;
    height: auto !important;
    transform: none !important;
  }

  body .site-footer--premium .footer-nav {
    grid-template-columns: 1fr 1fr !important;
    column-gap: 18px !important;
  }

  body .site-footer--premium .footer-contact--premium {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body .site-footer--premium .footer-contact__item {
    padding: 17px;
    border-radius: 17px;
  }

  body .site-footer--premium .footer-email-menu {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    max-height: 0;
    margin-top: 0;
    padding-block: 0;
    overflow: hidden;
    border-width: 0;
    visibility: visible;
    opacity: 1;
    transform: none;
    transition: max-height .25s ease, margin-top .25s ease, padding .25s ease, border-width .25s ease;
  }

  body .site-footer--premium .footer-contact__item--email.is-open .footer-email-menu {
    max-height: 160px;
    margin-top: 8px;
    padding: 8px;
    border-width: 1px;
  }

  body .site-footer--premium .footer-wordmark {
    font-size: clamp(52px, 17vw, 78px);
    line-height: .8;
    -webkit-text-stroke-color: rgb(255 255 255 / .09);
  }

  body .site-footer--premium .footer-bottom--premium {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: start !important;
    padding-top: 20px !important;
    margin-top: 22px;
  }

  body .site-footer--premium .footer-bottom__links {
    justify-content: flex-start;
  }

  body .site-footer--premium .footer-bottom--premium > span:last-child {
    text-align: left;
  }
}

@media (max-width: 380px) {
  body .site-footer--premium .footer-nav {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  body .site-footer--premium .footer-wordmark {
    font-size: clamp(46px, 13.6vw, 58px);
    letter-spacing: -.065em;
  }
}

/* ============================================================
   v65 — light footer + responsive opening cards
   - Converts the premium footer to a warm, light palette.
   - Keeps “Коротко о главном” cards vertical at every viewport.
   - Prevents laptop/tablet widths from compressing card content.
   ============================================================ */

/* Shared safety: grid/flex children may shrink without pushing into neighbours. */
body :is(
  .opening__grid,
  .opening__copy,
  .opening__metrics,
  .nd-hero__grid,
  .nd-hero__copy,
  .nd-hero__showcase,
  .nd-hero__metrics,
  .split-intro,
  .cta-grid,
  .footer-main--premium,
  .footer-column,
  .footer-contact__item
) {
  min-width: 0 !important;
}

/* Summary cards without a photo column: reserve a real card column on desktop. */
@media (min-width: 1081px) {
  body :is(
    .opening--company,
    .opening--investors,
    .opening--management,
    .opening--contacts,
    .opening--calculator
  ) .opening__grid {
    grid-template-columns: minmax(0, 1fr) 340px !important;
    gap: clamp(30px, 3.2vw, 48px) !important;
    align-items: start !important;
  }

  body :is(
    .opening--company,
    .opening--investors,
    .opening--management,
    .opening--contacts,
    .opening--calculator
  ) .opening__metrics {
    justify-self: end !important;
    align-self: center !important;
  }
}

/* At compact laptop/tablet widths, stack cleanly instead of squeezing columns. */
@media (min-width: 761px) and (max-width: 1080px) {
  body :is(
    .opening--company,
    .opening--investors,
    .opening--management,
    .opening--contacts,
    .opening--calculator
  ) .opening__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px !important;
    align-items: start !important;
  }

  body :is(
    .opening--company,
    .opening--investors,
    .opening--management,
    .opening--contacts,
    .opening--calculator
  ) .opening__metrics {
    justify-self: center !important;
    align-self: start !important;
    margin-top: 0 !important;
  }
}

/* Exact stable construction of the “Коротко о главном” card. */
body :is(
  .opening--company,
  .opening--investors,
  .opening--management,
  .opening--contacts,
  .opening--calculator
) .opening__metrics {
  display: block !important;
  width: min(100%, 340px) !important;
  max-width: 340px !important;
  height: auto !important;
  padding: 18px 18px 16px !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

body :is(
  .opening--company,
  .opening--investors,
  .opening--management,
  .opening--contacts,
  .opening--calculator
) .opening__metrics > p {
  display: block !important;
  grid-column: auto !important;
  margin: 0 0 10px !important;
}

body :is(
  .opening--company,
  .opening--investors,
  .opening--management,
  .opening--contacts,
  .opening--calculator
) .opening__metric,
body :is(
  .opening--company,
  .opening--investors,
  .opening--management,
  .opening--contacts,
  .opening--calculator
) .opening__metric:first-of-type {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  padding: 11px 0 !important;
  border-top: 1px solid rgb(var(--ink-rgb) / .10) !important;
  border-left: 0 !important;
}

body :is(
  .opening--company,
  .opening--investors,
  .opening--management,
  .opening--contacts,
  .opening--calculator
) .opening__metric b {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: var(--ink) !important;
  font-size: 23px !important;
  line-height: 1 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

body :is(
  .opening--company,
  .opening--investors,
  .opening--management,
  .opening--contacts,
  .opening--calculator
) .opening__metric span {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  color: rgb(var(--ink-rgb) / .68) !important;
  font-size: 10px !important;
  line-height: 1.38 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body :is(
  .opening--company,
  .opening--investors,
  .opening--management,
  .opening--contacts,
  .opening--calculator
) .opening__link {
  display: inline-flex !important;
  grid-column: auto !important;
  width: auto !important;
  margin: 10px 0 0 !important;
  padding-top: 12px !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  body :is(
    .opening--company,
    .opening--investors,
    .opening--management,
    .opening--contacts,
    .opening--calculator
  ) .opening__metrics {
    justify-self: center !important;
    width: min(100%, 340px) !important;
    max-width: 340px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* -------------------- Light premium footer -------------------- */
body .site-footer.site-footer--premium {
  color: var(--ink) !important;
  background:
    radial-gradient(circle at 11% 12%, rgb(var(--accent-rgb) / .11), transparent 29%),
    radial-gradient(circle at 88% 78%, rgb(var(--accent-gold-rgb) / .14), transparent 31%),
    linear-gradient(145deg, #fbf8f2 0%, #f4ede2 55%, #eee5d8 100%) !important;
}

body .site-footer--premium::before {
  opacity: .52 !important;
  background-image:
    linear-gradient(rgb(var(--ink-rgb) / .045) 1px, transparent 1px),
    linear-gradient(90deg, rgb(var(--ink-rgb) / .045) 1px, transparent 1px) !important;
  mask-image: linear-gradient(to bottom, #000 0%, rgb(0 0 0 / .72) 58%, transparent 94%) !important;
}

body .site-footer--premium::after {
  border-color: rgb(var(--accent-rgb) / .16) !important;
  box-shadow:
    0 0 0 74px rgb(var(--accent-rgb) / .035),
    0 0 0 148px rgb(var(--accent-rgb) / .022) !important;
}

body .site-footer--premium .footer-ambient--one {
  background: radial-gradient(circle, rgb(var(--accent-rgb) / .15), transparent 68%) !important;
}

body .site-footer--premium .footer-ambient--two {
  background: radial-gradient(circle, rgb(var(--accent-gold-rgb) / .16), transparent 70%) !important;
}

body .site-footer--premium .footer-cta {
  border-color: rgb(var(--accent-rgb) / .20) !important;
  color: var(--ink) !important;
  background:
    radial-gradient(circle at 88% 4%, rgb(var(--accent-rgb) / .12), transparent 29%),
    linear-gradient(135deg, rgb(var(--white-rgb) / .98), #f8f0e5 100%) !important;
  box-shadow:
    0 24px 60px rgb(var(--ink-rgb) / .10),
    inset 0 1px 0 rgb(var(--white-rgb) / .96) !important;
}

body .site-footer--premium .footer-main--premium {
  border-bottom: 0 !important;
}

body .site-footer--premium .footer-brand .brand--footer {
  border-color: rgb(var(--ink-rgb) / .09) !important;
  background:
    radial-gradient(circle at 18% 16%, rgb(var(--accent-rgb) / .10), transparent 38%),
    linear-gradient(145deg, #fff, #f8f3eb) !important;
  box-shadow:
    0 18px 42px rgb(var(--ink-rgb) / .10),
    inset 0 1px 0 #fff !important;
}

body .site-footer--premium .footer-brand--premium > p {
  color: rgb(var(--ink-rgb) / .67) !important;
}

body .site-footer--premium .footer-status {
  border-color: rgb(var(--ink-rgb) / .10) !important;
  color: var(--ink) !important;
  background: rgb(var(--white-rgb) / .70) !important;
  box-shadow: 0 10px 24px rgb(var(--ink-rgb) / .055) !important;
}

body .site-footer--premium .footer-status > span {
  box-shadow: 0 0 0 5px rgb(61 176 114 / .12) !important;
}

body .site-footer--premium .footer-status b {
  color: rgb(var(--ink-rgb) / .86) !important;
}

body .site-footer--premium .footer-status small {
  color: rgb(var(--ink-rgb) / .56) !important;
}

body .site-footer--premium .footer-label {
  color: var(--accent-strong) !important;
}

body .site-footer--premium .footer-nav a {
  border-bottom-color: rgb(var(--ink-rgb) / .09) !important;
  color: rgb(var(--ink-rgb) / .76) !important;
}

body .site-footer--premium .footer-nav a span {
  color: rgb(var(--accent-rgb) / .68) !important;
}

body .site-footer--premium .footer-nav a:hover {
  border-color: rgb(var(--accent-rgb) / .34) !important;
  color: var(--accent-strong) !important;
}

body .site-footer--premium .footer-contact__item {
  border-color: rgb(var(--ink-rgb) / .09) !important;
  background: transparent !important;
}

body .site-footer--premium .footer-contact__caption {
  color: rgb(var(--ink-rgb) / .48) !important;
}

body .site-footer--premium .footer-contact__value,
body .site-footer--premium .footer-contact__value span {
  color: rgb(var(--ink-rgb) / .86) !important;
}

body .site-footer--premium .footer-contact__value:hover,
body .site-footer--premium .footer-contact__value:hover span {
  color: var(--accent-strong) !important;
}

body .site-footer--premium .footer-email-choice {
  border-color: rgb(var(--ink-rgb) / .12) !important;
  color: var(--ink) !important;
  background: rgb(var(--white-rgb) / .72) !important;
  box-shadow: 0 9px 20px rgb(var(--ink-rgb) / .045) !important;
}

body .site-footer--premium .footer-email-choice:hover,
body .site-footer--premium .footer-contact__item--email.is-open .footer-email-choice {
  border-color: rgb(var(--accent-rgb) / .42) !important;
  color: var(--accent-strong) !important;
  background: rgb(var(--white-rgb) / .96) !important;
}

body .site-footer--premium .footer-email-menu {
  border-color: rgb(var(--ink-rgb) / .11) !important;
  background: #fffaf3 !important;
  box-shadow: 0 22px 46px rgb(var(--ink-rgb) / .15) !important;
}

body .site-footer--premium .footer-email-menu a {
  color: var(--ink) !important;
  background: #f7efe4 !important;
}

body .site-footer--premium .footer-email-menu a:hover {
  color: var(--accent-strong) !important;
  background: rgb(var(--accent-rgb) / .10) !important;
}

body .site-footer--premium .footer-email-menu small {
  color: rgb(var(--ink-rgb) / .58) !important;
}

body .site-footer--premium .footer-wordmark {
  -webkit-text-stroke-color: rgb(var(--ink-rgb) / .09) !important;
}

body .site-footer--premium .footer-bottom--premium {
  border-top-color: rgb(var(--ink-rgb) / .10) !important;
  color: rgb(var(--ink-rgb) / .50) !important;
}

body .site-footer--premium .footer-bottom__links a {
  color: rgb(var(--ink-rgb) / .62) !important;
}

body .site-footer--premium .footer-bottom__links a:hover {
  color: var(--accent-strong) !important;
}

@media (max-width: 1000px) {
  body .site-footer--premium .footer-contact__item {
    border-color: rgb(var(--ink-rgb) / .09) !important;
    background: rgb(var(--white-rgb) / .52) !important;
    box-shadow: 0 12px 28px rgb(var(--ink-rgb) / .045) !important;
  }
}

@media (max-width: 760px) {
  body .site-footer--premium .footer-cta {
    box-shadow:
      0 18px 40px rgb(var(--ink-rgb) / .09),
      inset 0 1px 0 #fff !important;
  }

  body .site-footer--premium .footer-brand .brand--footer {
    width: min(242px, 100%) !important;
  }

  body .site-footer--premium .footer-wordmark {
    -webkit-text-stroke-color: rgb(var(--ink-rgb) / .10) !important;
  }
}

/* v65.1 — undo the old full-row placement when the summary card has its own column. */
@media (min-width: 1081px) {
  body :is(
    .opening--company,
    .opening--investors,
    .opening--management,
    .opening--contacts,
    .opening--calculator
  ) .opening__metrics {
    grid-column: auto !important;
  }
}

/* v65.2 — compact desktop headline sizing: preserve two lines without entering the card column. */
@media (min-width: 1081px) and (max-width: 1180px) {
  body :is(
    .opening--company,
    .opening--investors,
    .opening--management,
    .opening--contacts,
    .opening--calculator
  ) .opening__title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(46px, 4.35vw, 52px) !important;
    line-height: .94 !important;
    letter-spacing: -.064em !important;
  }
}

@media (min-width: 1081px) and (max-width: 1180px) {
  body .opening--calculator .opening__title.opening__title--calculator-two,
  body .opening--company .opening__title.opening__title--two-line,
  body .opening--investors .opening__title.opening__title--investors-two,
  body .opening--management .opening__title.opening__title--management-two-line,
  body .opening--contacts .opening__title.opening__title--contacts-two {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 49px !important;
    line-height: .94 !important;
    letter-spacing: -.064em !important;
  }
}

/* ============================================================
   v68 — contacts scheduler + compact footer
   ============================================================ */

/* The large footer wordmark was removed from markup; tighten the remaining footer. */
body .site-footer--premium .footer-shell {
  padding-top: 26px !important;
  padding-bottom: 18px !important;
}
body .site-footer--premium .footer-cta {
  min-height: 168px !important;
  padding: clamp(25px, 3.4vw, 40px) !important;
}
body .site-footer--premium .footer-main--premium {
  padding: 46px 0 34px !important;
}
body .site-footer--premium .footer-bottom--premium {
  margin-top: 10px !important;
  padding-top: 18px !important;
}
body .site-footer--premium .footer-wordmark {
  display: none !important;
}

body[data-page="Контакты"] .form-field__note {
  display: block;
  margin-top: -1px;
  color: rgb(var(--white-rgb) / .46);
  font-size: 9px;
  line-height: 1.35;
}

body[data-page="Контакты"] .appointment-panel {
  position: relative;
  grid-column: 1 / -1;
  margin-top: 2px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgb(var(--white-rgb) / .14);
  border-radius: 16px;
  background:
    radial-gradient(circle at 92% 0%, rgb(var(--accent-rgb) / .17), transparent 34%),
    rgb(var(--white-rgb) / .055);
}
body[data-page="Контакты"] .appointment-panel::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 3px;
  content: '';
  background: linear-gradient(180deg, var(--accent), var(--accent-gold));
}
body[data-page="Контакты"] .appointment-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
body[data-page="Контакты"] .appointment-panel__head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}
body[data-page="Контакты"] .appointment-panel__head span {
  color: rgb(var(--white-rgb) / .48);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body[data-page="Контакты"] .appointment-panel__head b {
  overflow: hidden;
  color: rgb(var(--white-rgb) / .94);
  font-size: 13px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body[data-page="Контакты"] .appointment-panel__toggle {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgb(var(--accent-rgb) / .42);
  border-radius: 999px;
  color: #fff;
  background: rgb(var(--accent-rgb) / .12);
  font-size: 10px;
  font-weight: 800;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
body[data-page="Контакты"] .appointment-panel__toggle:hover {
  border-color: rgb(var(--accent-rgb) / .76);
  background: rgb(var(--accent-rgb) / .22);
  transform: translateY(-1px);
}
body[data-page="Контакты"] .appointment-panel__intro {
  max-width: 560px;
  margin: 10px 0 0;
  color: rgb(var(--white-rgb) / .48);
  font-size: 10px;
  line-height: 1.55;
}
body[data-page="Контакты"] .appointment-scale {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid rgb(var(--white-rgb) / .1);
}
body[data-page="Контакты"] .appointment-scale[hidden] {
  display: none !important;
}
body[data-page="Контакты"] .appointment-scale__value {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}
body[data-page="Контакты"] .appointment-scale__value span {
  color: rgb(var(--white-rgb) / .48);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body[data-page="Контакты"] .appointment-scale__value b {
  color: var(--accent-gold);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 25px;
  font-weight: 650;
}
body[data-page="Контакты"] .appointment-scale input[type="range"] {
  width: 100%;
  height: 24px;
  padding: 0;
  border: 0;
  background: transparent;
  accent-color: var(--accent);
  cursor: pointer;
}
body[data-page="Контакты"] .appointment-scale input[type="range"]::-webkit-slider-runnable-track {
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgb(var(--accent-rgb) / .95), rgb(var(--accent-gold-rgb) / .75));
}
body[data-page="Контакты"] .appointment-scale input[type="range"]::-webkit-slider-thumb {
  width: 20px;
  height: 20px;
  margin-top: -7px;
  border: 4px solid #fff;
  border-radius: 50%;
  appearance: none;
  background: var(--accent);
  box-shadow: 0 5px 16px rgb(0 0 0 / .32);
}
body[data-page="Контакты"] .appointment-scale input[type="range"]::-moz-range-track {
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgb(var(--accent-rgb) / .95), rgb(var(--accent-gold-rgb) / .75));
}
body[data-page="Контакты"] .appointment-scale input[type="range"]::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 5px 16px rgb(0 0 0 / .32);
}
body[data-page="Контакты"] .appointment-scale__ticks {
  display: flex;
  justify-content: space-between;
  margin-top: 1px;
  color: rgb(var(--white-rgb) / .34);
  font-size: 8px;
}
body[data-page="Контакты"] .appointment-scale__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 13px;
}
body[data-page="Контакты"] .appointment-scale__bottom p {
  margin: 0;
  color: rgb(var(--white-rgb) / .5);
  font-size: 10px;
  line-height: 1.4;
}
body[data-page="Контакты"] .appointment-scale__bottom p.is-free {
  color: #87d9ad;
}
body[data-page="Контакты"] .appointment-scale__bottom p.is-busy {
  color: #ffb17f;
}
body[data-page="Контакты"] .appointment-scale__apply {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 0 15px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--accent-strong), var(--accent));
  font-size: 10px;
  font-weight: 850;
  box-shadow: 0 10px 20px rgb(var(--accent-rgb) / .2);
}
body[data-page="Контакты"] .appointment-scale__apply:disabled {
  opacity: .38;
  box-shadow: none;
  cursor: not-allowed;
}

body[data-page="Контакты"] .appointment-result {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  margin-top: 18px;
  padding: 17px;
  overflow: hidden;
  border: 1px solid rgb(var(--white-rgb) / .15);
  border-radius: 17px;
  background: rgb(var(--white-rgb) / .07);
  animation: appointment-card-in .28s ease both;
}
body[data-page="Контакты"] .appointment-result::after {
  position: absolute;
  top: -55px;
  right: -55px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  content: '';
  background: radial-gradient(circle, rgb(var(--accent-rgb) / .18), transparent 70%);
  pointer-events: none;
}
body[data-page="Контакты"] .appointment-result--success {
  border-color: rgb(96 211 148 / .30);
  background: linear-gradient(135deg, rgb(96 211 148 / .12), rgb(var(--white-rgb) / .055));
}
body[data-page="Контакты"] .appointment-result--conflict {
  border-color: rgb(var(--accent-rgb) / .34);
  background: linear-gradient(135deg, rgb(var(--accent-rgb) / .14), rgb(var(--white-rgb) / .055));
}
body[data-page="Контакты"] .appointment-result__icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgb(var(--white-rgb) / .15);
  border-radius: 50%;
  background: rgb(var(--white-rgb) / .08);
}
body[data-page="Контакты"] .appointment-result__icon::before {
  color: #ffb17f;
  content: '!';
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 25px;
  font-weight: 700;
}
body[data-page="Контакты"] .appointment-result--success .appointment-result__icon::before {
  color: #87d9ad;
  content: '✓';
  font-family: inherit;
  font-size: 18px;
}
body[data-page="Контакты"] .appointment-result__copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}
body[data-page="Контакты"] .appointment-result__copy > span {
  color: var(--accent-gold);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body[data-page="Контакты"] .appointment-result__copy h3 {
  max-width: none;
  margin: 4px 0 6px;
  color: #fff;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.035em;
  line-height: 1;
}
body[data-page="Контакты"] .appointment-result__copy p {
  margin: 0;
  color: rgb(var(--white-rgb) / .62);
  font-size: 10px;
  line-height: 1.55;
}
body[data-page="Контакты"] .appointment-result__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 13px;
}
body[data-page="Контакты"] .appointment-result__primary {
  min-height: 42px;
  padding-inline: 16px;
  font-size: 10px;
}
body[data-page="Контакты"] .appointment-result__secondary {
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid rgb(var(--white-rgb) / .16);
  border-radius: 999px;
  color: rgb(var(--white-rgb) / .82);
  background: rgb(var(--white-rgb) / .06);
  font-size: 10px;
  font-weight: 800;
}
body[data-page="Контакты"] .appointment-result__secondary:hover {
  border-color: rgb(var(--accent-rgb) / .46);
  color: #fff;
  background: rgb(var(--accent-rgb) / .1);
}

@keyframes appointment-card-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
  body .site-footer--premium .footer-shell {
    padding-top: 16px !important;
    padding-bottom: 14px !important;
  }
  body .site-footer--premium .footer-cta {
    padding: 23px 20px 21px !important;
  }
  body .site-footer--premium .footer-main--premium {
    gap: 31px !important;
    padding: 36px 0 28px !important;
  }
  body .site-footer--premium .footer-bottom--premium {
    margin-top: 8px !important;
    padding-top: 16px !important;
  }
  body[data-page="Контакты"] .appointment-panel__head,
  body[data-page="Контакты"] .appointment-scale__bottom {
    align-items: stretch;
    flex-direction: column;
  }
  body[data-page="Контакты"] .appointment-panel__toggle,
  body[data-page="Контакты"] .appointment-scale__apply {
    width: 100%;
  }
  body[data-page="Контакты"] .appointment-result {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 11px;
    padding: 15px;
  }
  body[data-page="Контакты"] .appointment-result__icon {
    width: 36px;
    height: 36px;
  }
  body[data-page="Контакты"] .appointment-result__copy h3 {
    font-size: 23px;
  }
  body[data-page="Контакты"] .appointment-result__actions,
  body[data-page="Контакты"] .appointment-result__actions > * {
    width: 100%;
  }
}

/* Light contact form variant: keep the scheduler readable on the cream card. */
body[data-page="Контакты"] .lead-form--contact .form-field__note {
  color: rgb(var(--ink-rgb) / .48);
}
body[data-page="Контакты"] .lead-form--contact .appointment-panel {
  border-color: rgb(var(--ink-rgb) / .11);
  background:
    radial-gradient(circle at 92% 0%, rgb(var(--accent-rgb) / .11), transparent 35%),
    rgb(var(--white-rgb) / .70);
  box-shadow: inset 0 1px 0 rgb(var(--white-rgb) / .92);
}
body[data-page="Контакты"] .lead-form--contact .appointment-panel__head span,
body[data-page="Контакты"] .lead-form--contact .appointment-scale__value span {
  color: rgb(var(--ink-rgb) / .48);
}
body[data-page="Контакты"] .lead-form--contact .appointment-panel__head b {
  color: var(--ink);
}
body[data-page="Контакты"] .lead-form--contact .appointment-panel__toggle {
  border-color: rgb(var(--accent-rgb) / .30);
  color: var(--accent-strong);
  background: rgb(var(--accent-rgb) / .08);
}
body[data-page="Контакты"] .lead-form--contact .appointment-panel__toggle:hover {
  border-color: rgb(var(--accent-rgb) / .55);
  color: var(--accent-strong);
  background: rgb(var(--accent-rgb) / .13);
}
body[data-page="Контакты"] .lead-form--contact .appointment-panel__intro,
body[data-page="Контакты"] .lead-form--contact .appointment-scale__bottom p {
  color: rgb(var(--ink-rgb) / .56);
}
body[data-page="Контакты"] .lead-form--contact .appointment-scale {
  border-top-color: rgb(var(--ink-rgb) / .09);
}
body[data-page="Контакты"] .lead-form--contact .appointment-scale__ticks {
  color: rgb(var(--ink-rgb) / .40);
}
body[data-page="Контакты"] .lead-form--contact .appointment-scale input[type="range"] {
  width: 100% !important;
  min-height: 0 !important;
  height: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
body[data-page="Контакты"] .lead-form--contact .appointment-scale__bottom p.is-free {
  color: #278c5b;
}
body[data-page="Контакты"] .lead-form--contact .appointment-scale__bottom p.is-busy {
  color: var(--accent-strong);
}
body[data-page="Контакты"] .lead-form--contact .appointment-result {
  border-color: rgb(var(--ink-rgb) / .10);
  background: rgb(var(--white-rgb) / .75);
  box-shadow: 0 13px 30px rgb(var(--ink-rgb) / .06);
}
body[data-page="Контакты"] .lead-form--contact .appointment-result--success {
  border-color: rgb(39 140 91 / .22);
  background: linear-gradient(135deg, rgb(39 140 91 / .09), rgb(var(--white-rgb) / .78));
}
body[data-page="Контакты"] .lead-form--contact .appointment-result--conflict {
  border-color: rgb(var(--accent-rgb) / .24);
  background: linear-gradient(135deg, rgb(var(--accent-rgb) / .09), rgb(var(--white-rgb) / .78));
}
body[data-page="Контакты"] .lead-form--contact .appointment-result__icon {
  border-color: rgb(var(--ink-rgb) / .10);
  background: rgb(var(--white-rgb) / .78);
}
body[data-page="Контакты"] .lead-form--contact .appointment-result__copy h3 {
  color: var(--ink);
}
body[data-page="Контакты"] .lead-form--contact .appointment-result__copy p {
  color: rgb(var(--ink-rgb) / .62);
}
body[data-page="Контакты"] .lead-form--contact .appointment-result__secondary {
  border-color: rgb(var(--ink-rgb) / .12);
  color: var(--ink);
  background: rgb(var(--white-rgb) / .74);
}
body[data-page="Контакты"] .lead-form--contact .appointment-result__secondary:hover {
  border-color: rgb(var(--accent-rgb) / .36);
  color: var(--accent-strong);
  background: rgb(var(--accent-rgb) / .07);
}

/* v69: unified before/after galleries on case pages. */
.case-comparison-section .split-intro {
  margin-bottom: 34px;
}
.case-comparison {
  overflow: hidden;
  border: 1px solid rgb(var(--ink-rgb) / .11);
  border-radius: 28px;
  background: rgb(var(--white-rgb) / .64);
  box-shadow: 0 24px 70px rgb(var(--ink-rgb) / .08);
}
.case-comparison__tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 8px;
  border-bottom: 1px solid rgb(var(--ink-rgb) / .09);
  background: rgb(var(--ink-rgb) / .035);
}
.case-comparison__tab {
  display: flex;
  min-width: 0;
  min-height: 68px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 20px;
  color: rgb(var(--ink-rgb) / .56);
  background: transparent;
  cursor: pointer;
  transition: color .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.case-comparison__tab span {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1;
}
.case-comparison__tab small {
  overflow: hidden;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .11em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.case-comparison__tab:hover {
  color: var(--ink);
  background: rgb(var(--white-rgb) / .6);
}
.case-comparison__tab.is-active {
  border-color: rgb(var(--accent-rgb) / .22);
  color: #fff;
  background: linear-gradient(135deg, var(--ink), #36322d);
  box-shadow: 0 12px 28px rgb(var(--ink-rgb) / .16);
}
.case-comparison__tab.is-active small {
  color: rgb(var(--white-rgb) / .58);
}
.case-comparison__tab:focus-visible {
  outline: 2px solid var(--accent-strong);
  outline-offset: 2px;
}
.case-comparison__panel {
  padding: 18px;
  animation: case-comparison-in .28s ease both;
}
.case-comparison__panel[hidden] {
  display: none;
}
.case-comparison__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.case-comparison__photo {
  position: relative;
  overflow: hidden;
  margin: 0;
  border-radius: 20px;
  background: rgb(var(--ink-rgb) / .07);
  box-shadow: inset 0 0 0 1px rgb(var(--ink-rgb) / .07);
}
.case-comparison__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .45s ease;
}
.case-comparison__photo:hover img {
  transform: scale(1.018);
}
.case-comparison__photo img[alt*="входная дверь"] {
  object-fit: contain;
  background: linear-gradient(135deg, #dedbd5, #f3f1ed);
}
.case-comparison__photo::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 34%;
  content: '';
  background: linear-gradient(to top, rgb(0 0 0 / .43), transparent);
  pointer-events: none;
}
.case-comparison__photo figcaption {
  position: absolute;
  z-index: 1;
  right: 16px;
  bottom: 16px;
  min-width: 72px;
  padding: 10px 17px;
  border: 1px solid rgb(var(--white-rgb) / .33);
  border-radius: 999px;
  color: #fff;
  background: rgb(22 20 18 / .76);
  box-shadow: 0 8px 24px rgb(0 0 0 / .18);
  backdrop-filter: blur(12px);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-align: center;
  text-transform: uppercase;
}
.case-comparison__empty {
  display: grid;
  min-height: 330px;
  padding: 42px 24px;
  place-content: center;
  justify-items: center;
  border: 1px dashed rgb(var(--ink-rgb) / .17);
  border-radius: 20px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgb(var(--accent-rgb) / .12), transparent 43%),
    rgb(var(--white-rgb) / .46);
}
.case-comparison__empty > span {
  display: inline-flex;
  min-width: 92px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  margin-bottom: 19px;
  padding: 0 20px;
  border: 1px solid rgb(var(--accent-rgb) / .25);
  border-radius: 999px;
  color: var(--accent-strong);
  background: rgb(var(--accent-rgb) / .08);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.case-comparison__empty h3 {
  margin: 0 0 9px;
  color: var(--ink);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 600;
  letter-spacing: -.04em;
  line-height: 1;
}
.case-comparison__empty p {
  max-width: 460px;
  margin: 0;
  color: rgb(var(--ink-rgb) / .56);
  font-size: 13px;
  line-height: 1.65;
}
@keyframes case-comparison-in {
  from { opacity: 0; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 760px) {
  .case-comparison-section .split-intro {
    margin-bottom: 24px;
  }
  .case-comparison {
    border-radius: 21px;
  }
  .case-comparison__tabs {
    gap: 6px;
    padding: 6px;
  }
  .case-comparison__tab {
    min-height: 58px;
    padding: 0 14px;
    border-radius: 15px;
  }
  .case-comparison__tab span {
    font-size: 25px;
  }
  .case-comparison__tab small {
    font-size: 7px;
    letter-spacing: .08em;
  }
  .case-comparison__panel {
    padding: 10px;
  }
  .case-comparison__grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .case-comparison__photo {
    border-radius: 15px;
  }
  .case-comparison__photo figcaption {
    right: 12px;
    bottom: 12px;
    min-width: 64px;
    padding: 8px 14px;
  }
  .case-comparison__empty {
    min-height: 260px;
    padding: 34px 18px;
    border-radius: 15px;
  }
}

/* v71: balanced three-photo row for the office case. */
@media (min-width: 761px) {
  .case-comparison__grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* v78: use the supplied Find Sans Pro family across the entire site. */
:root {
  --font-display: 'FindSans Pro', Arial, sans-serif;
  --font-body: 'FindSans Pro', Arial, sans-serif;
}
html,
body,
body *,
body *::before,
body *::after {
  font-family: 'FindSans Pro', Arial, sans-serif !important;
}

/* v79: responsive reliability pass for phones, tablets, laptops and wide desktops. */

/* Flexible children must be allowed to shrink inside every important split layout. */
body :is(
  .founder-layout,
  .investor-blueprint,
  .calc-modern,
  .split-intro,
  .opening__grid,
  .footer-main,
  .case-comparison__tabs
) > * {
  min-width: 0;
}

body .feature-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body .feature-card {
  min-width: 0;
}

@media (min-width: 461px) and (max-width: 980px) {
  body .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 460px) {
  body .feature-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* The header logo follows the width of its grid cell instead of overflowing it by a few pixels. */
body .site-header .brand > .brand-mark {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
}

/* Founder section: keep a generous image but reserve enough room for the supplied wide typeface. */
@media (min-width: 1181px) {
  body[data-page="О компании"] .founder-layout {
    grid-template-columns: minmax(340px, 420px) minmax(0, 1fr) !important;
    gap: clamp(48px, 5vw, 68px) !important;
  }

  body[data-page="О компании"] .founder-upload--leader {
    width: 100% !important;
    max-width: 420px !important;
  }

  body[data-page="О компании"] .founder-layout .title {
    width: 100% !important;
    max-width: 100% !important;
    max-inline-size: none !important;
    font-size: clamp(48px, 3.55vw, 54px) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    text-wrap: balance !important;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  body[data-page="О компании"] .founder-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 38px !important;
  }

  body[data-page="О компании"] .founder-upload--leader {
    width: min(100%, 480px) !important;
    max-width: 480px !important;
    margin-inline: auto !important;
  }

  body[data-page="О компании"] .founder-layout > :last-child {
    width: min(100%, 900px) !important;
  }

  body[data-page="О компании"] .founder-layout .title {
    width: 100% !important;
    max-width: 900px !important;
    max-inline-size: none !important;
  }
}

/* Landscape tablets get readable, full-width calculator and investment panels. */
@media (min-width: 761px) and (max-width: 1100px) {
  body .calc-modern,
  body .investor-blueprint {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
  }

  body .investor-blueprint__copy {
    max-width: 820px !important;
  }

  body .metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .metric:nth-child(odd) {
    border-left: 1px solid var(--line) !important;
  }
}

/* Prevent background page movement while the compact navigation is open. */
@media (max-width: 1180px) {
  html:has(body.nav-open),
  body.nav-open {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  body .site-nav {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 760px) {
  /* Manual soft hyphens are used only for exceptionally long Russian words. */
  body[data-page="О компании"] .founder-layout .title,
  body[data-page="Инвесторам"] .investor-blueprint .title {
    width: 100% !important;
    max-width: 100% !important;
    max-inline-size: none !important;
    overflow: visible !important;
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
  }

  /* Avoid Safari zooming the page when a form field receives focus. */
  body .form-field :is(input, textarea, select) {
    font-size: 16px !important;
  }

  /* Before/after labels remain fully readable even on narrow phones. */
  body .case-comparison__tab {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 3px !important;
    padding: 8px 12px !important;
  }

  body .case-comparison__tab small {
    width: auto !important;
    max-width: 100% !important;
    overflow: visible !important;
    letter-spacing: .055em !important;
    text-overflow: clip !important;
  }

  /* Keep the process dialog inside the actual visual viewport on compact phones. */
  body .process-mobile-modal {
    height: 100dvh !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
    box-sizing: border-box !important;
  }

  body .process-mobile-modal__backdrop {
    height: 100% !important;
    min-height: 0 !important;
  }

  body .process-mobile-modal__dialog {
    max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }

  body .process-mobile-modal.is-open .process-mobile-modal__dialog {
    transform: none !important;
  }
}

@media (max-width: 340px) {
  /* Final calibration for compact 320 px Android/iPhone viewports. */
  body .nd-hero__copy .display.hero-display {
    font-size: 30px !important;
    letter-spacing: -.04em !important;
  }

  body .nd-process__item,
  body .nd-process__item.is-active {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 17px 16px !important;
  }

  body .nd-process__item b,
  body .nd-process__item.is-active b {
    font-size: 18px !important;
    letter-spacing: -.04em !important;
  }

  body .nd-process__mobile-cta {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  body .opening--calculator .opening__title.opening__title--calculator-two {
    font-size: 48px !important;
  }

}

/* Short landscape screens keep dialogs usable through their own scroll area. */
@media (max-height: 560px) and (hover: none) {
  body .modal {
    align-items: start !important;
    padding: 8px !important;
    overflow-y: auto !important;
  }

  body .modal-dialog {
    width: min(720px, 100%) !important;
    max-height: calc(100dvh - 16px) !important;
    margin: auto !important;
  }
}

/* v82: homepage headline with responsive emphasis for the updated message. */
body .hero-display__line--money {
  white-space: normal !important;
}

body .hero-display__line--money > span,
body .hero-display__line--money > em {
  display: inline-block;
  white-space: nowrap;
}

@media (min-width: 901px) and (max-width: 980px) {
  body .nd-hero__copy .display.hero-display {
    font-size: 44px !important;
  }
}

@media (max-width: 340px) {
  body .nd-hero__copy .display.hero-display {
    font-size: 28px !important;
    letter-spacing: -.035em !important;
  }
}

/* v83: longer consultation CTA labels across header and compact phones. */
@media (min-width: 1181px) {
  body .site-header .header-inner,
  body .site-header.is-scrolled .header-inner,
  body[data-page="FAQ"] .site-header .header-inner,
  body[data-page="FAQ"] .site-header.is-scrolled .header-inner {
    grid-template-columns: 150px minmax(0, 1fr) clamp(218px, 17vw, 238px) !important;
    gap: 12px !important;
  }

  body .site-header .brand,
  body .site-header .brand-mark,
  body .site-header.is-scrolled .brand,
  body .site-header.is-scrolled .brand-mark {
    width: 150px !important;
  }

  body .site-header .site-nav,
  body .site-header.is-scrolled .site-nav {
    gap: clamp(7px, .65vw, 10px) !important;
  }

  body .site-header .nav-link,
  body .site-header.is-scrolled .nav-link,
  body[data-page="FAQ"] .site-header .nav-link,
  body[data-page="FAQ"] .site-header.is-scrolled .nav-link {
    font-size: clamp(9.2px, .6vw, 10px) !important;
    letter-spacing: .015em !important;
  }

  body .site-header .header-actions,
  body .site-header.is-scrolled .header-actions {
    width: clamp(218px, 17vw, 238px) !important;
    min-width: clamp(218px, 17vw, 238px) !important;
  }

  body .site-header .button.header-cta,
  body .site-header.is-scrolled .button.header-cta,
  body[data-page="FAQ"] .site-header .button.header-cta,
  body[data-page="FAQ"] .site-header.is-scrolled .button.header-cta {
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 8px !important;
    font-size: clamp(10px, .65vw, 11px) !important;
  }
}

@media (max-width: 340px) {
  body .site-footer--premium .footer-cta__button {
    padding-inline: 22px !important;
  }

  body .process-mobile-modal__dialog h3 {
    font-size: 26px !important;
    line-height: 1.04 !important;
  }

  body .cta-actions .button {
    gap: 8px !important;
    padding-inline: 12px !important;
    font-size: 13px !important;
    letter-spacing: .04em !important;
  }
}

/* v84: keep the mobile consultation action out of the first-screen message. */
@media (max-width: 760px) {
  body .mobile-sticky-cta {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(calc(100% + 24px));
    transition: opacity .24s ease, transform .24s ease, visibility .24s ease;
  }

  body .mobile-sticky-cta.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  body .mobile-sticky-cta__button {
    font-size: 13px !important;
    letter-spacing: .04em !important;
  }

  body .process-mobile-modal__result b {
    font-size: clamp(34px, 10.5vw, 48px) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
}

/* v86: concrete client journey instead of abstract homepage metrics. */
body .nd-proof.nd-client-path {
  position: relative;
  z-index: 2;
  margin: 0 !important;
  padding: 76px 0 128px !important;
  overflow: visible !important;
  background:
    radial-gradient(circle at 88% 14%, rgb(var(--accent-rgb) / .10), transparent 25%),
    linear-gradient(180deg, var(--nd-paper), var(--surface-tint));
}

body .nd-proof.nd-client-path::before {
  display: none !important;
}

body .nd-client-path__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 340px);
  gap: clamp(34px, 5vw, 72px);
  align-items: end;
}

body .nd-client-path__head > div,
body .nd-client-path__budget,
body .nd-client-path__steps > li {
  min-width: 0;
}

body .nd-client-path__head .title {
  max-width: 760px;
}

body .nd-client-path__lead {
  max-width: 690px;
  margin: 22px 0 0;
  color: var(--ink-soft);
  font-size: 17px;
  line-height: 1.58;
}

body .nd-client-path__budget {
  position: relative;
  overflow: hidden;
  padding: 27px 28px 28px;
  border: 1px solid rgb(var(--accent-rgb) / .22);
  border-radius: 28px;
  background: linear-gradient(145deg, rgb(var(--white-rgb) / .94), rgb(var(--accent-rgb) / .10));
  box-shadow: 0 20px 44px rgb(var(--ink-rgb) / .09);
}

body .nd-client-path__budget::after {
  position: absolute;
  right: -48px;
  bottom: -58px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  content: '';
  background: radial-gradient(circle, rgb(var(--accent-rgb) / .20), transparent 68%);
  pointer-events: none;
}

body .nd-client-path__budget span,
body .nd-client-path__budget b,
body .nd-client-path__budget small {
  position: relative;
  z-index: 1;
  display: block;
}

body .nd-client-path__budget span {
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

body .nd-client-path__budget b {
  margin-top: 13px;
  color: var(--ink);
  font-size: clamp(32px, 2.35vw, 36px);
  line-height: 1.2;
  letter-spacing: -.055em;
  white-space: nowrap;
}

body .nd-client-path__budget small {
  margin-top: 11px;
  color: var(--ink-soft);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

body .nd-client-path__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 48px auto 0 !important;
  padding: 0;
  list-style: none;
}

body .nd-client-path__steps > li {
  position: relative;
  height: auto !important;
  min-height: 210px;
  padding: 24px 22px 25px;
  border: 1px solid rgb(var(--ink-rgb) / .10);
  border-radius: 24px;
  overflow: visible;
  background: rgb(var(--white-rgb) / .78);
  box-shadow: 0 15px 32px rgb(var(--ink-rgb) / .06);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

body .nd-client-path__steps > li::before {
  position: absolute;
  top: 0;
  right: 22px;
  left: 22px;
  height: 3px;
  border-radius: 999px;
  content: '';
  background: linear-gradient(90deg, var(--accent), rgb(var(--accent-rgb) / .18));
}

body .nd-client-path__steps > li:hover {
  border-color: rgb(var(--accent-rgb) / .28);
  box-shadow: 0 22px 40px rgb(var(--ink-rgb) / .10);
  transform: translateY(-4px);
}

body .nd-client-path__steps > li > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgb(var(--accent-rgb) / .24);
  border-radius: 50%;
  color: var(--accent);
  background: rgb(var(--accent-rgb) / .08);
  font-size: 11px;
  font-weight: 900;
}

body .nd-client-path__steps > li > b {
  display: block;
  margin-top: 20px;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.12;
  letter-spacing: -.035em;
}

body .nd-client-path__steps > li > p {
  margin: 11px 0 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.48;
}

body .nd-client-path__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  margin-top: 18px;
  padding: 0 18px;
  border: 1px solid rgb(var(--accent-rgb) / .28);
  border-radius: 999px;
  color: var(--accent-strong);
  background: rgb(var(--accent-rgb) / .07);
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .05em;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

body .nd-client-path__toggle:hover,
body .nd-client-path__toggle[aria-expanded="true"] {
  border-color: var(--accent);
  color: var(--white);
  background: var(--accent);
  transform: translateY(-1px);
}

body .nd-client-path__toggle:focus-visible {
  outline: 3px solid rgb(var(--accent-rgb) / .24);
  outline-offset: 3px;
}

body .nd-client-path__detail {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid rgb(var(--accent-rgb) / .18);
}

body .nd-client-path__detail[hidden] {
  display: none !important;
}

body .nd-client-path__detail > p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.5;
}

body .nd-client-path + .nd-strategy.nd-curve {
  margin-top: 0 !important;
  padding-top: 108px !important;
}

@media (max-width: 1100px) {
  body .nd-client-path__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  body .nd-proof.nd-client-path {
    padding: 62px 0 112px !important;
  }

  body .nd-client-path__head {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  body .nd-client-path__budget {
    width: min(100%, 430px);
  }

  body .nd-client-path + .nd-strategy.nd-curve {
    margin-top: 0 !important;
    padding-top: 88px !important;
  }
}

@media (max-width: 620px) {
  body .nd-proof.nd-client-path {
    padding: 52px 0 96px !important;
  }

  body .nd-client-path__lead {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.5;
  }

  body .nd-client-path__budget {
    padding: 23px 22px 24px;
    border-radius: 24px;
  }

  body .nd-client-path__budget b {
    font-size: clamp(28px, 9vw, 36px);
  }

  body .nd-client-path__steps {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 34px !important;
  }

  body .nd-client-path__steps > li {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 6px 14px;
    min-height: 0;
    padding: 21px 20px 22px;
    border-radius: 22px;
  }

  body .nd-client-path__steps > li > span {
    grid-row: 1 / span 2;
    width: 40px;
    height: 40px;
  }

  body .nd-client-path__steps > li > b {
    grid-column: 2;
    margin-top: 0;
    font-size: 19px;
  }

  body .nd-client-path__steps > li > p {
    grid-column: 2;
    margin-top: 2px;
    font-size: 14px;
  }

  body .nd-client-path__toggle,
  body .nd-client-path__detail {
    grid-column: 2;
  }

  body .nd-client-path__toggle {
    justify-self: start;
    min-width: 104px;
    margin-top: 8px;
  }

  body .nd-client-path__detail {
    width: 100%;
    margin-top: 6px;
  }

  body .nd-client-path + .nd-strategy.nd-curve {
    padding-top: 72px !important;
  }
}

/* v87: Moscow weekday-aware communication status */
body .site-footer--premium .footer-status.is-working-day {
  border-color: rgb(61 176 114 / .24) !important;
  background: linear-gradient(135deg, rgb(var(--white-rgb) / .88), rgb(61 176 114 / .08)) !important;
}

body .site-footer--premium .footer-status.is-working-day > span {
  background: #3db072 !important;
  box-shadow: 0 0 0 5px rgb(61 176 114 / .12), 0 0 16px rgb(61 176 114 / .42) !important;
}

body .site-footer--premium .footer-status.is-weekend {
  border-color: rgb(216 72 72 / .24) !important;
  background: linear-gradient(135deg, rgb(var(--white-rgb) / .88), rgb(216 72 72 / .08)) !important;
}

body .site-footer--premium .footer-status.is-weekend > span {
  background: #d84848 !important;
  box-shadow: 0 0 0 5px rgb(216 72 72 / .12), 0 0 16px rgb(216 72 72 / .42) !important;
}

body .contact-card.is-working-day {
  border-color: rgb(61 176 114 / .26) !important;
  box-shadow: 0 18px 42px rgb(61 176 114 / .10) !important;
}

body .contact-card.is-working-day .contact-card__icon {
  color: #2d9360 !important;
  background: rgb(61 176 114 / .10) !important;
}

body .contact-card.is-weekend {
  border-color: rgb(216 72 72 / .26) !important;
  box-shadow: 0 18px 42px rgb(216 72 72 / .10) !important;
}

body .contact-card.is-weekend .contact-card__icon {
  color: #c43f3f !important;
  background: rgb(216 72 72 / .10) !important;
}

/* v88: full office address without clipping */
body[data-page="Контакты"] [data-contact="address"] {
  white-space: pre-line;
  text-wrap: wrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

@media (min-width: 1121px) {
  body[data-page="Контакты"] .contact-cards--directory .contact-card--format [data-contact="address"] {
    font-size: 12.5px !important;
    letter-spacing: -.035em !important;
  }
}

/* v89: cross-browser viewport and text-flow reliability (Safari, Yandex, Firefox). */
html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: hidden;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body :is(main, header, footer, section, nav, form, fieldset) {
  min-width: 0;
}

body .container {
  width: min(1220px, calc(100% - 48px)) !important;
  max-width: calc(100% - 48px) !important;
  min-width: 0 !important;
}

body :is(img, picture, video, canvas, iframe) {
  max-width: 100%;
}

body :is(input, textarea, select, button) {
  min-width: 0;
  max-width: 100%;
}

body :is(h1, h2, h3, h4, h5, h6, p, li, blockquote, figcaption) {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
}

body :is(
  .header-inner,
  .site-nav,
  .header-actions,
  .nd-hero__grid,
  .nd-client-path__head,
  .nd-client-path__steps,
  .opening__grid,
  .split-intro,
  .founder-layout,
  .investor-blueprint,
  .calc-modern,
  .contact-grid,
  .contact-cards,
  .form-grid,
  .lead-form__top,
  .case-comparison__grid,
  .case-comparison__tabs,
  .footer-main,
  .footer-main--premium,
  .footer-bottom,
  .cta-grid,
  .nd-final__inner,
  .nd-strategy__head,
  .nd-ownership__grid,
  .nd-faq__layout
) > * {
  min-width: 0 !important;
  max-width: 100%;
}

@media (max-width: 1180px) {
  body .container {
    width: min(1060px, calc(100% - 40px)) !important;
    max-width: calc(100% - 40px) !important;
  }
}

@media (max-width: 760px) {
  body .container {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
  }

  body :is(.button, .text-link, .appointment-panel__toggle, .appointment-scale__apply) {
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-align: center;
  }

  body :is(
    .hero-display__line--3,
    .opening__title.opening__title--two-line > span,
    .opening__title.opening__title--two-line > em,
    .opening__title.opening__title--investors-two > span,
    .opening__title.opening__title--investors-two > em,
    .opening__title.opening__title--management-two-line > span,
    .opening__title.opening__title--management-two-line > em,
    .opening__title.opening__title--calculator-two > span,
    .opening__title.opening__title--calculator-two > em,
    .opening__title.opening__title--contacts-two > span,
    .opening__title.opening__title--contacts-two > em,
    .title.title--two-line > span,
    .title.title--two-line > em
  ) {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  body .hero-display__line--money > span,
  body .hero-display__line--money > em {
    max-width: 100%;
    white-space: normal !important;
  }
}

@media (max-width: 360px) {
  body .container {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
  }

  body :is(h1, h2, h3, .display, .title, .opening__title) {
    overflow-wrap: anywhere !important;
  }
}

/* v89: targeted intrinsic-size fixes found by the cross-browser viewport audit. */
body .case-layout {
  grid-template-columns: minmax(0, 1fr) !important;
}

body .case-layout > *,
body .narrative-stack,
body .narrative-card,
body .narrative-list,
body .narrative-list > li {
  min-width: 0 !important;
  max-width: 100%;
}

body[data-page="Кейсы"] .story-card-neo {
  grid-template-columns: minmax(0, 1fr) !important;
  min-width: 0 !important;
  max-width: 100%;
}

body[data-page="Кейсы"] :is(.story-card-neo__media, .story-card-neo__body, .story-card-neo__media picture) {
  min-width: 0 !important;
  max-width: 100%;
}

body .nd-hero__carousel {
  overflow: hidden;
}

body .nd-tools .nd-calculator .nd-calculator__card > div:first-child b,
body .nd-calculator .nd-calculator__card > div:first-child b {
  font-size: clamp(14px, 1.15vw, 19px) !important;
  letter-spacing: -.035em !important;
}

body[data-page="Контакты"] .appointment-panel__head b {
  max-width: 100% !important;
}

@media (max-width: 760px) {
  body[data-page="Контакты"] .appointment-panel__head b {
    width: 100% !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  body .faq-classic-cta__inner > * {
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
  }
}

@media (max-width: 360px) {
  body .faq-classic-cta__inner {
    padding: 20px 18px !important;
  }

  body :is(.narrative-card, .faq-classic-cta__inner, .story-card-neo__body) :is(h2, h3, p, li, b, strong, span) {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-wrap: wrap !important;
    overflow-wrap: anywhere !important;
  }

  body .nd-tools .nd-calculator .nd-calculator__card > div:first-child b,
  body .nd-calculator .nd-calculator__card > div:first-child b {
    font-size: 10px !important;
    letter-spacing: -.02em !important;
  }
}

@media (max-width: 430px) {
  body[data-page="Кейсы"] .story-card-neo__body {
    min-width: 0 !important;
    overflow: visible !important;
  }

  body[data-page="Кейсы"] .story-card-neo__body h3 {
    white-space: normal !important;
    text-wrap: wrap !important;
    overflow-wrap: anywhere !important;
  }

  body[data-page="Кейсы"] .story-card-neo__stats {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-page="Кейсы"] .story-card-neo__stats > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    justify-content: stretch !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body[data-page="Кейсы"] .story-card-neo__stats :is(b, span) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
  }
}

@media (max-width: 360px) {
  body .nd-hero__copy .display.hero-display {
    font-size: clamp(25px, 9vw, 27px) !important;
    letter-spacing: -.035em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body .hero-display__line,
  body .hero-display__line--1,
  body .hero-display__line--2,
  body .hero-display__line--3 {
    max-width: 100% !important;
    white-space: normal !important;
    text-wrap: wrap !important;
  }

  body .narrative-card h3 {
    font-size: clamp(17.5px, 5.8vw, 21px) !important;
    line-height: 1.12 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto;
  }

  body .narrative-card .eyebrow {
    gap: 7px !important;
    font-size: 8.5px !important;
    letter-spacing: .10em !important;
    line-height: 1.15 !important;
  }

  body .narrative-card .eyebrow::before {
    flex: 0 0 18px;
    width: 18px !important;
  }

  body .narrative-list strong {
    display: block;
    margin-bottom: 2px;
  }

  body[data-page="Кейсы"] .story-card-neo__body h3 {
    font-size: 24px !important;
    line-height: 1.04 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: auto;
  }
}

/* ============================================================
   v94 — final device-independent responsive layer
   Preserves the approved desktop composition while making every
   page intrinsically safe on laptops, tablets and compact phones.
   This block intentionally comes last so old release overrides
   cannot re-introduce fixed-width overflow in Safari/Firefox.
   ============================================================ */

html,
body {
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow-x: hidden;
  overflow-x: clip;
}

body *,
body *::before,
body *::after {
  box-sizing: border-box;
}

body :is(main, section, article, aside, header, footer, nav, form, fieldset, div) {
  min-inline-size: 0;
}

body .container {
  inline-size: min(1220px, calc(100% - 48px)) !important;
  max-inline-size: calc(100% - 48px) !important;
  margin-inline: auto !important;
}

body :is(img, picture, video, canvas, iframe) {
  max-inline-size: 100%;
}

body picture {
  display: block;
}

body :is(
  .nd-hero__grid,
  .nd-client-path__head,
  .nd-client-path__steps,
  .nd-strategy__layout,
  .nd-cases__grid,
  .nd-ownership__grid,
  .nd-tools__grid,
  .nd-final__grid,
  .opening__grid,
  .opening__metrics,
  .split-intro,
  .founder-layout,
  .metrics,
  .investor-benefits,
  .investor-blueprint,
  .investor-blueprint__scheme-steps,
  .approach-map,
  .management-flow,
  .management-flow__row,
  .change-grid,
  .consider-grid,
  .calc-modern,
  .calc-modern__metrics,
  .contact-grid,
  .contact-cards,
  .case-story-grid,
  .feature-grid,
  .case-comparison__grid,
  .case-comparison__tabs,
  .faq-classic-hero__grid,
  .faq-classic-layout,
  .faq-classic-cta__inner,
  .form-grid,
  .lead-form__top,
  .cta-grid,
  .footer-main,
  .footer-main--premium,
  .footer-bottom,
  .footer-bottom--premium
) > * {
  min-inline-size: 0 !important;
  max-inline-size: 100%;
}

body :is(
  h1, h2, h3, h4, h5, h6,
  p, li, label, legend, blockquote, figcaption,
  .contact-card__value,
  .footer-contact__value
) {
  max-inline-size: 100%;
  word-break: normal;
  overflow-wrap: break-word;
}

body :is(input, textarea, select, button) {
  min-inline-size: 0;
  max-inline-size: 100%;
  font-family: inherit;
}

body :is(table, pre, code) {
  max-inline-size: 100%;
}

body table {
  border-collapse: collapse;
}

body :is(.modal-dialog, .process-mobile-modal__dialog, .email-choice-modal__dialog) {
  max-inline-size: calc(100vw - 24px) !important;
}

/* Intermediate desktops and tablets: reduce density before anything collides. */
@media (max-width: 1180px) {
  body .container {
    inline-size: min(1060px, calc(100% - 40px)) !important;
    max-inline-size: calc(100% - 40px) !important;
  }

  body :is(
    .nd-cases__grid,
    .feature-grid,
    .investor-benefits,
    .approach-map,
    .change-grid,
    .consider-grid,
    .contact-cards
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body :is(.nd-hero__metrics, .metrics) {
    min-inline-size: 0 !important;
    overflow: visible !important;
  }
}

/* Navigation and large split layouts become a stable tablet composition. */
@media (max-width: 980px) {
  body .container {
    inline-size: calc(100% - 36px) !important;
    max-inline-size: calc(100% - 36px) !important;
  }

  body .header-inner {
    grid-template-columns: minmax(126px, 168px) minmax(0, 1fr) auto !important;
    gap: 12px !important;
  }

  body .site-nav {
    inline-size: auto !important;
    max-inline-size: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  body .site-nav .nav-link {
    inline-size: 100%;
    min-block-size: 44px;
    white-space: normal !important;
  }

  body :is(
    .nd-hero__grid,
    .nd-client-path__head,
    .nd-strategy__layout,
    .nd-ownership__grid,
    .nd-tools__grid,
    .nd-final__grid,
    .opening__grid,
    .split-intro,
    .founder-layout,
    .investor-blueprint,
    .calc-modern,
    .contact-grid,
    .faq-classic-hero__grid,
    .faq-classic-layout,
    .cta-grid
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body :is(.opening__copy, .opening__visual, .opening__metrics, .nd-hero__copy, .nd-hero__showcase) {
    inline-size: 100% !important;
    max-inline-size: 100% !important;
  }

  body :is(.opening__metrics, .nd-hero__metrics) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .faq-classic-aside {
    position: static !important;
    inset: auto !important;
  }

  body .case-comparison__grid,
  body .case-comparison__grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body .footer-main--premium {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Phones: content is reorganised, not merely scaled down. */
@media (max-width: 760px) {
  body .container {
    inline-size: calc(100% - 28px) !important;
    max-inline-size: calc(100% - 28px) !important;
  }

  body :is(main, .nd-home) {
    inline-size: 100%;
    max-inline-size: 100%;
  }

  body :is(
    .nd-client-path__steps,
    .nd-cases__grid,
    .nd-faq-classic__cards,
    .feature-grid,
    .investor-benefits,
    .investor-blueprint__scheme-steps,
    .approach-map,
    .management-flow,
    .management-flow__row,
    .change-grid,
    .consider-grid,
    .calc-modern__metrics,
    .contact-cards,
    .case-story-grid,
    .case-comparison__grid,
    .case-comparison__grid--three,
    .form-grid,
    .metrics,
    .opening__metrics,
    .nd-hero__metrics,
    .footer-main--premium,
    .footer-bottom--premium
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body :is(
    .nd-case-card,
    .story-card-neo,
    .narrative-card,
    .feature-card,
    .contact-card,
    .appointment-panel,
    .opening__metrics,
    .nd-process-panel,
    .calc-modern__controls,
    .calc-modern__result,
    .case-comparison,
    .accent-board,
    .lead-form,
    .footer-cta
  ) {
    block-size: auto !important;
    max-block-size: none;
  }

  body :is(.opening__title, .faq-classic-hero__copy h1) {
    font-size: clamp(32px, 9.4vw, 48px) !important;
    line-height: .98 !important;
    letter-spacing: -.05em !important;
    white-space: normal !important;
    text-wrap: balance;
  }

  body :is(.title, .section-title, .nd-faq-classic__head h2, .lead-form__top h2) {
    font-size: clamp(29px, 8.3vw, 43px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance;
  }

  body :is(
    .opening__title > span,
    .opening__title > em,
    .title > span,
    .title > em,
    .hero-display__line,
    .hero-display__line--money > span,
    .hero-display__line--money > em
  ) {
    max-inline-size: 100% !important;
    white-space: normal !important;
  }

  body .case-comparison__tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    inline-size: 100%;
    overflow: visible !important;
  }

  body .case-comparison__tab {
    inline-size: 100%;
    min-block-size: 46px;
    white-space: normal !important;
    text-align: center;
  }

  body :is(.nd-hero__actions, .cta-actions, .opening__actions, .faq-classic-cta__inner) {
    inline-size: 100%;
  }

  body :is(.nd-hero__actions, .cta-actions, .opening__actions, .faq-classic-cta__inner) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    justify-items: stretch !important;
  }

  body :is(.nd-hero__actions, .cta-actions, .opening__actions) .button {
    inline-size: 100%;
    min-block-size: 48px;
    white-space: normal !important;
    text-align: center;
  }

  body :is(.faq-classic-cta__inner .button, .footer-cta__button) {
    inline-size: 100% !important;
    min-block-size: 48px;
    white-space: normal !important;
    text-align: center;
  }

  body :is(input, textarea, select) {
    inline-size: 100%;
    font-size: 16px !important;
  }

  body :is(button, .button, .nav-link, .text-link, .case-comparison__tab) {
    touch-action: manipulation;
  }

  body :is(.contact-card__value, .footer-contact__value, .footer-address, .footer-email-menu) {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body .modal {
    padding:
      max(10px, env(safe-area-inset-top))
      max(10px, env(safe-area-inset-right))
      max(10px, env(safe-area-inset-bottom))
      max(10px, env(safe-area-inset-left)) !important;
  }

  body :is(.modal-dialog, .process-mobile-modal__dialog, .email-choice-modal__dialog) {
    inline-size: 100% !important;
    max-inline-size: 560px !important;
    max-block-size: calc(100vh - 20px) !important;
    max-block-size: calc(100dvh - 20px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body .mobile-sticky-cta {
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    inline-size: auto !important;
    max-inline-size: none !important;
  }

  body .site-footer--premium {
    padding-bottom: calc(104px + env(safe-area-inset-bottom)) !important;
  }

  body .footer-cta {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  body .footer-bottom--premium {
    align-items: start !important;
    text-align: left !important;
  }
}

/* Compact phones, including 320–430px Safari viewports. */
@media (max-width: 430px) {
  body .container {
    inline-size: calc(100% - 24px) !important;
    max-inline-size: calc(100% - 24px) !important;
  }

  body :is(
    .nd-case-card__body,
    .story-card-neo__body,
    .narrative-card,
    .feature-card,
    .contact-card,
    .appointment-panel,
    .calc-modern__controls,
    .calc-modern__result,
    .case-comparison,
    .accent-board,
    .lead-form,
    .footer-cta
  ) {
    padding-inline: clamp(16px, 5vw, 22px) !important;
  }

  body :is(.opening__title, .faq-classic-hero__copy h1) {
    font-size: clamp(29px, 9.2vw, 40px) !important;
    letter-spacing: -.042em !important;
  }

  body :is(.title, .section-title, .nd-faq-classic__head h2, .lead-form__top h2) {
    font-size: clamp(27px, 8.4vw, 36px) !important;
  }

  body .nd-hero__copy .display.hero-display {
    font-size: clamp(28px, 9.2vw, 38px) !important;
    line-height: .96 !important;
    letter-spacing: -.04em !important;
  }

  body :is(.eyebrow, .opening__eyebrow, .story-card-neo__tag, .opening__visual-tag) {
    max-inline-size: 100%;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  body .case-comparison__tabs {
    gap: 8px !important;
  }

  body .case-comparison__tab {
    padding-inline: 10px !important;
    font-size: 12px !important;
  }

  body .footer-cta__button {
    inline-size: 100%;
    white-space: normal !important;
  }
}

@media (max-width: 360px) {
  body .container {
    inline-size: calc(100% - 20px) !important;
    max-inline-size: calc(100% - 20px) !important;
  }

  body .nd-hero__copy .display.hero-display {
    font-size: clamp(25px, 8.7vw, 31px) !important;
  }

  body :is(.opening__title, .faq-classic-hero__copy h1) {
    font-size: clamp(27px, 8.8vw, 33px) !important;
  }

  body .case-comparison__tabs {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body :is(.button, .footer-cta__button, .mobile-sticky-cta__button) {
    padding-inline: 12px !important;
    font-size: 12px !important;
    letter-spacing: .025em !important;
  }
}

/* Short landscape screens: dialogs and navigation remain reachable. */
@media (max-height: 600px) and (hover: none) {
  body .site-nav {
    max-block-size: calc(100dvh - 90px) !important;
  }

  body :is(.modal-dialog, .process-mobile-modal__dialog, .email-choice-modal__dialog) {
    max-block-size: calc(100dvh - 16px) !important;
  }
}

/* WebKit-specific viewport stability without changing other engines. */
@supports (-webkit-touch-callout: none) {
  html,
  body {
    min-block-size: -webkit-fill-available;
  }

  body :is(.site-header, .site-nav, .mobile-sticky-cta, .modal-dialog) {
    -webkit-transform: translateZ(0);
  }
}

/* v95 rollback: previous sectioned background restored. */

/* ============================================================
   v97 — calm unified background
   A quiet cream canvas with a very soft orange light. The page
   keeps one background through the entire scroll; orange remains
   an accent for actions rather than a competing decorative layer.
   ============================================================ */

html {
  background-color: #f7f3ec;
}

body {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  color: var(--ink);
  background: transparent !important;
  background-color: transparent !important;
}

body::before {
  position: fixed;
  inset: 0;
  z-index: -2;
  display: block;
  pointer-events: none;
  content: '';
  opacity: 1;
  background:
    radial-gradient(ellipse 72% 56% at 100% 0%, rgb(var(--accent-rgb) / .065), transparent 72%),
    radial-gradient(ellipse 68% 58% at 0% 100%, rgb(224 177 128 / .07), transparent 74%),
    linear-gradient(145deg, #fcfbf8 0%, #f7f2ea 52%, #faf7f1 100%);
  -webkit-mask-image: none;
  mask-image: none;
}

body::after {
  position: fixed;
  inset: 0;
  z-index: -1;
  display: block;
  pointer-events: none;
  content: '';
  background: linear-gradient(180deg, rgb(255 255 255 / .18), transparent 30%, rgb(255 255 255 / .08));
}

body main,
body .nd-home,
body main > section,
body .nd-home > section,
body :is(.section--paper, .section--cream, .section--soft, .section--dark),
body :is(.opening, .nd-hero, .faq-classic-hero, .faq-classic-content),
body .site-footer,
body .site-footer.site-footer--premium {
  border-color: transparent !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body :is(.nd-curve, .sand-transition)::before,
body :is(.nd-curve, .sand-transition)::after,
body .site-footer--premium::before,
body .site-footer--premium::after,
body .site-footer--premium .footer-ambient {
  display: none !important;
}

/* Former dark bands now use the same light canvas. */
body :is(
  .section--dark,
  .nd-curve--dark,
  .cta,
  .nd-ownership,
  .nd-final,
  .faq-classic-hero,
  .faq-classic-content,
  .site-footer,
  .site-footer--premium
) {
  color: var(--ink) !important;
  background: transparent !important;
  background-image: none !important;
}

body :is(
  .section--dark,
  .nd-curve--dark,
  .cta,
  .nd-ownership,
  .nd-final,
  .faq-classic-hero,
  .faq-classic-content,
  .site-footer,
  .site-footer--premium
) :is(h1, h2, h3, h4, b, strong, .title, .display) {
  color: var(--ink) !important;
  text-shadow: none !important;
}

body :is(
  .section--dark,
  .nd-curve--dark,
  .cta,
  .nd-ownership,
  .nd-final,
  .faq-classic-hero,
  .faq-classic-content,
  .site-footer,
  .site-footer--premium
) :is(p, li, span, small) {
  color: var(--ink-soft) !important;
  text-shadow: none !important;
}

body :is(
  .section--dark,
  .nd-curve--dark,
  .cta,
  .nd-ownership,
  .nd-final,
  .faq-classic-hero,
  .faq-classic-content,
  .site-footer,
  .site-footer--premium
) :is(.eyebrow, em) {
  color: var(--accent) !important;
}

body :is(.nd-text-link--light, .site-footer--premium a:not(.button)) {
  color: var(--ink) !important;
}

/* Quiet surfaces keep content readable without fragmenting the page. */
body :is(
  .nd-case-card,
  .story-card-neo,
  .narrative-card,
  .feature-card,
  .case-card,
  .opening__metrics,
  .opening__note,
  .nd-hero__tip,
  .nd-hero__metrics,
  .nd-client-path__budget,
  .nd-client-path__steps > li,
  .nd-process__item,
  .nd-process-panel,
  .nd-process-widget,
  .nd-calculator,
  .nd-faq-classic,
  .nd-ownership__points > div,
  .investor-benefits article,
  .investor-blueprint__scheme,
  .approach-map article,
  .management-flow article,
  .change-grid article,
  .consider-grid article,
  .metric,
  .contact-card,
  .appointment-panel,
  .calc-modern__controls,
  .calc-modern__result,
  .faq-classic-hero__note,
  .faq-gray-accordion .accordion-item,
  .accordion-item,
  .case-comparison,
  .case-comparison__tabs,
  .accent-board,
  .footer-cta,
  .modal-dialog,
  .lead-form
) {
  border-color: rgb(var(--ink-rgb) / .075) !important;
  color: var(--ink) !important;
  background: linear-gradient(145deg, rgb(255 255 255 / .86), rgb(255 252 247 / .76)) !important;
  box-shadow:
    0 18px 46px rgb(var(--ink-rgb) / .065),
    inset 0 1px 0 rgb(255 255 255 / .94) !important;
  -webkit-backdrop-filter: blur(12px) saturate(108%);
  backdrop-filter: blur(12px) saturate(108%);
}

body :is(
  .nd-case-card__body,
  .story-card-neo__body,
  .nd-process-panel__body,
  .investor-blueprint__scheme-note,
  .accordion-button,
  .accordion-body
) {
  background: transparent !important;
}

body :is(
  .nd-process-panel,
  .nd-process-widget,
  .investor-blueprint__scheme,
  .faq-classic-hero__note,
  .accent-board,
  .opening__metrics,
  .calc-modern__result,
  .nd-calculator,
  .nd-faq-classic,
  .contact-card,
  .appointment-panel,
  .footer-email-menu,
  .email-choice
) :is(h2, h3, h4, b, strong, label) {
  color: var(--ink) !important;
}

body :is(
  .nd-process-panel,
  .nd-process-widget,
  .investor-blueprint__scheme,
  .faq-classic-hero__note,
  .accent-board,
  .opening__metrics,
  .calc-modern__result,
  .nd-calculator,
  .nd-faq-classic,
  .contact-card,
  .appointment-panel,
  .footer-email-menu,
  .email-choice
) :is(p, li, span, small) {
  color: var(--ink-soft) !important;
}

body :is(.opening__visual-frame, .nd-hero__frame, .case-comparison__photo) {
  border-color: rgb(255 255 255 / .90) !important;
  box-shadow: 0 22px 52px rgb(var(--ink-rgb) / .10) !important;
}

/* Tabs stay obvious, but only the selected state is bright. */
body :is(.case-comparison__tab, .segmented button, .nd-process__item) {
  border-color: rgb(var(--ink-rgb) / .08) !important;
  color: var(--ink) !important;
  background: rgb(255 255 255 / .74) !important;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .90) !important;
}

body :is(.case-comparison__tab, .segmented button, .nd-process__item) :is(b, span, small, i) {
  color: inherit !important;
}

body :is(
  .case-comparison__tab.is-active,
  .segmented button.is-active,
  .nd-process__item.is-active
) {
  border-color: rgb(var(--accent-rgb) / .64) !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--accent), var(--accent-strong)) !important;
  box-shadow: 0 13px 28px rgb(var(--accent-rgb) / .20) !important;
}

body :is(
  .case-comparison__tab.is-active,
  .segmented button.is-active,
  .nd-process__item.is-active
) :is(b, span, small, i) {
  color: #fff !important;
}

body :is(
  .segmented,
  .nd-process-panel__top,
  .nd-process-widget__hero,
  .investor-blueprint__scheme-steps > div,
  .footer-email-menu,
  .email-choice
) {
  border-color: rgb(var(--ink-rgb) / .075) !important;
  color: var(--ink) !important;
  background: rgb(255 255 255 / .78) !important;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .92) !important;
}

body :is(input, textarea, select) {
  border-color: rgb(var(--ink-rgb) / .10) !important;
  color: var(--ink) !important;
  background: rgb(255 255 255 / .82) !important;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .92) !important;
}

body :is(input, textarea)::placeholder {
  color: rgb(var(--ink-rgb) / .44) !important;
}

body .faq-gray-accordion .accordion-button {
  color: var(--ink) !important;
}

body .faq-gray-accordion .accordion-button span {
  color: var(--accent) !important;
}

/* Header and navigation remain visually separate for orientation. */
body .site-header {
  border-color: rgb(var(--ink-rgb) / .065) !important;
  background: rgb(255 255 255 / .84) !important;
  box-shadow: 0 10px 30px rgb(var(--ink-rgb) / .065) !important;
  -webkit-backdrop-filter: blur(18px) saturate(112%);
  backdrop-filter: blur(18px) saturate(112%);
}

body .site-header :is(.nav-link, .header-phone) {
  color: var(--ink) !important;
}

body .site-header .nav-link.is-active {
  color: var(--accent-strong) !important;
}

body .site-footer--premium .footer-brand--premium > p,
body .site-footer--premium .footer-contact__value,
body .site-footer--premium .footer-nav a,
body .site-footer--premium .footer-bottom--premium,
body .site-footer--premium .footer-bottom__links a {
  color: rgb(var(--ink-rgb) / .74) !important;
}

body .site-footer--premium :is(.footer-label, .footer-cta__eyebrow) {
  color: var(--accent-strong) !important;
}

body .site-footer--premium .footer-contact__caption {
  color: rgb(var(--ink-rgb) / .48) !important;
}

body .site-footer--premium .footer-contact__value,
body .site-footer--premium .footer-contact__value span {
  color: rgb(var(--ink-rgb) / .86) !important;
}

body :is(.footer-email-menu, .email-choice) :is(a, button) {
  color: var(--ink) !important;
}

@media (max-width: 980px) {
  body .site-nav {
    border-color: rgb(var(--ink-rgb) / .075) !important;
    background: rgb(252 249 244 / .96) !important;
    box-shadow: 0 22px 52px rgb(var(--ink-rgb) / .11) !important;
    -webkit-backdrop-filter: blur(20px) saturate(112%);
    backdrop-filter: blur(20px) saturate(112%);
  }
}

@media (max-width: 760px) {
  body::before {
    background:
      radial-gradient(ellipse 96% 48% at 100% 0%, rgb(var(--accent-rgb) / .055), transparent 74%),
      linear-gradient(155deg, #fcfbf8 0%, #f7f2ea 58%, #faf7f1 100%);
  }

  body :is(
    .nd-case-card,
    .story-card-neo,
    .narrative-card,
    .feature-card,
    .opening__metrics,
    .nd-process-panel,
    .calc-modern__controls,
    .calc-modern__result,
    .case-comparison,
    .accent-board,
    .footer-cta
  ) {
    -webkit-backdrop-filter: blur(9px) saturate(106%);
    backdrop-filter: blur(9px) saturate(106%);
  }

  /* Process cards are all equal on touch devices: tapping any of
     them opens its details, so no card looks permanently selected. */
  html body .nd-process__item,
  html body .nd-process__item.is-active {
    border-color: rgb(var(--ink-rgb) / .08) !important;
    color: var(--ink) !important;
    background: linear-gradient(145deg, rgb(255 255 255 / .88), rgb(255 252 247 / .78)) !important;
    box-shadow:
      0 16px 38px rgb(var(--ink-rgb) / .06),
      inset 0 1px 0 rgb(255 255 255 / .94) !important;
  }

  body .nd-process__item.is-active b {
    color: var(--ink) !important;
  }

  body .nd-process__item span,
  body .nd-process__item.is-active span,
  body .nd-process__item .nd-process__mobile-cta,
  body .nd-process__item.is-active .nd-process__mobile-cta {
    color: var(--accent) !important;
  }

  body .nd-process__item .nd-process__mobile-cta,
  body .nd-process__item.is-active .nd-process__mobile-cta {
    border-color: rgb(var(--accent-rgb) / .22) !important;
    background: rgb(var(--accent-rgb) / .07) !important;
    box-shadow: none !important;
  }

  /* Keep the original mobile buttons untouched; only the title needs
     a dark colour on the light process card. */
  html body .nd-process__item > b,
  html body .nd-process__item.is-active > b {
    color: var(--ink) !important;
  }
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  body :is(
    .nd-case-card,
    .story-card-neo,
    .narrative-card,
    .feature-card,
    .opening__metrics,
    .nd-process-panel,
    .calc-modern__controls,
    .calc-modern__result,
    .case-comparison,
    .accent-board,
    .footer-cta,
    .modal-dialog,
    .lead-form
  ) {
    background: #fffdf9 !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  body :is(
    .nd-case-card,
    .story-card-neo,
    .narrative-card,
    .feature-card,
    .opening__metrics,
    .nd-process-panel,
    .calc-modern__controls,
    .calc-modern__result,
    .case-comparison,
    .accent-board,
    .footer-cta,
    .modal-dialog,
    .lead-form
  ) {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: #fffdf9 !important;
  }
}

/* v101: desktop-only fit for the homepage calculator heading.
   Mobile and single-column layouts keep their existing typography. */
@media (min-width: 1181px) {
  body .nd-tools .nd-calculator > .title {
    max-width: 100% !important;
    font-size: clamp(40px, 3.3vw, 48px) !important;
    line-height: .98 !important;
    letter-spacing: -.058em !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-wrap: wrap !important;
  }
}

/* ============================================================
   v102 — homepage desktop normalization
   The approved screenshots were made with the former desktop UI
   shown at roughly 80% browser zoom. These rules bake that density
   into real CSS dimensions, so the homepage keeps the same readable
   composition at 100% zoom on common PC resolutions. Mobile stays
   exactly on the existing responsive system below 981px.
   ============================================================ */
@media (min-width: 981px) {
  body[data-page="Главная"] {
    font-size: 14px;
  }

  body[data-page="Главная"] .container {
    inline-size: min(980px, calc(100% - 32px)) !important;
    width: min(980px, calc(100% - 32px)) !important;
    max-inline-size: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }

  /* Desktop header remains the full navigation even on compact PCs. */
  body[data-page="Главная"] .site-header,
  body[data-page="Главная"] .site-header.is-scrolled {
    top: 10px !important;
  }

  body[data-page="Главная"] .site-header .header-inner,
  body[data-page="Главная"] .site-header.is-scrolled .header-inner {
    min-height: 56px !important;
    grid-template-columns: 120px minmax(0, 1fr) 194px !important;
    gap: 8px !important;
    padding: 7px 9px 7px 14px !important;
    border-radius: 18px !important;
  }

  body[data-page="Главная"] .site-header .brand,
  body[data-page="Главная"] .site-header .brand-mark,
  body[data-page="Главная"] .site-header.is-scrolled .brand,
  body[data-page="Главная"] .site-header.is-scrolled .brand-mark {
    width: 120px !important;
    height: 38px !important;
    max-width: 120px !important;
    object-fit: contain !important;
  }

  body[data-page="Главная"] .site-header .site-nav,
  body[data-page="Главная"] .site-header.is-scrolled .site-nav {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(5px, .55vw, 8px) !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  html body[data-page="Главная"] .site-header .site-nav .nav-link,
  html body[data-page="Главная"] .site-header.is-scrolled .site-nav .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 28px !important;
    padding: 0 !important;
    font-size: 8.3px !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
    color: var(--ink) !important;
    background: transparent !important;
    white-space: nowrap !important;
  }

  html body[data-page="Главная"] .site-header .site-nav .nav-link:hover,
  html body[data-page="Главная"] .site-header .site-nav .nav-link.is-active {
    color: var(--accent-strong) !important;
    background: transparent !important;
  }

  html body[data-page="Главная"] .site-header .site-nav .mobile-nav-actions,
  html body[data-page="Главная"] .site-header.is-scrolled .site-nav .mobile-nav-actions {
    display: none !important;
  }

  body[data-page="Главная"] .site-header .menu-toggle {
    display: none !important;
  }

  body[data-page="Главная"] .site-header .header-actions,
  body[data-page="Главная"] .site-header.is-scrolled .header-actions {
    display: flex !important;
    width: 194px !important;
    min-width: 194px !important;
  }

  body[data-page="Главная"] .site-header .header-phone {
    display: none !important;
  }

  body[data-page="Главная"] .site-header .button.header-cta,
  body[data-page="Главная"] .site-header.is-scrolled .button.header-cta {
    min-height: 36px !important;
    padding-inline: 8px !important;
    font-size: 8.8px !important;
    gap: 8px !important;
  }

  body[data-page="Главная"] .site-header .button.header-cta svg {
    width: 14px !important;
    height: 14px !important;
  }

  /* Shared desktop controls are intentionally compact, never tiny. */
  body[data-page="Главная"] :is(.nd-home, .site-footer--premium) .button {
    min-height: 44px;
    padding-inline: 18px;
    gap: 9px;
    font-size: 10px;
  }

  body[data-page="Главная"] :is(.nd-home, .site-footer--premium) .button svg,
  body[data-page="Главная"] .nd-text-link svg {
    width: 15px;
    height: 15px;
  }

  body[data-page="Главная"] .nd-text-link {
    font-size: 10px;
  }

  /* Hero. */
  body[data-page="Главная"] .nd-hero {
    min-height: 0 !important;
    padding: 96px 0 27px !important;
  }

  body[data-page="Главная"] .nd-hero__grid {
    grid-template-columns: minmax(0, 596px) minmax(280px, 352px) !important;
    justify-content: space-between !important;
    gap: 29px !important;
    align-items: center !important;
  }

  body[data-page="Главная"] .nd-hero__copy,
  body[data-page="Главная"] .nd-hero__copy .display {
    width: 100% !important;
    max-width: 596px !important;
  }

  body[data-page="Главная"] .nd-hero__copy .display.hero-display {
    font-size: 47px !important;
    line-height: .91 !important;
    letter-spacing: -.068em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body[data-page="Главная"] .nd-hero .eyebrow {
    font-size: 8px !important;
    letter-spacing: .15em !important;
  }

  body[data-page="Главная"] .nd-hero__lead {
    max-width: 520px !important;
    margin-top: 16px !important;
    color: var(--ink-soft) !important;
    font-size: 15px !important;
    line-height: 1.48 !important;
  }

  body[data-page="Главная"] .nd-hero__actions {
    gap: 12px !important;
    margin-top: 24px !important;
  }

  body[data-page="Главная"] .nd-hero__context {
    gap: 8px 14px !important;
    margin-top: 16px !important;
    font-size: 8px !important;
  }

  body[data-page="Главная"] .nd-hero__caption {
    max-width: 520px !important;
    margin-top: 34px !important;
    padding-top: 14px !important;
    font-size: 8px !important;
  }

  body[data-page="Главная"] .nd-hero__tip {
    width: min(100%, 520px) !important;
    margin-top: 10px !important;
    padding: 9px 11px !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
  }

  body[data-page="Главная"] .nd-hero__showcase {
    width: 100% !important;
    max-width: 352px !important;
  }

  body[data-page="Главная"] .nd-hero__frame {
    border-radius: 27px 27px 60px 27px !important;
  }

  body[data-page="Главная"] .nd-hero__carousel {
    min-height: 288px !important;
  }

  body[data-page="Главная"] .nd-hero__frame-tag {
    left: 14px !important;
    bottom: 14px !important;
    padding: 9px 10px !important;
    border-radius: 10px !important;
    font-size: 9px !important;
  }

  body[data-page="Главная"] .nd-hero__frame-tag span,
  body[data-page="Главная"] .nd-hero__count {
    font-size: 8px !important;
  }

  body[data-page="Главная"] .nd-hero__count {
    margin-top: 11px !important;
  }

  /* What the client receives: keep all eight steps in the approved 4 x 2 grid. */
  body[data-page="Главная"] .nd-proof.nd-client-path {
    padding: 61px 0 102px !important;
  }

  body[data-page="Главная"] .nd-client-path__head {
    grid-template-columns: minmax(0, 1fr) 272px !important;
    gap: 58px !important;
    align-items: end !important;
  }

  body[data-page="Главная"] .nd-client-path__head .title {
    max-width: 610px !important;
    font-size: 49px !important;
    line-height: .94 !important;
  }

  body[data-page="Главная"] .nd-client-path__lead {
    max-width: 552px !important;
    margin-top: 18px !important;
    color: var(--ink-soft) !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
  }

  body[data-page="Главная"] .nd-client-path__budget {
    width: 272px !important;
    padding: 22px !important;
    border-radius: 22px !important;
  }

  body[data-page="Главная"] .nd-client-path__budget span {
    font-size: 9px !important;
  }

  body[data-page="Главная"] .nd-client-path__budget b {
    margin-top: 10px !important;
    font-size: 29px !important;
  }

  body[data-page="Главная"] .nd-client-path__budget small {
    margin-top: 9px !important;
    font-size: 11px !important;
  }

  body[data-page="Главная"] .nd-client-path__steps {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 13px !important;
    margin-top: 38px !important;
  }

  body[data-page="Главная"] .nd-client-path__steps > li {
    min-height: 168px !important;
    padding: 19px 18px 20px !important;
    border-radius: 19px !important;
  }

  body[data-page="Главная"] .nd-client-path__steps > li::before {
    right: 18px !important;
    left: 18px !important;
  }

  body[data-page="Главная"] .nd-client-path__steps > li > span {
    width: 30px !important;
    height: 30px !important;
    font-size: 9px !important;
  }

  body[data-page="Главная"] .nd-client-path__steps > li > b {
    margin-top: 16px !important;
    font-size: 16px !important;
  }

  body[data-page="Главная"] .nd-client-path__steps > li > p,
  body[data-page="Главная"] .nd-client-path__detail > p {
    margin-top: 9px !important;
    color: var(--ink-soft) !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  body[data-page="Главная"] .nd-client-path__toggle {
    min-height: 30px !important;
    margin-top: 14px !important;
    padding-inline: 14px !important;
    font-size: 9px !important;
  }

  body[data-page="Главная"] .nd-client-path__detail {
    margin-top: 12px !important;
    padding-top: 12px !important;
  }

  /* Strategy and process. */
  body[data-page="Главная"] .nd-client-path + .nd-strategy.nd-curve {
    padding-top: 86px !important;
  }

  body[data-page="Главная"] .nd-strategy {
    padding-bottom: 107px !important;
  }

  body[data-page="Главная"] .nd-strategy__head {
    display: grid !important;
    grid-template-columns: 300px minmax(0, 1fr) !important;
    gap: 88px !important;
    align-items: end !important;
  }

  body[data-page="Главная"] .nd-strategy__head > div,
  body[data-page="Главная"] .nd-strategy__head .title {
    width: 300px !important;
    max-width: 300px !important;
  }

  body[data-page="Главная"] .nd-strategy__head .title {
    font-size: 40px !important;
    line-height: .94 !important;
    letter-spacing: -.058em !important;
  }

  body[data-page="Главная"] .nd-strategy__head .nd-section-lead {
    width: 100% !important;
    max-width: 592px !important;
    color: var(--ink-soft) !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }

  body[data-page="Главная"] .nd-strategy__layout {
    grid-template-columns: minmax(0, 296px) minmax(0, 1fr) !important;
    gap: 22px !important;
    margin-top: 45px !important;
  }

  body[data-page="Главная"] .nd-process {
    gap: 7px !important;
  }

  body[data-page="Главная"] .nd-process__item,
  body[data-page="Главная"] .nd-process__item.is-active {
    grid-template-columns: 29px minmax(0, 1fr) 14px !important;
    gap: 10px !important;
    min-height: 62px !important;
    padding: 12px 13px !important;
    border-radius: 18px !important;
  }

  body[data-page="Главная"] .nd-process__item span,
  body[data-page="Главная"] .nd-process__item.is-active span {
    width: 26px !important;
    height: 26px !important;
    font-size: 8px !important;
  }

  body[data-page="Главная"] .nd-process__item b,
  body[data-page="Главная"] .nd-process__item.is-active b {
    font-size: 11px !important;
  }

  body[data-page="Главная"] .nd-process__item i,
  body[data-page="Главная"] .nd-process__item.is-active i {
    font-size: 15px !important;
  }

  body[data-page="Главная"] .nd-process-panel {
    min-height: 454px !important;
    padding: 27px !important;
    border-radius: 27px !important;
  }

  body[data-page="Главная"] .nd-process-panel__top {
    font-size: 8px !important;
  }

  body[data-page="Главная"] .nd-process-panel__body {
    grid-template-columns: minmax(0, 1.12fr) minmax(224px, .88fr) !important;
    gap: 22px !important;
    margin-top: 21px !important;
  }

  body[data-page="Главная"] .nd-process-panel h3 {
    font-size: 33px !important;
  }

  body[data-page="Главная"] .nd-process-panel p[data-process-desc] {
    margin-top: 12px !important;
    color: var(--ink-soft) !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
  }

  body[data-page="Главная"] .nd-process-panel ol {
    gap: 6px !important;
    margin-top: 18px !important;
  }

  body[data-page="Главная"] .nd-process-panel li {
    padding-left: 20px !important;
    color: var(--ink-soft) !important;
    font-size: 9.5px !important;
  }

  body[data-page="Главная"] .nd-process-panel__visual.nd-process-widget {
    padding: 18px !important;
    border-radius: 19px !important;
  }

  body[data-page="Главная"] .nd-process-widget {
    gap: 14px !important;
  }

  body[data-page="Главная"] .nd-process-widget__badge {
    padding: 6px 9px !important;
    font-size: 8px !important;
  }

  body[data-page="Главная"] .nd-process-widget__hero span {
    font-size: 9px !important;
  }

  body[data-page="Главная"] .nd-process-widget__hero b {
    font-size: 38px !important;
  }

  body[data-page="Главная"] .nd-process-widget__list {
    gap: 8px !important;
    padding: 13px !important;
    border-radius: 14px !important;
  }

  body[data-page="Главная"] .nd-process-widget__list li {
    padding-left: 15px !important;
    font-size: 10px !important;
  }

  /* Cases stay in one row. */
  body[data-page="Главная"] .nd-cases {
    padding-top: 62px !important;
    padding-bottom: 69px !important;
  }

  body[data-page="Главная"] .nd-cases__head .title {
    max-width: 656px !important;
    font-size: 49px !important;
    line-height: .94 !important;
  }

  body[data-page="Главная"] .nd-cases__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 19px !important;
    margin-top: 35px !important;
  }

  body[data-page="Главная"] .nd-case-card,
  body[data-page="Главная"] .nd-case-card:nth-child(3) {
    grid-column: auto !important;
    grid-template-columns: minmax(0, 1fr) !important;
    border-radius: 24px !important;
  }

  body[data-page="Главная"] .nd-case-card:nth-child(2) {
    transform: translateY(11px) !important;
  }

  body[data-page="Главная"] .nd-case-card__image,
  body[data-page="Главная"] .nd-case-card:nth-child(3) .nd-case-card__image {
    height: auto !important;
    aspect-ratio: 1.25 / 1 !important;
    margin: 10px 10px 0 !important;
    border-radius: 18px !important;
  }

  body[data-page="Главная"] .nd-case-card__body {
    min-height: 280px !important;
    padding: 18px 19px 20px !important;
  }

  body[data-page="Главная"] .nd-case-card__body p {
    padding: 6px 8px !important;
    font-size: 8px !important;
  }

  body[data-page="Главная"] .nd-case-card__body h3 {
    margin-top: 14px !important;
    font-size: 27px !important;
  }

  body[data-page="Главная"] .nd-case-card__body span {
    margin-top: 11px !important;
    max-width: 216px !important;
    color: var(--ink-soft) !important;
    font-size: 11px !important;
  }

  body[data-page="Главная"] .nd-case-card__body b {
    padding-top: 18px !important;
    font-size: 46px !important;
  }

  body[data-page="Главная"] .nd-case-card__body .nd-text-link {
    margin-top: 14px !important;
  }

  /* Ownership promise and supporting cards. */
  body[data-page="Главная"] .nd-ownership {
    padding-top: 37px !important;
    padding-bottom: 32px !important;
  }

  body[data-page="Главная"] .nd-ownership__grid {
    grid-template-columns: minmax(0, 1fr) 256px !important;
    gap: 32px !important;
    align-items: start !important;
  }

  body[data-page="Главная"] .nd-ownership__copy {
    max-width: 688px !important;
  }

  body[data-page="Главная"] .nd-ownership__copy .title.title--two-line {
    max-width: 688px !important;
    font-size: 44px !important;
    line-height: .92 !important;
    letter-spacing: -.064em !important;
  }

  body[data-page="Главная"] .nd-ownership__copy .title.title--two-line > span,
  body[data-page="Главная"] .nd-ownership__copy .title.title--two-line > em {
    white-space: nowrap !important;
  }

  body[data-page="Главная"] .nd-ownership__copy > p:not(.eyebrow) {
    max-width: 500px !important;
    margin-top: 20px !important;
    color: var(--ink-soft) !important;
    font-size: 12px !important;
    line-height: 1.62 !important;
  }

  body[data-page="Главная"] .nd-ownership__copy .nd-text-link {
    margin-top: 18px !important;
  }

  body[data-page="Главная"] .nd-ownership__points {
    grid-template-columns: 1fr !important;
    gap: 11px !important;
    width: 256px !important;
    max-width: 256px !important;
    margin-top: 10px !important;
  }

  body[data-page="Главная"] .nd-ownership__points > div {
    min-height: 94px !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }

  body[data-page="Главная"] .nd-ownership__points b {
    margin-bottom: 6px !important;
    font-size: 11px !important;
  }

  body[data-page="Главная"] .nd-ownership__points span {
    color: var(--ink-soft) !important;
    font-size: 9.5px !important;
  }

  /* Calculator and FAQ retain their approved side-by-side desktop layout. */
  body[data-page="Главная"] .nd-tools {
    padding-top: 120px !important;
    padding-bottom: 104px !important;
  }

  body[data-page="Главная"] .nd-tools__grid {
    grid-template-columns: minmax(0, 410px) minmax(0, 1fr) !important;
    gap: 45px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator > .title {
    max-width: 410px !important;
    font-size: 38px !important;
    line-height: .98 !important;
  }

  body[data-page="Главная"] .nd-calculator > p:not(.eyebrow) {
    max-width: 368px !important;
    margin-top: 16px !important;
    color: var(--ink-soft) !important;
    font-size: 12px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator .nd-calculator__card {
    gap: 8px !important;
    margin: 22px 0 19px !important;
    padding: 8px !important;
    border-radius: 22px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator .nd-calculator__card > div {
    min-height: 86px !important;
    padding: 13px 11px !important;
    border-radius: 16px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator .nd-calculator__card > div span {
    font-size: 8px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator .nd-calculator__card > div b,
  body[data-page="Главная"] .nd-tools .nd-calculator .nd-calculator__card > div:first-child b {
    margin-top: 11px !important;
    font-size: 15px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator .nd-calculator__card aside {
    min-height: 94px !important;
    padding: 18px 19px !important;
    border-radius: 19px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator .nd-calculator__card aside span {
    font-size: 8px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator .nd-calculator__card aside strong {
    font-size: 35px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator .nd-calculator__card aside small {
    padding: 6px 10px !important;
    font-size: 9px !important;
  }

  body[data-page="Главная"] .nd-faq-classic {
    padding: 29px !important;
    border-radius: 27px !important;
  }

  body[data-page="Главная"] .nd-faq-classic__head h2 {
    max-width: 340px !important;
    font-size: 29px !important;
  }

  body[data-page="Главная"] .nd-faq-classic__cards {
    gap: 8px !important;
    margin-top: 19px !important;
  }

  body[data-page="Главная"] .nd-faq-classic__card {
    grid-template-columns: 24px minmax(0, 1fr) 13px !important;
    gap: 8px !important;
    min-height: 66px !important;
    padding: 12px !important;
    border-radius: 14px !important;
  }

  body[data-page="Главная"] .nd-faq-classic__card span {
    font-size: 8px !important;
  }

  body[data-page="Главная"] .nd-faq-classic__card b {
    font-size: 10px !important;
  }

  body[data-page="Главная"] .nd-faq-classic__footer {
    margin-top: 14px !important;
    padding-top: 13px !important;
    font-size: 9.5px !important;
  }

  /* Final orange CTA: same proportions, now with real contrast. */
  body[data-page="Главная"] .nd-final {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  body[data-page="Главная"] .nd-final__grid {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 30px !important;
    padding: 32px 38px !important;
    border-radius: 28px !important;
  }

  body[data-page="Главная"] .nd-final__grid > div:first-child {
    min-width: 0 !important;
    max-width: 600px !important;
  }

  body[data-page="Главная"] .nd-final__grid .eyebrow {
    color: var(--ink) !important;
    font-size: 8px !important;
  }

  body[data-page="Главная"] .nd-final__grid .title {
    max-width: 600px !important;
    color: var(--ink) !important;
    font-size: 36px !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
  }

  body[data-page="Главная"] .nd-final__grid .title em {
    color: var(--white) !important;
  }

  body[data-page="Главная"] .nd-final__action {
    gap: 11px !important;
    min-width: 200px !important;
    width: 200px !important;
  }

  body[data-page="Главная"] .nd-final__action .button {
    width: 200px !important;
    min-height: 40px !important;
  }

  body[data-page="Главная"] .nd-final__action span {
    max-width: 200px !important;
    color: rgb(var(--ink-rgb) / .78) !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
  }

  /* Homepage footer follows the same 980px desktop rhythm. */
  body[data-page="Главная"] .site-footer--premium .footer-shell {
    padding-top: 21px !important;
    padding-bottom: 14px !important;
  }

  body[data-page="Главная"] .site-footer--premium .footer-cta {
    grid-template-columns: minmax(0, 1fr) 258px !important;
    gap: 58px !important;
    min-height: 134px !important;
    padding: 32px !important;
    border-radius: 24px !important;
  }

  body[data-page="Главная"] .site-footer--premium .footer-cta__copy {
    max-width: 576px !important;
  }

  body[data-page="Главная"] .site-footer--premium .footer-cta__eyebrow {
    gap: 8px !important;
    margin-bottom: 12px !important;
    font-size: 8px !important;
  }

  body[data-page="Главная"] .site-footer--premium .footer-cta h2 {
    max-width: 560px !important;
    font-size: 46px !important;
  }

  body[data-page="Главная"] .site-footer--premium .footer-cta__copy > p:last-child {
    max-width: 480px !important;
    margin-top: 14px !important;
    font-size: 10px !important;
  }

  body[data-page="Главная"] .site-footer--premium .footer-cta__button {
    min-width: 0 !important;
    width: 206px !important;
    min-height: 46px !important;
    justify-self: end !important;
  }

  body[data-page="Главная"] .site-footer--premium .footer-main--premium {
    grid-template-columns: 330px 206px 286px !important;
    gap: 77px !important;
    padding: 37px 0 27px !important;
  }

  body[data-page="Главная"] .site-footer--premium .footer-brand .brand--footer {
    width: 216px !important;
    min-height: 85px !important;
    margin-bottom: 19px !important;
    padding: 11px 19px !important;
    border-radius: 19px !important;
  }

  body[data-page="Главная"] .site-footer--premium .footer-brand--premium > p,
  body[data-page="Главная"] .site-footer--premium .footer-nav a,
  body[data-page="Главная"] .site-footer--premium .footer-contact__value {
    font-size: 10px !important;
  }

  body[data-page="Главная"] .site-footer--premium .footer-label,
  body[data-page="Главная"] .site-footer--premium .footer-contact__caption {
    font-size: 8px !important;
  }

  body[data-page="Главная"] .site-footer--premium .footer-bottom--premium {
    margin-top: 8px !important;
    padding-top: 14px !important;
    font-size: 8px !important;
  }
}

/* ============================================================
   v103 — Company page desktop normalization
   Recreates the approved 2048 px desktop screenshots at 100% browser
   zoom. The mobile/tablet presentation below 981 px is unchanged.
   ============================================================ */
@media (min-width: 981px) {
  body[data-page="О компании"] {
    font-size: 14px;
  }

  body[data-page="О компании"] .container {
    inline-size: min(980px, calc(100% - 32px)) !important;
    width: min(980px, calc(100% - 32px)) !important;
    max-inline-size: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }

  /* Fixed desktop header. */
  body[data-page="О компании"] .site-header,
  body[data-page="О компании"] .site-header.is-scrolled {
    top: 10px !important;
    padding: 0 !important;
  }

  body[data-page="О компании"] .site-header .header-inner,
  body[data-page="О компании"] .site-header.is-scrolled .header-inner {
    min-height: 56px !important;
    grid-template-columns: 120px minmax(0, 1fr) 194px !important;
    gap: 8px !important;
    padding: 7px 9px 7px 14px !important;
    border-radius: 18px !important;
  }

  body[data-page="О компании"] .site-header .brand,
  body[data-page="О компании"] .site-header .brand-mark,
  body[data-page="О компании"] .site-header.is-scrolled .brand,
  body[data-page="О компании"] .site-header.is-scrolled .brand-mark {
    width: 120px !important;
    height: 38px !important;
    max-width: 120px !important;
    object-fit: contain !important;
  }

  body[data-page="О компании"] .site-header .site-nav,
  body[data-page="О компании"] .site-header.is-scrolled .site-nav {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(5px, .55vw, 8px) !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  html body[data-page="О компании"] .site-header .site-nav .nav-link,
  html body[data-page="О компании"] .site-header.is-scrolled .site-nav .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 28px !important;
    padding: 0 !important;
    color: var(--ink) !important;
    background: transparent !important;
    font-size: 8.3px !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
  }

  html body[data-page="О компании"] .site-header .site-nav .nav-link:hover,
  html body[data-page="О компании"] .site-header .site-nav .nav-link.is-active {
    color: var(--accent-strong) !important;
    background: transparent !important;
  }

  html body[data-page="О компании"] .site-header .site-nav .mobile-nav-actions,
  html body[data-page="О компании"] .site-header.is-scrolled .site-nav .mobile-nav-actions,
  body[data-page="О компании"] .site-header .menu-toggle {
    display: none !important;
  }

  body[data-page="О компании"] .site-header .header-actions,
  body[data-page="О компании"] .site-header.is-scrolled .header-actions {
    display: flex !important;
    width: 194px !important;
    min-width: 194px !important;
  }

  body[data-page="О компании"] .site-header .header-phone {
    display: none !important;
  }

  body[data-page="О компании"] .site-header .button.header-cta,
  body[data-page="О компании"] .site-header.is-scrolled .button.header-cta {
    min-height: 36px !important;
    padding-inline: 8px !important;
    gap: 8px !important;
    font-size: 8.8px !important;
  }

  body[data-page="О компании"] .site-header .button.header-cta svg {
    width: 14px !important;
    height: 14px !important;
  }

  body[data-page="О компании"] :is(main, .site-footer--premium) .button {
    min-height: 44px;
    padding-inline: 18px;
    gap: 9px;
    font-size: 10px;
  }

  body[data-page="О компании"] :is(main, .site-footer--premium) .button svg {
    width: 15px;
    height: 15px;
  }

  /* Opening block. */
  body[data-page="О компании"] .opening--company {
    min-height: 0 !important;
    padding: 99px 0 42px !important;
  }

  body[data-page="О компании"] .opening--company .opening__grid {
    grid-template-columns: minmax(0, 1fr) 272px !important;
    gap: 38px !important;
    align-items: start !important;
  }

  body[data-page="О компании"] .opening--company .opening__copy {
    width: 100% !important;
    max-width: none !important;
  }

  body[data-page="О компании"] .opening--company .opening__crumbs {
    gap: 6px !important;
    margin-bottom: 21px !important;
    font-size: 8px !important;
  }

  body[data-page="О компании"] .opening--company .opening__eyebrow {
    gap: 8px !important;
    margin-bottom: 10px !important;
    font-size: 8px !important;
  }

  body[data-page="О компании"] .opening--company .opening__eyebrow::before {
    width: 24px !important;
  }

  body[data-page="О компании"] .opening--company .opening__title.opening__title--two-line {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 48px !important;
    line-height: .93 !important;
    letter-spacing: -.062em !important;
  }

  body[data-page="О компании"] .opening--company .opening__title.opening__title--two-line > span,
  body[data-page="О компании"] .opening--company .opening__title.opening__title--two-line > em {
    display: block !important;
    white-space: nowrap !important;
  }

  body[data-page="О компании"] .opening--company .opening__lead {
    max-width: 520px !important;
    margin-top: 15px !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }

  body[data-page="О компании"] .opening--company .opening__note {
    width: min(100%, 352px) !important;
    margin-top: 16px !important;
    padding: 9px 11px !important;
    border-radius: 11px !important;
    gap: 7px !important;
    font-size: 8px !important;
    line-height: 1.48 !important;
  }

  body[data-page="О компании"] .opening--company .opening__note-icon {
    font-size: 10px !important;
  }

  body[data-page="О компании"] .opening--company .opening__metrics {
    display: block !important;
    width: 272px !important;
    max-width: 272px !important;
    justify-self: end !important;
    align-self: start !important;
    padding: 14px 14px 13px !important;
    border-radius: 15px !important;
  }

  body[data-page="О компании"] .opening--company .opening__metrics > p {
    margin: 0 0 8px !important;
    font-size: 7.2px !important;
  }

  body[data-page="О компании"] .opening--company .opening__metric,
  body[data-page="О компании"] .opening--company .opening__metric:first-of-type {
    gap: 3px !important;
    padding: 9px 0 !important;
  }

  body[data-page="О компании"] .opening--company .opening__metric b {
    font-size: 18.5px !important;
  }

  body[data-page="О компании"] .opening--company .opening__metric span {
    font-size: 8px !important;
    line-height: 1.38 !important;
  }

  body[data-page="О компании"] .opening--company .opening__link {
    margin-top: 8px !important;
    padding-top: 10px !important;
    gap: 6px !important;
    font-size: 8px !important;
  }

  body[data-page="О компании"] .opening--company .opening__link svg {
    width: 13px !important;
    height: 13px !important;
  }

  /* Smooth separators keep the same proportions as the reference. */
  body[data-page="О компании"] .opening--company::after {
    height: 101px !important;
  }

  body[data-page="О компании"] .section--paper + .section--cream::before {
    top: -61px !important;
    height: 98px !important;
  }

  body[data-page="О компании"] .section--cream + .section--dark::before {
    top: -66px !important;
    height: 106px !important;
  }

  /* Team facts. */
  body[data-page="О компании"] main > .section {
    padding-top: 62px !important;
    padding-bottom: 62px !important;
  }

  body[data-page="О компании"] .opening--company + .section.section--paper {
    padding-top: 14px !important;
  }

  body[data-page="О компании"] .split-intro {
    grid-template-columns: 1.06fr .94fr !important;
    gap: 128px !important;
    align-items: end !important;
  }

  body[data-page="О компании"] .split-intro__right {
    padding-bottom: 7px !important;
  }

  body[data-page="О компании"] main .eyebrow {
    font-size: 8px !important;
    letter-spacing: .16em !important;
  }

  body[data-page="О компании"] main .eyebrow::before {
    width: 27px !important;
  }

  body[data-page="О компании"] main .title {
    font-size: 49px !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;
  }

  body[data-page="О компании"] main .section-lead {
    max-width: 472px !important;
    margin-top: 19px !important;
    font-size: 13.5px !important;
    line-height: 1.7 !important;
  }

  body[data-page="О компании"] .metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 56px !important;
    border: 0 !important;
  }

  body[data-page="О компании"] .metric,
  body[data-page="О компании"] .metric:first-child {
    min-height: 125px !important;
    padding: 22px 20px 18px !important;
    border: 1px solid var(--line) !important;
    border-radius: 18px !important;
  }

  body[data-page="О компании"] .metric b {
    margin-bottom: 8px !important;
    font-size: 32px !important;
    line-height: .85 !important;
  }

  body[data-page="О компании"] .metric span {
    max-width: 136px !important;
    font-size: 8.8px !important;
    line-height: 1.4 !important;
  }

  /* Founder. */
  body[data-page="О компании"] .founder-layout {
    grid-template-columns: 336px minmax(0, 1fr) !important;
    gap: 54px !important;
    align-items: center !important;
  }

  body[data-page="О компании"] .founder-upload--leader {
    width: 336px !important;
    max-width: 336px !important;
    padding: 22px !important;
    gap: 14px !important;
    border-radius: 27px !important;
  }

  body[data-page="О компании"] .founder-upload--leader .founder-upload__frame {
    width: min(100%, 296px) !important;
    padding: 11px !important;
    border-radius: 24px !important;
  }

  body[data-page="О компании"] .founder-upload--leader .founder-upload__frame img {
    border-radius: 19px !important;
  }

  body[data-page="О компании"] .founder-upload--leader .founder-upload__person {
    width: min(100%, 288px) !important;
    padding: 13px 14px !important;
    border-radius: 18px !important;
  }

  body[data-page="О компании"] .founder-upload--leader .founder-upload__person-name {
    font-size: 22px !important;
    line-height: 1.08 !important;
  }

  body[data-page="О компании"] .founder-layout > :last-child {
    width: 100% !important;
    max-width: none !important;
  }

  body[data-page="О компании"] .founder-layout .title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 43px !important;
    line-height: .98 !important;
  }

  body[data-page="О компании"] .check-list {
    gap: 10px !important;
    margin-top: 25px !important;
  }

  body[data-page="О компании"] .check-list li {
    padding-left: 18px !important;
    font-size: 10.4px !important;
  }

  body[data-page="О компании"] .check-list li::before {
    width: 9px !important;
    height: 9px !important;
    box-shadow: inset 0 0 0 2px var(--white) !important;
  }

  /* Four-step approach. */
  body[data-page="О компании"] .approach-top {
    max-width: 608px !important;
  }

  body[data-page="О компании"] .approach-map {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 11px !important;
    margin-top: 48px !important;
  }

  body[data-page="О компании"] .approach-map article {
    min-height: 184px !important;
    padding: 20px !important;
    border-radius: 18px !important;
  }

  body[data-page="О компании"] .approach-map article::after {
    top: 35px !important;
    right: -12px !important;
    width: 13px !important;
  }

  body[data-page="О компании"] .approach-map span {
    font-size: 9.6px !important;
  }

  body[data-page="О компании"] .approach-map h3 {
    margin: 61px 0 8px !important;
    font-size: 17px !important;
  }

  body[data-page="О компании"] .approach-map p {
    font-size: 9.6px !important;
    line-height: 1.6 !important;
  }

  /* Orange company CTA. */
  body[data-page="О компании"] .cta {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  body[data-page="О компании"] .cta-grid {
    gap: 28px !important;
    padding: 45px !important;
    border-radius: 29px !important;
  }

  body[data-page="О компании"] .cta .title {
    max-width: 584px !important;
    font-size: 49px !important;
  }

  body[data-page="О компании"] .cta-actions {
    gap: 9px !important;
  }

  /* Footer follows the same approved 980 px rhythm as the homepage. */
  body[data-page="О компании"] .site-footer--premium .footer-shell {
    padding-top: 21px !important;
    padding-bottom: 14px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-cta {
    grid-template-columns: minmax(0, 1fr) 258px !important;
    gap: 58px !important;
    min-height: 134px !important;
    padding: 32px !important;
    border-radius: 24px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-cta__copy {
    max-width: 576px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-cta__eyebrow {
    gap: 8px !important;
    margin-bottom: 12px !important;
    font-size: 8px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-cta h2 {
    max-width: 560px !important;
    font-size: 46px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-cta__copy > p:last-child {
    max-width: 480px !important;
    margin-top: 14px !important;
    font-size: 10px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-cta__button {
    min-width: 0 !important;
    width: 206px !important;
    min-height: 46px !important;
    justify-self: end !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-main--premium {
    grid-template-columns: 330px 206px 286px !important;
    gap: 77px !important;
    padding: 37px 0 27px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-brand .brand--footer {
    width: 216px !important;
    max-width: 216px !important;
    min-height: 85px !important;
    margin-bottom: 19px !important;
    padding: 11px 19px !important;
    border-radius: 19px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-brand--premium > p,
  body[data-page="О компании"] .site-footer--premium .footer-nav a,
  body[data-page="О компании"] .site-footer--premium .footer-contact__value {
    font-size: 10px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-label,
  body[data-page="О компании"] .site-footer--premium .footer-contact__caption {
    font-size: 8px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-bottom--premium {
    margin-top: 8px !important;
    padding-top: 14px !important;
    font-size: 8px !important;
  }
}

/* Very compact PC widths keep the desktop composition without overflow. */
@media (min-width: 981px) and (max-width: 1100px) {
  body[data-page="О компании"] .split-intro {
    gap: 72px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-cta {
    grid-template-columns: minmax(0, 1fr) 220px !important;
    gap: 30px !important;
  }

  body[data-page="О компании"] .site-footer--premium .footer-main--premium {
    grid-template-columns: minmax(280px, 1.15fr) minmax(160px, .72fr) minmax(240px, 1fr) !important;
    gap: 28px !important;
  }
}

/* ============================================================
   v104 — Investors page desktop normalization
   Matches the approved 2048 px desktop reference at 100% browser
   zoom while leaving the existing mobile/tablet layout unchanged.
   ============================================================ */
@media (min-width: 981px) {
  body[data-page="Инвесторам"] {
    font-size: 14px;
  }

  body[data-page="Инвесторам"] .container {
    inline-size: min(980px, calc(100% - 32px)) !important;
    width: min(980px, calc(100% - 32px)) !important;
    max-inline-size: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }

  /* The approved compact desktop header remains visible on every PC. */
  body[data-page="Инвесторам"] .site-header,
  body[data-page="Инвесторам"] .site-header.is-scrolled {
    top: 10px !important;
    padding: 0 !important;
  }

  body[data-page="Инвесторам"] .site-header .header-inner,
  body[data-page="Инвесторам"] .site-header.is-scrolled .header-inner {
    min-height: 56px !important;
    grid-template-columns: 120px minmax(0, 1fr) 194px !important;
    gap: 8px !important;
    padding: 7px 9px 7px 14px !important;
    border-radius: 18px !important;
  }

  body[data-page="Инвесторам"] .site-header .brand,
  body[data-page="Инвесторам"] .site-header .brand-mark,
  body[data-page="Инвесторам"] .site-header.is-scrolled .brand,
  body[data-page="Инвесторам"] .site-header.is-scrolled .brand-mark {
    width: 120px !important;
    height: 38px !important;
    max-width: 120px !important;
    object-fit: contain !important;
  }

  body[data-page="Инвесторам"] .site-header .site-nav,
  body[data-page="Инвесторам"] .site-header.is-scrolled .site-nav {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(5px, .55vw, 8px) !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: var(--ink) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  html body[data-page="Инвесторам"] .site-header .site-nav .nav-link,
  html body[data-page="Инвесторам"] .site-header.is-scrolled .site-nav .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 28px !important;
    padding: 0 !important;
    color: var(--ink) !important;
    background: transparent !important;
    font-size: 8.3px !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
  }

  html body[data-page="Инвесторам"] .site-header .site-nav .nav-link:hover,
  html body[data-page="Инвесторам"] .site-header .site-nav .nav-link.is-active,
  html body[data-page="Инвесторам"] .site-header.is-scrolled .site-nav .nav-link:hover,
  html body[data-page="Инвесторам"] .site-header.is-scrolled .site-nav .nav-link.is-active {
    color: var(--accent-strong) !important;
    background: transparent !important;
  }

  html body[data-page="Инвесторам"] .site-header .site-nav .mobile-nav-actions,
  html body[data-page="Инвесторам"] .site-header.is-scrolled .site-nav .mobile-nav-actions,
  body[data-page="Инвесторам"] .site-header .menu-toggle {
    display: none !important;
  }

  body[data-page="Инвесторам"] .site-header .header-actions,
  body[data-page="Инвесторам"] .site-header.is-scrolled .header-actions {
    display: flex !important;
    width: 194px !important;
    min-width: 194px !important;
  }

  body[data-page="Инвесторам"] .site-header .header-phone {
    display: none !important;
  }

  body[data-page="Инвесторам"] .site-header .button.header-cta,
  body[data-page="Инвесторам"] .site-header.is-scrolled .button.header-cta {
    min-height: 36px !important;
    padding-inline: 8px !important;
    gap: 8px !important;
    font-size: 8.8px !important;
  }

  body[data-page="Инвесторам"] .site-header .button.header-cta svg {
    width: 14px !important;
    height: 14px !important;
  }

  body[data-page="Инвесторам"] :is(main, .site-footer--premium) .button {
    min-height: 44px;
    padding-inline: 18px;
    gap: 9px;
    font-size: 10px;
  }

  body[data-page="Инвесторам"] :is(main, .site-footer--premium) .button svg {
    width: 15px;
    height: 15px;
  }

  /* Opening block. */
  body[data-page="Инвесторам"] .opening--investors {
    min-height: 0 !important;
    padding: 104px 0 78px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__grid {
    grid-template-columns: minmax(0, 1fr) 272px !important;
    gap: 38px !important;
    align-items: start !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__copy {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__crumbs {
    gap: 6px !important;
    margin-bottom: 21px !important;
    font-size: 8px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__eyebrow {
    gap: 8px !important;
    margin-bottom: 10px !important;
    font-size: 8px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__eyebrow::before {
    width: 24px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__title.opening__title--investors-two {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 48px !important;
    line-height: .93 !important;
    letter-spacing: -.062em !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__title.opening__title--investors-two > span,
  body[data-page="Инвесторам"] .opening--investors .opening__title.opening__title--investors-two > em {
    display: block !important;
    white-space: nowrap !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__lead {
    max-width: 520px !important;
    margin-top: 15px !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__note {
    width: min(100%, 352px) !important;
    max-width: 352px !important;
    margin-top: 16px !important;
    padding: 9px 11px !important;
    border-radius: 11px !important;
    gap: 7px !important;
    font-size: 8px !important;
    line-height: 1.48 !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__note-icon {
    font-size: 10px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__metrics {
    display: block !important;
    width: 272px !important;
    max-width: 272px !important;
    justify-self: end !important;
    align-self: start !important;
    padding: 14px 14px 13px !important;
    border-radius: 15px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__metrics > p {
    margin: 0 0 8px !important;
    font-size: 7.2px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__metric,
  body[data-page="Инвесторам"] .opening--investors .opening__metric:first-of-type {
    gap: 3px !important;
    padding: 9px 0 !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__metric b {
    font-size: 18.5px !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__metric span {
    margin-top: 0 !important;
    font-size: 8px !important;
    line-height: 1.38 !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__link {
    margin-top: 8px !important;
    padding-top: 10px !important;
    gap: 6px !important;
    font-size: 8px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__link svg {
    width: 13px !important;
    height: 13px !important;
  }

  body[data-page="Инвесторам"] .opening--investors::after {
    height: 101px !important;
  }

  /* Benefits: exact 3 × 2 desktop card field. */
  body[data-page="Инвесторам"] main > .section {
    padding-top: 62px !important;
    padding-bottom: 62px !important;
  }

  body[data-page="Инвесторам"] .opening--investors + .section.section--paper {
    padding-top: 15px !important;
    padding-bottom: 104px !important;
  }

  body[data-page="Инвесторам"] .split-intro {
    grid-template-columns: 1.06fr .94fr !important;
    gap: 128px !important;
    align-items: end !important;
  }

  body[data-page="Инвесторам"] .split-intro__right {
    padding-bottom: 7px !important;
  }

  body[data-page="Инвесторам"] main .eyebrow {
    font-size: 8px !important;
    letter-spacing: .16em !important;
  }

  body[data-page="Инвесторам"] main .eyebrow::before {
    width: 27px !important;
  }

  body[data-page="Инвесторам"] main .title {
    font-size: 43px !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;
  }

  body[data-page="Инвесторам"] .split-intro .title {
    max-width: 460px !important;
  }

  body[data-page="Инвесторам"] main .section-lead {
    max-width: 472px !important;
    margin-top: 18px !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
  }

  body[data-page="Инвесторам"] .investor-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 48px !important;
  }

  body[data-page="Инвесторам"] .investor-benefits article {
    min-height: 201px !important;
    padding: 20px 18px 18px !important;
    border-radius: 18px !important;
  }

  body[data-page="Инвесторам"] .investor-benefits span {
    font-size: 9px !important;
  }

  body[data-page="Инвесторам"] .investor-benefits b {
    margin-top: 47px !important;
    font-size: 16px !important;
    line-height: 1.22 !important;
    letter-spacing: -.035em !important;
  }

  body[data-page="Инвесторам"] .investor-benefits p {
    margin-top: 9px !important;
    font-size: 10px !important;
    line-height: 1.48 !important;
  }

  body[data-page="Инвесторам"] .disclaimer {
    margin-top: 22px !important;
    font-size: 10px !important;
    line-height: 1.5 !important;
  }

  /* Portfolio route. */
  body[data-page="Инвесторам"] .section--dark {
    padding-top: 118px !important;
    padding-bottom: 108px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint {
    grid-template-columns: minmax(0, 430px) minmax(0, 510px) !important;
    gap: 40px !important;
    align-items: center !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__copy {
    width: 100% !important;
    max-width: 430px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint .title {
    width: 100% !important;
    max-width: 430px !important;
    font-size: 43px !important;
    line-height: .94 !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint .section-lead {
    max-width: 420px !important;
    margin-top: 18px !important;
    color: var(--ink-soft) !important;
    font-size: 11px !important;
    line-height: 1.58 !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint .button {
    min-height: 44px !important;
    margin-top: 4px !important;
    padding-inline: 20px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme {
    width: 510px !important;
    max-width: 510px !important;
    padding: 24px !important;
    border-radius: 25px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme-label {
    margin: 0 0 16px !important;
    font-size: 9px !important;
    letter-spacing: .14em !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme-steps > div {
    min-height: 103px !important;
    padding: 14px 14px 12px !important;
    border-radius: 17px !important;
    gap: 5px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme-steps span {
    width: 28px !important;
    height: 28px !important;
    font-size: 9px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme-steps b {
    font-size: 19px !important;
    line-height: .98 !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme-steps small {
    font-size: 10px !important;
    line-height: 1.35 !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme-note {
    padding: 14px 14px 13px !important;
    border-radius: 17px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme-note b {
    margin-bottom: 8px !important;
    font-size: 16px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme-note ul {
    gap: 6px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme-note li {
    padding-left: 14px !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme-note li::before {
    width: 5px !important;
    height: 5px !important;
  }

  /* Orange route CTA. */
  body[data-page="Инвесторам"] .cta {
    padding-top: 40px !important;
    padding-bottom: 82px !important;
  }

  body[data-page="Инвесторам"] .cta-grid {
    min-height: 184px !important;
    align-items: center !important;
    gap: 28px !important;
    padding: 44px 45px !important;
    border-radius: 30px !important;
  }

  body[data-page="Инвесторам"] .cta .eyebrow {
    margin-bottom: 12px !important;
    color: rgb(var(--ink-rgb) / .18) !important;
    font-size: 8px !important;
  }

  body[data-page="Инвесторам"] .cta .title {
    max-width: 610px !important;
    color: var(--ink) !important;
    font-size: 43px !important;
    line-height: .94 !important;
  }

  body[data-page="Инвесторам"] .cta .title em {
    color: #dc4f0b !important;
  }

  body[data-page="Инвесторам"] .cta-actions {
    gap: 9px !important;
  }

  /* Footer follows the same 980 px rhythm as the approved references. */
  body[data-page="Инвесторам"] .site-footer--premium .footer-shell {
    padding-top: 21px !important;
    padding-bottom: 14px !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-cta {
    grid-template-columns: minmax(0, 1fr) 258px !important;
    gap: 58px !important;
    min-height: 134px !important;
    padding: 32px !important;
    border-radius: 24px !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-cta__copy {
    max-width: 576px !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-cta__eyebrow {
    gap: 8px !important;
    margin-bottom: 12px !important;
    font-size: 8px !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-cta h2 {
    max-width: 560px !important;
    font-size: 46px !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-cta__copy > p:last-child {
    max-width: 480px !important;
    margin-top: 14px !important;
    font-size: 10px !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-cta__button {
    min-width: 0 !important;
    width: 206px !important;
    min-height: 46px !important;
    justify-self: end !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-main--premium {
    grid-template-columns: 330px 206px 286px !important;
    gap: 77px !important;
    padding: 37px 0 27px !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-brand .brand--footer {
    width: 216px !important;
    max-width: 216px !important;
    min-height: 85px !important;
    margin-bottom: 19px !important;
    padding: 11px 19px !important;
    border-radius: 19px !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-brand--premium > p,
  body[data-page="Инвесторам"] .site-footer--premium .footer-nav a,
  body[data-page="Инвесторам"] .site-footer--premium .footer-contact__value {
    font-size: 10px !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-label,
  body[data-page="Инвесторам"] .site-footer--premium .footer-contact__caption {
    font-size: 8px !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-bottom--premium {
    margin-top: 8px !important;
    padding-top: 14px !important;
    font-size: 8px !important;
  }
}

/* Compact PC widths retain the desktop hierarchy without horizontal overflow. */
@media (min-width: 981px) and (max-width: 1100px) {
  body[data-page="Инвесторам"] .split-intro {
    gap: 72px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
    gap: 26px !important;
  }

  body[data-page="Инвесторам"] .investor-blueprint__scheme {
    width: 100% !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-cta {
    grid-template-columns: minmax(0, 1fr) 220px !important;
    gap: 30px !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-main--premium {
    grid-template-columns: minmax(280px, 1.15fr) minmax(160px, .72fr) minmax(240px, 1fr) !important;
    gap: 28px !important;
  }
}

/* v104.1 — final pixel calibration against the supplied investors screenshots. */
@media (min-width: 981px) {
  body[data-page="Инвесторам"] .opening--investors {
    padding-bottom: 81px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__title.opening__title--investors-two {
    font-size: 56px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__lead {
    max-width: 620px !important;
    margin-top: 11px !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__note {
    margin-top: 13px !important;
  }

  body[data-page="Инвесторам"] .split-intro .title {
    font-size: 38px !important;
  }

  body[data-page="Инвесторам"] .investor-benefits {
    margin-top: 37px !important;
  }

  body[data-page="Инвесторам"] .investor-benefits article {
    height: 201px !important;
    min-height: 201px !important;
  }

  body[data-page="Инвесторам"] .investor-benefits b {
    font-size: 15px !important;
  }

  body[data-page="Инвесторам"] .investor-benefits p {
    font-size: 9.3px !important;
  }

  body[data-page="Инвесторам"] .cta {
    padding-bottom: 55px !important;
  }

  body[data-page="Инвесторам"] .cta-grid {
    margin-bottom: 0 !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-cta__button {
    width: 258px !important;
    white-space: nowrap !important;
  }

  body[data-page="Инвесторам"] .site-footer--premium .footer-address {
    width: 210px !important;
    max-width: 210px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
  }
}

/* v104.2 — final spacing and line-wrap match. */
@media (min-width: 981px) {
  body[data-page="Инвесторам"] .opening--investors {
    padding-bottom: 89px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__copy {
    position: relative !important;
    top: -2px !important;
  }

  body[data-page="Инвесторам"] .opening--investors .opening__lead {
    max-width: 520px !important;
  }

  body[data-page="Инвесторам"] .cta-grid {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
}

/* ============================================================
   v105 — Management page desktop normalization
   Matches the supplied 2048 px desktop references while keeping
   the existing mobile/tablet layout untouched.
   ============================================================ */
@media (min-width: 981px) {
  body[data-page="Управление недвижимостью"] {
    font-size: 14px;
  }

  body[data-page="Управление недвижимостью"] .container {
    inline-size: min(980px, calc(100% - 32px)) !important;
    width: min(980px, calc(100% - 32px)) !important;
    max-inline-size: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }

  /* Compact desktop header. */
  body[data-page="Управление недвижимостью"] .site-header,
  body[data-page="Управление недвижимостью"] .site-header.is-scrolled {
    top: 10px !important;
    padding: 0 !important;
  }

  body[data-page="Управление недвижимостью"] .site-header .header-inner,
  body[data-page="Управление недвижимостью"] .site-header.is-scrolled .header-inner {
    min-height: 56px !important;
    grid-template-columns: 120px minmax(0, 1fr) 194px !important;
    gap: 8px !important;
    padding: 7px 9px 7px 14px !important;
    border-radius: 18px !important;
  }

  body[data-page="Управление недвижимостью"] .site-header .brand,
  body[data-page="Управление недвижимостью"] .site-header .brand-mark,
  body[data-page="Управление недвижимостью"] .site-header.is-scrolled .brand,
  body[data-page="Управление недвижимостью"] .site-header.is-scrolled .brand-mark {
    width: 120px !important;
    height: 38px !important;
    max-width: 120px !important;
    object-fit: contain !important;
  }

  body[data-page="Управление недвижимостью"] .site-header .site-nav,
  body[data-page="Управление недвижимостью"] .site-header.is-scrolled .site-nav {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(5px, .55vw, 8px) !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: var(--ink) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  html body[data-page="Управление недвижимостью"] .site-header .site-nav .nav-link,
  html body[data-page="Управление недвижимостью"] .site-header.is-scrolled .site-nav .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 28px !important;
    padding: 0 !important;
    color: var(--ink) !important;
    background: transparent !important;
    font-size: 8.3px !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
  }

  html body[data-page="Управление недвижимостью"] .site-header .site-nav .nav-link:hover,
  html body[data-page="Управление недвижимостью"] .site-header .site-nav .nav-link.is-active,
  html body[data-page="Управление недвижимостью"] .site-header.is-scrolled .site-nav .nav-link:hover,
  html body[data-page="Управление недвижимостью"] .site-header.is-scrolled .site-nav .nav-link.is-active {
    color: var(--accent-strong) !important;
    background: transparent !important;
  }

  html body[data-page="Управление недвижимостью"] .site-header .site-nav .mobile-nav-actions,
  html body[data-page="Управление недвижимостью"] .site-header.is-scrolled .site-nav .mobile-nav-actions,
  body[data-page="Управление недвижимостью"] .site-header .menu-toggle {
    display: none !important;
  }

  body[data-page="Управление недвижимостью"] .site-header .header-actions,
  body[data-page="Управление недвижимостью"] .site-header.is-scrolled .header-actions {
    display: flex !important;
    width: 194px !important;
    min-width: 194px !important;
  }

  body[data-page="Управление недвижимостью"] .site-header .header-phone {
    display: none !important;
  }

  body[data-page="Управление недвижимостью"] .site-header .button.header-cta,
  body[data-page="Управление недвижимостью"] .site-header.is-scrolled .button.header-cta {
    min-height: 36px !important;
    padding-inline: 8px !important;
    gap: 8px !important;
    font-size: 8.8px !important;
  }

  body[data-page="Управление недвижимостью"] .site-header .button.header-cta svg {
    width: 14px !important;
    height: 14px !important;
  }

  body[data-page="Управление недвижимостью"] :is(main, .site-footer--premium) .button {
    min-height: 44px;
    padding-inline: 18px;
    gap: 9px;
    font-size: 10px;
  }

  body[data-page="Управление недвижимостью"] :is(main, .site-footer--premium) .button svg {
    width: 15px;
    height: 15px;
  }

  /* Opening block. */
  body[data-page="Управление недвижимостью"] .opening--management {
    min-height: 0 !important;
    padding: 104px 0 89px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__grid {
    grid-template-columns: minmax(0, 1fr) 272px !important;
    gap: 38px !important;
    align-items: start !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__copy {
    position: relative !important;
    top: -2px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__crumbs {
    gap: 6px !important;
    margin-bottom: 21px !important;
    font-size: 8px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__eyebrow {
    gap: 8px !important;
    margin-bottom: 10px !important;
    font-size: 8px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__eyebrow::before {
    width: 24px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__title.opening__title--management-two-line {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 56px !important;
    line-height: .93 !important;
    letter-spacing: -.062em !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__title.opening__title--management-two-line > span,
  body[data-page="Управление недвижимостью"] .opening--management .opening__title.opening__title--management-two-line > em {
    display: block !important;
    white-space: nowrap !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__lead {
    max-width: 520px !important;
    margin-top: 11px !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__note {
    width: min(100%, 352px) !important;
    max-width: 352px !important;
    margin-top: 13px !important;
    padding: 9px 11px !important;
    border-radius: 11px !important;
    gap: 7px !important;
    font-size: 8px !important;
    line-height: 1.48 !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__note-icon {
    font-size: 10px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__metrics {
    display: block !important;
    width: 272px !important;
    max-width: 272px !important;
    justify-self: end !important;
    align-self: start !important;
    padding: 14px 14px 13px !important;
    border-radius: 15px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__metrics > p {
    margin: 0 0 8px !important;
    font-size: 7.2px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__metric,
  body[data-page="Управление недвижимостью"] .opening--management .opening__metric:first-of-type {
    gap: 3px !important;
    padding: 9px 0 !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__metric b {
    font-size: 18.5px !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__metric span {
    margin-top: 0 !important;
    font-size: 8px !important;
    line-height: 1.38 !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__link {
    margin-top: 8px !important;
    padding-top: 10px !important;
    gap: 6px !important;
    font-size: 8px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__link svg {
    width: 13px !important;
    height: 13px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management::after {
    height: 101px !important;
  }

  /* Full-cycle management cards. */
  body[data-page="Управление недвижимостью"] main > .section {
    padding-top: 62px !important;
    padding-bottom: 62px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management + .section.section--paper {
    padding-top: 15px !important;
    padding-bottom: 104px !important;
  }

  body[data-page="Управление недвижимостью"] .split-intro {
    grid-template-columns: 1.06fr .94fr !important;
    gap: 128px !important;
    align-items: end !important;
  }

  body[data-page="Управление недвижимостью"] .split-intro__right {
    padding-bottom: 7px !important;
  }

  body[data-page="Управление недвижимостью"] main .eyebrow {
    font-size: 8px !important;
    letter-spacing: .16em !important;
  }

  body[data-page="Управление недвижимостью"] main .eyebrow::before {
    width: 27px !important;
  }

  body[data-page="Управление недвижимостью"] main .title {
    font-size: 38px !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;
  }

  body[data-page="Управление недвижимостью"] .split-intro .title {
    max-width: 460px !important;
  }

  body[data-page="Управление недвижимостью"] main .section-lead {
    max-width: 472px !important;
    margin-top: 18px !important;
    font-size: 10px !important;
    line-height: 1.6 !important;
  }

  body[data-page="Управление недвижимостью"] .management-flow {
    gap: 14px !important;
    margin-top: 37px !important;
  }

  body[data-page="Управление недвижимостью"] .management-flow__row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body[data-page="Управление недвижимостью"] .management-flow__row--two {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: calc(50% - 7px) !important;
    margin-inline: auto !important;
  }

  body[data-page="Управление недвижимостью"] .management-flow article {
    height: 190px !important;
    min-height: 190px !important;
    padding: 20px 18px 18px !important;
    border-radius: 18px !important;
  }

  body[data-page="Управление недвижимостью"] .management-flow article span {
    font-size: 9px !important;
  }

  body[data-page="Управление недвижимостью"] .management-flow article h3 {
    margin: 47px 0 8px !important;
    font-size: 16px !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
  }

  body[data-page="Управление недвижимостью"] .management-flow article p {
    margin-top: 0 !important;
    font-size: 9.3px !important;
    line-height: 1.48 !important;
  }

  /* Results section. */
  body[data-page="Управление недвижимостью"] .section--dark {
    padding-top: 118px !important;
    padding-bottom: 103px !important;
  }

  body[data-page="Управление недвижимостью"] .section--dark .split-intro {
    align-items: end !important;
  }

  body[data-page="Управление недвижимостью"] .section--dark .split-intro .title {
    max-width: 520px !important;
  }

  body[data-page="Управление недвижимостью"] .change-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 37px !important;
  }

  body[data-page="Управление недвижимостью"] .change-grid article,
  body[data-page="Управление недвижимостью"] .section--dark .change-grid article {
    height: 186px !important;
    min-height: 186px !important;
    padding: 20px 18px 18px !important;
    border-radius: 18px !important;
  }

  body[data-page="Управление недвижимостью"] .change-grid article span,
  body[data-page="Управление недвижимостью"] .section--dark .change-grid article span {
    font-size: 9px !important;
  }

  body[data-page="Управление недвижимостью"] .change-grid article b,
  body[data-page="Управление недвижимостью"] .section--dark .change-grid article b {
    margin-top: 47px !important;
    font-size: 22px !important;
    line-height: 1 !important;
    letter-spacing: -.05em !important;
  }

  body[data-page="Управление недвижимостью"] .change-grid article p,
  body[data-page="Управление недвижимостью"] .section--dark .change-grid article p {
    margin-top: 9px !important;
    font-size: 10px !important;
    line-height: 1.42 !important;
  }

  /* Orange CTA. */
  body[data-page="Управление недвижимостью"] .cta {
    padding-top: 40px !important;
    padding-bottom: 55px !important;
  }

  body[data-page="Управление недвижимостью"] .cta-grid {
    min-height: 184px !important;
    align-items: center !important;
    gap: 28px !important;
    padding: 40px 45px !important;
    border-radius: 30px !important;
  }

  body[data-page="Управление недвижимостью"] .cta .eyebrow {
    margin-bottom: 12px !important;
    color: rgb(var(--ink-rgb) / .18) !important;
    font-size: 8px !important;
  }

  body[data-page="Управление недвижимостью"] .cta .title {
    max-width: 610px !important;
    color: var(--ink) !important;
    font-size: 43px !important;
    line-height: .94 !important;
  }

  body[data-page="Управление недвижимостью"] .cta .title em {
    color: #dc4f0b !important;
  }

  body[data-page="Управление недвижимостью"] .cta-actions {
    gap: 9px !important;
  }

  /* Footer follows the approved compact desktop rhythm. */
  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-shell {
    padding-top: 21px !important;
    padding-bottom: 14px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-cta {
    grid-template-columns: minmax(0, 1fr) 258px !important;
    gap: 58px !important;
    min-height: 134px !important;
    padding: 32px !important;
    border-radius: 24px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-cta__copy {
    max-width: 576px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-cta__eyebrow {
    gap: 8px !important;
    margin-bottom: 12px !important;
    font-size: 8px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-cta h2 {
    max-width: 560px !important;
    font-size: 46px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-cta__copy > p:last-child {
    max-width: 480px !important;
    margin-top: 14px !important;
    font-size: 10px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-cta__button {
    min-width: 0 !important;
    width: 258px !important;
    min-height: 46px !important;
    justify-self: end !important;
    white-space: nowrap !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-main--premium {
    grid-template-columns: 330px 206px 286px !important;
    gap: 77px !important;
    padding: 37px 0 27px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-brand .brand--footer {
    width: 216px !important;
    max-width: 216px !important;
    min-height: 85px !important;
    margin-bottom: 19px !important;
    padding: 11px 19px !important;
    border-radius: 19px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-brand--premium > p,
  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-nav a,
  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-contact__value {
    font-size: 10px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-label,
  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-contact__caption {
    font-size: 8px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-address {
    width: 210px !important;
    max-width: 210px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-bottom--premium {
    margin-top: 8px !important;
    padding-top: 14px !important;
    font-size: 8px !important;
  }
}

@media (min-width: 981px) and (max-width: 1100px) {
  body[data-page="Управление недвижимостью"] .split-intro {
    gap: 72px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-cta {
    grid-template-columns: minmax(0, 1fr) 220px !important;
    gap: 30px !important;
  }

  body[data-page="Управление недвижимостью"] .site-footer--premium .footer-main--premium {
    grid-template-columns: minmax(280px, 1.15fr) minmax(160px, .72fr) minmax(240px, 1fr) !important;
    gap: 28px !important;
  }
}

/* v105.1 — final management page spacing calibration. */
@media (min-width: 981px) {
  body[data-page="Управление недвижимостью"] .opening--management .opening__title.opening__title--management-two-line {
    font-size: 48px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__metrics {
    margin-top: 12px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management + .section.section--paper {
    padding-bottom: 52px !important;
  }

  body[data-page="Управление недвижимостью"] .management-flow article {
    height: 183px !important;
    min-height: 183px !important;
  }

  body[data-page="Управление недвижимостью"] .section--dark {
    padding-top: 51px !important;
    padding-bottom: 62px !important;
  }

  body[data-page="Управление недвижимостью"] .change-grid {
    margin-top: 28px !important;
  }

  body[data-page="Управление недвижимостью"] .cta-grid {
    padding-top: 37px !important;
    padding-bottom: 37px !important;
  }
}

/* v105.2 — row rhythm aligned with the supplied management capture. */
@media (min-width: 981px) {
  body[data-page="Управление недвижимостью"] .management-flow {
    gap: 11px !important;
    margin-top: 42px !important;
  }
}

/* v105.3 — exact transition into results, CTA and footer. */
@media (min-width: 981px) {
  body[data-page="Управление недвижимостью"] .section--dark {
    padding-top: 40px !important;
  }

  body[data-page="Управление недвижимостью"] .section--dark .eyebrow {
    position: relative !important;
    top: 6px !important;
  }

  body[data-page="Управление недвижимостью"] .section--dark .title {
    position: relative !important;
    top: 2px !important;
  }

  body[data-page="Управление недвижимостью"] .cta {
    padding-bottom: 57px !important;
  }

  body[data-page="Управление недвижимостью"] .cta-grid {
    margin-bottom: 0 !important;
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }
}

/* v105.4 — final element alignment and card typography. */
@media (min-width: 981px) {
  body[data-page="Управление недвижимостью"] .opening--management {
    padding-bottom: 83px !important;
  }

  body[data-page="Управление недвижимостью"] .opening--management .opening__note {
    margin-top: 19px !important;
  }

  body[data-page="Управление недвижимостью"] .management-flow article {
    padding: 17px 18px 18px !important;
  }

  body[data-page="Управление недвижимостью"] .management-flow article h3 {
    margin-top: 43px !important;
    font-size: 15px !important;
  }

  body[data-page="Управление недвижимостью"] main > .section.section--dark {
    padding-top: 51px !important;
  }

  body[data-page="Управление недвижимостью"] .change-grid article,
  body[data-page="Управление недвижимостью"] .section--dark .change-grid article {
    padding: 13px 18px 18px !important;
  }

  body[data-page="Управление недвижимостью"] .change-grid article p,
  body[data-page="Управление недвижимостью"] .section--dark .change-grid article p {
    line-height: 1.75 !important;
  }
}


/* ============================================================
   RELEASE 106 — Cases page desktop match
   Goal: align the desktop “Кейсы” page to the approved reference composition.
   ============================================================ */
@media (min-width: 901px) {
  body[data-page="Кейсы"] .opening--cases {
    min-height: auto !important;
    padding: 132px 0 88px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__grid {
    grid-template-columns: minmax(0, 1fr) 222px 170px !important;
    gap: 28px !important;
    align-items: start !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__copy {
    max-width: 430px !important;
  }

  body[data-page="Кейсы"] .opening__crumbs {
    margin-bottom: 20px !important;
  }

  body[data-page="Кейсы"] .opening__eyebrow {
    margin-bottom: 10px !important;
    font-size: 11px !important;
    letter-spacing: .16em !important;
  }

  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line {
    max-width: 420px !important;
    font-size: clamp(48px, 4.2vw, 62px) !important;
    line-height: .91 !important;
    letter-spacing: -.078em !important;
    text-wrap: unset !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line > span,
  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line > em {
    display: block !important;
    white-space: nowrap !important;
    font-style: normal !important;
  }

  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line > span:first-child {
    color: var(--ink) !important;
  }

  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line > span:nth-child(2) {
    color: var(--ink) !important;
  }

  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line > span:nth-child(2) i {
    margin-right: 8px !important;
    font-style: normal !important;
  }

  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line em {
    color: var(--accent) !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__lead {
    max-width: 380px !important;
    margin-top: 16px !important;
    font-size: 13px !important;
    line-height: 1.56 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__note {
    width: min(100%, 390px) !important;
    margin-top: 18px !important;
    padding: 11px 14px !important;
    font-size: 10px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual {
    width: 222px !important;
    justify-self: center !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual-frame {
    min-height: 0 !important;
    aspect-ratio: 0.98 / 1.18 !important;
    border-radius: 28px !important;
    box-shadow: 0 18px 40px rgb(var(--ink-rgb) / .10) !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual-frame img {
    min-height: 0 !important;
    object-position: center !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual-tag {
    right: 8px !important;
    bottom: 10px !important;
    padding: 10px 12px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metrics {
    align-self: start !important;
    justify-self: end !important;
    width: 100% !important;
    max-width: 170px !important;
    padding: 14px 12px 12px !important;
    border-radius: 18px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metrics > p {
    margin-bottom: 8px !important;
    font-size: 10px !important;
    letter-spacing: .14em !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metric {
    padding: 10px 0 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metric b {
    font-size: 18px !important;
    line-height: .95 !important;
    letter-spacing: -.06em !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metric span {
    margin-top: 3px !important;
    font-size: 9px !important;
    line-height: 1.24 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__link {
    margin-top: 8px !important;
    padding-top: 10px !important;
    font-size: 11px !important;
  }

  body[data-page="Кейсы"] .section--paper {
    padding-top: 82px !important;
    padding-bottom: 94px !important;
  }

  body[data-page="Кейсы"] .split-intro {
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 34px !important;
    align-items: end !important;
  }

  body[data-page="Кейсы"] .split-intro .title {
    max-width: 530px !important;
    font-size: clamp(44px, 3.7vw, 58px) !important;
    line-height: .94 !important;
    letter-spacing: -.06em !important;
  }

  body[data-page="Кейсы"] .split-intro__right .section-lead {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin-top: 34px !important;
  }

  body[data-page="Кейсы"] .story-card-neo {
    border-radius: 28px !important;
    box-shadow: 0 18px 42px rgb(var(--ink-rgb) / .08) !important;
  }

  body[data-page="Кейсы"] .story-card-neo__media {
    margin: 10px 10px 0 !important;
    aspect-ratio: 1.16 / .92 !important;
    border-radius: 22px !important;
  }

  body[data-page="Кейсы"] .story-card-neo__body {
    padding: 18px 16px 14px !important;
  }

  body[data-page="Кейсы"] .story-card-neo__body .eyebrow {
    margin-bottom: 10px !important;
    font-size: 9px !important;
    letter-spacing: .13em !important;
  }

  body[data-page="Кейсы"] .story-card-neo__body h3 {
    min-height: 92px !important;
    font-size: clamp(22px, 1.85vw, 30px) !important;
    line-height: .93 !important;
    letter-spacing: -.064em !important;
  }

  body[data-page="Кейсы"] .story-card-neo__body p:not(.eyebrow) {
    margin-top: 12px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  body[data-page="Кейсы"] .story-card-neo__stats {
    margin: 16px 0 18px !important;
  }

  body[data-page="Кейсы"] .story-card-neo__stats > div {
    gap: 10px !important;
    padding: 11px 0 !important;
  }

  body[data-page="Кейсы"] .story-card-neo__stats b {
    font-size: clamp(17px, 1.6vw, 23px) !important;
    white-space: normal !important;
  }

  body[data-page="Кейсы"] .story-card-neo__stats span {
    max-width: 112px !important;
    font-size: 9px !important;
    line-height: 1.18 !important;
    letter-spacing: .045em !important;
  }

  body[data-page="Кейсы"] .story-card-neo__body .text-link {
    min-height: 42px !important;
    padding: 11px 16px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
  }

  body[data-page="Кейсы"] .section--cream {
    padding-top: 44px !important;
    padding-bottom: 66px !important;
  }

  body[data-page="Кейсы"] .feature-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body[data-page="Кейсы"] .feature-card {
    min-height: 192px !important;
    padding: 18px 16px 16px !important;
    border-radius: 24px !important;
    box-shadow: 0 12px 30px rgb(var(--ink-rgb) / .05) !important;
  }

  body[data-page="Кейсы"] .feature-card__index {
    color: var(--ink) !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    letter-spacing: -.04em !important;
  }

  body[data-page="Кейсы"] .feature-card h3 {
    margin: 42px 0 10px !important;
    font-size: 17px !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
  }

  body[data-page="Кейсы"] .feature-card p {
    font-size: 12px !important;
    line-height: 1.42 !important;
  }

  body[data-page="Кейсы"] .cta {
    padding-top: 38px !important;
    padding-bottom: 64px !important;
  }

  body[data-page="Кейсы"] .cta .cta-grid {
    align-items: center !important;
  }

  body[data-page="Кейсы"] .cta .title {
    max-width: 700px !important;
    font-size: clamp(46px, 3.9vw, 58px) !important;
    line-height: .92 !important;
    letter-spacing: -.062em !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body[data-page="Кейсы"] .opening--cases .opening__grid {
    grid-template-columns: minmax(0, 1fr) 1fr !important;
    gap: 26px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual {
    width: 250px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metrics {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    max-width: 420px !important;
    margin-top: 4px !important;
  }

  body[data-page="Кейсы"] .split-intro {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious,
  body[data-page="Кейсы"] .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line > span,
  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line > em {
    display: block !important;
    white-space: normal !important;
    font-style: normal !important;
  }
}


/* ============================================================
   RELEASE 107 — Cases metrics fix and global CTA removal
   ============================================================ */
@media (min-width: 901px) {
  /* The generic <=1320px opening rule turned this compact side card into a
     four-column strip and moved it onto a new row. Keep the Cases metrics
     card as one vertical card beside the image at every desktop width. */
  body[data-page="Кейсы"] .opening--cases .opening__metrics {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-template-columns: none !important;
    align-items: initial !important;
    gap: 0 !important;
    margin-top: 0 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metrics > p {
    grid-column: auto !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metric,
  body[data-page="Кейсы"] .opening--cases .opening__metric:first-of-type {
    display: block !important;
    padding: 10px 0 !important;
    border-left: 0 !important;
    border-top: 1px solid var(--line) !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metric b,
  body[data-page="Кейсы"] .opening--cases .opening__metric span,
  body[data-page="Кейсы"] .opening--cases .opening__link {
    position: static !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__link {
    display: flex !important;
    grid-column: auto !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body[data-page="Кейсы"] .opening--cases .opening__metrics {
    grid-column: 1 / -1 !important;
    display: block !important;
  }
}


/* ============================================================
   RELEASE 108 — Cases metrics card slightly enlarged
   ============================================================ */
@media (min-width: 901px) {
  body[data-page="Кейсы"] .opening--cases .opening__grid {
    grid-template-columns: minmax(0, 1fr) 236px 192px !important;
    gap: 30px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual {
    width: 236px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metrics {
    max-width: 192px !important;
    padding: 16px 14px 14px !important;
    border-radius: 22px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metrics > p {
    margin-bottom: 10px !important;
    font-size: 11px !important;
    letter-spacing: .15em !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metric,
  body[data-page="Кейсы"] .opening--cases .opening__metric:first-of-type {
    padding: 11px 0 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metric b {
    font-size: 20px !important;
    line-height: .95 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metric span {
    margin-top: 4px !important;
    font-size: 10px !important;
    line-height: 1.28 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__link {
    margin-top: 10px !important;
    padding-top: 12px !important;
    font-size: 12px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body[data-page="Кейсы"] .opening--cases .opening__visual {
    width: 246px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metrics {
    max-width: 440px !important;
  }
}


/* ============================================================
   RELEASE 109 — Cases opening preview image slightly enlarged
   ============================================================ */
@media (min-width: 901px) {
  body[data-page="Кейсы"] .opening--cases .opening__grid {
    grid-template-columns: minmax(0, 1fr) 258px 192px !important;
    gap: 28px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual {
    width: 258px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual-frame {
    aspect-ratio: 1 / 1.2 !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body[data-page="Кейсы"] .opening--cases .opening__visual {
    width: 266px !important;
  }
}


/* ============================================================
   RELEASE 110 — Cases opening photo frame raised to metrics-card height
   ============================================================ */
@media (min-width: 901px) {
  body[data-page="Кейсы"] .opening--cases .opening__grid {
    grid-template-columns: minmax(0, 1fr) 304px 192px !important;
    gap: 28px !important;
    align-items: start !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual {
    width: 304px !important;
    align-self: start !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual-frame {
    width: 304px !important;
    height: 416px !important;
    aspect-ratio: auto !important;
    min-height: 416px !important;
    border-radius: 30px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual-frame img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual-tag {
    right: 12px !important;
    bottom: 10px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body[data-page="Кейсы"] .opening--cases .opening__grid {
    grid-template-columns: minmax(0, 1fr) 320px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual {
    width: 320px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual-frame {
    width: 320px !important;
    height: 432px !important;
    min-height: 432px !important;
  }
}


/* ============================================================
   RELEASE 111 — Calculator page desktop match
   ============================================================ */
@media (min-width: 901px) {
  body[data-page="Калькулятор доходности"] .opening--calculator {
    min-height: auto !important;
    padding: 132px 0 84px !important;
  }

  body[data-page="Калькулятор доходности"] .opening--calculator .opening__grid {
    grid-template-columns: minmax(0, 1fr) 218px !important;
    gap: 30px !important;
    align-items: start !important;
  }

  body[data-page="Калькулятор доходности"] .opening--calculator .opening__copy {
    max-width: 520px !important;
  }

  body[data-page="Калькулятор доходности"] .opening__crumbs {
    margin-bottom: 20px !important;
  }

  body[data-page="Калькулятор доходности"] .opening__eyebrow {
    margin-bottom: 10px !important;
    font-size: 11px !important;
    letter-spacing: .16em !important;
  }

  body[data-page="Калькулятор доходности"] .opening__title.opening__title--calculator-two {
    max-width: 520px !important;
    font-size: clamp(50px, 4.15vw, 64px) !important;
    line-height: .92 !important;
    letter-spacing: -.078em !important;
  }

  body[data-page="Калькулятор доходности"] .opening__lead {
    max-width: 410px !important;
    margin-top: 16px !important;
    font-size: 13px !important;
    line-height: 1.56 !important;
  }

  body[data-page="Калькулятор доходности"] .opening__note {
    width: min(100%, 390px) !important;
    max-width: 390px !important;
    margin-top: 18px !important;
    padding: 11px 14px !important;
    font-size: 10px !important;
  }

  body[data-page="Калькулятор доходности"] .opening__metrics {
    align-self: start !important;
    justify-self: end !important;
    width: 100% !important;
    max-width: 218px !important;
    margin-top: 4px !important;
    padding: 16px 14px 12px !important;
    border-radius: 18px !important;
  }

  body[data-page="Калькулятор доходности"] .opening__metrics > p {
    margin-bottom: 8px !important;
    font-size: 10px !important;
    letter-spacing: .14em !important;
  }

  body[data-page="Калькулятор доходности"] .opening__metric {
    padding: 10px 0 !important;
  }

  body[data-page="Калькулятор доходности"] .opening__metric b {
    font-size: 18px !important;
    line-height: .95 !important;
    letter-spacing: -.06em !important;
  }

  body[data-page="Калькулятор доходности"] .opening__metric span {
    margin-top: 3px !important;
    font-size: 9px !important;
    line-height: 1.22 !important;
  }

  body[data-page="Калькулятор доходности"] .opening__link {
    margin-top: 8px !important;
    padding-top: 10px !important;
    font-size: 11px !important;
  }

  body[data-page="Калькулятор доходности"] .section--cream {
    padding-top: 0 !important;
    padding-bottom: 62px !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern {
    grid-template-columns: minmax(0, 1.07fr) minmax(0, .93fr) !important;
    gap: 16px !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__controls,
  body[data-page="Калькулятор доходности"] .calc-modern__result {
    border-radius: 26px !important;
    box-shadow: 0 18px 40px rgb(var(--ink-rgb) / .07) !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__controls {
    padding: 22px 22px 20px !important;
    background: rgb(var(--white-rgb) / .95) !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__intro h2 {
    font-size: 31px !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__intro p {
    margin-top: 10px !important;
    max-width: 470px !important;
    font-size: 12px !important;
    line-height: 1.52 !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__scenarios {
    gap: 6px !important;
    margin-top: 24px !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__scenarios button {
    min-height: 42px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__range {
    margin-top: 18px !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__range label {
    font-size: 12px !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__range output {
    font-size: 12px !important;
    font-weight: 700 !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__range input {
    margin-top: 10px !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__range-scale {
    margin-top: 3px !important;
    font-size: 9px !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__result {
    padding: 22px 22px 20px !important;
    background: var(--white) !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__result .eyebrow {
    color: var(--ink-soft) !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__total {
    margin-top: 20px !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__total span {
    max-width: 220px !important;
    font-size: 10px !important;
    line-height: 1.32 !important;
    letter-spacing: .09em !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__total b {
    margin-top: 10px !important;
    font-size: 34px !important;
    line-height: .95 !important;
    letter-spacing: -.055em !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__metrics {
    gap: 8px !important;
    margin-top: 16px !important;
    background: transparent !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__metrics > div {
    min-height: 70px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--line) !important;
    border-radius: 14px !important;
    background: rgb(var(--white-rgb) / .96) !important;
    box-shadow: 0 10px 22px rgb(var(--ink-rgb) / .04) !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__metrics span {
    min-height: 26px !important;
    font-size: 8px !important;
    line-height: 1.18 !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__metrics b {
    margin-top: 8px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__chart {
    height: 54px !important;
    gap: 5px !important;
    margin: 18px 0 18px !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__chart i {
    border-radius: 2px 2px 0 0 !important;
  }

  body[data-page="Калькулятор доходности"] .calc-modern__result .button {
    min-height: 52px !important;
    font-size: 13px !important;
  }

  body[data-page="Калькулятор доходности"] .disclaimer {
    max-width: 980px !important;
    margin-top: 14px !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  body[data-page="Калькулятор доходности"] .section--paper {
    padding-top: 88px !important;
    padding-bottom: 54px !important;
  }

  body[data-page="Калькулятор доходности"] .split-intro {
    grid-template-columns: minmax(0, 1fr) 320px !important;
    gap: 36px !important;
    align-items: end !important;
  }

  body[data-page="Калькулятор доходности"] .split-intro .title {
    max-width: 460px !important;
    font-size: clamp(42px, 3.6vw, 58px) !important;
    line-height: .94 !important;
    letter-spacing: -.06em !important;
  }

  body[data-page="Калькулятор доходности"] .split-intro__right .section-lead {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  body[data-page="Калькулятор доходности"] .consider-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 38px !important;
  }

  body[data-page="Калькулятор доходности"] .consider-grid article {
    min-height: 144px !important;
    padding: 16px 16px 14px !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 28px rgb(var(--ink-rgb) / .05) !important;
    background: var(--white) !important;
  }

  body[data-page="Калькулятор доходности"] .consider-grid span {
    font-size: 11px !important;
    letter-spacing: .11em !important;
  }

  body[data-page="Калькулятор доходности"] .consider-grid b {
    margin-top: 34px !important;
    font-size: 18px !important;
    line-height: 1.04 !important;
    letter-spacing: -.04em !important;
  }

  body[data-page="Калькулятор доходности"] .consider-grid p {
    margin-top: 8px !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
  }

  body[data-page="Калькулятор доходности"] .site-footer--premium .footer-shell {
    padding-top: 0 !important;
  }

  body[data-page="Калькулятор доходности"] .site-footer--premium .footer-cta {
    margin-top: 16px !important;
    margin-bottom: 34px !important;
    padding: 26px 26px 24px !important;
    border-radius: 28px !important;
  }

  body[data-page="Калькулятор доходности"] .site-footer--premium .footer-cta__copy {
    max-width: 560px !important;
  }

  body[data-page="Калькулятор доходности"] .site-footer--premium .footer-cta__eyebrow {
    margin-bottom: 12px !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
  }

  body[data-page="Калькулятор доходности"] .site-footer--premium .footer-cta h2 {
    max-width: 560px !important;
    font-size: clamp(42px, 3.8vw, 58px) !important;
    line-height: .9 !important;
    letter-spacing: -.062em !important;
  }

  body[data-page="Калькулятор доходности"] .site-footer--premium .footer-cta__copy > p:last-child {
    max-width: 520px !important;
    margin-top: 10px !important;
    font-size: 13px !important;
    line-height: 1.52 !important;
  }

  body[data-page="Калькулятор доходности"] .site-footer--premium .footer-cta__button {
    min-width: 212px !important;
    min-height: 48px !important;
    font-size: 12px !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  body[data-page="Калькулятор доходности"] .opening--calculator .opening__grid,
  body[data-page="Калькулятор доходности"] .calc-modern,
  body[data-page="Калькулятор доходности"] .split-intro {
    grid-template-columns: 1fr !important;
  }

  body[data-page="Калькулятор доходности"] .opening__metrics,
  body[data-page="Калькулятор доходности"] .split-intro__right {
    justify-self: start !important;
    max-width: 420px !important;
  }

  body[data-page="Калькулятор доходности"] .consider-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* ============================================================
   RELEASE 112 — Cases page normalized to Management page scale
   Goal: keep the desktop “Кейсы” page visually in the same scale system
   as “Управление”, so it opens consistently on PC browsers.
   ============================================================ */
@media (min-width: 981px) {
  body[data-page="Кейсы"] {
    font-size: 14px !important;
  }

  body[data-page="Кейсы"] .container {
    inline-size: min(980px, calc(100% - 32px)) !important;
    width: min(980px, calc(100% - 32px)) !important;
    max-inline-size: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }

  body[data-page="Кейсы"] .site-header,
  body[data-page="Кейсы"] .site-header.is-scrolled {
    top: 10px !important;
    padding: 0 !important;
  }

  body[data-page="Кейсы"] .site-header .header-inner,
  body[data-page="Кейсы"] .site-header.is-scrolled .header-inner {
    min-height: 56px !important;
    grid-template-columns: 120px minmax(0, 1fr) 194px !important;
    gap: 8px !important;
    padding: 7px 9px 7px 14px !important;
    border-radius: 18px !important;
  }

  body[data-page="Кейсы"] .site-header .brand,
  body[data-page="Кейсы"] .site-header .brand-mark,
  body[data-page="Кейсы"] .site-header.is-scrolled .brand,
  body[data-page="Кейсы"] .site-header.is-scrolled .brand-mark {
    width: 120px !important;
    height: 38px !important;
    max-width: 120px !important;
    object-fit: contain !important;
  }

  body[data-page="Кейсы"] .site-header .site-nav,
  body[data-page="Кейсы"] .site-header.is-scrolled .site-nav {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(5px, .55vw, 8px) !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: var(--ink) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  html body[data-page="Кейсы"] .site-header .site-nav .nav-link,
  html body[data-page="Кейсы"] .site-header.is-scrolled .site-nav .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 28px !important;
    padding: 0 !important;
    color: var(--ink) !important;
    background: transparent !important;
    font-size: 8.3px !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
  }

  html body[data-page="Кейсы"] .site-header .site-nav .nav-link:hover,
  html body[data-page="Кейсы"] .site-header .site-nav .nav-link.is-active,
  html body[data-page="Кейсы"] .site-header.is-scrolled .site-nav .nav-link:hover,
  html body[data-page="Кейсы"] .site-header.is-scrolled .site-nav .nav-link.is-active {
    color: var(--accent-strong) !important;
    background: transparent !important;
  }

  html body[data-page="Кейсы"] .site-header .site-nav .mobile-nav-actions,
  html body[data-page="Кейсы"] .site-header.is-scrolled .site-nav .mobile-nav-actions,
  body[data-page="Кейсы"] .site-header .menu-toggle {
    display: none !important;
  }

  body[data-page="Кейсы"] .site-header .header-actions,
  body[data-page="Кейсы"] .site-header.is-scrolled .header-actions {
    display: flex !important;
    width: 194px !important;
    min-width: 194px !important;
  }

  body[data-page="Кейсы"] .site-header .header-phone {
    display: none !important;
  }

  body[data-page="Кейсы"] .site-header .button.header-cta,
  body[data-page="Кейсы"] .site-header.is-scrolled .button.header-cta {
    min-height: 36px !important;
    padding-inline: 8px !important;
    gap: 8px !important;
    font-size: 8.8px !important;
  }

  body[data-page="Кейсы"] .site-header .button.header-cta svg {
    width: 14px !important;
    height: 14px !important;
  }

  body[data-page="Кейсы"] :is(main, .site-footer--premium) .button {
    min-height: 44px !important;
    padding-inline: 18px !important;
    gap: 9px !important;
    font-size: 10px !important;
  }

  body[data-page="Кейсы"] :is(main, .site-footer--premium) .button svg {
    width: 15px !important;
    height: 15px !important;
  }

  /* Hero = same compact desktop scale family as Management. */
  body[data-page="Кейсы"] .opening--cases {
    min-height: 0 !important;
    padding: 104px 0 86px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__grid {
    grid-template-columns: minmax(0, 1fr) 258px 172px !important;
    gap: 24px !important;
    align-items: start !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__copy {
    position: relative !important;
    top: -2px !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__crumbs {
    gap: 6px !important;
    margin-bottom: 21px !important;
    font-size: 8px !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__eyebrow {
    gap: 8px !important;
    margin-bottom: 10px !important;
    font-size: 8px !important;
    letter-spacing: .16em !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__eyebrow::before {
    width: 24px !important;
  }

  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 54px !important;
    line-height: .93 !important;
    letter-spacing: -.062em !important;
  }

  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line > span,
  body[data-page="Кейсы"] .opening__title.opening__title--cases-three-line > em {
    display: block !important;
    white-space: nowrap !important;
    font-style: normal !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__lead {
    max-width: 370px !important;
    margin-top: 11px !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__note {
    width: min(100%, 352px) !important;
    max-width: 352px !important;
    margin-top: 13px !important;
    padding: 9px 11px !important;
    border-radius: 11px !important;
    gap: 7px !important;
    font-size: 8px !important;
    line-height: 1.48 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual {
    width: 258px !important;
    justify-self: center !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual-frame {
    min-height: 0 !important;
    aspect-ratio: auto !important;
    height: 350px !important;
    border-radius: 25px !important;
    box-shadow: 0 16px 36px rgb(var(--ink-rgb) / .10) !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__visual-tag {
    right: 8px !important;
    bottom: 9px !important;
    padding: 9px 11px !important;
    border-radius: 14px !important;
    font-size: 8px !important;
    line-height: 1.15 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metrics {
    display: block !important;
    width: 172px !important;
    max-width: 172px !important;
    align-self: start !important;
    justify-self: end !important;
    padding: 14px 14px 13px !important;
    border-radius: 15px !important;
    margin-top: 0 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metrics > p {
    margin: 0 0 8px !important;
    font-size: 7.2px !important;
    letter-spacing: .14em !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metric,
  body[data-page="Кейсы"] .opening--cases .opening__metric:first-of-type {
    display: block !important;
    gap: 3px !important;
    padding: 9px 0 !important;
    border-left: 0 !important;
    border-top: 1px solid var(--line) !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metric b {
    font-size: 18.5px !important;
    line-height: .96 !important;
    letter-spacing: -.055em !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__metric span {
    margin-top: 0 !important;
    font-size: 8px !important;
    line-height: 1.38 !important;
  }

  body[data-page="Кейсы"] .opening--cases .opening__link {
    margin-top: 8px !important;
    padding-top: 10px !important;
    gap: 6px !important;
    font-size: 8px !important;
  }

  body[data-page="Кейсы"] main > .section {
    padding-top: 78px !important;
    padding-bottom: 78px !important;
  }

  body[data-page="Кейсы"] .split-intro {
    grid-template-columns: 1.06fr .94fr !important;
    gap: 112px !important;
    align-items: end !important;
  }

  body[data-page="Кейсы"] .split-intro__right {
    padding-bottom: 7px !important;
  }

  body[data-page="Кейсы"] main .eyebrow {
    font-size: 8px !important;
    letter-spacing: .16em !important;
  }

  body[data-page="Кейсы"] main .eyebrow::before {
    width: 27px !important;
  }

  body[data-page="Кейсы"] main .title {
    font-size: 38px !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;
  }

  body[data-page="Кейсы"] .split-intro .title {
    max-width: 470px !important;
  }

  body[data-page="Кейсы"] main .section-lead {
    max-width: 472px !important;
    margin-top: 18px !important;
    font-size: 10px !important;
    line-height: 1.6 !important;
  }

  body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 36px !important;
  }

  body[data-page="Кейсы"] .story-card-neo {
    border-radius: 20px !important;
    box-shadow: 0 14px 30px rgb(var(--ink-rgb) / .06) !important;
  }

  body[data-page="Кейсы"] .story-card-neo__media {
    margin: 8px 8px 0 !important;
    aspect-ratio: 1.15 / .86 !important;
    border-radius: 18px !important;
  }

  body[data-page="Кейсы"] .story-card-neo__body {
    padding: 14px 13px 12px !important;
  }

  body[data-page="Кейсы"] .story-card-neo__body .eyebrow {
    margin-bottom: 8px !important;
    font-size: 7.6px !important;
    letter-spacing: .13em !important;
  }

  body[data-page="Кейсы"] .story-card-neo__body h3 {
    min-height: 74px !important;
    font-size: 16px !important;
    line-height: 1.02 !important;
    letter-spacing: -.042em !important;
  }

  body[data-page="Кейсы"] .story-card-neo__body p:not(.eyebrow) {
    margin-top: 9px !important;
    font-size: 9.5px !important;
    line-height: 1.48 !important;
  }

  body[data-page="Кейсы"] .story-card-neo__stats {
    margin: 12px 0 14px !important;
  }

  body[data-page="Кейсы"] .story-card-neo__stats > div {
    gap: 8px !important;
    padding: 9px 0 !important;
  }

  body[data-page="Кейсы"] .story-card-neo__stats b {
    font-size: 14px !important;
    line-height: 1.02 !important;
    letter-spacing: -.03em !important;
  }

  body[data-page="Кейсы"] .story-card-neo__stats span {
    max-width: 100px !important;
    font-size: 8px !important;
    line-height: 1.2 !important;
    letter-spacing: .03em !important;
  }

  body[data-page="Кейсы"] .story-card-neo__body .text-link {
    min-height: 34px !important;
    padding: 9px 13px !important;
    font-size: 9px !important;
    font-weight: 800 !important;
  }

  body[data-page="Кейсы"] .feature-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body[data-page="Кейсы"] .feature-card {
    min-height: 190px !important;
    padding: 20px 18px 18px !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 28px rgb(var(--ink-rgb) / .05) !important;
  }

  body[data-page="Кейсы"] .feature-card__index {
    font-size: 16px !important;
    font-weight: 800 !important;
    letter-spacing: -.03em !important;
  }

  body[data-page="Кейсы"] .feature-card h3 {
    margin: 46px 0 8px !important;
    font-size: 16px !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
  }

  body[data-page="Кейсы"] .feature-card p {
    font-size: 9.3px !important;
    line-height: 1.48 !important;
  }

  body[data-page="Кейсы"] .cta {
    padding-top: 0 !important;
    padding-bottom: 44px !important;
  }

  body[data-page="Кейсы"] .site-footer--premium .footer-shell {
    padding-top: 0 !important;
  }

  body[data-page="Кейсы"] .site-footer--premium .footer-cta {
    margin-top: 10px !important;
    margin-bottom: 34px !important;
    padding: 26px 26px 24px !important;
    border-radius: 28px !important;
  }

  body[data-page="Кейсы"] .site-footer--premium .footer-cta__copy {
    max-width: 560px !important;
  }

  body[data-page="Кейсы"] .site-footer--premium .footer-cta__eyebrow {
    margin-bottom: 12px !important;
    font-size: 11px !important;
    letter-spacing: .14em !important;
  }

  body[data-page="Кейсы"] .site-footer--premium .footer-cta h2 {
    max-width: 560px !important;
    font-size: 58px !important;
    line-height: .9 !important;
    letter-spacing: -.062em !important;
  }

  body[data-page="Кейсы"] .site-footer--premium .footer-cta__copy > p:last-child {
    max-width: 520px !important;
    margin-top: 10px !important;
    font-size: 13px !important;
    line-height: 1.52 !important;
  }

  body[data-page="Кейсы"] .site-footer--premium .footer-cta__button {
    min-width: 212px !important;
    min-height: 48px !important;
    font-size: 12px !important;
  }
}


/* ===== Desktop normalization release v113 ===== */
@media (min-width: 981px) {
  /* unify remaining desktop tabs with the management page proportions */
  body[data-page="FAQ"] .container,
  body[data-page="Контакты"] .container,
  body[data-page="Кейс студии"] .container,
  body[data-page="Кейс офиса"] .container,
  body[data-page="Кейс · Гараж"] .container,
  body[data-page="Кейсы"] .container {
    max-width: 1168px;
  }

  /* Cases page: reduce visual scale to match the Management tab */
  body[data-page="Кейсы"] .opening--cases {
    padding: 124px 0 72px;
  }
  body[data-page="Кейсы"] .opening--cases .opening__grid {
    grid-template-columns: minmax(0, 1.02fr) 286px 188px;
    gap: 28px;
    align-items: start;
  }
  body[data-page="Кейсы"] .opening--cases .opening__copy {
    max-width: 500px;
  }
  body[data-page="Кейсы"] .opening--cases .opening__title {
    max-width: 470px;
    font-size: clamp(3.1rem, 4.3vw, 4.9rem);
    line-height: .92;
  }
  body[data-page="Кейсы"] .opening--cases .opening__lead {
    max-width: 420px;
    font-size: 13px;
    line-height: 1.6;
  }
  body[data-page="Кейсы"] .opening--cases .opening__note {
    max-width: 392px;
    min-height: 54px;
    padding: 13px 16px;
  }
  body[data-page="Кейсы"] .opening--cases .opening__visual {
    width: 286px;
  }
  body[data-page="Кейсы"] .opening--cases .opening__visual-frame {
    min-height: 418px;
    height: 418px;
    border-radius: 28px;
  }
  body[data-page="Кейсы"] .opening--cases .opening__visual-tag {
    left: 42px;
    right: 10px;
    bottom: 10px;
    padding: 14px 16px;
    font-size: 11px;
    line-height: 1.05;
  }
  body[data-page="Кейсы"] .opening--cases .opening__metrics {
    width: 188px;
    min-height: 418px;
    padding: 16px 13px 14px;
    border-radius: 26px;
  }
  body[data-page="Кейсы"] .opening--cases .opening__metrics > p {
    margin-bottom: 14px;
    font-size: 11px;
    line-height: 1.2;
  }
  body[data-page="Кейсы"] .opening--cases .opening__metric {
    padding: 10px 0 12px;
  }
  body[data-page="Кейсы"] .opening--cases .opening__metric b {
    font-size: 18px;
    line-height: .95;
  }
  body[data-page="Кейсы"] .opening--cases .opening__metric span {
    margin-top: 3px;
    font-size: 10px;
    line-height: 1.35;
  }
  body[data-page="Кейсы"] .opening--cases .opening__link {
    margin-top: 16px;
    font-size: 10px;
    line-height: 1.15;
  }
  body[data-page="Кейсы"] .section--paper {
    padding-top: 56px;
    padding-bottom: 60px;
  }
  body[data-page="Кейсы"] .split-intro {
    grid-template-columns: minmax(0, 1.05fr) minmax(260px, .85fr);
    gap: 30px;
    align-items: end;
  }
  body[data-page="Кейсы"] .split-intro .title {
    max-width: 520px;
    font-size: clamp(2.85rem, 3.85vw, 4.1rem);
    line-height: .92;
  }
  body[data-page="Кейсы"] .split-intro .section-lead {
    max-width: 360px;
    font-size: 13px;
    line-height: 1.62;
  }
  body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious {
    gap: 18px;
    margin-top: 24px;
  }
  body[data-page="Кейсы"] .story-card-neo {
    border-radius: 24px;
  }
  body[data-page="Кейсы"] .story-card-neo__media {
    min-height: 214px;
    max-height: 214px;
  }
  body[data-page="Кейсы"] .story-card-neo__body {
    padding: 20px 18px 18px;
  }
  body[data-page="Кейсы"] .story-card-neo__body h3 {
    font-size: 24px;
    line-height: .95;
  }
  body[data-page="Кейсы"] .story-card-neo__body p:not(.eyebrow) {
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.55;
  }
  body[data-page="Кейсы"] .story-card-neo__stats {
    gap: 8px;
    margin-top: 18px;
  }
  body[data-page="Кейсы"] .story-card-neo__stats > div {
    min-height: 76px;
    padding: 11px 12px;
  }
  body[data-page="Кейсы"] .story-card-neo__stats b {
    font-size: 16px;
  }
  body[data-page="Кейсы"] .story-card-neo__stats span {
    margin-top: 4px;
    font-size: 9px;
    line-height: 1.28;
  }
  body[data-page="Кейсы"] .story-card-neo__body .text-link {
    margin-top: 18px;
    padding: 13px 16px;
    font-size: 11px;
  }
  body[data-page="Кейсы"] .feature-grid {
    gap: 14px;
    margin-top: 24px;
  }
  body[data-page="Кейсы"] .feature-card {
    min-height: 162px;
    padding: 22px 18px 18px;
  }
  body[data-page="Кейсы"] .feature-card h3 {
    font-size: 16px;
  }
  body[data-page="Кейсы"] .feature-card p {
    font-size: 12px;
    line-height: 1.5;
  }

  /* Contacts page: keep the same compact desktop rhythm */
  body[data-page="Контакты"] .opening {
    padding: 124px 0 70px;
  }
  body[data-page="Контакты"] .opening__grid {
    grid-template-columns: minmax(0, 1fr) 188px;
    gap: 34px;
  }
  body[data-page="Контакты"] .opening__copy {
    max-width: 560px;
  }
  body[data-page="Контакты"] .opening__title {
    max-width: 510px;
    font-size: clamp(3rem, 4.1vw, 4.8rem);
  }
  body[data-page="Контакты"] .opening__lead {
    max-width: 430px;
    font-size: 13px;
  }
  body[data-page="Контакты"] .opening__metrics {
    width: 188px;
    padding: 16px 13px 14px;
    border-radius: 26px;
  }
  body[data-page="Контакты"] .contact-grid {
    grid-template-columns: .92fr 1.08fr;
    gap: 34px;
  }
  body[data-page="Контакты"] .contact-cards--directory {
    gap: 14px;
  }
  body[data-page="Контакты"] .contact-cards--directory .contact-card {
    min-height: 174px;
    padding: 18px 18px 17px;
  }
  body[data-page="Контакты"] .lead-form--contact {
    padding: 24px;
  }

  /* FAQ page: match the same width and compactness */
  body[data-page="FAQ"] .faq-classic-hero {
    padding: 126px 0 76px;
  }
  body[data-page="FAQ"] .faq-classic-hero__grid {
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 34px;
    align-items: start;
  }
  body[data-page="FAQ"] .faq-classic-hero__copy {
    max-width: 560px;
  }
  body[data-page="FAQ"] .faq-classic-hero__copy h1 {
    max-width: 510px;
    font-size: clamp(3rem, 4.15vw, 4.8rem);
    line-height: .92;
  }
  body[data-page="FAQ"] .faq-classic-hero__copy > p:not(.eyebrow) {
    max-width: 450px;
    font-size: 13px;
  }
  body[data-page="FAQ"] .faq-classic-hero__note {
    min-height: 0;
    padding: 18px 18px 20px;
    border-radius: 26px;
  }
  body[data-page="FAQ"] .faq-classic-hero__note > p {
    font-size: 18px;
  }
  body[data-page="FAQ"] .faq-classic-layout {
    grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
    gap: 34px;
  }
  body[data-page="FAQ"] .faq-classic-aside h2 {
    font-size: clamp(2rem, 2.4vw, 2.6rem);
    line-height: .95;
  }

  /* Case detail pages: keep same page scale as management/cases */
  body[data-page="Кейс студии"] .opening,
  body[data-page="Кейс офиса"] .opening,
  body[data-page="Кейс · Гараж"] .opening {
    padding: 124px 0 72px;
  }
  body[data-page="Кейс студии"] .opening__grid,
  body[data-page="Кейс офиса"] .opening__grid,
  body[data-page="Кейс · Гараж"] .opening__grid {
    grid-template-columns: minmax(0, 1.02fr) 286px 188px;
    gap: 28px;
    align-items: start;
  }
  body[data-page="Кейс студии"] .opening__copy,
  body[data-page="Кейс офиса"] .opening__copy,
  body[data-page="Кейс · Гараж"] .opening__copy {
    max-width: 500px;
  }
  body[data-page="Кейс студии"] .opening__title,
  body[data-page="Кейс офиса"] .opening__title,
  body[data-page="Кейс · Гараж"] .opening__title {
    max-width: 480px;
    font-size: clamp(3rem, 4.15vw, 4.8rem);
    line-height: .92;
  }
  body[data-page="Кейс студии"] .opening__lead,
  body[data-page="Кейс офиса"] .opening__lead,
  body[data-page="Кейс · Гараж"] .opening__lead {
    max-width: 430px;
    font-size: 13px;
    line-height: 1.6;
  }
  body[data-page="Кейс студии"] .opening__visual,
  body[data-page="Кейс офиса"] .opening__visual,
  body[data-page="Кейс · Гараж"] .opening__visual {
    width: 286px;
  }
  body[data-page="Кейс студии"] .opening__visual-frame,
  body[data-page="Кейс офиса"] .opening__visual-frame,
  body[data-page="Кейс · Гараж"] .opening__visual-frame {
    min-height: 418px;
    height: 418px;
    border-radius: 28px;
  }
  body[data-page="Кейс студии"] .opening__metrics,
  body[data-page="Кейс офиса"] .opening__metrics,
  body[data-page="Кейс · Гараж"] .opening__metrics {
    width: 188px;
    min-height: 418px;
    padding: 16px 13px 14px;
    border-radius: 26px;
  }
  body[data-page="Кейс студии"] .case-layout,
  body[data-page="Кейс офиса"] .case-layout,
  body[data-page="Кейс · Гараж"] .case-layout {
    grid-template-columns: minmax(0, 1.08fr) 248px;
    gap: 24px;
  }
  body[data-page="Кейс студии"] .narrative-stack,
  body[data-page="Кейс офиса"] .narrative-stack,
  body[data-page="Кейс · Гараж"] .narrative-stack {
    gap: 16px;
  }
  body[data-page="Кейс студии"] .narrative-card,
  body[data-page="Кейс офиса"] .narrative-card,
  body[data-page="Кейс · Гараж"] .narrative-card,
  body[data-page="Кейс студии"] .accent-board,
  body[data-page="Кейс офиса"] .accent-board,
  body[data-page="Кейс · Гараж"] .accent-board {
    padding: 20px 18px;
    border-radius: 24px;
  }
  body[data-page="Кейс студии"] .case-comparison-section .split-intro,
  body[data-page="Кейс офиса"] .case-comparison-section .split-intro,
  body[data-page="Кейс · Гараж"] .case-comparison-section .split-intro {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .85fr);
    gap: 30px;
  }
  body[data-page="Кейс студии"] .case-comparison__grid,
  body[data-page="Кейс офиса"] .case-comparison__grid,
  body[data-page="Кейс · Гараж"] .case-comparison__grid {
    gap: 14px;
  }
  body[data-page="Кейс студии"] .case-comparison__photo,
  body[data-page="Кейс офиса"] .case-comparison__photo,
  body[data-page="Кейс · Гараж"] .case-comparison__photo {
    border-radius: 22px;
  }

  /* footer CTA on remaining tabs: keep equal compact block */
  body[data-page="Кейсы"] .footer-cta,
  body[data-page="Контакты"] .footer-cta,
  body[data-page="FAQ"] .footer-cta,
  body[data-page="Кейс студии"] .footer-cta,
  body[data-page="Кейс офиса"] .footer-cta,
  body[data-page="Кейс · Гараж"] .footer-cta {
    padding: 36px 26px;
    border-radius: 28px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 26px;
  }
  body[data-page="Кейсы"] .footer-cta h2,
  body[data-page="Контакты"] .footer-cta h2,
  body[data-page="FAQ"] .footer-cta h2,
  body[data-page="Кейс студии"] .footer-cta h2,
  body[data-page="Кейс офиса"] .footer-cta h2,
  body[data-page="Кейс · Гараж"] .footer-cta h2 {
    max-width: 560px;
    font-size: clamp(2.6rem, 3.5vw, 4rem);
    line-height: .92;
  }
}


/* ============================================================
   RELEASE 114 — Remaining pages aligned to the first three tabs
   One compact 980 px desktop system for Cases, Calculator, FAQ,
   Contacts and the three detailed case pages. Mobile is untouched.
   ============================================================ */
@media (min-width: 981px) {
  /* ---------- Shared desktop frame ---------- */
  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) {
    font-size: 14px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .container {
    inline-size: min(980px, calc(100% - 32px)) !important;
    width: min(980px, calc(100% - 32px)) !important;
    max-inline-size: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }

  /* ---------- Shared header copied from approved first tabs ---------- */
  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header,
  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header.is-scrolled {
    top: 10px !important;
    padding: 0 !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header .header-inner,
  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header.is-scrolled .header-inner {
    min-height: 56px !important;
    grid-template-columns: 120px minmax(0, 1fr) 194px !important;
    gap: 8px !important;
    padding: 7px 9px 7px 14px !important;
    border-radius: 18px !important;
    overflow: visible !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header :is(.brand, .brand-mark),
  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header.is-scrolled :is(.brand, .brand-mark) {
    width: 120px !important;
    height: 38px !important;
    max-width: 120px !important;
    object-fit: contain !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header .site-nav,
  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header.is-scrolled .site-nav {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: clamp(5px, .55vw, 8px) !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  html body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header .site-nav .nav-link,
  html body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header.is-scrolled .site-nav .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 28px !important;
    padding: 0 !important;
    color: var(--ink) !important;
    background: transparent !important;
    font-size: 8.3px !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
  }

  html body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header .site-nav .nav-link:is(:hover, .is-active),
  html body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header.is-scrolled .site-nav .nav-link:is(:hover, .is-active) {
    color: var(--accent-strong) !important;
    background: transparent !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header :is(.mobile-nav-actions, .menu-toggle, .header-phone) {
    display: none !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header .header-actions {
    display: flex !important;
    width: 194px !important;
    min-width: 194px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-header .button.header-cta {
    min-height: 36px !important;
    padding-inline: 8px !important;
    gap: 8px !important;
    font-size: 8.8px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) :is(main, .site-footer--premium) .button {
    min-height: 44px !important;
    padding-inline: 18px !important;
    gap: 9px !important;
    font-size: 10px !important;
  }

  /* ---------- Shared opening typography ---------- */
  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .opening {
    min-height: 0 !important;
    padding-top: 104px !important;
    padding-bottom: 82px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .opening__crumbs {
    gap: 6px !important;
    margin-bottom: 21px !important;
    font-size: 8px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .opening__eyebrow {
    gap: 8px !important;
    margin-bottom: 10px !important;
    font-size: 8px !important;
    letter-spacing: .16em !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .opening__eyebrow::before {
    width: 24px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .opening__title {
    font-size: 48px !important;
    line-height: .93 !important;
    letter-spacing: -.062em !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .opening__lead {
    margin-top: 11px !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .opening__note {
    margin-top: 19px !important;
    padding: 9px 11px !important;
    border-radius: 11px !important;
    gap: 7px !important;
    font-size: 8px !important;
    line-height: 1.48 !important;
  }

  /* ---------- Cases ---------- */
  body[data-page="Кейсы"] .opening--cases .opening__grid {
    grid-template-columns: minmax(0, 1fr) 246px 210px !important;
    gap: 22px !important;
    align-items: start !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__copy {
    max-width: none !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__title {
    max-width: 455px !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__lead {
    max-width: 410px !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__note {
    width: min(100%, 352px) !important;
    max-width: 352px !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__visual {
    width: 246px !important;
    max-width: 246px !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__visual-frame {
    width: 246px !important;
    height: 318px !important;
    min-height: 318px !important;
    aspect-ratio: auto !important;
    border-radius: 24px !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__visual-tag {
    right: 8px !important;
    bottom: 8px !important;
    left: 56px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    font-size: 8.5px !important;
    line-height: 1.08 !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__metrics {
    display: block !important;
    width: 210px !important;
    max-width: 210px !important;
    min-height: 318px !important;
    justify-self: end !important;
    margin-top: 0 !important;
    padding: 14px 14px 13px !important;
    border-radius: 15px !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__metrics > p {
    margin: 0 0 8px !important;
    font-size: 7.2px !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__metric,
  body[data-page="Кейсы"] .opening--cases .opening__metric:first-of-type {
    padding: 9px 0 !important;
    border-left: 0 !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__metric b {
    font-size: 18.5px !important;
    line-height: .96 !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__metric span {
    margin-top: 0 !important;
    font-size: 8px !important;
    line-height: 1.38 !important;
  }
  body[data-page="Кейсы"] .opening--cases .opening__link {
    margin-top: 8px !important;
    padding-top: 10px !important;
    font-size: 8px !important;
  }
  body[data-page="Кейсы"] .opening--cases + .section.section--paper {
    padding-top: 42px !important;
    padding-bottom: 58px !important;
  }
  body[data-page="Кейсы"] .split-intro {
    grid-template-columns: 1.06fr .94fr !important;
    gap: 92px !important;
    align-items: end !important;
  }
  body[data-page="Кейсы"] main .eyebrow {
    font-size: 8px !important;
  }
  body[data-page="Кейсы"] main .title {
    max-width: 460px !important;
    font-size: 38px !important;
    line-height: .94 !important;
  }
  body[data-page="Кейсы"] main .section-lead {
    max-width: 390px !important;
    margin-top: 18px !important;
    font-size: 10px !important;
    line-height: 1.6 !important;
  }
  body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 37px !important;
  }
  body[data-page="Кейсы"] .story-card-neo {
    border-radius: 18px !important;
  }
  body[data-page="Кейсы"] .story-card-neo__media {
    height: 198px !important;
    min-height: 198px !important;
    margin: 8px 8px 0 !important;
    border-radius: 14px !important;
  }
  body[data-page="Кейсы"] .story-card-neo__body {
    padding: 15px 14px 14px !important;
  }
  body[data-page="Кейсы"] .story-card-neo__body .eyebrow {
    margin-bottom: 8px !important;
    font-size: 7px !important;
  }
  body[data-page="Кейсы"] .story-card-neo__body h3 {
    min-height: 64px !important;
    font-size: 21px !important;
    line-height: .96 !important;
  }
  body[data-page="Кейсы"] .story-card-neo__body p:not(.eyebrow) {
    margin-top: 10px !important;
    font-size: 9.5px !important;
    line-height: 1.5 !important;
  }
  body[data-page="Кейсы"] .story-card-neo__stats {
    margin: 14px 0 !important;
  }
  body[data-page="Кейсы"] .story-card-neo__stats > div {
    padding: 9px 0 !important;
  }
  body[data-page="Кейсы"] .story-card-neo__stats b {
    font-size: 15px !important;
  }
  body[data-page="Кейсы"] .story-card-neo__stats span {
    max-width: 102px !important;
    font-size: 7px !important;
  }
  body[data-page="Кейсы"] .story-card-neo__body .text-link {
    min-height: 38px !important;
    padding: 9px 13px !important;
    font-size: 8.5px !important;
  }
  body[data-page="Кейсы"] .section--cream {
    padding-top: 45px !important;
    padding-bottom: 52px !important;
  }
  body[data-page="Кейсы"] .feature-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  body[data-page="Кейсы"] .feature-card {
    height: 172px !important;
    min-height: 172px !important;
    padding: 17px 18px 18px !important;
    border-radius: 18px !important;
  }
  body[data-page="Кейсы"] .feature-card__index {
    font-size: 18px !important;
  }
  body[data-page="Кейсы"] .feature-card h3 {
    margin-top: 38px !important;
    font-size: 15px !important;
  }
  body[data-page="Кейсы"] .feature-card p {
    font-size: 9.3px !important;
    line-height: 1.48 !important;
  }

  /* ---------- Calculator ---------- */
  body[data-page="Калькулятор доходности"] .opening--calculator .opening__grid {
    grid-template-columns: minmax(0, 1fr) 272px !important;
    gap: 38px !important;
    align-items: start !important;
  }
  body[data-page="Калькулятор доходности"] .opening--calculator .opening__copy {
    max-width: none !important;
  }
  body[data-page="Калькулятор доходности"] .opening--calculator .opening__title {
    max-width: 650px !important;
  }
  body[data-page="Калькулятор доходности"] .opening--calculator .opening__lead {
    max-width: 520px !important;
  }
  body[data-page="Калькулятор доходности"] .opening--calculator .opening__note {
    width: min(100%, 352px) !important;
    max-width: 352px !important;
  }
  body[data-page="Калькулятор доходности"] .opening--calculator .opening__metrics {
    display: block !important;
    width: 272px !important;
    max-width: 272px !important;
    justify-self: end !important;
    margin-top: 12px !important;
    padding: 14px 14px 13px !important;
    border-radius: 15px !important;
  }
  body[data-page="Калькулятор доходности"] .opening--calculator .opening__metrics > p {
    margin: 0 0 8px !important;
    font-size: 7.2px !important;
  }
  body[data-page="Калькулятор доходности"] .opening--calculator .opening__metric {
    padding: 9px 0 !important;
  }
  body[data-page="Калькулятор доходности"] .opening--calculator .opening__metric b {
    font-size: 18.5px !important;
  }
  body[data-page="Калькулятор доходности"] .opening--calculator .opening__metric span {
    font-size: 8px !important;
  }
  body[data-page="Калькулятор доходности"] .opening--calculator + .section.section--cream {
    padding-top: 16px !important;
    padding-bottom: 48px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern {
    grid-template-columns: 1.08fr .92fr !important;
    gap: 14px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__controls,
  body[data-page="Калькулятор доходности"] .calc-modern__result {
    padding: 24px !important;
    border-radius: 18px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__intro h2 {
    font-size: 30px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__intro p {
    font-size: 10px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__scenarios {
    margin-top: 22px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__scenarios button {
    min-height: 44px !important;
    font-size: 8.5px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__range {
    margin-top: 18px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__range label {
    font-size: 9px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__range-scale {
    font-size: 8px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__total {
    margin-top: 24px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__total span {
    font-size: 8px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__total b {
    font-size: 34px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__metrics {
    gap: 8px !important;
    margin-top: 18px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__metrics > div {
    min-height: 74px !important;
    padding: 10px !important;
    border-radius: 12px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__metrics span {
    min-height: 24px !important;
    font-size: 7px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__metrics b {
    font-size: 13px !important;
  }
  body[data-page="Калькулятор доходности"] .calc-modern__chart {
    height: 58px !important;
    margin: 18px 0 !important;
  }
  body[data-page="Калькулятор доходности"] .disclaimer {
    margin-top: 13px !important;
    font-size: 9px !important;
  }
  body[data-page="Калькулятор доходности"] main > .section.section--paper {
    padding-top: 52px !important;
    padding-bottom: 55px !important;
  }
  body[data-page="Калькулятор доходности"] .split-intro {
    grid-template-columns: 1.06fr .94fr !important;
    gap: 92px !important;
  }
  body[data-page="Калькулятор доходности"] main .title {
    max-width: 460px !important;
    font-size: 38px !important;
  }
  body[data-page="Калькулятор доходности"] main .section-lead {
    font-size: 10px !important;
  }
  body[data-page="Калькулятор доходности"] .consider-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 37px !important;
  }
  body[data-page="Калькулятор доходности"] .consider-grid article {
    height: 172px !important;
    min-height: 172px !important;
    padding: 17px 18px 18px !important;
    border-radius: 18px !important;
  }
  body[data-page="Калькулятор доходности"] .consider-grid b {
    margin-top: 43px !important;
    font-size: 15px !important;
  }
  body[data-page="Калькулятор доходности"] .consider-grid p {
    font-size: 9.3px !important;
  }

  /* ---------- Contacts ---------- */
  body[data-page="Контакты"] .opening--contacts .opening__grid {
    grid-template-columns: minmax(0, 1fr) 272px !important;
    gap: 38px !important;
  }
  body[data-page="Контакты"] .opening--contacts .opening__title {
    max-width: 650px !important;
  }
  body[data-page="Контакты"] .opening--contacts .opening__lead {
    max-width: 520px !important;
  }
  body[data-page="Контакты"] .opening--contacts .opening__note {
    width: min(100%, 352px) !important;
    max-width: 352px !important;
  }
  body[data-page="Контакты"] .opening--contacts .opening__metrics {
    display: block !important;
    width: 272px !important;
    max-width: 272px !important;
    margin-top: 12px !important;
    padding: 14px 14px 13px !important;
    border-radius: 15px !important;
  }
  body[data-page="Контакты"] .opening--contacts + .section.section--paper {
    padding-top: 42px !important;
    padding-bottom: 58px !important;
  }
  body[data-page="Контакты"] .contact-grid {
    grid-template-columns: .92fr 1.08fr !important;
    gap: 36px !important;
  }
  body[data-page="Контакты"] main .title,
  body[data-page="Контакты"] .lead-form__top h2 {
    font-size: 36px !important;
    line-height: .95 !important;
  }
  body[data-page="Контакты"] main .section-lead,
  body[data-page="Контакты"] .lead-form__top > p {
    font-size: 10px !important;
  }
  body[data-page="Контакты"] .contact-cards--directory {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 28px !important;
  }
  body[data-page="Контакты"] .contact-cards--directory .contact-card {
    min-height: 150px !important;
    padding: 16px !important;
    border-radius: 18px !important;
  }
  body[data-page="Контакты"] .contact-card .contact-card__value b {
    font-size: 14px !important;
  }
  body[data-page="Контакты"] .contact-card .contact-card__hint {
    font-size: 8px !important;
  }
  body[data-page="Контакты"] .lead-form--contact {
    padding: 22px !important;
    border-radius: 20px !important;
  }
  body[data-page="Контакты"] .form-grid {
    gap: 12px !important;
  }
  body[data-page="Контакты"] :is(.form-field input, .form-field textarea) {
    min-height: 44px !important;
    font-size: 10px !important;
  }

  /* ---------- FAQ ---------- */
  body[data-page="FAQ"] .faq-classic-hero {
    min-height: 0 !important;
    padding: 104px 0 80px !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__grid {
    grid-template-columns: minmax(0, 1fr) 272px !important;
    gap: 38px !important;
    align-items: start !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__copy {
    max-width: none !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__crumbs {
    margin-bottom: 21px !important;
    font-size: 8px !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__copy .eyebrow {
    margin-bottom: 10px !important;
    font-size: 8px !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__copy h1 {
    max-width: 650px !important;
    font-size: 48px !important;
    line-height: .93 !important;
    letter-spacing: -.062em !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__copy > p:not(.eyebrow) {
    max-width: 520px !important;
    margin-top: 11px !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__chips {
    gap: 6px !important;
    margin-top: 18px !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__chips span {
    padding: 7px 10px !important;
    font-size: 7px !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__note {
    width: 272px !important;
    max-width: 272px !important;
    padding: 20px !important;
    border-radius: 18px !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__note-label {
    font-size: 7px !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__note > p {
    margin-top: 14px !important;
    font-size: 17px !important;
  }
  body[data-page="FAQ"] .faq-classic-hero__note-stat b {
    font-size: 32px !important;
  }
  body[data-page="FAQ"] .faq-classic-content {
    padding-top: 52px !important;
    padding-bottom: 62px !important;
  }
  body[data-page="FAQ"] .faq-classic-layout {
    grid-template-columns: 330px minmax(0, 1fr) !important;
    gap: 52px !important;
  }
  body[data-page="FAQ"] .faq-classic-aside h2 {
    font-size: 36px !important;
    line-height: .95 !important;
  }
  body[data-page="FAQ"] .faq-classic-aside > p:not(.eyebrow) {
    font-size: 10px !important;
  }
  body[data-page="FAQ"] .faq-classic-aside__facts {
    gap: 12px !important;
  }
  body[data-page="FAQ"] .faq-classic-aside__facts span {
    font-size: 9px !important;
  }
  body[data-page="FAQ"] .faq-gray-accordion {
    gap: 10px !important;
  }
  body[data-page="FAQ"] .faq-gray-accordion .accordion-item {
    border-radius: 16px !important;
  }
  body[data-page="FAQ"] .faq-gray-accordion .accordion-button {
    min-height: 58px !important;
    padding: 14px 16px !important;
  }
  body[data-page="FAQ"] .faq-gray-accordion .accordion-button b {
    font-size: 12px !important;
  }
  body[data-page="FAQ"] .faq-gray-accordion .accordion-content p {
    font-size: 10px !important;
    line-height: 1.6 !important;
  }

  /* ---------- Detailed case pages ---------- */
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .opening__grid {
    grid-template-columns: minmax(0, 1fr) 246px 210px !important;
    gap: 22px !important;
    align-items: start !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .opening__title {
    max-width: 455px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .opening__lead {
    max-width: 410px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .opening__note {
    width: min(100%, 352px) !important;
    max-width: 352px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .opening__visual {
    width: 246px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .opening__visual-frame {
    width: 246px !important;
    height: 318px !important;
    min-height: 318px !important;
    aspect-ratio: auto !important;
    border-radius: 24px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .opening__metrics {
    display: block !important;
    width: 210px !important;
    max-width: 210px !important;
    min-height: 318px !important;
    margin-top: 0 !important;
    padding: 14px 14px 13px !important;
    border-radius: 15px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .opening__metric b {
    font-size: 18.5px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .opening__metric span {
    font-size: 8px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .opening + .section.section--paper {
    padding-top: 42px !important;
    padding-bottom: 58px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .case-layout {
    grid-template-columns: minmax(0, 1fr) 258px !important;
    gap: 20px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .narrative-stack {
    gap: 12px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .narrative-card {
    padding: 18px !important;
    border-radius: 18px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .narrative-card h3 {
    font-size: 20px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .narrative-card :is(p, li) {
    font-size: 10px !important;
    line-height: 1.58 !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .accent-board {
    padding: 20px !important;
    border-radius: 18px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .accent-metric b {
    font-size: 22px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .accent-metric span {
    font-size: 8px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .case-comparison-section {
    padding-top: 52px !important;
    padding-bottom: 58px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .case-comparison-section .split-intro {
    grid-template-columns: 1.06fr .94fr !important;
    gap: 92px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .case-comparison-section .title {
    font-size: 38px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .case-comparison {
    margin-top: 32px !important;
    padding: 14px !important;
    border-radius: 22px !important;
  }
  body:is([data-page="Кейс студии"], [data-page="Кейс офиса"], [data-page="Кейс · Гараж"]) .case-comparison__grid {
    gap: 10px !important;
  }

  /* ---------- Shared compact footer ---------- */
  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-shell {
    padding-top: 21px !important;
    padding-bottom: 14px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-cta {
    grid-template-columns: minmax(0, 1fr) 258px !important;
    gap: 58px !important;
    min-height: 134px !important;
    padding: 32px !important;
    border-radius: 24px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-cta__eyebrow {
    margin-bottom: 12px !important;
    font-size: 8px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-cta h2 {
    max-width: 560px !important;
    font-size: 46px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-cta__copy > p:last-child {
    margin-top: 14px !important;
    font-size: 10px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-cta__button {
    width: 258px !important;
    min-width: 0 !important;
    min-height: 46px !important;
    justify-self: end !important;
    white-space: nowrap !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-main--premium {
    grid-template-columns: 330px 206px 286px !important;
    gap: 77px !important;
    padding: 37px 0 27px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-brand .brand--footer {
    width: 216px !important;
    max-width: 216px !important;
    min-height: 85px !important;
    margin-bottom: 19px !important;
    padding: 11px 19px !important;
    border-radius: 19px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium :is(.footer-brand--premium > p, .footer-nav a, .footer-contact__value) {
    font-size: 10px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium :is(.footer-label, .footer-contact__caption) {
    font-size: 8px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-address {
    width: 210px !important;
    max-width: 210px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-bottom--premium {
    margin-top: 8px !important;
    padding-top: 14px !important;
    font-size: 8px !important;
  }
}

/* Compact PC browser windows: retain desktop composition without enlargement. */
@media (min-width: 981px) and (max-width: 1100px) {
  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-cta {
    grid-template-columns: minmax(0, 1fr) 220px !important;
    gap: 30px !important;
  }

  body:is(
    [data-page="Кейсы"],
    [data-page="Калькулятор доходности"],
    [data-page="FAQ"],
    [data-page="Контакты"],
    [data-page="Кейс студии"],
    [data-page="Кейс офиса"],
    [data-page="Кейс · Гараж"]
  ) .site-footer--premium .footer-main--premium {
    grid-template-columns: minmax(280px, 1.15fr) minmax(160px, .72fr) minmax(240px, 1fr) !important;
    gap: 28px !important;
  }
}


/* ===== Release v115: hide breadcrumb path on all pages ===== */
.opening__crumbs,
.faq-classic-hero__crumbs,
.breadcrumbs,
.faq-atelier-hero__crumbs {
  display: none !important;
}


/* ===== Release v116: unify garage case card color ===== */
body[data-page="Кейсы"] .story-card-neo:nth-child(3) {
  background: linear-gradient(180deg, rgb(var(--white-rgb) / .96), rgb(var(--surface-tint-rgb) / .62)) !important;
}


/* ===== Release v117: make all three case cards visually identical ===== */
body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious > .story-card-neo,
body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious > .story-card-neo:nth-child(3) {
  background-color: #ffffff !important;
  background-image: none !important;
  border-color: var(--line) !important;
  box-shadow: 0 22px 52px rgb(var(--ink-rgb) / .08) !important;
}
body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious > .story-card-neo .story-card-neo__body,
body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious > .story-card-neo:nth-child(3) .story-card-neo__body {
  background-color: #ffffff !important;
  background-image: none !important;
}
body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious > .story-card-neo .story-card-neo__stats,
body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious > .story-card-neo:nth-child(3) .story-card-neo__stats {
  background: transparent !important;
}
body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious > .story-card-neo .story-card-neo__stats > div,
body[data-page="Кейсы"] .case-story-grid.case-story-grid--spacious > .story-card-neo:nth-child(3) .story-card-neo__stats > div {
  background-color: #ffffff !important;
  background-image: none !important;
}


/* ===== Release v119: remove FAQ footer CTA only ===== */
body[data-page="FAQ"] .footer-cta {
  display: none !important;
}
body[data-page="FAQ"] .site-footer--premium .footer-shell {
  padding-top: 0 !important;
}


/* ===== Release v120: FAQ orange CTA block removed ===== */
body[data-page="FAQ"] .faq-classic-cta { display:none !important; }


/* ===== Release v121: restore white FAQ footer CTA, keep orange CTA removed ===== */
body[data-page="FAQ"] .footer-cta {
  display: grid !important;
}
body[data-page="FAQ"] .site-footer--premium .footer-shell {
  padding-top: 34px !important;
}
body[data-page="FAQ"] .faq-classic-cta {
  display: none !important;
}


/* ===== Release v122: remove all large orange CTA blocks ===== */
body .nd-final,
body .faq-classic-cta,
body main > .cta {
  display: none !important;
}


/* ===== Release v123: homepage mobile calculator frame alignment ===== */
@media (max-width: 980px) {
  body[data-page="Главная"] .nd-tools .nd-calculator {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 24px 20px 22px !important;
    overflow: hidden !important;
    border: 1px solid rgb(var(--ink-rgb) / .075) !important;
    border-radius: 28px !important;
    background: linear-gradient(145deg, rgb(255 255 255 / .92), rgb(255 252 247 / .84)) !important;
    box-shadow: 0 18px 44px rgb(var(--ink-rgb) / .07), inset 0 1px 0 rgb(255 255 255 / .96) !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator > .eyebrow,
  body[data-page="Главная"] .nd-tools .nd-calculator > .title,
  body[data-page="Главная"] .nd-tools .nd-calculator > p:not(.eyebrow) {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator > .title {
    margin-top: 16px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator > p:not(.eyebrow) {
    margin-top: 14px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator .nd-calculator__card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 22px 0 20px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator > .button {
    max-width: 100% !important;
    margin: 0 !important;
  }
}

@media (max-width: 520px) {
  body[data-page="Главная"] .nd-tools .nd-calculator {
    padding: 20px 14px 18px !important;
    border-radius: 24px !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator > .title {
    font-size: clamp(2.25rem, 10.5vw, 3rem) !important;
    line-height: .94 !important;
    letter-spacing: -.055em !important;
  }

  body[data-page="Главная"] .nd-tools .nd-calculator > p:not(.eyebrow) {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }
}


/* ===== Release v124: refine home mobile calculator panel ===== */
@media (max-width: 980px) {
  body[data-page="Главная"] .nd-calculator__card {
    margin: 22px 0 22px !important;
    padding: 12px !important;
    gap: 12px !important;
    border: 1px solid rgb(var(--ink-rgb) / .06) !important;
    border-radius: 24px !important;
    background:
      linear-gradient(180deg, rgb(var(--white-rgb) / .92), rgb(var(--surface-rgb) / .72)) !important;
    box-shadow: 0 12px 28px rgb(var(--ink-rgb) / .06), inset 0 1px 0 rgb(var(--white-rgb) / .92) !important;
  }

  body[data-page="Главная"] .nd-calculator__card > div,
  body[data-page="Главная"] .nd-calculator__card aside {
    border-radius: 18px !important;
  }

  body[data-page="Главная"] .nd-calculator__card > div {
    min-height: 104px !important;
    padding: 14px 14px 16px !important;
    border: 1px solid rgb(var(--ink-rgb) / .06) !important;
    background: linear-gradient(180deg, rgb(var(--white-rgb) / .98), rgb(var(--surface-rgb) / .84)) !important;
    box-shadow: inset 0 1px 0 rgb(var(--white-rgb) / .95) !important;
  }

  body[data-page="Главная"] .nd-calculator__card span {
    max-width: 116px !important;
    font-size: 10px !important;
    line-height: 1.12 !important;
  }

  body[data-page="Главная"] .nd-calculator__card b {
    font-size: clamp(1.3rem, 5.2vw, 1.72rem) !important;
    line-height: .98 !important;
  }

  body[data-page="Главная"] .nd-calculator__card aside {
    min-height: 126px !important;
    padding: 18px 16px !important;
    border-radius: 22px !important;
  }

  body[data-page="Главная"] .nd-calculator__card aside strong {
    font-size: clamp(2rem, 8.4vw, 2.6rem) !important;
  }
}

@media (max-width: 420px) {
  body[data-page="Главная"] .nd-calculator__card {
    padding: 10px !important;
    gap: 10px !important;
    border-radius: 22px !important;
  }

  body[data-page="Главная"] .nd-calculator__card > div,
  body[data-page="Главная"] .nd-calculator__card aside {
    min-height: 96px !important;
    padding: 13px 13px 14px !important;
    border-radius: 17px !important;
  }

  body[data-page="Главная"] .nd-calculator__card aside {
    min-height: 118px !important;
    border-radius: 20px !important;
  }

  body[data-page="Главная"] .nd-calculator__card b {
    font-size: clamp(1.22rem, 5.5vw, 1.5rem) !important;
  }

  body[data-page="Главная"] .nd-calculator__card aside strong {
    font-size: clamp(1.9rem, 8vw, 2.28rem) !important;
  }
}
