/* Qazcoop product layer over the AV DS semantic token contract. */
:root {
    --page: var(--av-color-background);
    --surface: var(--av-color-surface);
    --surface-strong: var(--av-color-white);
    --ink: var(--av-color-foreground);
    --muted: var(--av-color-muted-foreground);
    --line: var(--av-color-border);
    --line-soft: var(--av-color-slate-100);
    --blue: var(--av-color-primary);
    --blue-soft: var(--av-color-muted);
    --green: var(--av-color-success);
    --green-soft: var(--av-color-success-muted);
    --amber: var(--av-color-warning);
    --amber-soft: var(--av-color-warning-muted);
    --violet: var(--av-color-violet-600);
    --violet-soft: var(--av-color-muted);
    --danger: var(--av-color-danger);
    --shadow: var(--av-shadow-lg);
    --radius: var(--av-radius-md);
    --radius-large: var(--av-radius-lg);
    --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--page); color: var(--ink); font-family: var(--av-text-body-font-family); font-size: var(--av-text-body-font-size); line-height: var(--av-text-body-line-height); }
body, button, input, textarea, select { font-synthesis: none; }
a { color: inherit; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; }
:focus-visible { outline: 2px solid var(--av-color-primary); outline-offset: 2px; }
.shell { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; padding: 12px 16px; border-radius: 6px; background: var(--ink); color: #fff; font-weight: 700; text-decoration: none; }
.skip-link:focus { top: 16px; }

.demo-banner { background: #1e4a43; color: #e7f6ed; font-size: 12px; }
.demo-banner__inner { min-height: 34px; display: flex; align-items: center; gap: 9px; }
.demo-banner__inner a { margin-left: auto; color: #fff; font-weight: 700; }
.demo-banner__dot { width: 7px; height: 7px; border-radius: 50%; background: #a9e4b2; box-shadow: 0 0 0 4px rgba(169, 228, 178, .14); }

.site-header { position: sticky; top: 0; z-index: 40; background: rgba(247, 250, 249, .94); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.site-header__inner { min-height: 72px; display: flex; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--ink); text-decoration: none; }
.brand__mark { width: 34px; height: 34px; display: inline-grid; place-items: center; border-radius: 9px; background: var(--green); color: #fff; font-size: 22px; font-weight: 500; line-height: 1; transform: rotate(-8deg); }
.brand__text { display: flex; flex-direction: column; font-size: 16px; font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
.brand__text small { margin-top: 4px; color: var(--muted); font-size: 9px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: 4px; margin-left: 18px; }
.main-nav a { position: relative; min-height: 44px; display: inline-flex; align-items: center; padding: 0 12px; color: var(--muted); font-size: 13px; font-weight: 650; text-decoration: none; }
.main-nav a::after { content: ""; position: absolute; right: 12px; bottom: -1px; left: 12px; height: 2px; border-radius: 2px; background: var(--green); opacity: 0; transform: scaleX(.5); transition: .2s ease; }
.main-nav a:hover, .main-nav a.is-active { color: var(--ink); }
.main-nav a.is-active::after { opacity: 1; transform: scaleX(1); }
.header-actions { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.language-switch { display: flex; align-items: center; gap: 4px; }
.language-switch a { padding: 5px 4px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-decoration: none; }
.language-switch a.is-active, .language-switch a:hover { color: var(--green); }

.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: var(--av-spacing-2); padding: 0 var(--av-spacing-4); border: 1px solid transparent; border-radius: var(--av-radius-md); font: var(--av-text-body); font-size: 13px; font-weight: 600; text-decoration: none; box-shadow: var(--av-shadow-sm); transition: transform var(--av-duration-base) cubic-bezier(var(--av-easing-standard)), background var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)), border-color var(--av-duration-fast) cubic-bezier(var(--av-easing-standard)); }
.button:hover { transform: translateY(-1px); }
.button--small { min-height: 38px; padding: 0 13px; font-size: 12px; }
.button--primary { background: var(--av-color-primary); color: var(--av-color-primary-foreground); }
.button--primary:hover { background: color-mix(in srgb, var(--av-color-primary) 88%, var(--av-color-foreground)); }
.button--dark { background: var(--av-color-foreground); color: var(--av-color-background); }
.button--dark:hover { background: var(--av-color-slate-800); }
.button--outline { border-color: var(--av-color-border); background: var(--av-color-surface); color: var(--av-color-foreground); box-shadow: none; }
.button--outline:hover { border-color: var(--av-color-primary); color: var(--av-color-primary); background: var(--av-color-muted); }
.button--light { background: var(--av-color-surface); color: var(--av-color-primary); }
.button--light:hover { background: var(--av-color-muted); }
.text-link { color: var(--green); font-size: 12px; font-weight: 750; text-decoration: none; }
.text-link:hover { text-decoration: underline; text-underline-offset: 4px; }

.eyebrow { margin: 0; color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .11em; line-height: 1.25; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); font-family: var(--av-text-heading-font-family); font-weight: var(--av-text-heading-font-weight); letter-spacing: var(--av-text-heading-letter-spacing); }
h1 { margin-bottom: 15px; font-size: clamp(38px, 5vw, 66px); line-height: .99; }
h2 { margin-bottom: 11px; font-size: clamp(23px, 3vw, 31px); line-height: 1.08; }
h3 { margin-bottom: 8px; font-size: 17px; line-height: 1.2; }

.hero { min-height: 500px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 60px; align-items: center; padding: 76px 0 74px; border-bottom: 1px solid var(--line); }
.hero__copy { max-width: 700px; }
.hero__copy h1 em { color: var(--green); font-style: normal; }
.hero__lead { max-width: 570px; margin-bottom: 27px; color: var(--muted); font-size: 17px; line-height: 1.55; }
.hero__actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.hero__signal { min-height: 306px; display: flex; flex-direction: column; justify-content: space-between; padding: 24px; border: 1px solid #cddbd4; border-radius: var(--radius-large); background: linear-gradient(145deg, #e8f4ec 0%, #f6f8ef 62%, #fff 100%); box-shadow: var(--shadow); }
.signal-topline, .signal-foot { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; }
.signal-topline time { margin-left: auto; font-variant-numeric: tabular-nums; }
.signal-main { padding: 30px 0; }
.signal-main__label { display: block; margin-bottom: 11px; color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.signal-main strong { display: block; font-size: clamp(28px, 4vw, 43px); letter-spacing: -.055em; line-height: .97; }
.signal-foot { padding-top: 18px; border-top: 1px solid #cbdcd2; }
.signal-foot a { margin-left: auto; color: var(--green); font-weight: 750; text-decoration: none; }
.signal-foot a:hover { text-decoration: underline; }

.section-block { padding: 67px 0; border-bottom: 1px solid var(--line); }
.section-block--tight { padding-top: 47px; }
.section-block--attention { padding-bottom: 38px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 25px; }
.section-heading h2 { margin: 5px 0 0; }
.section-heading__note { color: var(--muted); font-size: 11px; }
.section-heading--small { align-items: center; margin-bottom: 17px; }
.section-heading--small h2 { font-size: 21px; }
.status-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.status-card { min-height: 137px; padding: 16px 18px; border: 1px solid var(--line-soft); border-radius: var(--radius); background: rgba(255,255,255,.56); }
.status-card__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 11px; }
.status-card > strong { display: block; margin-top: 22px; font-size: 18px; letter-spacing: -.03em; }
.status-card > small { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }
.status-card--warning { border-color: #e7d6b4; background: #fffaf0; }
.status-dot { width: 8px; height: 8px; display: inline-block; flex: 0 0 auto; border-radius: 50%; background: var(--muted); }
.status-dot--good { background: #3d9a68; box-shadow: 0 0 0 4px rgba(61,154,104,.12); }
.status-dot--warning { background: #d38b28; box-shadow: 0 0 0 4px rgba(211,139,40,.13); }
.status-dot--neutral { background: #849099; }

.attention-card { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 25px 25px 25px 20px; border: 1px solid #d3e3da; border-radius: var(--radius-large); background: #edf6f0; }
.attention-card__number { color: var(--green); font-family: var(--av-font-mono); font-size: 12px; font-weight: 700; }
.attention-card__body h3 { margin: 9px 0 7px; font-size: 21px; }
.attention-card__body p { max-width: 610px; margin-bottom: 0; color: var(--muted); font-size: 13px; }
.quiet-line { display: flex; align-items: center; gap: 10px; margin: 18px 0 0 62px; color: var(--muted); font-size: 12px; }

.tag { display: inline-flex; align-items: center; min-height: 23px; padding: 0 8px; border-radius: 4px; font-size: 10px; font-weight: 800; letter-spacing: .02em; }
.tag--green, .tag--success { background: var(--green-soft); color: var(--green); }
.tag--blue, .tag--info { background: var(--blue-soft); color: var(--blue); }
.tag--amber, .tag--warning { background: var(--amber-soft); color: var(--amber); }
.tag--violet { background: var(--violet-soft); color: var(--violet); }
.tag--neutral { background: #eef1ef; color: #66726f; }

.split-section { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr); gap: 54px; }
.split-section > .section-block { min-width: 0; }
.split-section > .section-block:first-child { padding-right: 0; }
.split-section > .section-block:last-child { padding-left: 0; }
.timeline { position: relative; padding-left: 17px; }
.timeline::before { content: ""; position: absolute; top: 8px; bottom: 13px; left: 4px; width: 1px; background: var(--line); }
.timeline-item { position: relative; display: grid; grid-template-columns: 1fr; padding: 0 0 24px 20px; }
.timeline-item:last-child { padding-bottom: 0; }
.timeline-item__marker { position: absolute; top: 4px; left: -17px; width: 9px; height: 9px; border: 2px solid var(--page); border-radius: 50%; background: var(--green); box-shadow: 0 0 0 1px var(--green); }
.timeline-item__meta { display: flex; gap: 12px; margin-bottom: 6px; color: var(--green); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.timeline-item__meta time { color: var(--muted); font-weight: 600; text-transform: none; }
.timeline-item h3 { margin-bottom: 4px; font-size: 16px; }
.timeline-item p { margin-bottom: 0; color: var(--muted); font-size: 12px; }
.quick-list { border-top: 1px solid var(--line); }
.quick-list a { min-height: 68px; display: grid; grid-template-columns: 38px 1fr 17px; gap: 11px; align-items: center; border-bottom: 1px solid var(--line); text-decoration: none; }
.quick-list a:hover strong { color: var(--green); }
.quick-list strong, .quick-list small { display: block; }
.quick-list strong { font-size: 13px; }
.quick-list small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.quick-list b { color: var(--muted); font-size: 17px; font-weight: 400; }
.quick-icon { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 6px; font-size: 19px; font-weight: 500; }
.quick-icon--blue { background: var(--blue-soft); color: var(--blue); }.quick-icon--green { background: var(--green-soft); color: var(--green); }.quick-icon--amber { background: var(--amber-soft); color: var(--amber); }.quick-icon--violet { background: var(--violet-soft); color: var(--violet); }

.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.project-card { padding: 21px; border: 1px solid var(--line-soft); border-radius: var(--radius); background: rgba(255,255,255,.56); }
.project-card__top, .project-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.project-card__percent { color: var(--green); font-family: var(--av-font-mono); font-size: 14px; font-weight: 700; }
.project-card h3 { margin: 20px 0 16px; font-size: 19px; }
.progress { height: 6px; overflow: hidden; border-radius: 20px; background: #e3ebe5; }
.progress span { height: 100%; display: block; border-radius: inherit; background: var(--green); }
.project-card__foot { margin-top: 14px; color: var(--muted); font-size: 11px; }
.project-card__foot a { color: var(--green); font-weight: 750; text-decoration: none; }

.closing-band { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin: 68px 0 74px; padding: 34px 38px; border-radius: var(--radius-large); background: var(--green); color: #fff; }
.closing-band h2 { margin: 8px 0 0; color: #fff; font-size: clamp(24px, 3vw, 34px); }
.closing-band .eyebrow { color: #a7d5b9; }
.closing-band--small { margin-top: 68px; }

.page-intro { min-height: 310px; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; padding: 68px 0 54px; border-bottom: 1px solid var(--line); }
.page-intro > div:first-child { max-width: 680px; }
.page-intro h1 { margin: 9px 0 15px; font-size: clamp(37px, 5vw, 58px); }
.page-intro p:not(.eyebrow) { max-width: 630px; margin-bottom: 0; color: var(--muted); font-size: 16px; }
.page-intro--compact { min-height: 235px; align-items: center; }
.page-intro--compact h1 { font-size: clamp(34px, 4vw, 50px); }
.page-intro--wide { min-height: 385px; }
.page-intro--wide h1 { font-size: clamp(42px, 6vw, 74px); }
.soft-status { display: inline-flex; align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 5px; background: rgba(255,255,255,.48); color: var(--muted); font-size: 11px; white-space: nowrap; }

.cabinet-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 14px; padding: 40px 0 0; }
.plot-card, .attention-panel, .form-card, .side-note { border: 1px solid var(--line); border-radius: var(--radius-large); background: rgba(255,255,255,.56); }
.plot-card { padding: 27px; }
.card-kicker, .card-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.muted { color: var(--muted); font-size: 11px; }
.plot-card__identity { display: flex; align-items: center; gap: 18px; margin: 37px 0 31px; }
.plot-card__identity h2 { margin: 4px 0; font-size: 31px; }
.plot-card__identity p:last-child { margin: 0; color: var(--muted); font-size: 13px; }
.plot-number { width: 76px; height: 76px; display: grid; place-items: center; border-radius: 16px; background: var(--green); color: #fff; font-family: var(--av-font-mono); font-size: 30px; font-weight: 700; }
.plot-card__facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 27px; }
.plot-card__facts > div { padding: 14px; border: 1px solid var(--line-soft); border-radius: 7px; background: #fff; }
.plot-card__facts span, .plot-card__facts small { display: block; color: var(--muted); font-size: 11px; }.plot-card__facts strong { display: block; margin: 8px 0 2px; font-size: 20px; }.plot-card__facts small { font-size: 10px; }
.attention-panel { padding: 24px 22px; }
.count-badge { min-width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: var(--amber-soft); color: var(--amber); font-family: var(--av-font-mono); font-size: 12px; font-weight: 700; }
.task-row { min-height: 68px; display: grid; grid-template-columns: 20px 1fr 16px; gap: 10px; align-items: center; border-top: 1px solid var(--line); text-decoration: none; }.task-row:hover strong { color: var(--green); }.task-row strong, .task-row small { display: block; }.task-row strong { font-size: 13px; }.task-row small { margin-top: 3px; color: var(--muted); font-size: 11px; }.task-row b { color: var(--muted); font-size: 16px; font-weight: 400; }.task-row__check { width: 15px; height: 15px; border: 1px solid #d39a43; border-radius: 4px; background: var(--amber-soft); }
.empty-note { display: flex; align-items: center; gap: 9px; margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--line); color: var(--muted); font-size: 11px; }
.profile-checklist { padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.55); }.profile-checklist__head { display: flex; align-items: center; gap: 22px; margin-bottom: 18px; color: var(--muted); font-size: 12px; }.profile-checklist__head .progress { width: 180px; }.profile-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.profile-item { min-height: 84px; display: grid; grid-template-columns: 24px 1fr; gap: 9px; align-items: start; padding: 13px; border: 1px solid var(--line-soft); border-radius: 6px; background: #fff; }.profile-item > span { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: var(--amber-soft); color: var(--amber); font-size: 12px; font-weight: 800; }.profile-item.is-done > span { background: var(--green-soft); color: var(--green); }.profile-item strong, .profile-item small { display: block; }.profile-item strong { font-size: 12px; }.profile-item small { margin-top: 4px; color: var(--muted); font-size: 10px; }.profile-item .text-link { grid-column: 2; margin-top: 3px; font-size: 11px; }
.split-section--cabinet { gap: 14px; }.split-section--cabinet > .section-block { padding: 45px 0; }.request-mini { display: flex; align-items: center; gap: 13px; padding: 17px 0; border-top: 1px solid var(--line); }.request-mini__number { color: var(--green); font-family: var(--av-font-mono); font-size: 12px; }.request-mini strong, .request-mini small { display: block; }.request-mini strong { font-size: 13px; }.request-mini small { margin-top: 3px; color: var(--muted); font-size: 11px; }.request-mini .tag { margin-left: auto; }.decision-card { padding: 18px; border: 1px solid #d2e1eb; border-radius: 7px; background: var(--blue-soft); }.decision-card h3 { margin: 13px 0 6px; font-size: 17px; }.decision-card p { margin-bottom: 14px; color: var(--muted); font-size: 12px; }

.form-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 16px; padding: 42px 0 80px; }.form-card { padding: 28px; }.form-card__head { display: grid; grid-template-columns: 38px 1fr; gap: 13px; align-items: start; }.form-card__head--spaced { margin-top: 36px; }.step-index { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; background: var(--green-soft); color: var(--green); font-family: var(--av-font-mono); font-size: 11px; font-weight: 700; }.form-card__head h2 { margin: 1px 0 4px; font-size: 21px; }.form-card__head p { margin: 0; color: var(--muted); font-size: 12px; }.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 22px 0 0 51px; }.choice-card { position: relative; min-height: 73px; display: flex; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 6px; background: #fff; cursor: pointer; }.choice-card:hover { border-color: #99c5aa; }.choice-card input { position: absolute; opacity: 0; }.choice-card input:checked + span::before { border-color: var(--green); background: var(--green); box-shadow: inset 0 0 0 4px #fff; }.choice-card input:focus-visible + span { outline: 3px solid var(--av-focus-ring); outline-offset: 2px; }.choice-card span { display: block; padding-left: 28px; }.choice-card span::before { content: ""; position: absolute; top: 18px; left: 13px; width: 15px; height: 15px; border: 1px solid var(--line); border-radius: 50%; background: #fff; }.choice-card strong, .choice-card small { display: block; }.choice-card strong { font-size: 12px; }.choice-card small { margin-top: 3px; color: var(--muted); font-size: 10px; }.field-label { display: flex; gap: 7px; margin: 22px 0 7px 51px; color: var(--muted); font-size: 11px; font-weight: 750; }.field-label span { color: var(--green); font-size: 10px; font-weight: 600; }.text-input { width: calc(100% - 51px); min-height: 46px; margin-left: 51px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 6px; background: #fff; color: var(--ink); }.text-input::placeholder { color: #9aa6a2; }.text-input:hover { border-color: #9bb5aa; }.text-input--area { min-height: 130px; resize: vertical; }.upload-row { display: grid; grid-template-columns: minmax(230px, .9fr) 1fr; gap: 14px; align-items: center; margin: 20px 0 0 51px; }.upload-box { min-height: 67px; display: flex; align-items: center; gap: 10px; padding: 11px; border: 1px dashed #a7c1b2; border-radius: 6px; background: #f5faf6; cursor: pointer; }.upload-box > span:first-child { width: 27px; height: 27px; display: grid; place-items: center; border-radius: 5px; background: var(--green-soft); color: var(--green); font-size: 18px; }.upload-box strong, .upload-box small { display: block; }.upload-box strong { font-size: 11px; }.upload-box small { margin-top: 3px; color: var(--muted); font-size: 10px; }.upload-box input { position: absolute; width: 1px; height: 1px; opacity: 0; }.upload-row > p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }.form-submit { display: flex; align-items: center; gap: 15px; margin: 24px 0 0 51px; }.form-submit > span { color: var(--muted); font-size: 10px; }.form-result { margin: 20px 0 0 51px; padding: 13px; border: 1px solid #b9dcc4; border-radius: 6px; background: var(--green-soft); color: var(--green); font-size: 12px; font-weight: 700; }.side-note { align-self: start; padding: 25px; background: #f4f7f5; }.side-note__icon { width: 33px; height: 33px; display: grid; place-items: center; margin-bottom: 30px; border-radius: 50%; background: var(--green); color: #fff; font-weight: 800; }.side-note h2 { font-size: 24px; }.number-list { display: grid; gap: 20px; padding: 0; margin: 26px 0 26px; list-style: none; counter-reset: item; }.number-list li { display: grid; grid-template-columns: 27px 1fr; gap: 10px; counter-increment: item; }.number-list li::before { content: counter(item, decimal-leading-zero); color: var(--green); font-family: var(--av-font-mono); font-size: 10px; font-weight: 700; }.number-list strong, .number-list span { display: block; }.number-list strong { font-size: 13px; }.number-list span { margin-top: 3px; color: var(--muted); font-size: 11px; }

.filter-row { display: flex; gap: 7px; flex-wrap: wrap; padding: 25px 0; border-bottom: 1px solid var(--line); }.filter-chip { min-height: 34px; padding: 0 11px; border: 1px solid var(--line); border-radius: 5px; background: transparent; color: var(--muted); font-size: 11px; font-weight: 700; }.filter-chip span { margin-left: 5px; color: inherit; font-family: var(--av-font-mono); font-size: 10px; }.filter-chip.is-active, .filter-chip:hover { border-color: var(--green); background: var(--green-soft); color: var(--green); }.incident-list { padding: 30px 0 67px; }.incident-card { display: grid; grid-template-columns: 75px 1fr; gap: 19px; padding: 22px 0; border-bottom: 1px solid var(--line); }.incident-card__rail { display: flex; flex-direction: column; align-items: flex-start; gap: 17px; }.incident-card__number { color: var(--green); font-family: var(--av-font-mono); font-size: 12px; font-weight: 700; }.incident-card__line { width: 1px; flex: 1; margin-left: 5px; background: var(--line); }.incident-card__top { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }.incident-card__top time { color: var(--muted); font-size: 11px; }.incident-card h2 { margin: 0 0 8px; font-size: 23px; }.incident-card p { max-width: 750px; color: var(--muted); font-size: 13px; }.incident-card__place { color: var(--ink) !important; font-weight: 700; }.incident-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 17px; padding-top: 13px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 10px; }.callout { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-bottom: 75px; padding: 27px 29px; border: 1px solid var(--line); border-radius: var(--radius-large); }.callout--blue { border-color: #cfe1e8; background: var(--blue-soft); }.callout--warm { border-color: #ead9bc; background: #fff8ea; }.callout h2 { margin: 8px 0 7px; font-size: 23px; }.callout p:not(.eyebrow) { max-width: 680px; margin: 0; color: var(--muted); font-size: 12px; }.callout__stamp { padding: 12px 14px; border: 1px solid #dcc99d; border-radius: 6px; color: var(--amber); font-family: var(--av-font-mono); font-size: 10px; font-weight: 700; line-height: 1.5; text-align: right; }

.search-box { min-width: 260px; }.search-box label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }.search-box .text-input { width: 100%; margin: 0; }.document-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 42px 0 68px; }.document-card { min-height: 190px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.55); }.document-card__top { display: flex; align-items: center; justify-content: space-between; }.doc-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 6px; background: var(--violet-soft); color: var(--violet); font-size: 20px; }.document-card h2 { margin: 26px 0 8px; font-size: 18px; }.document-card p { min-height: 38px; margin-bottom: 12px; color: var(--muted); font-size: 11px; }

.calendar-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(330px, .9fr); gap: 16px; padding: 43px 0 67px; }.calendar-month, .event-list { padding: 23px; border: 1px solid var(--line); border-radius: var(--radius-large); background: rgba(255,255,255,.56); }.calendar-month__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 27px; }.calendar-month__head strong { font-size: 21px; }.calendar-month__head span { color: var(--green); font-size: 11px; font-weight: 700; }.calendar-week, .calendar-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; }.calendar-week { margin-bottom: 5px; color: var(--muted); font-size: 10px; font-weight: 750; text-align: center; }.calendar-day { min-height: 52px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 5px; color: var(--ink); font-family: var(--av-font-mono); font-size: 12px; }.calendar-day:hover { border-color: #9bbba9; }.calendar-day.has-event { position: relative; background: var(--green-soft); color: var(--green); font-weight: 800; }.calendar-day.has-event::after { content: ""; position: absolute; bottom: 7px; width: 4px; height: 4px; border-radius: 50%; background: var(--green); }.calendar-day.is-today { border-color: var(--green); }.event-list { padding-left: 25px; }.event-row { display: grid; grid-template-columns: 54px 1fr; gap: 13px; padding: 15px 0; border-top: 1px solid var(--line); }.event-date { width: 48px; height: 55px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 6px; }.event-date strong { font-family: var(--av-font-mono); font-size: 19px; line-height: 1; }.event-date small { margin-top: 4px; font-size: 10px; text-transform: uppercase; }.event-date--blue { background: var(--blue-soft); color: var(--blue); }.event-date--amber { background: var(--amber-soft); color: var(--amber); }.event-date--green { background: var(--green-soft); color: var(--green); }.event-date--violet { background: var(--violet-soft); color: var(--violet); }.event-row h3 { margin: 7px 0 2px; font-size: 14px; }.event-row p { margin: 0; color: var(--muted); font-size: 11px; }.season-strip { display: grid; grid-template-columns: .9fr 1.1fr; gap: 35px; align-items: center; margin-bottom: 74px; padding: 27px 29px; border-radius: var(--radius-large); background: #e9eee9; }.season-strip h2 { margin: 7px 0 0; font-size: 24px; }.season-strip > p { margin: 0; color: var(--muted); font-size: 13px; }

.map-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 14px; padding: 43px 0 27px; }.map-surface { position: relative; min-height: 500px; overflow: hidden; border: 1px solid #c7d9d2; border-radius: var(--radius-large); background: #e9f3e9; isolation: isolate; }.map-surface::before { content: ""; position: absolute; inset: 0; z-index: -2; opacity: .58; background-image: linear-gradient(30deg, rgba(113,157,118,.25) 12%, transparent 12.5%, transparent 87%, rgba(113,157,118,.25) 87.5%), linear-gradient(150deg, rgba(113,157,118,.2) 12%, transparent 12.5%, transparent 87%, rgba(113,157,118,.2) 87.5%); background-size: 78px 86px; }.map-surface__top { position: absolute; top: 17px; left: 18px; right: 18px; z-index: 4; display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 10px; }.map-lines { position: absolute; z-index: -1; width: 145%; height: 1px; background: rgba(103,145,110,.42); transform: rotate(-25deg); }.map-lines--one { top: 200px; left: -80px; box-shadow: 0 62px rgba(103,145,110,.34), 0 142px rgba(103,145,110,.25); }.map-lines--two { top: 380px; left: -40px; transform: rotate(64deg); box-shadow: 0 75px rgba(103,145,110,.25), 0 180px rgba(103,145,110,.2); }.map-water { position: absolute; top: 34%; right: -7%; z-index: -1; width: 38%; height: 64%; border-radius: 50%; background: rgba(100,175,200,.34); transform: rotate(22deg); }.map-road { position: absolute; z-index: 1; background: #d6c5a3; box-shadow: 0 0 0 2px rgba(255,255,255,.6); }.map-road--main { top: 50%; left: -10%; width: 125%; height: 25px; transform: rotate(-14deg); }.map-road--side { top: 12%; left: 47%; width: 20px; height: 105%; transform: rotate(14deg); }.map-pin { position: absolute; z-index: 3; width: 36px; height: 36px; display: grid; place-items: center; border: 3px solid #fff; border-radius: 50% 50% 50% 0; background: var(--green); color: #fff; box-shadow: 0 5px 13px rgba(33,77,58,.25); font-family: var(--av-font-mono); font-size: 10px; font-weight: 700; transform: rotate(-45deg); }.map-pin::before { content: ""; }.map-pin { }.map-pin--one { top: 46%; left: 35%; }.map-pin--two { top: 25%; left: 64%; background: var(--blue); }.map-pin--three { top: 67%; left: 57%; background: var(--amber); }.map-pin--one, .map-pin--two, .map-pin--three { }.map-surface__legend { position: absolute; right: 16px; bottom: 16px; left: 16px; z-index: 4; display: flex; gap: 15px; padding: 10px 12px; border: 1px solid rgba(172,196,174,.72); border-radius: 6px; background: rgba(247,251,246,.88); color: var(--muted); font-size: 10px; }.map-surface__legend span { display: inline-flex; align-items: center; gap: 6px; }.legend-dot { width: 8px; height: 8px; display: inline-block; border-radius: 50%; }.legend-dot--green { background: var(--green); }.legend-dot--blue { background: var(--blue); }.legend-dot--amber { background: #ce8728; }.legend-dot--violet { background: var(--violet); }.map-sidebar { padding: 23px; border: 1px solid var(--line); border-radius: var(--radius-large); background: rgba(255,255,255,.56); }.layer-row { display: grid; grid-template-columns: 21px 1fr; gap: 10px; align-items: start; padding: 14px 0; border-top: 1px solid var(--line); cursor: pointer; }.layer-row input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--green); }.layer-row span { display: grid; grid-template-columns: 10px 1fr; gap: 8px; }.layer-row span .legend-dot { margin-top: 5px; }.layer-row strong, .layer-row small { display: block; }.layer-row strong { font-size: 12px; }.layer-row small { grid-column: 2; margin-top: 2px; color: var(--muted); font-size: 10px; }.map-sidebar__foot { margin-top: 14px; padding-top: 16px; border-top: 1px dashed var(--line); }.map-sidebar__foot p { margin-bottom: 14px; color: var(--muted); font-size: 11px; }

.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; padding: 56px 0 67px; }.principle-grid article { padding: 23px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.55); }.principle-number { color: var(--green); font-family: var(--av-font-mono); font-size: 12px; font-weight: 700; }.principle-grid h2 { margin: 30px 0 9px; font-size: 21px; }.principle-grid p { margin: 0; color: var(--muted); font-size: 12px; }.chain-section { display: grid; grid-template-columns: .55fr 1.45fr; gap: 50px; align-items: center; padding: 44px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.chain-section h2 { margin: 7px 0 0; font-size: 32px; }.chain { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }.chain span { padding: 12px 11px; border: 1px solid var(--line); border-radius: 5px; background: #fff; font-size: 11px; font-weight: 750; }.chain b { color: var(--green); font-weight: 400; }.result-story { display: grid; grid-template-columns: 1fr 24px 1fr 24px 1fr 24px 1fr; gap: 8px; align-items: center; }.result-story__step { min-height: 92px; display: flex; flex-direction: column; justify-content: center; padding: 13px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }.result-story__step span { color: var(--muted); font-size: 10px; }.result-story__step strong { margin-top: 7px; font-size: 13px; }.result-story__step--good { border-color: #b6d8c0; background: var(--green-soft); }.result-story__step--good strong { color: var(--green); }.result-story__arrow { color: var(--green); text-align: center; }.boundary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; padding-top: 67px; }.boundary-grid article { padding: 24px; border-top: 3px solid var(--green); background: #f3f6f3; }.boundary-grid article:nth-child(2) { border-color: var(--blue); }.boundary-grid article:nth-child(3) { border-color: var(--violet); }.boundary-grid h2 { margin: 8px 0 13px; font-size: 22px; }.boundary-grid ul { display: grid; gap: 9px; padding: 0; margin: 0; list-style: none; color: var(--muted); font-size: 12px; }.boundary-grid li::before { content: "✓"; margin-right: 8px; color: var(--green); font-weight: 800; }

.site-footer { margin-top: 0; padding: 40px 0 48px; border-top: 1px solid var(--line); background: #eaf0eb; }.site-footer__grid { display: grid; grid-template-columns: 1.15fr .8fr .65fr; gap: 35px; }.brand--footer { margin-bottom: 14px; }.site-footer p { max-width: 350px; margin: 0; color: var(--muted); font-size: 12px; }.site-footer__links, .site-footer__meta { display: grid; align-content: start; gap: 9px; font-size: 11px; }.site-footer__links a { color: var(--ink); font-weight: 650; text-decoration: none; }.site-footer__links a:hover { color: var(--green); }.site-footer__meta { color: var(--muted); }
.mobile-nav { display: none; }

@media (max-width: 900px) {
    .hero { grid-template-columns: 1fr; gap: 30px; padding: 58px 0 52px; }.hero__signal { min-height: 250px; }.status-grid { grid-template-columns: repeat(2, 1fr); }.split-section, .cabinet-grid, .form-layout, .calendar-layout, .map-layout { grid-template-columns: 1fr; gap: 0; }.split-section > .section-block, .split-section > .section-block:first-child, .split-section > .section-block:last-child { padding-right: 0; padding-left: 0; }.split-section > .section-block:last-child { padding-top: 0; }.split-section--cabinet > .section-block:last-child { padding-top: 43px; }.profile-items { grid-template-columns: 1fr; }.map-surface { min-height: 430px; }.map-sidebar { margin-top: 14px; }.site-footer__grid { grid-template-columns: 1fr 1fr; }.site-footer__meta { text-align: right; }.chain-section { grid-template-columns: 1fr; gap: 25px; }.result-story { grid-template-columns: repeat(2, 1fr); }.result-story__arrow { display: none; }.boundary-grid { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
    :root { --max: 100%; }.shell { width: calc(100% - 24px); }.demo-banner__inner { min-height: 42px; align-items: flex-start; padding-top: 8px; padding-bottom: 8px; }.demo-banner__inner a { white-space: nowrap; }.site-header__inner { min-height: 62px; gap: 8px; }.brand__mark { width: 30px; height: 30px; font-size: 19px; }.brand__text { font-size: 15px; }.main-nav { display: none; }.header-actions { gap: 7px; }.language-switch { display: none; }.header-actions .button { min-height: 36px; padding: 0 10px; font-size: 11px; }.hero { min-height: 0; padding: 48px 0 42px; }.hero__copy h1 { font-size: clamp(38px, 12vw, 55px); }.hero__lead { font-size: 15px; }.hero__actions { align-items: stretch; flex-direction: column; gap: 16px; }.hero__actions .button { width: 100%; }.hero__actions .text-link { text-align: center; }.hero__signal { padding: 20px; }.signal-main { padding: 27px 0; }.signal-main strong { font-size: 34px; }.section-block { padding: 44px 0; }.section-heading { align-items: flex-start; flex-direction: column; gap: 10px; }.section-heading__note { margin-top: -3px; }.status-grid { grid-template-columns: 1fr 1fr; gap: 7px; }.status-card { min-height: 124px; padding: 13px; }.status-card > strong { margin-top: 17px; font-size: 15px; }.attention-card { grid-template-columns: 27px 1fr; gap: 10px; padding: 18px 16px; }.attention-card .button { grid-column: 2; width: 100%; margin-top: 3px; }.attention-card__body h3 { font-size: 18px; }.quiet-line { margin-left: 0; }.project-grid, .document-grid, .principle-grid { grid-template-columns: 1fr; }.project-card { padding: 17px; }.closing-band { align-items: stretch; flex-direction: column; margin: 44px 0 52px; padding: 25px 20px; }.closing-band .button { width: 100%; }.page-intro, .page-intro--compact, .page-intro--wide { min-height: 0; align-items: flex-start; flex-direction: column; gap: 22px; padding: 48px 0 36px; }.page-intro h1, .page-intro--compact h1, .page-intro--wide h1 { font-size: clamp(37px, 11vw, 53px); }.page-intro > .button { width: 100%; }.soft-status { white-space: normal; }.cabinet-grid { padding-top: 27px; }.plot-card, .attention-panel, .form-card, .side-note { border-radius: 10px; }.plot-card { padding: 18px; }.plot-card__identity { margin: 30px 0 23px; }.plot-number { width: 61px; height: 61px; font-size: 24px; }.plot-card__identity h2 { font-size: 24px; }.plot-card__facts { gap: 6px; }.plot-card__facts > div { padding: 11px; }.plot-card__facts strong { font-size: 17px; }.card-actions { align-items: stretch; flex-direction: column; }.card-actions .button { width: 100%; }.attention-panel { margin-top: 10px; }.profile-checklist { padding: 17px; }.profile-checklist__head { display: block; }.profile-checklist__head .progress { width: 100%; margin-top: 10px; }.split-section--cabinet > .section-block { padding: 37px 0; }.form-layout { padding-top: 27px; padding-bottom: 55px; }.form-card { padding: 18px; }.choice-grid { grid-template-columns: 1fr; margin-left: 0; }.form-card__head--spaced { margin-top: 30px; }.field-label, .text-input, .upload-row, .form-submit, .form-result { width: 100%; margin-left: 0; }.upload-row { grid-template-columns: 1fr; }.form-submit { align-items: stretch; flex-direction: column; }.form-submit .button { width: 100%; }.side-note { margin-top: 12px; }.incident-card { grid-template-columns: 45px 1fr; gap: 8px; }.incident-card h2 { font-size: 19px; }.incident-card__foot { align-items: flex-start; flex-direction: column; gap: 8px; }.callout { align-items: stretch; flex-direction: column; margin-bottom: 52px; padding: 21px; }.callout .button { width: 100%; }.search-box { width: 100%; min-width: 0; }.document-grid { padding: 28px 0 52px; }.calendar-layout { padding: 27px 0 52px; }.calendar-month, .event-list { padding: 17px; }.calendar-day { min-height: 41px; }.event-list { margin-top: 12px; }.season-strip { grid-template-columns: 1fr; gap: 17px; margin-bottom: 52px; padding: 20px; }.map-layout { padding: 27px 0 15px; }.map-surface { min-height: 370px; }.map-surface__legend { gap: 8px; flex-wrap: wrap; }.map-surface__top { align-items: flex-start; flex-direction: column; gap: 7px; }.chain-section { padding: 38px 0; }.chain-section h2 { font-size: 27px; }.chain { gap: 7px; }.chain span { padding: 10px 8px; font-size: 10px; }.result-story { grid-template-columns: 1fr; }.result-story__step { min-height: 72px; }.boundary-grid { padding-top: 47px; }.site-footer { padding-bottom: 94px; }.site-footer__grid { grid-template-columns: 1fr; gap: 26px; }.site-footer__meta { text-align: left; }.mobile-nav { position: fixed; right: 8px; bottom: 8px; left: 8px; z-index: 50; display: grid; grid-template-columns: repeat(5, 1fr); padding: 6px; border: 1px solid rgba(176,195,184,.85); border-radius: 13px; background: rgba(248, 252, 249, .95); box-shadow: 0 10px 30px rgba(27, 52, 47, .15); backdrop-filter: blur(12px); }.mobile-nav a { min-height: 49px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; border-radius: 8px; color: var(--muted); text-decoration: none; }.mobile-nav a span { font-size: 19px; line-height: 1; }.mobile-nav a small { font-size: 9px; font-weight: 700; }.mobile-nav a.is-active { color: var(--green); background: var(--green-soft); }.mobile-nav__primary { margin: -15px 2px 0; border: 4px solid var(--page); border-radius: 50% !important; background: var(--green); color: #fff !important; box-shadow: 0 5px 14px rgba(36,107,90,.25); }.mobile-nav__primary span { font-size: 23px !important; }.mobile-nav__primary.is-active { background: var(--ink); }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
