:root {
  --navy-950: #061522;
  --navy-900: #071d32;
  --navy-800: #0c2a49;
  --navy-700: #123b67;
  --blue-500: #3a7ead;
  --gold-500: #c29a56;
  --gold-400: #d7b873;
  --gold-100: #f2e6cd;
  --ink: #172033;
  --muted: #647183;
  --line: #d9e2eb;
  --soft: #edf3f7;
  --paper: #fff;
  --success: #1b7a55;
  --error: #a23a35;
  --radius: 10px;
  --radius-lg: 18px;
  --shadow: 0 24px 70px rgba(9, 29, 51, .13);
  --container: 1180px;
  --header: 76px;
  --section-y: clamp(64px, 6vw, 88px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header) + 20px); }
body { margin: 0; color: var(--ink); background: #f8fafc; font-family: Inter, "Segoe UI", Arial, sans-serif; font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.modal-open, body.menu-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(2.65rem, 5.7vw, 5.3rem); font-weight: 850; }
h2 { font-size: clamp(2rem, 3.6vw, 3.25rem); font-weight: 820; }
h3 { font-size: 1.35rem; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.wide-container { width: min(calc(100% - 40px), 1380px); margin-inline: auto; }
.narrow { max-width: 880px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; left: 14px; top: 12px; transform: translateY(-150%); background: var(--navy-900); color: #fff; padding: 10px 14px; border-radius: 8px; }
.skip-link:focus { transform: none; }

.site-header { position: sticky; z-index: 100; top: 0; height: var(--header); background: rgba(248,250,252,.78); border-bottom: 1px solid rgba(18,59,103,.08); backdrop-filter: blur(20px) saturate(150%); transition: .25s ease; }
.site-header.is-scrolled { background: rgba(255,255,255,.92); box-shadow: 0 12px 32px rgba(9,29,51,.08); }
.header-inner { height: 100%; display: flex; align-items: center; gap: 22px; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 10px; min-width: 255px; }
.brand img { width: 62px; height: 62px; object-fit: contain; }
.brand strong, .brand small { display: block; }
.brand strong { color: var(--navy-900); font-weight: 820; line-height: 1.05; }
.brand small { color: var(--muted); font-size: .74rem; margin-top: 4px; letter-spacing: .02em; }
.main-nav { display: flex; align-items: center; justify-content: flex-end; gap: 4px; font-size: .88rem; }
.main-nav > a { padding: 10px 11px; border-radius: 7px; }
.main-nav > a:hover, .main-nav > a:focus-visible { background: #fff; color: var(--navy-700); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 9px; background: #fff; place-content: center; gap: 5px; }
.menu-toggle span { width: 20px; height: 2px; display: block; background: var(--navy-900); }

.button { min-height: 48px; border-radius: 8px; padding: 0 19px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 780; transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); }
.button:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(215,184,115,.55); outline-offset: 3px; }
.button-gold { color: #121a23; border-color: #ddb96c; background: linear-gradient(135deg, #e5c886 0%, #b98c46 100%); box-shadow: 0 13px 34px rgba(194,154,86,.25), inset 0 1px rgba(255,255,255,.62); }
.button-gold:hover { box-shadow: 0 17px 40px rgba(194,154,86,.35); }
.button-outline { color: var(--navy-700); border-color: rgba(18,59,103,.4); background: rgba(255,255,255,.58); }
.button-outline-light { color: #fff; border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.08); backdrop-filter: blur(12px); }
.button-light { color: var(--navy-900); background: rgba(255,255,255,.9); border-color: rgba(255,255,255,.8); }
.button-wide { width: 100%; }
.nav-search { min-height: 43px; margin-left: 4px; }
.eyebrow { margin-bottom: 15px; color: var(--navy-700); font-weight: 820; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow.gold { color: var(--gold-400); }
.text-link { color: var(--navy-700); font-weight: 800; }
.lead-text { font-size: 1.25rem; color: var(--muted); }

.hero { position: relative; min-height: calc(100svh - var(--header)); overflow: hidden; color: #fff; background: radial-gradient(circle at 74% 45%, rgba(58,126,173,.32), transparent 34%), radial-gradient(circle at 25% 20%, rgba(194,154,86,.13), transparent 24%), linear-gradient(135deg, var(--navy-950), var(--navy-900) 45%, #0d3355); }
.hero::before { content: ""; position: absolute; inset: 0; opacity: .13; background: linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.28) 50%, transparent 50.2%), linear-gradient(0deg, transparent 49.8%, rgba(255,255,255,.2) 50%, transparent 50.2%); background-size: 72px 72px; mask-image: linear-gradient(to bottom, #000, transparent 95%); }
.hero-grid { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(6,21,34,.98) 8%, rgba(7,29,50,.84) 42%, rgba(7,29,50,.18) 75%); }
.hero-inner { position: relative; z-index: 2; min-height: calc(100svh - var(--header)); display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(36px,4vw,70px); padding-block: 44px; }
.hero-copy { min-width: 0; max-width: 620px; padding-block: 28px; }
.hero-copy h1 { margin-bottom: 24px; max-width: 620px; font-size: clamp(3rem,4.45vw,5rem); overflow-wrap: anywhere; text-wrap: balance; }
.hero-lead { max-width: 640px; margin-bottom: 14px; font-size: clamp(1.25rem,2vw,1.7rem); font-weight: 670; color: #e8eef3; }
.hero-sub { color: #b8c9d6; max-width: 570px; margin-bottom: 29px; font-size: 1.02rem; }
.hero-actions { margin-top: 18px; display: flex; align-items: center; gap: 17px; flex-wrap: wrap; }
.hero-actions .button strong { font-weight: 900; }
.cadastral-search { position: relative; display: grid; grid-template-columns: 30px minmax(190px,1fr) auto; align-items: center; gap: 7px; width: min(100%, 670px); padding: 8px; border: 1px solid rgba(255,255,255,.24); border-radius: 12px; background: rgba(255,255,255,.11); box-shadow: 0 24px 80px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.18); backdrop-filter: blur(18px); }
.cadastral-search input { height: 48px; min-width: 0; border: 0; outline: 0; background: transparent; color: inherit; font-weight: 680; font-size: 1.05rem; }
.cadastral-search input::placeholder { color: rgba(255,255,255,.48); }
.cadastral-search small { grid-column: 2 / -1; color: rgba(255,255,255,.58); font-size: .72rem; padding: 0 0 2px; }
.search-prefix { text-align: center; color: var(--gold-400); font-size: 1.25rem; }
.region-search, .page-search, .modal-search { color: var(--ink); background: #fff; border-color: var(--line); box-shadow: 0 18px 50px rgba(9,29,51,.1); }
.region-search input::placeholder, .page-search input::placeholder, .modal-search input::placeholder { color: #8b98a8; }
.region-search small, .page-search small, .modal-search small { color: var(--muted); }

.hero-map-shell { position: relative; min-height: 640px; border-radius: 22px; border: 1px solid rgba(255,255,255,.18); background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(255,255,255,.025)); box-shadow: 0 40px 120px rgba(0,0,0,.27), inset 0 1px rgba(255,255,255,.16); backdrop-filter: blur(14px); overflow: hidden; }
.hero-map-shell:fullscreen,.hero-map-shell.is-map-expanded { width:100vw;height:100vh;min-height:100vh;border:0;border-radius:0;background:var(--navy-950); }
.hero-map-shell.is-map-expanded { position:fixed;z-index:1000;inset:0; }
.hero-map-shell:fullscreen .russia-map,.hero-map-shell.is-map-expanded .russia-map { height:calc(100vh - 66px);padding:20px 32px; }
.hero-map-shell:fullscreen .map-tooltip,.hero-map-shell.is-map-expanded .map-tooltip { position:fixed; }
body.map-expanded { overflow:hidden; }
.hero-map-shell::after { content: ""; position: absolute; inset: 20% 4% 13%; border-radius: 50%; background: rgba(37,106,146,.25); filter: blur(55px); pointer-events: none; }
.map-toolbar { position: relative; z-index: 5; display: flex; justify-content: space-between; align-items: center; padding: 16px 18px; border-bottom: 1px solid rgba(255,255,255,.11); color: #bfcfdc; font-size: .78rem; }
.live-dot, .status-dot { width: 8px; height: 8px; border-radius: 50%; background: #60c89a; display: inline-block; box-shadow: 0 0 0 5px rgba(96,200,154,.12); margin-right: 9px; }
.zoom-controls { display: flex; gap: 5px; }
.zoom-controls button { width: 33px; height: 33px; padding: 0; border: 1px solid rgba(255,255,255,.15); border-radius: 7px; color: #fff; background: rgba(255,255,255,.08); }
.russia-map { position: relative; z-index: 2; height: 495px; display: grid; place-items: center; padding: 12px 22px 0; touch-action: none; overflow: hidden; cursor: grab; }
.russia-map.is-dragging { cursor: grabbing; }
.russia-map svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 25px 20px rgba(0,0,0,.38)); transform-origin: center; transition: transform .25s ease; will-change: transform; }
.russia-map path { fill: #17466d; stroke: rgba(151,202,229,.7); stroke-width: .65; vector-effect: non-scaling-stroke; cursor: pointer; transform-box: fill-box; transform-origin: center; transition: fill .2s ease, filter .2s ease, transform .2s ease, stroke .2s ease; }
.russia-map path:hover, .russia-map path:focus, .russia-map path.is-active { fill: #c29a56; stroke: #f6dd9f; filter: drop-shadow(0 0 8px rgba(227,196,127,.9)); transform: translateY(-2px) scale(1.018); outline: none; }
.map-tooltip { position: absolute; z-index: 20; width: 245px; padding: 14px 15px; border-radius: 10px; color: #fff; background: rgba(6,21,34,.96); border: 1px solid rgba(215,184,115,.55); box-shadow: 0 16px 44px rgba(0,0,0,.38); pointer-events: auto; }
.map-tooltip strong, .map-tooltip span, .map-tooltip a { display: block; }
.map-tooltip strong { margin-bottom: 4px; }
.map-tooltip span { color: #b7c7d5; font-size: .84rem; }
.map-tooltip a { margin-top: 8px; color: var(--gold-400); font-size: .8rem; font-weight: 800; }
.russia-map a:focus-visible { outline: none; }
.russia-map a:focus-visible path { fill: #c29a56; stroke: #f6dd9f; filter: drop-shadow(0 0 8px rgba(227,196,127,.9)); }

.trust-strip { background: #fff; border-bottom: 1px solid var(--line); }
.trust-strip .container { min-height: 122px; display: grid; grid-template-columns: repeat(4,1fr); align-items: stretch; }
.trust-strip span { display: grid; grid-template-columns:auto 1fr; gap: 12px; align-items: center; padding: 22px 24px; font-size: 1.8rem; font-weight: 850; color: var(--navy-700); border-right: 1px solid var(--line); }
.trust-strip span:first-child { padding-left: 0; }.trust-strip span:last-child { border: 0; }
.trust-strip small { color: var(--muted); font-size: .78rem; font-weight: 650; line-height: 1.25; }
.section { padding: var(--section-y) 0; background: #fff; }
.section + .section:not(.section-soft):not(.dark-section):not(.final-cta) { border-top: 1px solid rgba(18,59,103,.1); }
.section-soft { background: linear-gradient(135deg,#edf3f7,#f8fafc 48%,#f2eadb); }
.split { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 56px; align-items: start; }
.split h2 { margin-bottom: 0; }
.section-head { max-width: 900px; margin-bottom: 32px; }
.long-copy { max-width: 1040px; }
.long-copy p:not(.eyebrow) { max-width: 980px; }
.manifest-line { margin-bottom: 8px; color: var(--navy-800); font-size: 1.12rem; font-weight: 800; }
.section-head.inline { max-width: none; display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.content-wide { max-width: var(--container); }
.intro-panel { max-width: 1040px; }
.intro-panel blockquote { margin: 26px 0 0; padding: 22px 26px; border-left: 3px solid var(--gold-500); color: var(--navy-800); background: var(--soft); font-size: clamp(1.15rem,2vw,1.45rem); font-weight: 720; }
.metric-cards { margin-top: 32px; display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.metric-cards article { padding: 25px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 14px 36px rgba(9,29,51,.06); }
.metric-cards strong,.metric-cards span { display: block; }.metric-cards strong { color: var(--navy-800); font-size: clamp(1.6rem,3vw,2.5rem); }.metric-cards span { margin-top: 5px; color: var(--muted); }
.detail-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.detail-grid article { padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.86); box-shadow: 0 14px 36px rgba(9,29,51,.05); display: flex; flex-direction: column; }
.detail-grid p { margin: 0; color: var(--muted); flex: 1; }.detail-grid.three { grid-template-columns: repeat(3,1fr); }
.timeline { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.timeline li { display: grid; grid-template-columns: 70px 1fr; gap: 20px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.timeline b { color: var(--gold-500); }.timeline strong { color: var(--navy-900); font-size: 1.18rem; }.timeline p { margin: 6px 0 0; color: var(--muted); }
.light-lead { max-width: 850px; color: #bdcbd6; font-size: 1.08rem; }
.check-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.check-grid li { padding: 18px 20px 18px 48px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.055); position: relative; color: #d2dce4; }
.check-grid li::before { content: "✓"; position: absolute; left: 20px; color: var(--gold-400); font-weight: 900; }
.source-note { margin-top: 22px; padding: 24px 28px; border: 1px solid #ccd8e2; border-radius: 14px; background: #f6f9fb; }
.source-note strong { display: block; margin-bottom: 6px; color: var(--navy-800); }.source-note p { margin: 0; color: var(--muted); }
.source-note-dark { border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.07); }
.source-note-dark strong { color:var(--gold-400); }.source-note-dark p { color:#c3d0da; }
.feature-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px 30px; margin: 0; padding: 0; list-style: none; }
.feature-list li { padding: 16px 18px 16px 42px; border-bottom: 1px solid var(--line); position: relative; }
.feature-list li::before { content: "•"; position: absolute; left: 18px; color: var(--gold-500); font-size: 1.4rem; line-height: 1; }
.module-grid { display: grid; grid-template-columns: repeat(2,1fr); grid-auto-rows: 1fr; gap: 14px; }
.module-grid article { padding: 27px; border-radius: 16px; color: #fff; background: linear-gradient(145deg,var(--navy-900),#104268); box-shadow: var(--shadow); display: flex; flex-direction: column; }
.module-grid span { color: var(--gold-400); font-size: .74rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }.module-grid h3 { margin-top: 12px; }.module-grid p { margin: 0; color: #bdcbd6; }
.module-grid ul { display: grid; gap: 8px; margin: 0; padding-left: 19px; color: #bdcbd6; }
.module-grid li::marker { color: var(--gold-400); }
.owner-modules { margin-top: 28px; }
.owner-passport-intro { margin-top:32px;margin-bottom:20px; }
.owner-result { border-color: rgba(194,154,86,.45); background: #fff8e8; }
.demo-access-note { margin: 13px 0 0; color: var(--muted); font-size: .84rem; }
.page-actions { margin-top: 28px; display: flex; gap: 10px; flex-wrap: wrap; }
.demo-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.demo-grid article { padding: 27px; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: 0 18px 46px rgba(9,29,51,.07); display: flex; flex-direction: column; }
.demo-grid article > span { display: block; margin-bottom: 28px; color: var(--gold-500); font-weight: 850; }.demo-grid p { min-height: 0; color: var(--muted); flex: 1; }
.tanzi-demo { margin-top:14px;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid rgba(194,154,86,.45);border-radius:16px;background:linear-gradient(135deg,#fff8e8,#f3ead8); }
.tanzi-demo span { color:var(--gold-500);font-size:.74rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase; }.tanzi-demo h3 { margin:8px 0; }.tanzi-demo p { max-width:760px;margin:0;color:var(--muted); }
.audience-section { background: linear-gradient(180deg,#f8fafc,#eef4f8); }
.audience-heading p:last-child { max-width: 680px; color: var(--muted); font-size: 1.05rem; }
.audience-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; }
.audience-grid article { min-height: 220px; padding: 25px; border: 1px solid rgba(18,59,103,.12); border-radius: var(--radius-lg); background: linear-gradient(145deg,#fff,#f5f8fa); box-shadow: 0 14px 42px rgba(9,29,51,.07); display: flex; flex-direction: column; }
.audience-grid-eight { grid-template-columns: repeat(4,1fr); }
.audience-grid-eight article,.audience-grid-eight article:nth-child(4),.audience-grid-eight article:nth-child(5),.audience-grid-eight article:last-child { grid-column: auto; min-height: 240px; }
.audience-grid span { display: block; margin-bottom: 28px; color: var(--gold-500); font-size: .78rem; font-weight: 850; }
.audience-grid h3 { font-size: 1.28rem; }
.audience-grid p { margin-bottom: 0; color: var(--muted); flex: 1; }
.cadastre-note { margin-top: 20px; padding: clamp(24px,4vw,38px); display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: start; color: #fff; border: 1px solid rgba(215,184,115,.32); border-radius: var(--radius-lg); background: radial-gradient(circle at 90% 0,rgba(194,154,86,.17),transparent 32%),var(--navy-900); box-shadow: var(--shadow); }
.cadastre-note-mark { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: var(--navy-950); background: var(--gold-400); font-size: 1.4rem; font-weight: 900; }
.cadastre-note strong { display: block; margin-bottom: 7px; color: var(--gold-400); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.cadastre-note h3 { margin-bottom: 10px; font-size: clamp(1.35rem,2.5vw,2rem); }
.cadastre-note p { max-width: 970px; margin: 0; color: #bdcbd6; }
.process-grid, .benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.process-grid.three { grid-template-columns: repeat(3,1fr); }
.process-grid article, .benefit-grid article { min-height: 210px; padding: 25px; border: 1px solid rgba(18,59,103,.12); border-radius: var(--radius-lg); background: rgba(255,255,255,.74); box-shadow: 0 12px 38px rgba(9,29,51,.06); display: flex; flex-direction: column; }
.process-grid span, .benefit-grid b { display: block; margin-bottom: 30px; color: var(--gold-500); font-weight: 850; font-size: .78rem; }
.process-grid p, .benefit-grid p { margin-bottom: 0; color: var(--muted); flex: 1; }
.service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; align-items: stretch; }
.product-grid .service-card { display: flex; flex-direction: column; }.product-grid .service-card p { flex: 1; }
.service-card { padding: clamp(27px,3vw,38px); border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow); overflow: hidden; position: relative; }
.service-card.premium { color: #fff; border-color: rgba(215,184,115,.3); background: radial-gradient(circle at 90% 0, rgba(194,154,86,.25), transparent 28%), linear-gradient(145deg,var(--navy-900),#0b3253); }
.service-card h3 { font-size: clamp(1.6rem,3vw,2.4rem); }
.service-card p { color: var(--muted); font-size: 1.05rem; }
.service-card.premium p, .service-card.premium li { color: #becdd9; }
.service-card ul { margin: 25px 0 32px; padding: 0; list-style: none; }
.service-card li { padding: 9px 0 9px 28px; border-bottom: 1px solid rgba(100,113,131,.16); position: relative; }
.service-card li::before { content: "✓"; position: absolute; left: 0; color: var(--gold-500); font-weight: 900; }
.service-kicker, .service-index { display: block; margin-bottom: 32px; color: var(--gold-500); font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .13em; }
.service-grid .service-card { display: flex; flex-direction: column; }
.service-grid .service-card > .button:last-child { margin-top: auto; }
.dark-section { color: #fff; background: radial-gradient(circle at 80% 20%,rgba(58,126,173,.23),transparent 30%),var(--navy-900); }
.benefit-grid article { border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.055); box-shadow: inset 0 1px rgba(255,255,255,.09); }
.benefit-grid p { color: #aebfcd; }
.benefit-grid.six { grid-template-columns: repeat(3,1fr); }
.object-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.object-card { overflow: hidden; border-radius: 16px; background: #fff; border: 1px solid var(--line); box-shadow: 0 18px 45px rgba(9,29,51,.08); }
.object-image { height: 210px; position: relative; overflow: hidden; }
.object-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top,rgba(7,29,50,.48),transparent 60%); }
.object-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.object-card:hover .object-image img { transform: scale(1.045); }
.object-image span { position: absolute; z-index: 2; left: 14px; bottom: 14px; padding: 6px 9px; border-radius: 5px; color: #182230; background: var(--gold-400); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.object-card-body { padding: 22px; }
.object-card-body small { color: var(--gold-500); font-weight: 800; }.object-card-body h3, .object-card-body h2 { font-size: 1.25rem; margin: 10px 0; }.object-card-body p { color: var(--muted); }.object-card-body a { color: var(--navy-700); font-weight: 820; }
.regions-list { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.regions-list a { min-height: 65px; padding: 14px 17px; background: rgba(255,255,255,.88); display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.regions-list a:hover { background: #fff; color: var(--navy-700); }.regions-list b { color: var(--gold-500); }
.ecosystem-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 18px; }
.ecosystem-grid article { min-height: 330px; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 18px 50px rgba(9,29,51,.07); }
.ecosystem-grid article:first-child { position: relative; color: #fff; }.ecosystem-grid article:first-child::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top,rgba(6,21,34,.92),rgba(6,21,34,.08)); }
.ecosystem-grid img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.ecosystem-grid article > div { position: absolute; z-index: 2; inset: auto 0 0; padding: 28px; }
.ecosystem-grid span { color: var(--gold-500); font-size: .75rem; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }
.ecosystem-grid a { font-weight: 800; }.placeholder-card { padding: 30px; display: flex; flex-direction: column; justify-content: end; }.placeholder-card p { color: var(--muted); }
.faq { border-top: 1px solid var(--line); }.faq details { border-bottom: 1px solid var(--line); }.faq summary { list-style: none; cursor: pointer; font-weight: 800; font-size: 1.15rem; padding: 24px 45px 24px 0; position: relative; }.faq summary::-webkit-details-marker { display:none; }.faq summary::after { content:"+"; position:absolute; right:8px; top:19px; font-size:1.7rem; color:var(--gold-500); }.faq details[open] summary::after { content:"−"; }.faq details p { max-width:780px; color:var(--muted); padding-bottom:25px; }
.final-cta { color: #fff; background: linear-gradient(120deg,var(--navy-900),#104268); }
.final-cta-inner { display: flex; align-items: end; justify-content: space-between; gap: 44px; }.final-cta-inner h2 { max-width: 760px; }.final-cta-inner p { margin-bottom: 0; color: #becbd7; }.cta-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.participation-cta .final-cta-inner { align-items: center; }
.participation-cta .final-cta-inner > div:first-child { max-width: 730px; }
.participation-actions { max-width: 460px; justify-content: flex-end; }
.participation-actions .button { flex: 1 1 205px; text-align: center; }

.page-hero { color: #fff; background: radial-gradient(circle at 75% 20%,rgba(194,154,86,.18),transparent 25%),linear-gradient(135deg,var(--navy-950),#0e3b62); }.page-hero.compact { padding: 62px 0 66px; }.page-hero.compact h1 { max-width: 1020px; margin-bottom: 17px; font-size: clamp(2.7rem,4.4vw,4.25rem); }.page-hero.compact > .container > p:not(.eyebrow) { max-width: 820px; color: #c1ced9; font-size: 1.1rem; }.page-hero .cadastral-search { margin-top: 24px; }
.breadcrumbs { display: flex; gap: 9px; align-items: center; min-height: 62px; color: var(--muted); font-size: .8rem; }.breadcrumbs a { color: var(--navy-700); }
.region-hero { padding: 38px 0 56px; background: linear-gradient(180deg,#f8fafc,#eaf1f6); }.region-heading { display: grid; grid-template-columns: 1fr auto; gap: 44px; align-items: end; margin-bottom: 28px; }.region-heading h1 { font-size: clamp(2.8rem,5vw,5rem); color: var(--navy-900); }.region-heading p { max-width: 760px; color: var(--muted); }.region-number { min-width: 210px; padding: 22px; border-left: 2px solid var(--gold-500); }.region-number strong,.region-number span { display: block; }.region-number strong { color:var(--navy-700);font-size:2.5rem; }.region-number span { color:var(--muted);font-size:.76rem; }
.region-map-card { border-radius: 22px; padding: 20px; background: var(--navy-900); box-shadow: 0 30px 80px rgba(9,29,51,.2); }.region-map-stage { height: 480px; display:grid;place-items:center;overflow:hidden; border-radius:14px; background: radial-gradient(circle at center,rgba(58,126,173,.2),transparent 50%),linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:auto,50px 50px,50px 50px; }.region-map-stage svg { width:100%;height:100%;overflow:visible;filter:drop-shadow(0 30px 25px rgba(0,0,0,.35)); }.region-map-stage path { fill:#174a72;stroke:#8bb8d1;stroke-width:.6;vector-effect:non-scaling-stroke; }.region-map-stage path:not(.selected-region) { opacity:0;pointer-events:none; }.region-map-stage .selected-region { fill:url(#regionGradient,#174a72);stroke:#d8bc7a;stroke-width:1.15; }.region-map-stage .decorative-pin { pointer-events:none; }.map-disclaimer { margin: 12px 3px 0; color:#9eb1bf;font-size:.74rem; }.geometry-note { max-width:540px;text-align:center;color:#fff;padding:30px; }.geometry-note span { display:block;color:var(--gold-400);font-size:5rem;font-weight:900; }.geometry-note p { color:#aabfce; }
.search-band { padding: 48px 0; background:#fff; }.search-band .container { display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:48px; }.search-band h2 { margin:0;font-size:clamp(1.7rem,3vw,2.7rem); }.category-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:12px; }.category-grid article { padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff; }.category-grid b,.category-grid span { display:block; }.category-grid b { margin-bottom:9px; }.category-grid span { color:var(--muted);font-size:.87rem; }.empty-trust { margin-top:18px;padding:20px 24px;border-radius:12px;border:1px dashed #b7c6d3;background:rgba(255,255,255,.58);display:flex;gap:20px;align-items:center; }.empty-trust span { flex:0 0 auto;color:var(--navy-700);font-weight:850; }.empty-trust p { margin:0;color:var(--muted); }.steps ol { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:0;list-style:none;background:var(--line);border:1px solid var(--line);border-radius:15px;overflow:hidden; }.steps li { padding:26px;background:#fff; }.steps b,.steps strong,.steps span { display:block; }.steps b { color:var(--gold-500);margin-bottom:34px; }.steps span { color:var(--muted);font-size:.87rem;margin-top:7px; }
.object-hero { padding:34px 0 72px; background:linear-gradient(180deg,#f4f7fa,#fff); }.object-title { display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:24px; }.object-title h1 { font-size:clamp(2.7rem,5vw,4.8rem);color:var(--navy-900); }.object-title p { color:var(--muted);font-size:1.1rem; }.status-badge { padding:10px 13px;border-radius:999px;background:#e2f4eb;color:var(--success);font-weight:800;font-size:.78rem; }.status-badge.is-pending { color:#77551e;background:#fff1cf; }.status-dot.is-pending { background:#d6a145;box-shadow:0 0 0 5px rgba(214,161,69,.14); }.verification-copy { display:block;margin-top:7px;color:#8a641e;font-weight:700; }.demo-banner { display:flex;gap:16px;align-items:center;margin-bottom:18px;padding:14px 18px;border:1px solid #d6b76f;border-radius:10px;background:#fff8e8;color:#6d5522; }.demo-banner span { font-size:.85rem; }.passport-layout { display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start; }.passport-card { border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);overflow:hidden; }.passport-top { padding:17px 24px;background:var(--navy-900);color:#fff;display:flex;justify-content:space-between;gap:20px;font-size:.8rem; }.passport-top span { color:var(--gold-400);font-weight:850; }.passport-card dl { margin:0;display:grid;grid-template-columns:1fr 1fr; }.passport-card dl div { padding:21px 23px;border-bottom:1px solid var(--line); }.passport-card dl div:nth-child(odd) { border-right:1px solid var(--line); }.passport-card dt { color:var(--muted);font-size:.75rem;margin-bottom:7px; }.passport-card dd { margin:0;font-weight:800; }.passport-description { padding:24px 26px; }.passport-description h2 { font-size:1.4rem; }.passport-description p { color:var(--muted); }.aside-card { padding:27px;border-radius:17px;background:linear-gradient(145deg,var(--navy-900),#12466d);color:#fff;box-shadow:var(--shadow); }.aside-card h2 { font-size:1.8rem; }.aside-card p { color:#bdcbd6; }.aside-card .button + .button { margin-top:9px; }.aside-card .button-outline { color:#fff;border-color:rgba(255,255,255,.35);background:transparent; }.legal-note { color:var(--muted);font-size:.74rem;padding:13px 8px; }.tenant-zone { margin-top:22px;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;gap:32px;border:1px dashed #b6c6d3;border-radius:16px;background:rgba(255,255,255,.76); }.tenant-zone h2 { font-size:clamp(1.6rem,3vw,2.4rem); }.tenant-zone p:not(.eyebrow) { max-width:780px;margin:0;color:var(--muted); }
.empty-state,.found-card,.not-found-card,.content-card { padding:clamp(28px,5vw,55px);border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow); }.empty-state.error { border-color:#e6c4c1; }.found-card { display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center; }.found-card .status-dot { margin:0; }.found-card h2,.not-found-card h2 { font-size:1.8rem; }.found-card p,.not-found-card p,.content-card p { color:var(--muted); }.prose { font-size:1.05rem; }.prose h2 { margin-top:45px;font-size:1.8rem; }.prose p { color:#465568; }

.site-footer { padding:56px 0 28px;color:#b7c5d1;background:var(--navy-950); }.footer-grid { display:grid;grid-template-columns:1.55fr repeat(3,1fr);gap:36px; }.footer-grid > div:not(.footer-brand) { display:flex;flex-direction:column;gap:10px;font-size:.84rem; }.footer-grid b { color:#fff;margin-bottom:6px; }.footer-grid a:hover { color:var(--gold-400); }.footer-brand { display:flex;gap:12px;align-items:flex-start; }.footer-brand img { width:68px;filter:brightness(0) invert(1);opacity:.85; }.footer-brand strong,.footer-brand span { display:block; }.footer-brand strong { color:#fff;font-size:1.1rem; }.footer-brand span { max-width:260px;font-size:.8rem;margin-top:5px; }.footer-bottom { display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.1);margin-top:38px;padding-top:22px;font-size:.72rem; }.mobile-search-bar { display:none;transition:transform .25s ease,opacity .25s ease; }.mobile-search-bar.is-hidden { opacity:0;pointer-events:none;transform:translateY(calc(100% + 28px)); }

.modal[hidden] { display:none; }.modal { position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:20px; }.modal-backdrop { position:absolute;inset:0;background:rgba(4,14,24,.73);backdrop-filter:blur(9px); }.modal-panel { position:relative;z-index:2;width:min(100%,700px);max-height:calc(100svh - 40px);overflow:auto;padding:clamp(26px,5vw,44px);border:1px solid rgba(255,255,255,.65);border-radius:20px;background:rgba(250,252,253,.97);box-shadow:0 35px 110px rgba(0,0,0,.32); }.modal-panel-wide { width:min(100%,820px); }.modal-panel h2 { font-size:clamp(1.9rem,4vw,3rem); }.modal-intro { color:var(--muted); }.modal-close { position:absolute;right:15px;top:14px;width:39px;height:39px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy-900);font-size:1.5rem; }.lead-form { display:grid;gap:15px;margin-top:25px; }.lead-form label { display:grid;gap:6px;font-weight:720;font-size:.82rem; }.lead-form input,.lead-form select,.lead-form textarea { width:100%;border:1px solid #cbd6df;border-radius:8px;background:#fff;padding:12px 13px;color:var(--ink); }.lead-form textarea { resize:vertical; }.form-row { display:grid;grid-template-columns:1fr 1fr;gap:12px; }.check { display:grid!important;grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important;color:var(--muted); }.check input { width:18px!important;height:18px;margin:2px 0 0; }.check a { color:var(--navy-700);text-decoration:underline; }.honeypot { position:absolute;left:-9999px; }.form-status { min-height:24px;font-size:.84rem;color:var(--success); }.form-status.is-error { color:var(--error); }.search-result { margin-top:20px; }.search-skeleton { display:grid;gap:10px; }.search-skeleton span { height:18px;border-radius:5px;background:linear-gradient(90deg,#e5ebef,#f8fafc,#e5ebef);background-size:220% 100%;animation:skeleton 1.2s infinite; }.search-skeleton span:last-child { width:60%; }.result-mini { padding:22px;border:1px solid var(--line);border-radius:13px;background:#fff; }.result-mini h3 { margin-bottom:8px; }.result-mini p { color:var(--muted); }.result-mini .button { margin-top:10px; }
@keyframes skeleton { to { background-position:-220% 0; } }

@media (max-width: 1280px) {
  .main-nav > a { display:none; }.menu-toggle { display:grid; }.main-nav { position:fixed;left:18px;right:18px;top:calc(var(--header) + 8px);padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch; }.menu-open .main-nav { display:flex; }.main-nav > a { display:block;padding:13px; }.main-nav .nav-search { margin:5px 0 0; }
}

@media (max-width: 1120px) {
  .hero-inner { grid-template-columns:1fr; padding-top:65px; }.hero-copy { max-width:800px; }.hero-copy h1 { max-width:800px; }.hero-map-shell { min-height:630px; }.process-grid,.process-grid.three,.benefit-grid,.category-grid { grid-template-columns:repeat(2,1fr); }.product-grid { grid-template-columns:1fr; }.detail-grid,.detail-grid.three,.demo-grid { grid-template-columns:repeat(2,1fr); }.audience-grid,.audience-grid-eight { grid-template-columns:repeat(2,1fr); }.audience-grid article,.audience-grid article:nth-child(4),.audience-grid article:nth-child(5),.audience-grid-eight article,.audience-grid-eight article:last-child { grid-column:auto; }.audience-grid:not(.audience-grid-eight) article:last-child { grid-column:1/-1; }.ecosystem-grid { grid-template-columns:1fr 1fr; }.ecosystem-grid article:first-child { grid-column:1/-1; }.footer-grid { grid-template-columns:1.5fr 1fr 1fr; }.footer-grid > div:last-child { display:none; }
}

@media (max-width: 760px) {
  :root { --header:68px; }.container,.wide-container { width:min(calc(100% - 28px),var(--container)); }.brand { min-width:0; }.brand img { width:53px;height:53px; }.brand strong { font-size:.83rem; }.brand small { font-size:.64rem; }.nav-search { display:none; }
  .module-grid { grid-auto-rows:auto; }
  .tanzi-demo { align-items:flex-start;flex-direction:column; }
  h1 { font-size:clamp(2.5rem,12vw,4rem); }.hero { min-height:auto; }.hero-inner { min-height:auto;padding:58px 0 70px; }.hero-copy { padding:0; }.hero-lead { font-size:1.25rem; }.cadastral-search { grid-template-columns:28px 1fr;padding:9px; }.cadastral-search .button { grid-column:1/-1;width:100%; }.cadastral-search small { grid-column:1/-1;padding-left:5px; }.hero-actions { align-items:stretch; }.hero-actions .button { width:100%; }.hero-map-shell { min-height:500px;margin-top:18px; }.map-toolbar { font-size:.65rem; }.russia-map { height:345px;padding:0 6px; }.map-tooltip { width:210px; }
  .trust-strip .container { grid-template-columns:1fr 1fr;padding:20px 0; }.trust-strip span { padding:13px;border-bottom:1px solid var(--line);font-size:1.4rem; }.trust-strip span:nth-child(2) { border-right:0; }.trust-strip span:nth-child(n+3) { border-bottom:0; }
  .section { padding:58px 0; }.split,.service-grid,.search-band .container,.region-heading,.passport-layout { grid-template-columns:1fr;gap:28px; }.process-grid,.process-grid.three,.benefit-grid,.benefit-grid.six,.audience-grid,.audience-grid-eight,.detail-grid,.detail-grid.three,.demo-grid,.module-grid,.metric-cards,.feature-list,.check-grid,.object-grid,.regions-list,.ecosystem-grid,.category-grid,.steps ol { grid-template-columns:1fr; }.audience-grid article,.audience-grid article:nth-child(4),.audience-grid article:nth-child(5),.audience-grid article:last-child,.audience-grid-eight article { grid-column:auto;min-height:0; }.audience-grid span,.demo-grid article > span { margin-bottom:24px; }.demo-grid p { min-height:0; }.cadastre-note { grid-template-columns:1fr; }.process-grid article,.benefit-grid article { min-height:180px; }.process-grid span,.benefit-grid b,.service-kicker,.service-index,.steps b { margin-bottom:24px; }.ecosystem-grid article:first-child { grid-column:auto; }.section-head.inline,.final-cta-inner,.object-title,.footer-bottom,.tenant-zone { align-items:flex-start;flex-direction:column; }.page-actions .button { width:100%; }.participation-actions { max-width:none;width:100%;justify-content:stretch; }.participation-actions .button { flex-basis:100%;width:100%; }.regions-list { gap:1px; }.region-map-card { width:calc(100% - 16px);padding:10px; }.region-map-stage { height:390px; }.region-number { border-left:0;border-top:2px solid var(--gold-500); }.search-band .container { display:grid; }.empty-trust { align-items:flex-start;flex-direction:column; }.steps ol { display:grid; }.object-title { display:flex; }.status-badge { white-space:normal; }.passport-card dl { grid-template-columns:1fr; }.passport-card dl div:nth-child(odd) { border-right:0; }.passport-top { flex-direction:column; }.found-card { grid-template-columns:1fr; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-brand { grid-column:1/-1; }.site-footer { padding-bottom:90px; }.mobile-search-bar { position:fixed;z-index:90;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));height:54px;border:1px solid #deb96a;border-radius:11px;background:linear-gradient(135deg,#e5c886,#b98c46);box-shadow:0 12px 34px rgba(9,29,51,.3);display:flex;align-items:center;justify-content:center;gap:9px;font-weight:850;color:#101820; }.form-row { grid-template-columns:1fr; }.modal { padding:10px; }.modal-panel { max-height:calc(100svh - 20px);border-radius:15px; }.footer-grid > div:last-child { display:flex; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
}
