/* ./shared/fonts/fonts.css */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 100;
  src: url(/shared/fonts/font-0.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 200;
  src: url(/shared/fonts/font-1.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  src: url(/shared/fonts/font-2.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  src: url(/shared/fonts/font-3.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  src: url(/shared/fonts/font-4.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  src: url(/shared/fonts/font-5.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  src: url(/shared/fonts/font-6.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  src: url(/shared/fonts/font-7.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 900;
  src: url(/shared/fonts/font-8.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 300;
  src: url(/shared/fonts/font-9.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400;
  src: url(/shared/fonts/font-10.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 500;
  src: url(/shared/fonts/font-11.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 600;
  src: url(/shared/fonts/font-12.woff2) format('woff2');
  font-display: optional;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 700;
  src: url(/shared/fonts/font-13.woff2) format('woff2');
  font-display: optional;
}


/* ./shared/tokens.css */
/* Measured Tilda roles; prototype-specific motion and layout are in style.css. */
:root {
  --color-page: #fafafe;
  --color-panel: #eeeef4;
  --color-ink: #515366;
  --color-white: #fff;
  --color-header: rgba(81, 83, 102, .64);
  --font-display: 'Unbounded', Arial, sans-serif;
  --font-body: 'Inter Tight', Arial, sans-serif;
  --radius-button: 25px;
  --radius-header: 30px;
  --radius-panel: 24px;
  --content-width: 1440px;
  --page-gutter: clamp(24px, 6.25vw, 96px);
  --content-size: min(var(--content-width), calc(100% - 2 * var(--page-gutter)));
  --content-inset: max(var(--page-gutter), calc((100% - var(--content-width)) / 2));
  --color-muted:#777987;
  --color-line:#51536629;
  --motion-ease:cubic-bezier(.22,1,.36,1);
  --section-space:112px;
  --text-display:clamp(40px,6.15vw,84px);
  --text-heading:clamp(30px,3.4vw,46px);
  --text-card:24px;
}

/* Shared content grid: mobile/tablet content follows the hero inset. */
@media(max-width:1023px){:root{--page-gutter:24px}}

/* UD-01 semantic roles. Opt-in only: no existing page has this class.
   The pre-existing :root values above remain byte-for-byte unchanged. */
.union-ui {
  --ui-space-1: 8px;
  --ui-space-2: 16px;
  --ui-space-3: 24px;
  --ui-space-4: 32px;
  --ui-space-5: 48px;
  --ui-space-6: 64px;
  --ui-section-space: var(--section-space);
  --ui-text-body: 18px;
  --ui-text-small: 14px;
  --ui-text-lead: clamp(18px, 1.5vw, 23px);
  --ui-text-title: clamp(32px, 4.4vw, 64px);
  --ui-text-heading: clamp(26px, 3vw, 42px);
  --ui-text-card: clamp(21px, 2vw, 28px);
  --ui-button-height: 60px;
  --ui-button-padding: 16px 28px;
  --ui-color-hover: #424458;
  --ui-color-soft-hover: #f4f4fa;
  --ui-color-error: #923d46;
  --ui-color-disabled: #e0e1e8;
  --ui-color-menu: #707284;
  --ui-color-header: rgba(81, 83, 102, .9);
  --ui-color-backdrop: #51536680;
  --ui-color-field: #ffffffeb;
  --ui-surface-form: linear-gradient(53deg, #eeeef4, #dddfea 65%, #eeeef4);
  --ui-surface-footer: linear-gradient(110deg, #6f7184, #737589);
  --ui-motion-duration: 300ms;
  --ui-menu-ease: ease-in-out;
  --ui-focus-width: 2px;
  --ui-menu-width: 500px;
  --ui-header-offset: 112px;
}
@media(max-width:700px) {
  .union-ui {
    --ui-section-space: 64px;
    --ui-text-body: 17px;
    --ui-button-height: 52px;
    --ui-button-padding: 15px 24px;
    --ui-header-offset: 96px;
  }
}

/* Designer review: shared component rules, 2026-09-23. */
:root {
 --color-frame: #dfdfe5;
 --border-control: 1px solid var(--color-ink);
 --border-frame: 1px solid var(--color-frame);
 --space-heading-copy: 12px;
 --space-card-copy: 12px;
 --space-button-pair: 12px;
 --select-inline-padding: 16px;
 --media-card-ratio: 3 / 2;
}


/* ./shared/style.css */
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--color-page);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #9a98be;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.035em}h2{font-size:var(--text-heading);line-height:1.12}h3{font-size:var(--text-card);line-height:1.14;font-weight:600;letter-spacing:-.015em}p{line-height:1.55}.skip-link{position:fixed;top:-100px;z-index:60;background:white;padding:16px}.skip-link:focus{top:0}.brand{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.5px;line-height:1}.site-header{position:fixed;top:20px;left:50%;transform:translateX(-50%);width:calc(100% - 64px);max-width:var(--content-width);height:66px;padding:12px 16px 12px 28px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:white;background:rgba(81,83,102,.6);border-radius:var(--radius-header);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);z-index:30;transition:background .4s,color .4s,box-shadow .4s}.site-header.is-light{background:rgba(238,238,244,.94);color:var(--color-ink);box-shadow:0 4px 20px #51536608}.header-nav{display:flex;gap:25px;font-size:14px;margin-left:auto}.header-nav a{position:relative;padding:8px 0}.header-nav a::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.header-nav a:hover::after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:10px}.pill,.phone-icon{background:white;color:var(--color-ink);border-radius:30px;height:40px;display:flex;justify-content:center;align-items:center;gap:9px}.pill{padding:0 18px;font-size:14px}.menu-symbol{font-size:20px;line-height:1}.phone-icon{width:40px}.phone-icon svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linejoin:round}
.hero{position:relative;height:min(860px,100svh);min-height:680px;overflow:clip;isolation:isolate;color:white;background:var(--color-ink)}.hero__visual,.hero__shade{position:absolute;inset:0;z-index:-2}.hero__visual img{width:100%;height:100%;object-fit:cover;transform:scale(1.025)}.hero__shade{z-index:-1;background:linear-gradient(90deg,#20243477,#20243412),linear-gradient(0deg,#1518279c,transparent 60%,#30344322)}.hero__content{position:absolute;top:49%;transform:translateY(-50%);left:max(6.25%,calc((100% - var(--content-width))/2));right:6.25%}.hero__eyebrow{font-size:12px;letter-spacing:.12em;opacity:.85;margin-bottom:27px}.hero h1{font-size:var(--text-display);line-height:1.04;margin-bottom:28px}.hero h1 span{display:block}.hero__description{font-size:21px;line-height:1.5;max-width:670px;margin-bottom:36px;text-wrap:pretty}.hero__actions{display:flex;gap:30px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 28px;border-radius:var(--radius-button);font-weight:600;font-size:16px;line-height:1.3;transition:background .25s,transform .25s}.button>span,.text-link>span{font-size:20px;transition:transform .25s}.button:hover>span,.text-link:hover>span{transform:translate(2px,-2px)}.button--white{color:var(--color-ink);background:white}.button--white:hover{background:var(--color-panel)}.button--dark{color:white;background:var(--color-ink)}.button--outline{color:inherit;background:transparent;border:1px solid #ffffff60}.button--outline:hover{background:#ffffff12}.hero__contact{display:flex;align-items:center;gap:20px;padding:18px 0;background:none;color:white;font-size:16px}.hero__bottom{position:absolute;bottom:28px;left:max(6.25%,calc((100% - var(--content-width))/2));right:max(6.25%,calc((100% - var(--content-width))/2));display:grid;grid-template-columns:repeat(3,1fr) 32px;gap:28px;align-items:center}.hero__bottom>a{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;padding:17px 0;border-top:1px solid #ffffff80}.hero__bottom>a span{font-size:20px}.hero__bottom>a:hover{border-color:white}.motion-button{width:30px;height:30px;border:1px solid #ffffff60;border-radius:50%;background:none;color:white;font-size:12px}
.section{width:var(--content-size);max-width:var(--content-width);margin:0 auto;padding:var(--section-space) 0}.section-heading{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:90px;margin-bottom:48px}.eyebrow{color:var(--color-muted);font-size:12px;letter-spacing:.075em;line-height:1.4;margin-bottom:24px}.section-lead{font-size:19px;line-height:1.5;color:var(--color-muted);padding-bottom:3px}.systems-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.system-card{display:flex;flex-direction:column;position:relative;background:var(--color-panel);border-radius:var(--radius-panel);padding:28px 26px;scroll-margin-top:0;transition:box-shadow .4s,background .4s}.system-card:target,.system-card.is-target{box-shadow:0 0 0 2px #85869e;background:#e6e6ef}.system-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.index{font-size:11px;letter-spacing:.04em;opacity:.65;font-variant-numeric:tabular-nums}.system-card__symbol{font-size:23px;opacity:.5}.system-card h3{margin-bottom:17px;min-height:55px;max-width:285px}.system-card>p{font-size:16px;color:var(--color-muted);min-height:75px}.system-card ul{list-style:none;padding:0;margin:26px 0 27px;font-size:15px;line-height:1.45}.system-card li{position:relative;padding:8px 0;border-top:1px solid var(--color-line)}.system-card .text-link{margin-top:auto}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;font-weight:600;font-size:14px;background:none;color:inherit;padding:8px 0;text-align:left}
.objects{padding-top:15px}.objects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.object-card{scroll-margin-top:0}.object-card__image{height:215px;border-radius:var(--radius-panel);overflow:hidden;background:var(--color-panel)}.object-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--motion-ease)}.object-card:hover img{transform:scale(1.03)}.object-card__content{padding:24px 2px 0}.object-card h3{margin-bottom:15px}.object-card p{font-size:16px;color:var(--color-muted);min-height:75px;margin-bottom:23px}.object-card__systems{display:flex;flex-wrap:wrap;gap:8px}.object-card__systems a{font-size:12px;padding:9px 12px;background:var(--color-panel);border-radius:20px;line-height:1.3;transition:background .25s}.object-card__systems a:hover{background:#ddddE9}.object-card__systems a span{padding-left:6px}
.services-wrap{background:var(--color-panel)}.services{display:grid;grid-template-columns:1fr 1.2fr;gap:110px}.services__intro>p:not(.eyebrow){font-size:19px;color:var(--color-muted);margin:28px 0 28px;max-width:330px}.service-list{list-style:none;padding:0;margin:0}.service-list li{display:flex;gap:28px;border-top:1px solid var(--color-line);padding:25px 0}.service-list li:last-child{border-bottom:1px solid var(--color-line)}.service-list .index{padding-top:5px}.service-list h3{font-size:23px;margin-bottom:12px}.service-list p{font-size:16px;line-height:1.55;color:var(--color-muted)}

.contact-wrap{background:var(--color-ink);color:white;border-radius:32px 32px 0 0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:110px}.contact .eyebrow{color:#c3c3d0}.contact__intro>p:not(.eyebrow){font-size:18px;color:#d2d3df;max-width:410px;margin-top:28px;margin-bottom:38px}.contact__phone{display:block;font-size:29px;font-weight:500;margin-bottom:10px;letter-spacing:-.02em}.contact__email{display:block;font-size:18px;margin-bottom:25px}.contact__address{font-size:14px;color:#c3c3d0}.inquiry-options article{border-top:1px solid #ffffff35;padding:25px 0 30px}.inquiry-options .index{display:block;margin-bottom:17px}.inquiry-options h3{font-size:25px;margin-bottom:12px}.inquiry-options p{font-size:16px;color:#d2d3df;margin-bottom:25px;max-width:380px}.inquiry-options .button{font-size:15px;padding:17px 24px}.site-footer{width:var(--content-size);max-width:var(--content-width);margin:0 auto;padding:40px 0;display:grid;grid-template-columns:auto 1fr auto;gap:28px 55px;align-items:center}.site-footer p{font-size:13px;color:var(--color-muted)}.site-footer>a:not(.brand){font-size:14px}.site-footer>span{font-size:11px;color:var(--color-muted);grid-column:1/-1}
.motion-ready [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .75s var(--motion-ease),transform .75s var(--motion-ease)}.motion-ready [data-reveal].is-visible{opacity:1;transform:none}.review-bar{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);padding:10px 16px;border-radius:22px;box-shadow:0 6px 28px #20233220;background:#fff;color:var(--color-ink);font-size:12px;z-index:40;display:flex;gap:22px;align-items:center;white-space:nowrap}.review-bar[hidden]{display:none}.review-bar a{font-weight:600}.review-bar button{background:none;color:var(--color-muted);font-size:11px}
dialog{border:0;border-radius:28px;padding:45px;max-width:590px;width:calc(100% - 36px);max-height:calc(100svh - 40px);color:var(--color-ink);background:var(--color-page);box-shadow:0 25px 80px #171a2833}dialog::backdrop{background:#20233388;backdrop-filter:blur(8px)}dialog h2{overflow-wrap:anywhere;font-size:30px;line-height:1.15;margin-bottom:22px}.dialog-close{position:absolute;right:20px;top:12px;font-size:30px;background:none;color:inherit}.menu-links{display:flex;flex-direction:column;gap:0}.menu-links a{font-size:20px;padding:18px 0;border-top:1px solid var(--color-line)}.form-notice{font-size:13px;line-height:1.45;color:var(--color-muted);margin-bottom:20px}.form-result{font-size:15px;line-height:1.4;margin-top:18px}form{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:17px}form label{font-size:13px;display:grid;gap:8px}input,select,textarea{min-width:0;width:100%;border:1px solid var(--color-line);border-radius:11px;padding:12px;background:white;color:var(--color-ink);font-size:16px}textarea{resize:vertical}input[type=file]{font-size:13px;padding:12px 8px}form .button{justify-content:center;margin-top:6px}
@media(max-width:1100px){.header-nav{gap:16px;font-size:13px}.site-header{gap:20px}.section{width:var(--content-size)}.services,.contact{gap:60px}.section-heading{gap:50px}.system-card{padding:25px 22px}.system-card h3{font-size:22px}.system-card li{font-size:14px}.site-footer{width:var(--content-size)}}
@media(max-width:900px){.header-nav{display:none}.hero__description{max-width:600px}.systems-grid{grid-template-columns:repeat(2,1fr)}.objects-grid{gap:17px}.object-card h3{font-size:22px}.object-card__image{height:170px}.object-card p{min-height:100px}.services,.contact{gap:45px}.section-heading{gap:40px;grid-template-columns:1fr 1fr}.section-lead{font-size:17px}.contact__phone{font-size:26px}.site-footer{gap:25px}.site-footer p{font-size:12px}}
@media(max-width:650px){:root{--section-space:72px;--text-heading:30px}.site-header{top:16px;width:calc(100% - 32px);height:60px;padding:10px 12px 10px 18px}.brand{font-size:13px;letter-spacing:-.3px}.pill,.phone-icon{height:34px}.pill{font-size:13px;padding:0 13px}.phone-icon{width:34px}.hero{height:100svh;min-height:730px;max-height:940px}.hero__content{left:24px;right:24px;top:45%}.hero__eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:22px}.hero h1{font-size:clamp(25px,7.55vw,48px);line-height:1.12;margin-bottom:23px}.hero__description{font-size:18px;line-height:1.5;margin-bottom:26px}.hero__actions{align-items:flex-start;gap:12px;flex-direction:column}.button{font-size:15px;padding:18px 23px;gap:22px}.hero__contact{font-size:14px;padding:12px 0}.hero__visual img{object-position:58% center}.hero__shade{background:linear-gradient(90deg,#20243488,#20243422),linear-gradient(0deg,#151827b8,transparent 70%)}.hero__bottom{left:24px;right:24px;bottom:20px;grid-template-columns:1fr 30px;gap:0 20px}.hero__bottom>a{grid-column:1;font-size:12px;padding:10px 0}.hero__bottom>a span{font-size:16px}.hero__bottom>.motion-button{grid-column:2;grid-row:1/4;align-self:end}.section{width:var(--content-size)}.section-heading{display:block;margin-bottom:32px}.eyebrow{font-size:10px;margin-bottom:20px}.section-lead{margin-top:25px;max-width:450px;font-size:17px}.systems-grid{grid-template-columns:1fr;gap:14px}.system-card{padding:24px;border-radius:22px}.system-card__top{margin-bottom:23px}.system-card h3{font-size:25px;min-height:0;max-width:100%}.system-card>p{min-height:0}.system-card ul{margin:22px 0}.system-card li{font-size:15px}.objects{padding-top:0}.objects-grid{grid-template-columns:1fr;gap:35px}.object-card__image{height:230px}.object-card h3{font-size:25px}.object-card p{min-height:0;margin-bottom:18px}.object-card__content{padding-top:22px}.object-card__systems{gap:7px}.object-card__systems a{font-size:12px}.services,.contact{display:block}.services__intro>p:not(.eyebrow){font-size:18px;max-width:none;margin:25px 0}.service-list{margin-top:36px}.service-list li{gap:20px}.service-list h3{font-size:23px}.contact-wrap{border-radius:25px 25px 0 0}.contact__intro>p:not(.eyebrow){font-size:17px}.contact__phone{font-size:28px}.inquiry-options{margin-top:42px}.inquiry-options h3{font-size:24px}.site-footer{width:var(--content-size);grid-template-columns:1fr;gap:22px;padding:35px 0 40px}.site-footer .brand{font-size:19px}.site-footer p{font-size:13px}.review-bar{max-width:calc(100% - 20px);gap:14px;font-size:11px}.review-bar>span{display:none}dialog{padding:40px 24px}dialog h2{font-size:25px}.menu-links a{font-size:18px}}
@media(max-width:360px){dialog{padding:40px 18px}dialog h2{font-size:20px}form .button{font-size:14px;padding:16px;gap:12px}.hero__description{font-size:16px}.hero__eyebrow{font-size:8px}.system-card{padding:22px}.system-card h3{font-size:23px}.contact__phone{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}[data-reveal]{opacity:1!important;transform:none!important}}

/* HH-05: one inline, non-sending contact form. */
.contact-wrap{padding:0}
.contact{align-items:start;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(36px,5vw,90px)}
.contact__intro h2{max-width:520px}
.contact__intro>p:not(.eyebrow){max-width:480px;margin-bottom:42px}
.contact-form{padding:clamp(24px,3vw,44px);border:1px solid #ffffff30;border-radius:var(--radius-panel);background:#ffffff0d;gap:18px}
.contact-form__modes{display:flex;flex-wrap:wrap;gap:9px;border:0;padding:0;margin:0}
.contact-form__modes legend{font-size:14px;font-weight:600;margin-bottom:12px}
.contact-form__modes label{position:relative;display:block;cursor:pointer}
.contact-form__modes input{position:absolute;width:1px;height:1px;opacity:0}
.contact-form__modes span{display:block;padding:12px 17px;border:1px solid #ffffff65;border-radius:999px;font-size:14px;line-height:1.35}
.contact-form__modes input:checked+span{background:white;color:var(--color-ink);border-color:white}
.contact-form__modes input:focus-visible+span{outline:3px solid #c8c6ed;outline-offset:4px}
.contact-form__notice{color:#d2d3df;font-size:14px;line-height:1.5}
.contact-form__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.contact-form label{display:block;font-size:14px}
.contact-form label>input,.contact-form label>textarea{display:block;margin-top:8px}
.contact-form__modes label>input{margin:0}
.contact-form input,.contact-form textarea{border:1px solid #d8d8e2}
.contact-form [aria-invalid=true]{border-color:#f19b9b;outline:2px solid #f19b9b}
.contact-form__context>label{margin-bottom:8px}
.contact-form__context>div{display:flex;gap:9px}
.contact-form__context input{flex:1}
.contact-form__context button{color:white;background:transparent;border:1px solid #ffffff65;border-radius:11px;padding:0 15px;font-size:13px}
.contact-form__context button:hover{background:#ffffff1a}
.contact-form__or,.contact-form__hint{color:#d2d3df;font-size:13px}
.contact-form__or{margin:12px 0}
.contact-form__hint{margin-top:10px}
.contact-form [data-mode-panel]{min-width:0}
.contact-form [data-mode-panel][hidden]{display:none}
.contact-form .button{justify-content:center;width:max-content;max-width:100%}
.contact-form .form-result{min-height:1.4em;color:white;margin:0}
@media(max-width:900px){.contact{grid-template-columns:1fr;gap:36px}.contact__intro>p:not(.eyebrow){margin-bottom:24px}.contact-form{max-width:760px}}
@media(max-width:650px){.contact-form{margin-top:32px;padding:22px}.contact-form__row{grid-template-columns:1fr}.contact-form__modes label{flex:1 1 100%}.contact-form__modes span{text-align:center}.contact-form__context>div{display:block}.contact-form__context button{min-height:44px;margin-top:9px}.contact-form .button{width:100%}}

/* Restored six-slide hero; presentation shares the Tilda tokens. */
.hero__frame{position:absolute;inset:0;opacity:0;transition:opacity 1s ease-in-out;pointer-events:none}.hero__frame.is-active{opacity:1}.hero--compact-title h1{font-size:clamp(36px,4.8vw,66px);line-height:1.12}.hero__bottom{display:block;bottom:26px}.hero__navigation{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.slide-link{position:relative;display:flex;align-items:center;gap:8px;min-height:48px;padding:15px 0 10px;background:none;color:#fff;text-align:left;font-size:13px;line-height:1.3;border-top:1px solid #ffffff55;opacity:.7}.slide-link:hover,.slide-link[aria-current]{opacity:1}.slide-link[aria-current]{border-top-color:#fff}.slide-link__number{font-size:10px;opacity:.65}.slide-link__progress{position:absolute;top:-1px;left:0;width:100%;height:2px;background:white;transform:scaleX(0);transform-origin:left}.hero__playback{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:4px}.slide-counter{font-size:12px;letter-spacing:.1em;margin-right:10px}.hero__playback .motion-button{width:34px;height:34px;font-size:16px}.hero__playback [data-motion]{font-size:12px}.hero__content{top:46%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:900px){.hero__navigation{gap:12px}.slide-link{font-size:12px}.slide-link__number{display:none}}
@media(max-width:650px){.hero{min-height:800px}.hero__content{top:40%}.hero__bottom{bottom:18px;left:24px;right:24px}.hero__navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.slide-link{min-height:40px;font-size:12px;padding:11px 0 9px}.hero__playback{margin-top:10px}.hero--compact-title h1{font-size:clamp(22px,6.2vw,36px)}.hero__actions .button{font-size:14px;gap:14px;padding:18px 20px}}
@media(max-width:360px){.hero--compact-title h1{font-size:21px}.hero__actions .button{font-size:13px;padding:16px 18px;gap:12px}}
@media(prefers-reduced-motion:reduce){.hero__frame{transition:none}}

/* HH-06: full-width geography, with the existing shared content grid. */
.geography-wrap{background:#737589;color:#fff}
.geography{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-template-rows:auto 1fr;column-gap:40px;row-gap:36px;padding-top:88px;padding-bottom:0;align-items:start}
.geography__intro{grid-column:1;grid-row:1;position:relative;z-index:1}
.geography .eyebrow{color:#fff;margin-bottom:22px}
.geography h2{font-size:clamp(32px,3.5vw,50px);line-height:1.15}
.geography__description{font-size:20px;line-height:1.5;max-width:610px;margin-top:26px;text-wrap:pretty}
.geography__map{grid-column:1;grid-row:2;min-width:0;align-self:end}
.geography__map img{display:block;width:100%;height:auto}
.geography__countries{grid-column:2;grid-row:1/3;align-self:center;display:grid;gap:18px;list-style:none;margin:0 0 70px;padding:0}
.geography__countries li{background:#5E6076;border-radius:var(--radius-panel);padding:30px 25px;font-family:var(--font-display);font-size:23px;font-weight:600;line-height:1.4;letter-spacing:-.025em}
.site-footer{grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr) minmax(0,1fr);align-items:start;gap:40px;padding:56px 0 28px}
.site-footer__identity .brand{display:inline-block}
.site-footer__identity p{font-size:15px;line-height:1.5;color:var(--color-ink);margin-top:22px}
.site-footer__navigation,.site-footer__contacts{display:grid;gap:0;font-size:16px;line-height:1.4;font-style:normal}
.site-footer__navigation a,.site-footer__contacts a{width:fit-content;padding:10px 0;min-height:44px}
.site-footer__contacts span{margin-top:12px;font-size:15px;line-height:1.5}
.site-footer__contacts a{overflow-wrap:anywhere}
.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.site-footer a:focus-visible{outline:3px solid var(--color-ink);outline-offset:5px}
.site-footer .site-footer__copyright{font-size:13px;color:var(--color-ink);border-top:1px solid var(--color-line);padding-top:24px;grid-column:1/-1}
@media(max-width:1100px){.geography{grid-template-columns:minmax(0,1fr) 250px;column-gap:28px}.geography__countries li{font-size:21px;padding:26px 22px}.site-footer{column-gap:28px}}
@media(max-width:800px){.geography{display:flex;flex-direction:column;gap:0;padding-top:64px;padding-bottom:48px}.geography__intro{width:100%}.geography__description{font-size:18px;max-width:540px}.geography__map{width:100%;margin-top:30px}.geography__countries{width:100%;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:12px}.geography__countries li{flex:1 1 180px;text-align:center;font-size:19px;padding:20px}.site-footer{grid-template-columns:1fr 1fr;gap:30px}.site-footer__identity{grid-column:1/-1}.site-footer__identity p{font-size:15px;max-width:390px}}
@media(max-width:500px){.geography h2{font-size:32px}.geography__description{font-size:18px;margin-top:24px}.geography__countries{margin-top:20px;display:grid;gap:10px}.geography__countries li{text-align:left;font-size:20px;padding:20px 24px}.site-footer{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:40px}.site-footer__identity .brand{font-size:20px}.site-footer__navigation{display:grid;grid-template-columns:1fr;gap:0}}


/* ./shared/screen-01-tokens.css */
/* Tilda source measurements and proposed screen-01 adaptations: see DESIGN.md. */
.hero-video, .site-header--video, #menu-dialog {
  --hero-page: #fafafe;
  --hero-ink: #515366;
  --hero-panel: #eeeef4;
  --hero-white: #fff;
  --hero-radius: 25px;
  --hero-header-radius: 30px;
  --hero-gutter: var(--page-gutter);
  --hero-title: clamp(38px, 4vw, 64px);
  --hero-caption-duration: 300ms;
}


/* ./shared/screen-01.css */
.site-header--video {
  color: white;
  background: rgba(81, 83, 102, .36);
  border: 1px solid #ffffff26;
  backdrop-filter: blur(24px) saturate(125%);
  -webkit-backdrop-filter: blur(24px) saturate(125%);
  border-radius: var(--hero-header-radius);
  box-shadow: 0 4px 24px #2024340a;
  max-width: 1280px;
  gap: 24px;
}
.site-header--video.is-light { color: var(--hero-ink); background: rgba(238,238,244,.94); }
.site-header--video .header-nav { gap: clamp(18px, 2.2vw, 32px); }
.site-header--video .header-nav a { display: flex; align-items: center; min-height: 44px; }
.site-header--video .solutions-menu { position: relative; }
.site-header--video .solutions-menu summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; list-style: none; }
.site-header--video .solutions-menu summary::-webkit-details-marker { display: none; }
.site-header--video .solutions-menu summary::after { content: '⌄'; padding-left: 7px; }
.site-header--video .solutions-menu__links { position: absolute; top: calc(100% + 7px); left: -18px; width: 310px; padding: 12px 18px; border-radius: 18px; background: #32384beF; color: white; box-shadow: 0 15px 45px #20243444; }
.site-header--video .solutions-menu__links a { display: flex; padding: 8px 0; line-height: 1.35; border-bottom: 1px solid #ffffff30; }
.site-header--video .solutions-menu__links a:last-child { border-bottom: 0; }
.site-header--video .solutions-menu summary:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.site-header--video .pill { min-height: 44px; color: inherit; background: #ffffff1f; border: 1px solid #ffffff38; }
.site-header--video .header-actions { display: none; }
.site-header--video .brand { flex-shrink: 0; min-height: 44px; display: flex; align-items: center; }
.hero-video { position: relative; isolation: isolate; color: var(--hero-white); background: var(--hero-page); }
.hero-video__media { position: absolute; inset: 0; overflow: hidden; z-index: -2; background: var(--hero-panel); }
.hero-video__poster, .hero-video__film { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-video__film { opacity: 0; }
.hero-video--has-frame .hero-video__film { opacity: 1; }
.hero-video--error .hero-video__film { opacity: 0; }
.hero-video__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(18,24,38,.87) 0%, rgba(18,24,38,.76) 45%, rgba(18,24,38,.64) 58%, rgba(18,24,38,.12) 83%, transparent); }
.hero-video__content { box-sizing: border-box; height: min(100svh, 780px); min-height: 520px; padding: clamp(100px, 18svh, 140px) 0 100px; width: var(--content-size); max-width: var(--content-width); margin-inline: auto; display: flex; flex-direction: column; justify-content: center; }
.hero-video__title { font-size: clamp(34px, min(4vw, 7.5svh), 58px); line-height: 1.12; min-height: 3.36em; max-width: 760px; margin-bottom: 18px; text-wrap: balance; flex-shrink: 0; }
.hero-video__description { font-size: clamp(16px, min(1.45vw, 3svh), 20px); line-height: 1.5; min-height: 4.5em; max-width: 560px; margin-bottom: 24px; flex-shrink: 0; }
.hero-video__actions { flex-shrink: 0; }
.hero-video__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.hero-video__action { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 56px; padding: 18px 24px; border-radius: var(--hero-radius); font-size: 16px; font-weight: 600; line-height: 1.3; background: var(--hero-white); color: var(--hero-ink); border: 1px solid var(--hero-white); }
.hero-video__action--secondary { color: white; background: #18203080; border-color: #ffffffb3; }
.hero-video__action:hover { background: var(--hero-panel); color: var(--hero-ink); }
.hero-video__action span { font-size: 20px; }
.hero-video__caption { position: absolute; bottom: 36px; left: var(--content-inset); width: min(560px, 65%); min-height: 48px; display: grid; align-items: center; border-top: 1px solid #ffffff70; padding-top: 14px; font-size: 17px; line-height: 1.35; }
.hero-video__caption-item { grid-area: 1 / 1; opacity: 0; transition: opacity var(--hero-caption-duration) ease; pointer-events: none; }
.hero-video__caption-item.is-active { opacity: 1; }
.hero-video__controls { position: absolute; bottom: 36px; right: var(--content-inset); display: flex; align-items: flex-end; flex-direction: column; gap: 10px; max-width: 240px; }
.hero-video__toggle { min-width: 132px; min-height: 46px; border: 1px solid #ffffffb3; border-radius: 24px; padding: 11px 18px; background: #182030e6; color: white; font-size: 14px; display: flex; align-items: center; justify-content: center; gap: 10px; }
.hero-video__toggle:hover { background: #515366; }
.hero-video__status { background: #182030eb; color: white; border-radius: 12px; font-size: 13px; line-height: 1.4; padding: 8px 12px; }
.hero-video__status:empty { display: none; }
.hero-video__toggle[hidden] { display: none; }
.hero-video :focus-visible { outline: 3px solid white; outline-offset: 5px; box-shadow: 0 0 0 7px #515366; }
.site-header--video :focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
@media (max-width: 1100px) {
  .site-header--video .header-nav { display: none; }
  .site-header--video .header-actions { display: flex; }
}
@media (max-width: 1023px) {
  .site-header--video { color: var(--hero-ink); background: rgba(238,238,244,.48); border-color: #5153661a; }
  .hero-video { padding-top: 102px; color: var(--hero-ink); }
  .hero-video__media { position: relative; aspect-ratio: 16 / 9; z-index: auto; }
  .hero-video__poster, .hero-video__film { object-fit: contain; }
  .hero-video__shade { display: none; }
  .hero-video__content { height: auto; min-height: 0; padding: 34px 0 44px; }
  .hero-video__title { font-size: clamp(24px, 5.8vw, 42px); line-height: 1.18; min-height: 2.36em; margin-bottom: 22px; max-width: 720px; text-wrap: initial; }
  .hero-video__description { font-size: 18px; line-height: 1.5; min-height: 4.5em; margin-bottom: 25px; max-width: 620px; }
  .hero-video__action { background: var(--hero-ink); color: white; border-color: var(--hero-ink); }
  .hero-video__action--secondary { background: transparent; color: var(--hero-ink); }
  .hero-video__caption { top: calc(102px + 56.25vw - 78px); bottom: auto; left: var(--page-gutter); width: min(540px, calc(100% - 2 * var(--page-gutter))); height: 62px; min-height: 0; padding: 10px 14px; border: 0; border-radius: 14px; background: #182030df; color: white; font-size: 15px; }
  .hero-video__controls { top: 114px; right: var(--page-gutter); bottom: auto; max-width: min(240px, calc(100% - 32px)); }
  .hero-video__toggle { min-width: 132px; min-height: 44px; font-size: 13px; padding: 10px 14px; }
  .hero-video__status { order: 1; font-size: 12px; line-height: 1.25; padding: 6px 10px; }
  .hero-video :focus-visible { outline-color: var(--hero-ink); box-shadow: 0 0 0 7px white; }
  .hero-video__toggle:focus-visible { outline-color: white; box-shadow: 0 0 0 7px #515366; }
}
@media (max-width: 480px) {
  .site-header--video { width: calc(100% - 24px); padding-inline: 16px 10px; gap: 12px; }
  .hero-video { padding-top: 92px; }
  .hero-video__caption { top: calc(92px + 56.25vw - 72px); height: 56px; font-size: 14px; }
  .hero-video__controls { top: 102px; }
  .hero-video__actions { flex-direction: column; }
  .hero-video__action { width: 100%; padding: 18px 20px; gap: 14px; }
  .hero-video__content { padding-top: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-video__caption-item { transition: none; }
}


/* ./shared/screen-02.css */
/* HOME-B03: compact category entrances; full catalog pages use equipment-page.css. */
.equipment{padding-block:64px 72px}
.equipment .section-heading{grid-template-columns:1.4fr 1fr;gap:48px;margin-bottom:28px}
.equipment .eyebrow{margin-bottom:16px}
.equipment h2{font-size:clamp(30px,3.2vw,44px);max-width:650px}
.equipment .section-lead{max-width:380px;justify-self:end;color:var(--color-ink);font-size:18px}
.equipment .systems-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.equipment .system-card{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,1.15fr);grid-template-rows:auto auto auto;align-content:center;column-gap:24px;row-gap:16px;padding:32px;overflow:hidden;border:1px solid #5153660a;scroll-margin-top:110px;transition:transform 520ms cubic-bezier(.22,1,.36,1),box-shadow 520ms,border-color 520ms}
.equipment .system-card__top{position:relative;grid-column:1;grid-row:1/4;min-height:184px;height:auto;margin:0;display:flex;align-items:center;justify-content:center}
.equipment .system-card__top .index{position:absolute;top:0;left:0;z-index:1}
.equipment .system-card__image{position:absolute;inset:0;margin:auto;display:block;width:100%;height:270px;object-fit:contain;mix-blend-mode:normal;transition:transform 240ms cubic-bezier(.22,1,.36,1)}
.equipment .system-card h3{font-size:25px;line-height:1.2;min-height:0;margin-bottom:0;max-width:100%;letter-spacing:-.025em}
.equipment .system-card h3 a:hover{color:#37394e}
.equipment .system-card__types{list-style:none;padding:0;margin:0;font-size:15px;line-height:1.3}
.equipment .system-card__types li{border:0;padding:0}
.equipment .system-card__types a{display:block;padding:7px 0;text-decoration:underline;text-decoration-color:#51536625;text-underline-offset:4px;transition:text-decoration-color .25s}
.equipment .system-card__types a:hover{color:#37394e;text-decoration-color:currentColor}
.equipment .system-card__more{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:11px;border-top:1px solid #51536625;font-size:14px;font-weight:600;min-height:42px}
.equipment .system-card__more span{display:grid;place-items:center;border:1px solid #51536630;border-radius:50%;width:30px;height:30px;font-size:18px;flex-shrink:0;transition:background .25s,color .25s}
.equipment .system-card__more:hover span{background:var(--color-ink);color:white}
.equipment .system-card:focus-within{border-color:#85869e;box-shadow:0 8px 26px #51536614}
.equipment__request{display:flex;align-items:baseline;justify-content:space-between;gap:12px 28px;margin-top:24px;padding-top:18px;border-top:1px solid #51536630;font-size:16px;color:var(--color-ink)}
.equipment__request a{font-weight:600;text-decoration:underline;text-decoration-color:#51536670;text-underline-offset:5px}
.equipment__request a:hover{text-decoration-color:currentColor}
.equipment__request a span{margin-left:8px}
.motion-ready .equipment [data-reveal]{opacity:0;transform:none;transition:transform 520ms cubic-bezier(.22,1,.36,1),box-shadow 520ms,border-color 520ms}
.motion-ready .equipment [data-reveal].is-visible{opacity:1;animation:equipment-reveal 500ms cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms) backwards}
.motion-ready .equipment [data-reveal]:focus-within{opacity:1}
@keyframes equipment-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.equipment .system-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #51536614;border-color:#51536625}.equipment .system-card:hover .system-card__image{transform:scale(1.02)}}
@media(max-width:1100px){.equipment .system-card{grid-template-columns:minmax(140px,.85fr) minmax(0,1.15fr);gap:16px;padding:24px}.equipment .system-card h3{font-size:20px}.equipment .system-card__image{height:230px}}
@media(max-width:800px){.equipment .systems-grid{grid-template-columns:minmax(0,1fr)}.equipment .system-card{grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr)}.equipment .system-card__image{height:230px}.equipment .system-card__top{min-height:180px}}
@media(max-width:650px){.equipment .section-heading{display:block}.equipment .section-lead{justify-self:start;margin-top:24px;font-size:17px;max-width:310px}.equipment .systems-grid{gap:16px}.equipment .system-card{padding:24px 20px;grid-template-columns:104px minmax(0,1fr);gap:8px 16px}.equipment .system-card__top{min-height:196px;grid-row:1/3}.equipment .system-card__image{width:124px;max-width:none;height:196px}.equipment .system-card h3{font-size:19px;line-height:1.25}.equipment .system-card__types a{padding-block:7px}.equipment .system-card__more{grid-column:1/-1;margin-top:8px;min-height:44px}.equipment__request{display:block}.equipment__request a{display:block;margin-top:8px}}
@media(max-width:360px){.equipment .system-card{grid-template-columns:80px minmax(0,1fr);padding:20px 16px;column-gap:12px}.equipment .system-card__image{width:110px;height:154px}.equipment .system-card h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.equipment .system-card,.equipment .system-card__image{transform:none!important;animation:none!important;transition:none!important}.motion-ready .equipment [data-reveal]{opacity:1}}

@media(min-width:801px){.equipment .system-card__top{min-height:270px;}.equipment .system-card__image{width:118%;max-width:none;}}
@media(max-width:800px){.equipment .system-card[data-reveal]{--reveal-delay:0ms!important;}}


/* ./shared/screen-03.css */
/* Illustrated object entrances. Images fit the panel without negative offsets. */
.objects .section-heading { display:block; }
.objects__scenes { display:grid; gap:24px; isolation:isolate; }
.object-scene-slot { position:relative; scroll-margin-top:100px; }
.object-scene { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:1.15fr 1fr; align-items:center; min-height:400px; border-radius:36px; color:#fff; background:linear-gradient(110deg,#626071,#9290a3); transform-origin:center top; }
.object-scene--storage { background:linear-gradient(110deg,#40543e,#93a789); }
.object-scene--livestock { background:linear-gradient(110deg,#544c40,#bcb09c); }
.object-scene__content { position:relative; z-index:2; padding:48px; min-width:0; }
.object-scene__title { font-family:var(--font-display); font-size:clamp(26px,2.6vw,36px); font-weight:600; line-height:1.2; letter-spacing:-.035em; }
.object-scene__task { max-width:460px; margin-top:24px; font-size:18px; line-height:1.5; }
.object-scene__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding-top:32px; }
.object-scene__link { scroll-margin-block:110px 24px; }
.object-scene__link--inquiry{display:inline-flex;align-items:center;min-height:48px;padding:8px 0;color:inherit;font-size:16px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.object-scene__image { display:block; width:100%; height:400px; object-fit:contain; object-position:right bottom; align-self:end; pointer-events:none; padding:0; }
@media(min-width:1024px) and (min-height:720px) and (prefers-reduced-motion:no-preference){
 .objects--stacking .object-scene-slot {position:sticky;top:108px;align-self:start}
 .objects--stacking .object-scene-slot:nth-child(2){top:124px}
 .objects--stacking .object-scene-slot:nth-child(3){top:140px}
 .objects--stacking .object-scene-slot+.object-scene-slot .object-scene {box-shadow:0 -12px 36px #35364318}
}
.objects--keyboard .object-scene-slot {position:relative;top:auto}
@media(max-width:1100px){
 .object-scene__content{padding:32px}
 .object-scene__title{font-size:28px}
 .object-scene__image{height:320px}
}
@media(max-width:800px){
 .object-scene{grid-template-columns:1fr;min-height:0;border-radius:26px}
 .object-scene__content{padding:32px}
 .object-scene__title{font-size:clamp(23px,4.6vw,32px)}
 .object-scene__task{margin-top:20px}
 .object-scene__actions{padding-top:24px}
 .object-scene__image{height:250px;padding:0}
}
@media(max-width:420px){
 .object-scene__content{padding:24px}
 .object-scene__title{font-size:22px}
 .object-scene__link{width:100%}
}
@media(prefers-reduced-motion:reduce){.object-scene-slot .object-scene{transform:none!important}}


/* ./shared/screen-04.css */
/* A sequence of work, with service continuing after commissioning. */
.company-services { scroll-margin-top:96px; }
.company-services__intro { display:grid; grid-template-columns:1.1fr 1fr; gap:var(--column-gap); align-items:end; }
.company-services .eyebrow { color:var(--color-ink); }
.company-services__title { font-size:clamp(30px,2.8vw,40px); line-height:1.2; }
.company-services__introduction { max-width:470px; font-size:21px; line-height:1.4; text-wrap:pretty; }
.company-services__scope { margin-top:16px; max-width:470px; font-size:16px; line-height:1.5; }
.company-services__body { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; list-style:none; margin:48px 0 0; padding:0; }
.company-services__part { position:relative; min-width:0; padding-top:28px; border-top:1px solid #51536640; }
.company-services__number { display:block; margin-bottom:32px; font:500 44px/1 var(--font-display); color:#77798e; }
.company-services__part:not(:last-child)::after { content:''; position:absolute; top:-1px; left:0; width:48px; height:2px; background:#77798e; }
.company-services__part h3 { font-family:var(--font-display); font-size:clamp(20px,1.7vw,25px); font-weight:500; line-height:1.35; letter-spacing:-.035em; max-width:320px; min-height:2.7em; margin-bottom:20px; }
.company-services__part p { font-size:18px; line-height:1.55; max-width:360px; text-wrap:pretty; }
.company-services__actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px 32px; margin-top:40px; }
.company-services__actions .button { max-width:100%; }
.company-services__details { display:inline-flex; align-items:center; gap:16px; min-height:44px; font-size:16px; line-height:1.4; text-decoration:underline; text-underline-offset:5px; }
.company-services__details:hover { text-decoration-thickness:2px; }
.company-services a { scroll-margin-block:110px 24px; }
.company-services a:focus-visible { outline:3px solid var(--color-ink); outline-offset:5px; }
@media(max-width:1023px){
 .company-services__intro { grid-template-columns:minmax(0,1fr); gap:24px; }
 .company-services__body { grid-template-columns:repeat(2,minmax(0,1fr));gap:24px; }
 .company-services__part h3 { font-size:21px; }
}
@media(max-width:767px){
 .company-services__body { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:32px; }
 .company-services__part { padding:0 0 0 52px; border:0; }
 .company-services__number { position:absolute; top:3px; left:0; font-size:23px; margin:0; }
 .company-services__part:not(:last-child)::after { content:''; width:1px; background:#51536630; top:40px; bottom:-12px; left:16px; right:auto; }
 .company-services__part h3 { min-height:0; margin-bottom:12px; font-size:20px; }
 .company-services__part p {font-size:17px;}
 .company-services__actions { align-items:flex-start; flex-direction:column; gap:16px; }
 .company-services__actions .button { padding:18px 22px; gap:18px; font-size:15px; }
}

/* Sequential entrance; readable immediately with keyboard or reduced motion. */
.motion-ready .company-services__part[data-reveal]{transition-duration:550ms;transition-delay:var(--reveal-delay,0ms);}
@media(max-width:767px){.motion-ready .company-services__part[data-reveal]{transition-delay:0ms;}}


/* ./shared/homepage-design.css */
/* 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,.geography__map img {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}}
.object-scene--construction{background:#6a7160;background-image:linear-gradient(120deg,#4c645d,#8a8e75)}
.object-scene--consulting{background:#737d8f;background-image:linear-gradient(120deg,#5b6d7e,#8c95a4)}
.object-scene--industrial{background:#4e7880;background-image:linear-gradient(120deg,#38636c,#7a9897)}
@media(min-width:1000px){.company-services__body{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(min-width:1024px) and (min-height:720px) and (prefers-reduced-motion:no-preference){.objects--stacking .object-scene-slot:nth-child(4){top:156px}.objects--stacking .object-scene-slot:nth-child(5){top:172px}}

/* HOME-B07: client object photographs as proof. */
.home-projects h2 { font-size:clamp(30px,3.2vw,44px); line-height:1.15; }
.home-projects .section-lead { max-width:480px; justify-self:end; color:var(--color-ink); font-size:18px; line-height:1.5; }
/* Static grid (reduced motion, touch screens): every object in one row, whatever the count */
.home-projects__grid { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:16px; list-style:none; margin:0; padding:0; }
.home-projects__card { position:relative; display:block; overflow:hidden; aspect-ratio:4/5; border-radius:24px; background:var(--color-panel); color:#fff; isolation:isolate; }
.home-projects__card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--motion-ease); }
.home-projects__card::after { content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,transparent 42%,rgba(22,26,42,.86)); }
.home-projects__meta { position:absolute; left:20px; right:20px; bottom:18px; z-index:2; display:grid; grid-template-columns:minmax(0,1fr); gap:4px; }
.home-projects__meta span { font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.home-projects__meta strong { font:600 clamp(16px,1.35vw,19px)/1.25 var(--font-display); letter-spacing:-.03em; hyphens:auto; overflow-wrap:break-word; }
a.home-projects__card:hover strong, a.home-projects__card:focus-visible strong { text-decoration:underline; text-underline-offset:5px; }
@media(hover:hover) and (prefers-reduced-motion:no-preference){ a.home-projects__card:hover img { transform:scale(1.04); } }
.home-projects__actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin-top:32px; }
/* Tablet: a swipe row showing two and a half cards, like the phone row */
@media(min-width:561px) and (max-width:1100px){ .home-projects:not(.home-projects--marquee) .home-projects__grid { grid-auto-columns:calc((100% - 32px) / 2.5); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin-inline:calc(var(--page-gutter) * -1); padding-inline:var(--page-gutter); scroll-padding-inline:var(--page-gutter); } .home-projects:not(.home-projects--marquee) .home-projects__grid::-webkit-scrollbar { display:none; } .home-projects:not(.home-projects--marquee) .home-projects__grid > li { scroll-snap-align:start; } }
@media(max-width:900px){ .home-projects .section-lead { justify-self:start; max-width:620px; } }
@media(max-width:650px){ .home-projects .section-lead { margin-top:16px; font-size:17px; } }
@media(max-width:560px){ .home-projects__grid { grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:76%; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin-inline:calc(var(--page-gutter) * -1); padding-inline:var(--page-gutter); scroll-padding-inline:var(--page-gutter); } .home-projects__grid::-webkit-scrollbar { display:none; } .home-projects__grid > li { scroll-snap-align:start; } .home-projects__card { height:100%; } .home-projects__actions .button { width:100%; } }

/* HOME-B07 motion: slow endless drift on desktop, driven by home-projects.js (eased stop on hover); static under reduced motion. */
.home-projects__viewport { overflow:hidden; border-radius:24px; }
.home-projects__viewport:focus-visible { outline:2px solid #25283a; outline-offset:4px; }
@media(min-width:901px){
  .home-projects--marquee .home-projects__grid { display:flex; width:max-content; gap:16px; will-change:transform; }
  .home-projects--marquee .home-projects__grid > li { flex:0 0 clamp(280px,24vw,340px); }
}
@media(max-width:900px){ .home-projects--marquee .home-projects__grid > li[aria-hidden="true"] { display:none; } }


/* ./shared/ui/global-shell.css */
/* The same navigation shell is rendered on every public route. */
html{scroll-padding-top:105px}
.shell-skip{position:fixed;top:-120px;left:16px;z-index:100;background:white;color:#25283a;padding:12px 18px;border-radius:14px}
.shell-skip:focus{top:8px}
.site-header,.union-ui .site-header{position:fixed;top:20px;left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 64px);max-width:var(--content-width);height:66px;min-height:0;margin:0;padding:12px 16px 12px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;z-index:30;border:0;border-radius:var(--radius-header);color:#fff;background:rgba(81,83,102,.94);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:none;transition:background .3s,color .3s,box-shadow .3s}
.site-header .brand,.union-ui .site-header .brand{display:flex;align-items:center;flex:none;min-height:44px;font:700 18px/1 var(--font-display);letter-spacing:-.5px;color:inherit;text-decoration:none}
.site-header .header-nav,.union-ui .site-header .header-nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,32px);margin-left:auto;font-size:14px}
.site-header .header-nav a{display:flex;align-items:center;min-height:44px;padding:8px 0;color:inherit;white-space:nowrap}
.site-header .header-nav a[aria-current=page],.site-header .header-nav a.is-active{text-decoration:underline;text-underline-offset:6px}
.site-header .header-actions,.union-ui .site-header .header-actions{display:flex;align-items:center}
.site-header .pill,.union-ui .site-header .pill{display:flex;align-items:center;justify-content:center;min-width:94px;height:44px;min-height:44px;padding:0 24px;border:0;border-radius:25px;background:#fff;color:#383a4d;font:500 14px/1 var(--font-body)}
.site-header [hidden]{display:none!important}
.site-header.is-compact,.union-ui .site-header.is-compact{top:12px;width:calc(100% - 32px);height:60px;padding:10px 12px 10px 22px;border:1px solid #51536620;border-radius:30px;color:var(--color-ink);background:#eeeef4;box-shadow:0 4px 24px #34364b14;backdrop-filter:none}
.site-header.is-compact .header-nav,.union-ui .site-header.is-compact .header-nav{display:none}
.site-header.is-compact .pill,.union-ui .site-header.is-compact .pill{height:40px;min-height:40px}
.nav-fallback{position:relative;z-index:25;width:calc(100% - 32px);max-width:var(--content-width);margin:104px auto 16px;padding:12px 18px;border-radius:18px;background:#eeeef4;color:#25283a}
.nav-fallback summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}
.nav-fallback nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:12px 0}
.nav-fallback a{display:block;padding:5px 0;min-height:34px;color:inherit}
.nav-fallback a[aria-current=page],.menu-links a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.shell-enhanced .nav-fallback{display:none}
.union-ui main#main-content{padding-top:20px}
.shell-enhanced.union-ui main#main-content{padding-top:110px}
.site-footer,.union-ui .site-footer{display:block;width:100%;max-width:none;margin:0;padding:64px 0 32px;background:linear-gradient(110deg,#6f7184,#737589);color:#fff}
.union-ui .site-footer{margin-top:var(--ui-section-space)}
.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:64px 48px;align-items:start}
.site-footer__identity .brand,.union-ui .site-footer__identity .brand{font:700 clamp(24px,2.6vw,36px)/1.12 var(--font-display);letter-spacing:-.035em;color:#fff}
.site-footer__navigation,.site-footer__contacts,.union-ui .site-footer :where(nav,address){display:grid;align-content:start;gap:0;font:400 16px/1.5 var(--font-body);font-style:normal}
.site-footer .site-footer__label{color:#fff;font-size:12px;margin:0 0 16px}
.site-footer__navigation a,.site-footer__contacts a{display:block;padding:8px 0;min-height:42px;color:#fff}
.site-footer__contacts span{font-size:16px;margin-top:8px}
.site-footer__bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;font-size:14px}
.site-footer__bottom a{padding:10px 0;color:#fff}
.site-footer a[aria-current=page],.site-footer a.is-active{text-decoration:underline;text-underline-offset:5px}
.site-menu,.union-ui .site-menu,#menu-dialog{position:fixed;inset:0 0 0 auto;margin:0;padding:0;width:500px;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0;background:#6b6d80;color:#fff;box-shadow:none;transform:translateX(100%);transition:transform .3s ease-in-out;overflow-y:auto}
.site-menu.is-open,#menu-dialog.is-open{transform:translateX(0)}
.site-menu::backdrop{background:#51536680;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:0;transition:opacity .3s ease-in-out}
.site-menu.is-open::backdrop{opacity:1}
.menu-panel{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:60px 40px 40px}
.shell-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.menu-brand{font:700 30px/1.25 var(--font-display);letter-spacing:-.035em;color:#d7d8e4;text-align:center;margin-bottom:24px}
.site-menu .dialog-close{position:sticky;top:5px;right:auto;z-index:2;display:grid;place-content:center;width:44px;min-width:44px;height:44px;min-height:44px;margin:5px 5px -49px auto;padding:0;background:#515366;color:#fff;border:0;border-radius:50%}
.site-menu .dialog-close span{grid-area:1/1;display:block;width:24px;height:2px;background:currentColor;transform:rotate(45deg)}
.site-menu .dialog-close span+span{transform:rotate(-45deg)}
.site-menu .menu-links{width:100%;display:grid;gap:0;text-align:center}
.site-menu .menu-links a{display:flex;justify-content:center;align-items:center;min-height:44px;padding:7px 0;border:0;color:#fff;font:500 16px/1.35 var(--font-body)}
.site-menu .menu-link-group__heading{font:700 18px/1.35 var(--font-display)!important;margin-top:12px}
.menu-link-group__children{display:grid;gap:0}
.menu-contacts{display:flex;gap:12px;padding-top:40px;margin-top:auto}
.menu-contacts a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:#737589;font:400 18px/1 var(--font-body)}
.site-header :focus-visible,.site-footer :focus-visible,.site-menu :focus-visible{outline:3px solid currentColor;outline-offset:4px}
.site-menu :focus-visible{outline-color:#fff}
html.menu-open{overflow:hidden}
@media(max-width:1100px){.site-header .header-nav,.union-ui .site-header .header-nav{display:none}}
@media(max-width:800px){.site-footer__inner{grid-template-columns:1fr 1fr;gap:48px}.site-footer__identity{grid-column:1/-1}}
@media(max-width:650px){.site-header,.union-ui .site-header{top:16px;width:calc(100% - 24px);height:60px;padding:10px 10px 10px 16px;gap:12px}.site-header .brand,.union-ui .site-header .brand{font-size:13px;letter-spacing:-.3px}.site-header .pill,.union-ui .site-header .pill{height:40px;min-height:40px;padding:0 18px;font-size:13px}.nav-fallback nav{grid-template-columns:1fr}.site-footer__inner{grid-template-columns:1fr;gap:36px}.site-footer__identity{grid-column:1}.site-footer__bottom{margin-top:0;flex-direction:column;align-items:flex-start;gap:8px}.menu-panel{padding:60px 24px 32px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-menu,.site-menu::backdrop{transition:none}}
/* Direct phone in the header: icon on small screens, number on wide ones. */
.site-header .header-actions,.union-ui .site-header .header-actions{gap:10px}
.site-header .header-phone{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 38%,transparent);border-radius:25px;color:inherit;text-decoration:none;white-space:nowrap;font:500 15px/1 var(--font-body)}
.site-header .header-phone__text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
.site-header .header-phone:hover{background:#ffffff1f}
@media(min-width:1280px){
 .site-header .header-phone{border:0;padding:0 8px;gap:0}
 .site-header .header-phone__icon{display:none}
 .site-header .header-phone__text{position:static;width:auto;height:auto;margin:0;overflow:visible;clip-path:none}
 .site-header .header-phone:hover{background:none;text-decoration:underline;text-underline-offset:6px}
}
@media(max-width:650px){.site-header .header-phone{min-width:40px;height:40px}}
/* Second screen: the header folds into one round menu button at the top right; it opens the side panel
   (phone and e-mail are inside the panel). */
.site-header.is-compact,.site-header--video.is-compact,.union-ui .site-header.is-compact{top:16px;left:auto;right:16px;transform:none;width:auto;max-width:none;height:auto;min-height:0;padding:0;gap:0;border:0;border-radius:50%;color:#fff;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.site-header.is-compact .brand,.site-header.is-compact .header-phone,.union-ui .site-header.is-compact .brand,.union-ui .site-header.is-compact .header-phone{display:none}
.site-header.is-compact .pill,.union-ui .site-header.is-compact .pill{width:56px;min-width:56px;height:56px;min-height:56px;padding:0;border-radius:50%;background:rgba(81,83,102,.94);color:#fff;box-shadow:0 6px 24px #24263a38;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);animation:header-fold .25s ease-out}
.site-header.is-compact .pill::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor;box-shadow:0 -7px 0 currentColor,0 7px 0 currentColor}
.site-header.is-compact .menu-label{display:none}
.site-header.is-compact .pill:hover{background:#383a4d}
.site-header.is-compact .pill:focus-visible{outline-color:#383a4d}
@keyframes header-fold{from{opacity:0;transform:scale(.6)}}
@media(max-width:650px){.site-header.is-compact,.site-header--video.is-compact,.union-ui .site-header.is-compact{top:12px;right:12px}.site-header.is-compact .pill,.union-ui .site-header.is-compact .pill{width:52px;min-width:52px;height:52px;min-height:52px}}
@media(prefers-reduced-motion:reduce){.site-header.is-compact .pill{animation:none}}
/* Cookie notice: Yandex Metrika loads only after "Принять" (shared/ui/analytics.js). */
.cookie-notice{position:fixed;left:16px;bottom:16px;z-index:40;display:grid;gap:14px;max-width:min(520px,calc(100% - 32px));padding:18px 20px;border:1px solid #51536624;border-radius:20px;background:#fff;color:#25283a;box-shadow:0 10px 36px #24263a2e;font:400 14px/1.45 var(--font-body)}
.cookie-notice p{margin:0}
.cookie-notice a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.cookie-notice__actions{display:flex;flex-wrap:wrap;gap:10px}
.cookie-notice button{min-height:42px;padding:0 20px;border-radius:21px;font:500 14px/1 var(--font-body);cursor:pointer}
.cookie-notice__accept{border:0;background:#383a4d;color:#fff}
.cookie-notice__accept:hover{background:#25283a}
.cookie-notice__decline{border:1px solid #51536655;background:transparent;color:#25283a}
.cookie-notice__decline:hover{background:#eeeef4}
.cookie-notice :focus-visible{outline:3px solid #383a4d;outline-offset:3px}
@media(max-width:650px){.cookie-notice{left:12px;right:12px;bottom:12px;max-width:none;padding:16px}.cookie-notice__actions button{flex:1}}


/* ./shared/ui/request-form.css */
/* Request form, variant 1 "call or write" (output/form-variants-2026-10-06), shared by the home page and inner pages.
   Also styles the popup that shows the same section when any request button is pressed. */
.rq-section {
  --rq-ink: #515366;
  --rq-ink-hover: #424458;
  --rq-strong: #25283a;
  --rq-muted: #5d5f71;
  --rq-placeholder: #616375;
  --rq-line: #51536629;
  --rq-field-border: #8b8da0;
  --rq-field-bg: #eeeef4;
  --rq-field-bg-hover: #e6e7ef;
  --rq-error: #923d46;
  width: var(--content-size, min(1440px, calc(100% - 48px)));
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(28px, 4vw, 56px);
  border-radius: 36px;
  background: linear-gradient(53deg, #eeeef4, #dddfea 65%, #eeeef4);
  color: var(--rq-strong);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.12fr);
  gap: clamp(24px, 3vw, 48px);
  align-items: start;
  box-sizing: border-box;
}
.rq-section *, .rq-section *::before, .rq-section *::after { box-sizing: border-box; }
.rq-section h2, .rq-section h3 { margin: 0; font-family: var(--font-display); font-weight: 600; letter-spacing: -.035em; line-height: 1.15; text-wrap: balance; color: var(--rq-strong); }
.rq-section p { margin: 0; }
.rq-section .rq-intro { padding-top: 8px; }
.rq-section .rq-intro h2 { font-size: clamp(28px, 2.8vw, 40px); }
.rq-section .rq-lead { margin-top: 16px; max-width: 40ch; font: 400 18px/1.5 var(--font-body); color: var(--rq-ink); }
.rq-section .rq-contacts { margin-top: 40px; font-style: normal; }
.rq-section .rq-call { display: inline-flex; align-items: center; gap: 16px; color: inherit; text-decoration: none; border-radius: 20px; }
.rq-section .rq-call__icon { flex: none; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--rq-ink); color: #fff; transition: background-color .2s ease; }
.rq-section .rq-call__label { display: block; font: 500 15px/1.3 var(--font-body); color: var(--rq-muted); }
.rq-section .rq-call__num { display: block; margin-top: 2px; font: 600 clamp(24px, 2.3vw, 34px)/1.15 var(--font-display); letter-spacing: -.03em; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rq-section .rq-call:hover .rq-call__icon { background: var(--rq-ink-hover); }
.rq-section .rq-call:hover .rq-call__num { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.rq-section .rq-call:focus-visible { outline: 2px solid var(--rq-strong); outline-offset: 6px; }
.rq-section .rq-note { margin: 10px 0 0 80px; font: 400 15px/1.4 var(--font-body); color: var(--rq-muted); }
.rq-section .rq-mail { display: inline-flex; align-items: center; min-height: 44px; margin: 14px 0 0 80px; font: 400 17px/1.4 var(--font-body); color: var(--rq-strong); text-underline-offset: 4px; }
.rq-section .rq-or { align-self: stretch; display: flex; flex-direction: column; align-items: center; gap: 12px; font: 500 15px/1 var(--font-body); color: var(--rq-muted); }
.rq-section .rq-or::before, .rq-section .rq-or::after { content: ""; flex: 1; width: 1px; background: var(--rq-line); }
.rq-section .rq-card { display: grid; gap: 20px; padding: clamp(24px, 3vw, 40px); border-radius: 28px; background: #fff; }
.rq-section .rq-card__title { font-size: clamp(19px, 1.6vw, 22px); }
.rq-section .rq-card:has(.is-success) .rq-card__title { display: none; }

/* Form */
.rq-section .rq-form, .rq-section .rq-body { display: grid; gap: 20px; margin: 0; }
.rq-section [hidden] { display: none !important; }
.rq-section .rq-topic { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; font: 400 15px/1.4 var(--font-body); color: var(--rq-muted); }
.rq-section .rq-topic strong { font-weight: 600; color: var(--rq-strong); }
.rq-section .rq-field { display: grid; gap: 8px; align-content: start; min-width: 0; }
.rq-section .rq-label { font: 500 15px/1.3 var(--font-body); color: var(--rq-strong); }
.rq-section .rq-opt { font-weight: 400; color: var(--rq-muted); }
.rq-section .rq-input {
  display: block; width: 100%; min-height: 64px; margin: 0; padding: 18px 20px;
  border: 0; border-radius: 20px;
  background: var(--rq-field-bg); color: var(--rq-strong);
  font: 400 18px/1.4 var(--font-body);
  appearance: none;
  transition: background-color .2s ease, box-shadow .2s ease;
}
.rq-section textarea.rq-input { min-height: 112px; resize: vertical; }
.rq-section .rq-input::placeholder { color: var(--rq-placeholder); opacity: 1; }
/* Filled fields without a frame; focus turns the field white with one soft ring (the transparent outline stays for forced colours). */
.rq-section .rq-input:hover { background: var(--rq-field-bg-hover); }
.rq-section .rq-input:focus, .rq-section .rq-input:focus-visible { outline: 2px solid transparent; background: #fff; box-shadow: 0 0 0 2px var(--rq-ink); }
.rq-section .rq-input[aria-invalid="true"] { background: #f8eef0; box-shadow: inset 0 0 0 2px var(--rq-error); }
.rq-section .rq-input[aria-invalid="true"]:focus, .rq-section .rq-input[aria-invalid="true"]:focus-visible { background: #fff; box-shadow: 0 0 0 2px var(--rq-error); }
.rq-section .rq-error { font: 600 14px/1.35 var(--font-body); color: var(--rq-error); }
.rq-section .rq-privacy { font: 400 14px/1.45 var(--font-body); color: var(--rq-muted); }
.rq-section .rq-privacy a { color: var(--rq-strong); text-underline-offset: 3px; }
.rq-section .rq-actions { display: grid; gap: 12px; }
.rq-section .rq-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; min-height: 64px; padding: 16px 32px; border: 0; border-radius: 25px;
  background: var(--rq-ink); color: #fff; font: 500 18px/1.2 var(--font-body);
  white-space: nowrap; cursor: pointer; transition: background-color .2s ease, transform .12s ease;
}
.rq-section .rq-submit:hover { background: var(--rq-ink-hover); }
.rq-section .rq-submit:active { transform: translateY(1px); }
.rq-section .rq-submit:disabled { background: var(--rq-ink-hover); cursor: progress; }
.rq-section .rq-submit:focus-visible { outline: 2px solid var(--rq-strong); outline-offset: 3px; }
.rq-section .rq-result { font: 500 15px/1.4 var(--font-body); color: var(--rq-ink); }
.rq-section .rq-result:empty { display: none; }
.rq-section .rq-success { display: grid; gap: 12px; justify-items: start; align-content: start; border-radius: 12px; }
.rq-section .rq-success:focus:not(:focus-visible) { outline: none; }
.rq-section .rq-success:focus-visible { outline: 2px solid var(--rq-strong); outline-offset: 8px; }
.rq-section .rq-success__mark { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 8px; border-radius: 50%; background: var(--rq-strong); color: #fff; }
.rq-section .rq-success h3 { font-size: clamp(22px, 2vw, 28px); }
.rq-section .rq-success p { max-width: 44ch; font: 400 17px/1.5 var(--font-body); color: var(--rq-strong); }
.rq-section .rq-echo { display: inline-block; max-width: 100%; font-weight: 600; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.rq-section .rq-success__actions { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.rq-section .rq-link { appearance: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: none; font: 500 15px/1.3 var(--font-body); color: var(--rq-strong); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.rq-section .rq-link:hover { color: var(--rq-ink-hover); text-decoration-thickness: 2px; }
@media (prefers-reduced-motion: no-preference) {
  .rq-section .rq-success:not([hidden]) { animation: rq-in .4s cubic-bezier(.22, 1, .36, 1); }
  @keyframes rq-in { from { opacity: 0; transform: translateY(8px); } }
}

/* Home page: type of request as a segmented control (the label wraps the radio: one hit target) */
.rq-section .rq-modes { display: inline-flex; flex-wrap: wrap; gap: 4px; justify-self: start; margin: 0; padding: 4px; border: 0; border-radius: 25px; background: #eeeef4; }
.rq-section .rq-modes label { position: relative; display: block; cursor: pointer; }
.rq-section .rq-modes input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.rq-section .rq-modes span { display: flex; align-items: center; min-height: 44px; padding: 10px 20px; border-radius: 21px; font: 500 15px/1.2 var(--font-body); color: var(--rq-ink); transition: background-color .2s ease, color .2s ease; }
.rq-section .rq-modes label:hover span { color: var(--rq-strong); }
.rq-section .rq-modes input:checked + span { background: #fff; color: var(--rq-strong); box-shadow: 0 1px 3px rgb(37 40 58 / .16); }
.rq-section .rq-modes input:focus-visible + span { outline: 2px solid var(--rq-strong); outline-offset: 2px; }

/* Sections that hold the request block keep the page background */
.union-ui .ui-section-surface:has(> .rq-section, > .rq-dialog__placeholder) { background: transparent; padding-block: 0; }
.union-ui .rq-section { margin-block: var(--ui-section-space, 72px) 0; }
.union-ui .rq-dialog .rq-section { margin: 0; }
.contact-wrap:has(.rq-section, .rq-dialog__placeholder) { background: transparent; color: inherit; border-radius: 0; }
.contact-wrap .rq-section { margin-block: var(--section-space, 72px); }

@media (max-width: 900px) {
  .rq-section { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 28px 20px 20px; border-radius: 28px; }
  .rq-section .rq-intro { padding-top: 0; }
  .rq-section .rq-lead { font-size: 17px; }
  .rq-section .rq-contacts { margin-top: 24px; }
  .rq-section .rq-call { display: flex; padding: 10px 20px 10px 10px; border: 1px solid var(--rq-field-border); border-radius: 40px; background: #fff; }
  .rq-section .rq-call__icon { width: 52px; height: 52px; }
  .rq-section .rq-call__num { font-size: 20px; }
  .rq-section .rq-note { margin: 10px 0 0 20px; }
  .rq-section .rq-mail { margin: 4px 0 0 20px; }
  .rq-section .rq-or { flex-direction: row; }
  .rq-section .rq-or::before, .rq-section .rq-or::after { width: auto; height: 1px; }
  .rq-section .rq-card { padding: 24px 20px; border-radius: 24px; }
  .rq-section .rq-modes { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .rq-section .rq-modes span { justify-content: center; padding-inline: 10px; text-align: center; }
}
@media (max-width: 700px) { .contact-wrap .rq-section { margin-block: 48px; } }

/* Popup: the same section is moved into a modal dialog while it is open */
.rq-dialog { width: min(1180px, calc(100% - 48px)); max-width: none; max-height: calc(100dvh - 48px); margin: auto; padding: 0; border: 0; border-radius: 36px; background: transparent; color: inherit; overflow: visible; }
.rq-dialog::backdrop { background: rgb(37 40 58 / .55); }
.rq-dialog__scroll { position: relative; max-height: calc(100dvh - 48px); overflow-y: auto; overscroll-behavior: contain; border-radius: 36px; }
.rq-dialog .rq-section { width: 100%; margin: 0; }
.rq-dialog__close { position: absolute; top: 16px; right: 16px; z-index: 2; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: #25283a; cursor: pointer; box-shadow: 0 1px 3px rgb(37 40 58 / .16); transition: background-color .2s ease; }
.rq-dialog__close:hover { background: #eeeef4; }
.rq-dialog__close:focus-visible { outline: 2px solid #25283a; outline-offset: 3px; }
.rq-dialog__placeholder { visibility: hidden; }
html.rq-dialog-open { overflow: hidden; }
@media (prefers-reduced-motion: no-preference) {
  .rq-dialog[open] { animation: rq-dialog-in .32s cubic-bezier(.22, 1, .36, 1); }
  .rq-dialog[open]::backdrop { animation: rq-backdrop-in .32s ease; }
  @keyframes rq-dialog-in { from { opacity: 0; transform: translateY(16px) scale(.985); } }
  @keyframes rq-backdrop-in { from { opacity: 0; } }
}
@media (max-width: 700px) {
  .rq-dialog { width: 100%; max-height: calc(100dvh - 16px); margin: auto 0 0; border-radius: 28px 28px 0 0; }
  .rq-dialog__scroll { max-height: calc(100dvh - 16px); border-radius: 28px 28px 0 0; }
  .rq-dialog .rq-section { border-radius: 28px 28px 0 0; padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
  .rq-dialog__close { position: sticky; top: 12px; margin: 12px 12px -56px auto; }
  @media (prefers-reduced-motion: no-preference) {
    .rq-dialog[open] { animation: rq-sheet-in .36s cubic-bezier(.22, 1, .36, 1); }
    @keyframes rq-sheet-in { from { transform: translateY(40px); opacity: 0; } }
  }
}
@media (max-width: 700px) { .rq-dialog .rq-intro h2 { padding-right: 52px; } }
.rq-section .visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.rq-section .rq-label { display: block; }
.rq-section .rq-opt { display: inline; margin: 0; }
