/* Current homepage layout contract. Shared catalog tokens remain in tokens.css. */
:root {
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-6: 48px;
  --space-8: 64px;
  --section-gap: 128px;
  --heading-gap: 48px;
  --panel-padding: 48px;
  --column-gap: 64px;
}
html { scroll-padding-top: 96px; }
/* Adjacent light sections share one interval, not two stacked paddings. */
main > .section { padding-block: 0; margin-block: var(--section-gap); }
main > .objects { margin-top: var(--section-gap); }
.section-heading, .objects .section-heading, .equipment .section-heading {
  gap: var(--column-gap); margin-bottom: var(--heading-gap);
}
.eyebrow, .equipment .eyebrow, .company-services .eyebrow { margin-bottom: var(--space-3); }
/* The header keeps the Tilda text button, including its compact state. */
.site-header--video .header-actions {display:flex;}
.site-header--video .pill {height:44px;min-width:94px;padding:0 24px;border:0;border-radius:25px;background:white;color:#383a4d;font-weight:500;}
.site-header.is-compact {left:50%;right:auto;transform:translateX(-50%);top:12px;width:calc(100% - 32px);max-width:var(--content-width);height:60px;padding:10px 12px 10px 22px;border:1px solid #51536620;background:#eeeef4;box-shadow:0 4px 24px #34364b14;backdrop-filter:none;border-radius:30px;color:var(--color-ink);}
.site-header.is-compact .brand{display:flex;}
.site-header.is-compact .header-nav{display:none;}
.site-header.is-compact .pill {height:40px;}
/* The Tilda enquiry panel: a bounded illustration with one short field row. */
.contact-wrap { background:transparent; color:#25283a; border-radius:0; margin-block:var(--section-gap); }
.contact { position:relative; isolation:isolate; display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:24px 48px; min-height:0; padding:48px; border-radius:40px; overflow:hidden; background:linear-gradient(52.56deg,#9295a5 0%,#b8b9c9 50%,#979aac 100%); }
.contact__intro {position:relative;z-index:1;grid-column:1;grid-row:1;width:100%;max-width:none;}
.contact h2 {max-width:none;font-size:clamp(30px,3.5vw,48px);line-height:1.2;}
.contact__intro>p:not(.eyebrow) {font-size:19px;color:inherit;max-width:530px;margin:24px 0 0;}
.contact__image {position:relative;grid-column:1;grid-row:2;justify-self:center;width:min(100%,300px);height:210px;max-height:none;object-fit:contain;object-position:center;z-index:0;pointer-events:none;}
.contact-form {position:relative;grid-column:2;grid-row:1/3;display:grid;width:100%;margin:0;padding:0;background:none;border:0;border-radius:0;gap:16px;box-shadow:none;max-width:none;}
.contact-form__row label>input {margin-top:0;}
.contact-form__row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;order:2;}
.contact-form label {display:grid;gap:8px;color:inherit;font-size:15px;line-height:1.4;}
.contact-form input:not([type=radio]), .contact-form textarea {border:1px solid #74788f;background:#fafafe;border-radius:22px;padding:14px 18px;font-size:16px;line-height:1.5;color:#303245;min-height:52px;}
.contact-form input::placeholder,.contact-form textarea::placeholder {color:#515366;opacity:1;}
.contact-form textarea {border-radius:18px;min-height:88px;}
.contact-form input:focus-visible,.contact-form textarea:focus-visible {outline:2px solid #303245;outline-offset:3px;}
.contact-form__fields {align-self:start;width:100%;max-width:none;order:3;display:grid;gap:16px;}
.contact-form__required{order:1;font-size:14px;line-height:1.45;}
.contact-form__modes {display:flex;flex-wrap:wrap;gap:12px;border:0;padding:0;margin:0;}
.contact-form__modes label {display:flex;align-items:center;gap:10px;cursor:pointer;}
.contact-form__modes input {position:static;width:18px;height:18px;opacity:1;accent-color:#515366;}
.contact-form__modes span,.contact-form__modes input:checked+span {padding:8px 0;background:transparent;border:0;color:inherit;border-radius:0;font-size:15px;}
.contact-form [data-mode-panel] {display:grid;gap:18px;}
.contact-form [hidden] {display:none;}
.contact-form__context {display:grid;gap:8px;}
.contact-form__context>div {display:flex;align-items:center;gap:12px;}
.contact-form__context input {min-width:0;}
.contact-form__context button {color:#25283a;background:transparent;border:1px solid #515366;border-radius:25px;padding:10px 16px;min-height:48px;}
.contact-form input[type=file] {width:100%;min-width:0;padding:10px 14px;font-size:14px;}
.contact-form input[type=file]::file-selector-button {border:0;border-radius:20px;padding:12px 16px;margin-right:12px;color:#515366;background:white;font:inherit;cursor:pointer;}
.contact-form [aria-invalid=true] {border-color:#9b2424;outline:2px solid #9b2424;}
.contact-form .button {order:4;margin:0;width:100%;}
.contact-form .form-result {order:5;color:#25283a;font-size:15px;max-width:700px;margin:0;}
.contact-form .form-result:empty {display:none;}
.contact-form__error{color:#8f1e1e;font-size:14px;font-weight:600;line-height:1.3;}
.contact-form__topic{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:15px;line-height:1.4;}
.contact-form__topic strong{font-weight:600;}
.contact-form noscript a{text-decoration:underline;text-underline-offset:3px;}
/* A complete map: the outlines have a padded viewBox, no clipping or cover fit. */
/* Tilda gradient and a complete map without visible country labels. */
.geography-wrap {color:#25283a;background:linear-gradient(52.56deg,#9295a5 0%,#b8b9c9 50%,#979aac 100%);}
.geography {display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:40px 48px;align-items:center;padding-block:80px;}
.geography__intro {display:block;grid-column:1/-1;grid-row:1;width:100%;}
.geography h2 {font-size:clamp(30px,3.2vw,44px);color:inherit;}
.geography__description {margin:24px 0 0;max-width:700px;font-size:20px;color:inherit;}
.geography__map {grid-column:1;grid-row:2;width:100%;max-width:1040px;margin:0 auto;align-self:center;}
.geography__map svg {display:block;width:100%;height:auto;overflow:visible;}
.geography__country {stroke:none;}
.geography__boundary {fill:none;stroke:#f3f3f8;stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round;}
.geography__country[data-country=russia] {fill:#74788f;}
.geography__country[data-country=kazakhstan] {fill:#76a89b;}
.geography__country[data-country=uzbekistan] {fill:#dfb77d;}
/* Tilda footer: muted lavender plane, large white wordmark, open link columns. */
.site-footer { width: 100%; max-width: none; margin: 0; display: block; padding: var(--space-8) 0 var(--space-4); background: linear-gradient(110deg,#6f7184,#737589); color: white; }
.site-footer__inner { width: var(--content-size); max-width: var(--content-width); margin-inline: auto; display: grid; grid-template-columns: 2fr 1fr 1.2fr; gap: var(--space-8) var(--space-6); align-items: start; }
.site-footer__identity { grid-column: auto; }
.site-footer__identity .brand { font-size: clamp(24px,2.6vw,36px); line-height: 1.12; letter-spacing: -.035em; }
.site-footer__navigation, .site-footer__contacts { font-size: 16px; line-height: 1.5; gap: 0; }
.site-footer .site-footer__label { color: white; font-size: 12px; margin-bottom: var(--space-2); }
.site-footer__navigation a, .site-footer__contacts a { padding-block: 8px; min-height: 42px; }
.site-footer__contacts span { font-size: 16px; margin-top: var(--space-1); }
.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); grid-column: 1/-1; margin-top: var(--space-4); font-size: 14px; }
.site-footer__bottom a { padding: 10px 0; }
.site-footer a:focus-visible { outline-color: white; }
@media (max-width: 1100px) {
  :root { --column-gap: 48px; --panel-padding: 32px; }
}
@media (max-width: 800px) {
  :root { --section-gap: 80px; --heading-gap: 32px; --panel-padding: 32px; --column-gap: 32px; }
  .section-heading { gap: var(--space-3); }
  .geography { grid-template-columns: minmax(0,1fr); gap: 24px; padding-block: 64px; }
  .geography__intro { grid-column: 1; grid-row: 1; }
  .geography__map { grid-column: 1; grid-row: 2; }
  .geography__description { margin-top: var(--space-3); }
  .geography__map { margin-top: 0; }
  .site-footer__inner { grid-template-columns: 1fr 1fr; gap: var(--space-6); }
  .site-footer__identity { grid-column: 1/-1; }
}
@media (max-width: 600px) {
  :root { --panel-padding: 24px; }
  .equipment .section-lead { margin-top: var(--space-3); }
  .site-footer__inner { grid-template-columns: 1fr; gap: var(--space-6); }
  .site-footer__bottom { margin-top: 0; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
}
@media (prefers-reduced-motion: reduce) {
  .site-header, .geography__country { transition: none; }
}

.skip-link:not(:focus) { clip-path: inset(50%); }

/* Buttons observed on union-proclimat.ru: white, 25px corners, 500 weight, no arrows. */
:root {--button-radius:25px;--button-height:60px;--button-ink:#515366;}
body .button,.hero-video__action,.equipment .system-card__more {display:inline-flex;align-items:center;justify-content:center;min-height:var(--button-height);width:max-content;max-width:100%;padding:16px 28px;gap:0;border:0;border-radius:var(--button-radius);background:white;color:var(--button-ink);font:500 16px/1.4 var(--font-body);text-align:center;text-decoration:none;transform:none;box-shadow:none;transition:background-color .2s ease-in-out,color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out;}
.button:hover,.hero-video__action:hover,.equipment .system-card__more:hover {background:white;color:var(--button-ink);transform:none;box-shadow:none;}
.button:active,.hero-video__action:active {background:white;transform:none;}
/* Keep one primary action; shared geometry does not mean identical emphasis. */
body .button--dark,body .button--dark:hover,body .button--dark:active {background:var(--button-ink);color:white;}
.hero-video__action--secondary,
.hero-video__action--secondary:active {background:#18203040;color:white;border:1px solid #ffffffc7;}
.hero-video__action--secondary:hover {background:#ffffff29;color:white;border-color:white;}
.hero-video__action:not(.hero-video__action--secondary):hover {background:var(--hero-panel);color:var(--button-ink);}
.button:focus-visible,.hero-video__action:focus-visible {outline:2px solid currentColor;outline-offset:4px;}
.hero-video__action:focus-visible {outline-color:white;}
.company-services__intro {display:block;}
.company-services__title {font-size:clamp(30px,3.2vw,44px);}
.equipment .system-card {align-content:start;row-gap:16px;}
.equipment .system-card__top {grid-row:1/4;}

.equipment .system-card__more {align-self:end;margin-top:8px;}
.equipment .equipment__all-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:32px;text-decoration:underline;text-underline-offset:5px;font:500 17px/1.4 var(--font-body)}
.equipment .system-card__types a {padding-block:5px;}
@media(max-width:1100px){.contact{padding:40px;gap:24px 32px}.contact__intro{max-width:none}.contact__image{width:min(100%,240px)}.contact-form__row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:1023px){
 .hero-video__action:not(.hero-video__action--secondary),.hero-video__action:not(.hero-video__action--secondary):active{background:var(--button-ink);color:white;}
 .hero-video__action:not(.hero-video__action--secondary):hover{background:#383a4d;color:white;}
 .hero-video__action--secondary,.hero-video__action--secondary:active{background:transparent;color:var(--button-ink);border-color:var(--button-ink);}
 .hero-video__action--secondary:hover{background:var(--hero-panel);color:var(--button-ink);border-color:var(--button-ink);}
 .hero-video__action:focus-visible{outline-color:var(--button-ink);}
}
@media(max-width:800px){
 .contact{grid-template-columns:1fr;padding:32px;min-height:0;border-radius:30px;}
 .contact__intro{max-width:100%;}
 .contact h2{font-size:30px;}
 .contact__intro>p:not(.eyebrow){font-size:18px;max-width:420px;}
 .contact__image{grid-column:1;grid-row:3;width:160px;height:110px;max-height:none;object-position:center;z-index:0;margin:8px 0 0;}
 .contact-form{grid-column:1;grid-row:2;padding-top:0;margin-top:0;}
 .contact-form__row{grid-template-columns:1fr;gap:12px;}
 body .button,.hero-video__action,.equipment .system-card__more{min-height:52px;padding:15px 24px;}
 .equipment .system-card__more{justify-self:start;}
}
@media(max-width:480px){
 .site-header--video .pill{min-width:78px;padding:0 20px;height:40px;}
 .site-header.is-compact{top:12px;}
 .contact{padding:24px;border-radius:26px;}
 .contact h2{font-size:26px;}
 .contact__image{width:120px;height:84px;}
 .contact-form__context>div{display:grid;grid-template-columns:minmax(0,1fr);justify-items:end;}
 .contact-form__context input{width:100%;}
 .contact-form__context button{margin:0;min-height:44px;padding:8px 16px;font-size:13px;}
 .object-scene__link:not(.object-scene__link--inquiry){width:100%;}
}

/* Reveal motion never delays keyboard access. */
.motion-ready [data-reveal]:focus-within{opacity:1;transform:none;animation:none;transition:none;}

/* Shared rules from the designer review. */
.hero-video__title{min-height:0;margin-bottom:var(--space-heading-copy)}
.company-services__details.button{border:var(--border-control);background:transparent;color:var(--color-ink);text-decoration:none}
@media(min-width:768px){
 .company-services__part{border-top:var(--border-frame)}
 .company-services__part:not(:last-child)::after{display:none}
}

/* Second visual review: readable mobile controls, grouped livestock links and a map key. */
.geography{grid-template-rows:auto auto auto;gap:28px 48px}
.geography__legend{grid-column:1;grid-row:3;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;list-style:none;margin:0;padding:0;font-size:15px}
.geography__legend li{display:flex;align-items:center;gap:8px}
.geography__swatch{display:inline-block;width:15px;height:15px;border-radius:4px;border:1px solid #25283a30}
.geography__swatch--russia{background:#74788f}.geography__swatch--kazakhstan{background:#76a89b}.geography__swatch--uzbekistan{background:#dfb77d}
.contact-form__context button[hidden]{display:none}
.object-scene__primary-links,.object-scene__inquiry-links{display:flex;flex-wrap:wrap;gap:12px}
.object-scene__inquiry-links{gap:8px 24px;width:100%}
@media(max-width:650px){
 .hero-video__title{font-size:clamp(32px,8.5vw,40px);line-height:1.12;min-height:0;text-wrap:balance}
 .hero-video__controls{top:96px;right:16px}
 .hero-video__toggle{min-width:44px;width:44px;height:44px;padding:0;border-radius:50%}
 .hero-video__toggle [data-video-label]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .object-scene--livestock .object-scene__actions{display:block}
 .object-scene--livestock .object-scene__primary-links{display:grid;grid-template-columns:1fr;gap:8px}
 .object-scene--livestock .object-scene__inquiry-links{display:flex;flex-direction:column;align-items:flex-start;margin-top:20px;gap:8px}
 .object-scene--livestock .object-scene__link--inquiry{width:auto}
 .equipment .system-card{grid-template-columns:112px minmax(0,1fr)}
 .equipment .system-card__top{grid-column:1;grid-row:1/4;min-height:166px}
 .equipment .system-card__image{width:112px;height:166px}
 .equipment .system-card h3{font-size:20px}
 .equipment .system-card__types{font-size:14px}
 .equipment .system-card__more{grid-column:2;justify-self:start}
 .geography__legend{justify-content:flex-start;font-size:14px}
}
@media(max-width:480px){.contact__image{display:none}.company-services__part:not(:last-child)::after{display:none}}
