/* Shared header: one row on wide screens; compact controls when navigation collapses. */
.rm-header .rm-header__inner{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"brand navigation phone";min-height:88px;gap:16px;padding-block:12px}
.rm-header .rm-nav{flex-wrap:nowrap;gap:16px;justify-content:flex-end}
.rm-header .rm-nav>a{white-space:nowrap}
.rm-header .rm-nav .rm-button{padding-inline:16px;gap:12px}
.rm-header .rm-brand-logo{width:156px;max-width:100%;height:auto}
.rm-contacts{grid-area:phone;position:relative;justify-self:end;min-width:0}
.rm-header .rm-header-phone{display:flex;gap:8px;align-items:center;min-height:48px;padding:4px 12px 4px 6px;border:1px solid #dce5ee;border-radius:999px;background:#f4f7fb;color:var(--rm-blue);font:600 .875rem/1.35 system-ui,sans-serif;white-space:nowrap;cursor:pointer;list-style:none;text-decoration:none;overflow-wrap:normal}
.rm-header-phone::-webkit-details-marker{display:none}
.rm-header-phone::marker{content:""}
.rm-header .rm-header-phone:hover,.rm-contacts[open] .rm-header-phone{background:#eaf0fa;border-color:#b8ccef;color:var(--rm-blue-dark)}
.rm-phone-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--rm-blue);color:#fff;flex:none}
.rm-phone-symbol svg{width:18px;height:18px}
.rm-phone-caret{width:14px;height:14px;flex:none;transition:transform .15s}
.rm-contacts[open] .rm-phone-caret{transform:rotate(180deg)}
.rm-contact-card{position:absolute;right:0;top:calc(100% + 12px);width:340px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 116px);overflow:auto;padding:24px;border:1px solid var(--rm-line);border-radius:16px;background:#fff;box-shadow:0 16px 40px #172c3c24;color:var(--rm-ink);z-index:102}
.rm-contacts[open]::after{content:"";position:absolute;right:28px;top:calc(100% + 7px);width:10px;height:10px;transform:rotate(45deg);border-left:1px solid var(--rm-line);border-top:1px solid var(--rm-line);background:#fff;pointer-events:none;z-index:103}
.rm-contact-card__eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 10px!important;color:var(--rm-muted);font-size:10px!important;font-weight:600;line-height:1.5;letter-spacing:.2em}
.rm-contact-card__eyebrow::after{content:"";height:1px;flex:1;background:var(--rm-line)}
.rm-contact-card__phone{display:flex;align-items:center;min-height:44px;font-size:22px;font-weight:650;letter-spacing:-.025em;color:var(--rm-ink);white-space:nowrap}
.rm-contact-card .rm-callback-open{display:flex;justify-content:center;min-height:44px;margin-top:12px;width:100%;padding:12px;font-size:13px}
.rm-contact-card__socials{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.rm-contact-card__socials a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;background:#f1f5fa;border-radius:8px;color:var(--rm-blue);font-size:13px;font-weight:600;padding:8px}
.rm-contact-card__socials a:hover{background:#e3ecf9}
.rm-contact-card__socials svg{width:16px;height:16px}
.rm-contact-card__socials .rm-contact-card__email{grid-column:1/-1;font-size:13px;font-weight:500;overflow-wrap:anywhere}
.rm-contact-card__address{margin:20px 0 0!important;padding-top:16px;border-top:1px solid var(--rm-line);color:var(--rm-muted);font-size:12px!important;line-height:1.6}
.rm-contact-card__address span{display:block;color:var(--rm-ink);font-weight:600;margin-bottom:4px}
.rm-callback{width:min(460px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:32px;border:1px solid var(--rm-line);border-radius:20px;color:var(--rm-ink);background:#fff;box-shadow:0 24px 80px #10283833;overflow:auto;overscroll-behavior:contain}
.rm-callback::backdrop{background:#142f46a6}
.rm-callback .rm-contact-card__eyebrow{margin-right:36px!important}
.rm-callback h2{font-size:28px!important;line-height:1.2!important;margin:20px 0 12px!important}
.rm-callback #rm-callback-intro{font-size:14px;line-height:1.6;color:var(--rm-muted);margin:0 0 24px}
.rm-callback .rm-form{padding:0!important;background:none!important;border:0!important;box-shadow:none!important;gap:16px}
.rm-callback .rm-form>label{margin-bottom:0}
.rm-callback .rm-form .rm-consent{margin-block:4px 8px;font-size:12px!important;line-height:1.55}
.rm-callback .rm-form>.rm-button{width:100%;justify-content:center;padding-inline:12px}
.rm-callback__close{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#f1f5fa;color:var(--rm-ink);cursor:pointer;padding:10px}
.rm-callback__close:hover{background:#e3ecf9}
.rm-callback__close svg{width:20px;height:20px}
.rm-header-phone:focus-visible,.rm-contact-card a:focus-visible,.rm-callback :is(a,button,input):focus-visible{outline:3px solid var(--rm-blue);outline-offset:3px}
html.rm-callback-open{overflow:hidden;scrollbar-gutter:stable}
@media(min-width:1440px){.rm-header .rm-header__inner{gap:24px}.rm-header .rm-brand-logo{width:180px}.rm-header .rm-nav{gap:20px}}
@media(max-width:1279px){
 .rm-header .rm-header__inner{grid-template-columns:minmax(0,1fr) auto 44px;grid-template-areas:"brand phone toggle";min-height:80px;gap:12px}
 .rm-header .rm-menu-toggle{display:flex}
 .rm-header .rm-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:20px 24px;overflow-y:auto;background:#fff;box-shadow:0 12px 18px #19394c15;border-bottom:1px solid var(--rm-line);gap:8px;align-items:stretch}
 .rm-header .rm-nav.is-open{display:flex;flex-direction:column}
 .rm-header .rm-nav>a{min-height:44px}
 .rm-header .rm-nav .rm-button{align-self:flex-start}
 .rm-header .rm-nav .rm-language{border:0;padding-left:0;margin-left:0}
 .rm-contact-card{max-height:calc(100dvh - 104px)}
}
@media(max-width:599px){
 .rm-header .rm-header__inner{grid-template-columns:minmax(76px,1fr) minmax(0,auto) 44px;width:calc(100% - 32px);min-height:72px;gap:8px;padding-block:8px}
 .rm-header .rm-brand-logo{width:100px}
 .rm-header .rm-header-phone{font-size:.75rem;max-width:100%;white-space:normal;gap:4px;padding:4px 8px;min-height:44px}
 .rm-phone-symbol{display:none}
 .rm-contact-card{right:-52px;width:328px;padding:20px;max-height:calc(100dvh - 96px)}
 .rm-contact-card__phone{font-size:21px}
 .rm-callback{padding:24px}
 .rm-callback h2{font-size:25px!important}
}
@media(max-width:359px){.rm-header .rm-brand-logo{width:76px}.rm-header .rm-header-phone{font-size:.6875rem;padding-inline:6px}.rm-phone-caret{width:12px}}
@media(prefers-reduced-motion:reduce){.rm-phone-caret{transition:none}}
