/* Startseite neu (Design A «Klar & Kompakt») — шаблон page-startseite-neu.php
   Все классы с префиксом rmx-, чтобы не пересекаться со стилями темы renovel. */

/* --- шрифты: локальный хостинг (DSGVO), OFL --- */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/BarlowCondensed-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/BarlowCondensed-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/BarlowCondensed-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/BarlowCondensed-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/BarlowCondensed-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/BarlowCondensed-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/SourceSans3-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/SourceSans3-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/SourceSans3-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/SourceSans3-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/SourceSans3-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/SourceSans3-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{
  --rmx-blue:#2AA9E1; --rmx-blue-deep:#1B8AC0; --rmx-blue-ink:#0F4C6E; --rmx-blue-100:#E6F4FB; --rmx-blue-200:#C9E8F6;
  --rmx-black:#000; --rmx-ink:#1A1A1A; --rmx-gray:#575656; --rmx-gray-300:#C8C8C8; --rmx-paper:#fff; --rmx-paper-warm:#F7F8FA;
  --rmx-display:'Barlow Condensed',Arial Narrow,sans-serif; --rmx-body:'Source Sans 3',Arial,sans-serif;
  --rmx-w:1180px;
  --rmx-hero-bg:#E4F1F9;
}
html{scroll-behavior:smooth}
body.rmx-body{margin:0;overflow-x:hidden;font-family:var(--rmx-body);font-size:18px;line-height:1.6;color:var(--rmx-ink);background:var(--rmx-paper);min-height:100vh}
.rmx-body *,.rmx-body *::before,.rmx-body *::after{box-sizing:border-box}
.rmx-body img{display:block;max-width:100%;height:auto}
.rmx-body a{color:var(--rmx-blue-deep)}
.rmx-body p{margin:0}
.rmx-wrap{max-width:var(--rmx-w);margin:0 auto;padding:0 24px}
.rmx-hero__grid>*,.rmx-vn__grid>*,.rmx-zu__top>*,.rmx-ueber__grid>*,.rmx-kontakt__grid>*,.rmx-footer__grid>*,.rmx-form__row>*{min-width:0}
.rmx-h1,.rmx-h2,.rmx-h3,.rmx-info b,.rmx-footer p{overflow-wrap:anywhere}
.rmx-h1,.rmx-h2,.rmx-h3,.rmx-num{font-family:var(--rmx-display);line-height:1.02;letter-spacing:-.005em;color:var(--rmx-black);margin:0}
.rmx-h1{font-size:clamp(44px,5.4vw,76px);font-weight:700;text-transform:uppercase;margin-top:18px}
.rmx-h2{font-size:clamp(34px,4.2vw,56px);font-weight:700;text-transform:uppercase;margin:12px 0 16px}
.rmx-h3{font-size:26px;font-weight:600}
.rmx-lead{font-size:22px;line-height:1.45}
.rmx-accent{color:var(--rmx-blue)}
.rmx-eyebrow{font-family:var(--rmx-display);font-weight:600;font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:var(--rmx-blue-deep);display:inline-flex;align-items:center;gap:10px}
.rmx-eyebrow::before{content:"";width:14px;height:14px;background:var(--rmx-blue)}
.rmx-eyebrow--light{color:#BFE6F8}
.rmx-btn,.rmx-body .wpcf7 .rmx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;font-family:var(--rmx-display);font-weight:600;font-size:22px;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;border:2px solid var(--rmx-blue);cursor:pointer;transition:background var(--rmx-t-hover) ease,border-color var(--rmx-t-hover) ease,transform var(--rmx-t-press) var(--rmx-ease-out);border-radius:0}
.rmx-btn--primary,.rmx-body a.rmx-btn--primary,.rmx-body .wpcf7 .rmx-btn--primary{background:var(--rmx-blue);color:#fff}
.rmx-btn--primary:hover,.rmx-body .wpcf7 .rmx-btn--primary:hover{background:var(--rmx-blue-deep);border-color:var(--rmx-blue-deep)}
.rmx-btn--ghost,.rmx-body a.rmx-btn--ghost{background:#fff;color:var(--rmx-blue-ink)}
.rmx-btn--ghost:hover{background:var(--rmx-blue-100)}
.rmx-btn:focus-visible{outline:3px solid var(--rmx-blue-ink);outline-offset:2px}

/* header */
.rmx-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--rmx-gray-300)}
.rmx-nav{display:flex;align-items:center;gap:32px;height:88px}
.rmx-logo-link{display:block;line-height:0}
.rmx-logo{height:52px;width:auto}
.rmx-menu{display:flex;gap:28px;margin-left:auto}
.rmx-menu a{font-family:var(--rmx-display);font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--rmx-ink);text-decoration:none}
.rmx-menu a:hover{color:var(--rmx-blue-deep)}
.rmx-tel{display:flex;flex-direction:column;line-height:1.1;text-align:right;text-decoration:none}
.rmx-tel small{font-size:13px;color:var(--rmx-gray);letter-spacing:.06em;text-transform:uppercase}
.rmx-tel b{font-family:var(--rmx-display);font-size:24px;color:var(--rmx-black)}
.rmx-nav__icon{display:none}

/* hero (v1-компоновка): текст слева, фото в синей рамке справа; фон — однотонный светло-голубой */
.rmx-hero{position:relative;overflow:hidden;padding:72px 0 80px;background:var(--rmx-hero-bg);border-bottom:1px solid var(--rmx-blue-200)}
.rmx-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.rmx-hero__sub{font-family:var(--rmx-display);font-size:30px;font-weight:500;line-height:1.15;color:var(--rmx-blue-ink);margin:18px 0 26px}
.rmx-hero p{max-width:56ch}
.rmx-hero .rmx-lead+p{margin-top:14px}
.rmx-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.rmx-btn--tel svg{width:22px;height:22px;fill:currentColor}
.rmx-hero__note{margin-top:22px;font-size:16px;color:var(--rmx-gray)}
.rmx-frame{position:relative;aspect-ratio:1/1}
.rmx-frame::before{content:"";position:absolute;inset:auto -28px -28px auto;width:62%;height:62%;background:var(--rmx-blue);z-index:0}
.rmx-frame::after{content:"";position:absolute;left:-28px;top:-28px;width:120px;height:120px;border:14px solid #fff;z-index:0}
.rmx-frame picture{display:contents}
.rmx-frame img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;box-shadow:0 20px 50px rgba(15,76,110,.16)}
.rmx-badge{position:absolute;z-index:2;left:-16px;bottom:36px;background:#fff;border-left:8px solid var(--rmx-blue);padding:14px 22px;box-shadow:0 12px 30px rgba(15,76,110,.14)}
.rmx-badge .rmx-num{font-size:44px;font-weight:700;color:var(--rmx-blue-ink)}
.rmx-badge small{display:block;font-size:15px;color:var(--rmx-gray);text-transform:uppercase;letter-spacing:.1em}

/* полоса доверия под hero */
.rmx-trust{background:#fff;border-bottom:1px solid var(--rmx-gray-300)}
.rmx-trust__grid{display:grid;grid-template-columns:repeat(3,auto) minmax(0,1fr);gap:40px;align-items:center;padding:18px 24px}
.rmx-trust__item b{display:block;font-family:var(--rmx-display);font-weight:700;font-size:28px;line-height:1;color:var(--rmx-blue-ink);white-space:nowrap}
.rmx-trust__item span{font-size:14px;color:var(--rmx-gray);text-transform:uppercase;letter-spacing:.08em}
.rmx-trust__item--slogan{justify-self:end}
.rmx-slogan__svg{height:16px;width:auto;max-width:100%}

/* секции */
/* «Ihre Vorteile»: еле заметный фон — лёгкий градиент + мягкое голубое свечение справа сверху */
.rmx-vorteile{background:#F8FBFD;background-image:radial-gradient(ellipse 60% 70% at 88% 12%,rgba(42,169,225,.09),transparent 70%),linear-gradient(180deg,#FBFDFE 0%,#F5F9FC 100%)}
.rmx-vorteile .rmx-cards{background:var(--rmx-blue-200);border-color:var(--rmx-blue-200)}
.rmx-section{padding:96px 0}
.rmx-sec-head{max-width:760px;margin-bottom:44px}
.rmx-sec-head__text{margin-top:14px;color:var(--rmx-gray)}
.rmx-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;background:var(--rmx-gray-300);border:1px solid var(--rmx-gray-300)}
.rmx-card{background:#fff;padding:36px 32px 40px;transition:background var(--rmx-t-hover) ease}
.rmx-card:hover{background:var(--rmx-blue-100)}
.rmx-card__ic{width:56px;height:56px;background:var(--rmx-blue);display:grid;place-items:center;margin-bottom:24px}
.rmx-card__ic svg{width:34px;height:34px;fill:#fff}
.rmx-card .rmx-h3{margin-bottom:10px}
.rmx-card p{color:var(--rmx-gray)}

/* vorher/nachher */
.rmx-vn{background:var(--rmx-blue-ink);color:#fff}
.rmx-vn .rmx-h2,.rmx-vn .rmx-eyebrow{color:#fff}
.rmx-vn p{color:#D6ECF7}
.rmx-vn__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:center}
.rmx-list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.rmx-list li{display:flex;gap:14px;align-items:flex-start;font-size:19px}
.rmx-list li::before{content:"";flex:none;width:12px;height:12px;background:var(--rmx-blue);margin-top:10px}
.rmx-compare{position:relative;aspect-ratio:4/3;background:#000;overflow:hidden;user-select:none}
.rmx-compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rmx-compare__before{clip-path:inset(0 calc(100% - var(--rmx-pos,52%)) 0 0)}
.rmx-compare__handle{position:absolute;top:0;bottom:0;left:var(--rmx-pos,52%);width:4px;background:#fff;transform:translateX(-50%);pointer-events:none}
.rmx-compare__handle i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:var(--rmx-blue);border:3px solid #fff;display:grid;place-items:center;box-shadow:0 4px 16px rgba(0,0,0,.35)}
.rmx-compare__handle svg{width:34px;height:34px;display:block}
.rmx-compare__lab{position:absolute;top:16px;padding:6px 14px;font-family:var(--rmx-display);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:16px;background:rgba(0,0,0,.6);color:#fff;pointer-events:none}
.rmx-compare__lab--l{left:16px}.rmx-compare__lab--r{right:16px}
.rmx-compare__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;background:transparent}
.rmx-compare__range:focus-visible{opacity:1;outline:3px solid var(--rmx-blue);outline-offset:-3px}
.rmx-compare__range::-webkit-slider-thumb{-webkit-appearance:none;width:56px;height:100%}
.rmx-compare__range::-moz-range-thumb{width:56px;height:100%;border:0;background:transparent}

/* zuschuss */
.rmx-zu{background:var(--rmx-paper-warm)}
.rmx-zu__top{display:grid;grid-template-columns:auto minmax(0,1fr);gap:48px;align-items:end;margin-bottom:56px}
.rmx-num--big{font-size:clamp(88px,11vw,148px);font-weight:700;color:var(--rmx-blue);line-height:.9;white-space:nowrap;font-variant-numeric:tabular-nums}
.rmx-num--big small{display:block;font-size:22px;letter-spacing:.14em;text-transform:uppercase;color:var(--rmx-gray);font-weight:600;margin-top:10px;white-space:normal}
.rmx-zu__top p{max-width:60ch}
.rmx-warn{margin-top:20px;display:inline-flex;gap:14px;align-items:center;padding:14px 20px;background:#fff;border:2px solid var(--rmx-blue)}
.rmx-warn b{font-family:var(--rmx-display);text-transform:uppercase;letter-spacing:.08em;color:var(--rmx-blue-deep)}
.rmx-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:s;list-style:none;margin:0;padding:0}
.rmx-step{background:#fff;border-top:6px solid var(--rmx-blue);padding:28px 26px 32px;counter-increment:s}
.rmx-step::before{content:"0" counter(s);font-family:var(--rmx-display);font-weight:700;font-size:54px;color:var(--rmx-blue-200);line-height:1;display:block;margin-bottom:8px}
.rmx-step .rmx-h3{font-size:24px;margin-bottom:6px}
.rmx-step p{color:var(--rmx-gray);font-size:17px}
.rmx-zu__cta{margin-top:44px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.rmx-zu__cta p{font-family:var(--rmx-display);font-size:26px;font-weight:600;color:var(--rmx-blue-ink);text-transform:uppercase}

/* über */
.rmx-ueber__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.rmx-ueber__art{position:relative;aspect-ratio:1/1;background:var(--rmx-blue-100);display:grid;place-items:center}
.rmx-ueber__icon{width:52%;height:auto}
.rmx-ueber__yr{position:absolute;right:-18px;bottom:-18px;background:var(--rmx-black);color:#fff;font-family:var(--rmx-display);font-weight:700;font-size:28px;padding:16px 22px;line-height:1;letter-spacing:.04em}
.rmx-ueber__yr small{display:block;font-size:14px;letter-spacing:.14em;color:#BFE6F8;margin-top:4px;font-weight:600}
.rmx-goal{margin-top:28px;padding-left:22px;border-left:6px solid var(--rmx-blue);font-family:var(--rmx-display);font-size:30px;font-weight:600;line-height:1.15;color:var(--rmx-blue-ink)}

/* kontakt + CF7 */
.rmx-kontakt{background:var(--rmx-blue-ink);color:#fff}
.rmx-kontakt .rmx-h2{color:#fff}
.rmx-kontakt>.rmx-wrap>div>p{color:#D6ECF7}
.rmx-kontakt__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px}
.rmx-info{display:grid;gap:22px;margin-top:32px;font-size:20px}
.rmx-info a{color:#fff;text-decoration:none}
.rmx-info b{font-family:var(--rmx-display);font-size:32px;display:block;line-height:1;font-weight:600}
.rmx-info__mail{font-size:26px}
.rmx-info span{color:#BFE6F8;font-size:15px;text-transform:uppercase;letter-spacing:.12em;display:block;margin-bottom:6px}
.rmx-form{background:#fff;padding:36px;color:var(--rmx-ink)}
.rmx-form{min-width:0}
.rmx-form .wpcf7-form{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.rmx-form .wpcf7-form *{min-width:0;max-width:100%}
.rmx-form .wpcf7-form>p{margin:0}
.rmx-form__row>p,.rmx-form__files>p{display:contents}
.rmx-form__row>br,.rmx-form__row>p>br,.rmx-form__files>br,.rmx-form__files>p>br{display:none}
.rmx-form label{display:grid;gap:6px;font-weight:600;font-size:16px}
.rmx-form__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.rmx-form .wpcf7-form-control-wrap{display:block}
.rmx-form input[type=text],.rmx-form input[type=tel],.rmx-form textarea{width:100%;font:inherit;font-size:18px;padding:14px 16px;border:2px solid var(--rmx-gray-300);background:#fff;border-radius:0;height:auto!important;resize:vertical}
.rmx-form input:focus,.rmx-form textarea:focus{outline:none;border-color:var(--rmx-blue)}
/* согласие: чекбокс + текст одной строкой, кликабельная подпись */
.rmx-form__chk{display:block;font-weight:400;font-size:15px;color:var(--rmx-gray)}
.rmx-form__chk .wpcf7-form-control-wrap,.rmx-form__chk .wpcf7-acceptance,.rmx-form__chk .wpcf7-list-item{display:block;margin:0}
.rmx-form__chk .wpcf7-list-item label{display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;align-items:start;padding:14px 16px;background:var(--rmx-paper-warm);border:2px solid var(--rmx-gray-300);font-weight:400;font-size:15px;line-height:1.5;color:var(--rmx-ink);cursor:pointer;transition:border-color var(--rmx-t-hover) ease,background var(--rmx-t-hover) ease}
.rmx-form__chk .wpcf7-list-item label:has(input:checked){border-color:var(--rmx-blue);background:var(--rmx-blue-100)}
.rmx-form__chk .wpcf7-list-item label:has(input:focus-visible){outline:3px solid var(--rmx-blue);outline-offset:2px}
.rmx-form__chk .wpcf7-list-item-label::after{content:" *";color:#B3261E;font-weight:700}
.rmx-form__chk .wpcf7-acceptance.wpcf7-not-valid .wpcf7-list-item label,.rmx-form__chk .wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) .wpcf7-list-item label{border-color:#B3261E;background:#FFF7F6}
.rmx-form__chk .wpcf7-list-item-label{display:block}
.rmx-form__chk input[type=checkbox]{width:24px;height:24px;margin:0;flex:none;accent-color:var(--rmx-blue);cursor:pointer}
.rmx-form__chk .wpcf7-not-valid-tip{margin-top:8px}
.rmx-form__chk a{color:var(--rmx-blue-deep);text-decoration:underline}

/* ошибки полей */
.rmx-form .wpcf7-spinner{display:none}
.rmx-form .wpcf7-not-valid{border-color:#B3261E!important;background:#FFF7F6}
.rmx-form .wpcf7-not-valid-tip{display:block;color:#B3261E;font-size:15px;font-weight:600;margin-top:6px;line-height:1.35}
.rmx-form .wpcf7-not-valid-tip::before{content:"⚠ "}
.rmx-form .wpcf7-acceptance .wpcf7-not-valid-tip{grid-column:1/-1}

/* отправка: кнопка на всю ширину, состояние «отправляется» */
.rmx-form .rmx-btn{width:100%;position:relative}
.rmx-form .wpcf7-form.submitting .rmx-btn,.rmx-form .rmx-btn:disabled{pointer-events:none;background:var(--rmx-blue-deep);border-color:var(--rmx-blue-deep);opacity:.85;cursor:progress}

/* ответ формы: обычная плашка; успех — крупно, с галочкой */
.rmx-form .wpcf7-response-output{margin:0;padding:14px 18px;border:2px solid var(--rmx-blue);font-size:17px;line-height:1.45}
.rmx-form .wpcf7-form.invalid .wpcf7-response-output,.rmx-form .wpcf7-form.failed .wpcf7-response-output,.rmx-form .wpcf7-form.spam .wpcf7-response-output{border-color:#B3261E;color:#B3261E;background:#FFF7F6}
.rmx-form .wpcf7-form.sent .wpcf7-response-output{border-color:#279600;background:#EEF9E8;color:#1e6f00;font-family:var(--rmx-display);font-size:24px;font-weight:600;padding:22px 20px 22px 62px;position:relative}
.rmx-form .wpcf7-form.sent .wpcf7-response-output::before{content:"✓";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:#279600;color:#fff;display:grid;place-items:center;font-size:20px;font-family:var(--rmx-body);font-weight:700}
.rmx-form .wpcf7-form.sent>:not(.wpcf7-response-output){display:none}

/* footer */
.rmx-footer{background:var(--rmx-blue-ink);color:#BFE6F8;padding:56px 0 32px;font-size:16px}
.rmx-footer__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:start}
.rmx-logo--footer{height:64px;margin-bottom:18px}
.rmx-footer__contact a{color:#fff;text-decoration:none}
.rmx-footer__links{display:flex;gap:26px}
.rmx-footer__links a{color:#fff;text-decoration:none;font-weight:600}
.rmx-footer__copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;font-size:14px;color:#8FC7E6}

/* мобильная кнопка звонка */
.rmx-mobile-call{display:none}

@media (max-width:960px){
  .rmx-hero__grid,.rmx-vn__grid,.rmx-ueber__grid,.rmx-kontakt__grid,.rmx-cards,.rmx-steps,.rmx-form__row,.rmx-zu__top,.rmx-footer__grid{grid-template-columns:minmax(0,1fr)}
  .rmx-cta .rmx-btn{width:100%}
  .rmx-zu__top{align-items:start}
  .rmx-num--big{min-width:0!important;font-size:clamp(64px,20vw,88px)}
  .rmx-menu,.rmx-tel,.rmx-nav__cta{display:none}
  .rmx-nav__icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin-left:auto;min-width:56px;height:52px;padding:0 8px;background:var(--rmx-blue);color:#fff;text-decoration:none;font-family:var(--rmx-display);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;line-height:1;transition:background var(--rmx-t-hover) ease,transform var(--rmx-t-press) var(--rmx-ease-out)}
  .rmx-nav__icon svg{width:24px;height:24px;fill:currentColor}
  .rmx-nav__icon:active{transform:scale(.95)}
  .rmx-nav{gap:16px}
  .rmx-nav{height:72px}
  .rmx-logo{height:42px}
  .rmx-hero{padding:40px 0 48px}
  .rmx-frame{margin:28px 28px 36px 16px}
  .rmx-hero__grid>div:first-child{display:contents}
  .rmx-hero .rmx-eyebrow{order:1}.rmx-hero .rmx-h1{order:2}.rmx-hero .rmx-hero__sub{order:3}.rmx-frame{order:4}.rmx-hero .rmx-lead{order:5}.rmx-hero .rmx-lead+p{order:6}.rmx-hero .rmx-cta{order:7}.rmx-hero .rmx-hero__note{order:8}
  .rmx-hero__grid{gap:0}.rmx-hero .rmx-hero__sub{margin-bottom:8px}.rmx-hero .rmx-lead+p{margin-top:14px}.rmx-hero .rmx-cta{margin-top:24px}
  .rmx-trust__grid{grid-template-columns:minmax(0,1fr);gap:10px;padding:16px 24px}
  .rmx-trust__item{display:flex;align-items:baseline;gap:12px}
  .rmx-trust__item b{font-size:24px;white-space:nowrap;min-width:118px}
  .rmx-trust__item span{font-size:13px;letter-spacing:.06em}
  .rmx-trust__item--slogan{display:none}
  .rmx-section{padding:64px 0}
  .rmx-body{padding-bottom:64px}
  .rmx-footer__contact span{display:block;line-height:1.9}
  .rmx-footer__contact .rmx-footer__sep{display:none}
  .rmx-footer__contact a{font-size:19px;font-weight:600}
  .rmx-body a.rmx-mobile-call{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;min-height:60px;padding:0 16px;gap:10px;align-items:center;justify-content:center;background:var(--rmx-blue);color:#fff;font-family:var(--rmx-display);font-weight:600;font-size:21px;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;white-space:nowrap;box-shadow:0 -6px 20px rgba(0,0,0,.15)}
  .rmx-mobile-call svg{width:24px;height:24px;flex:none;fill:#fff}
}
@media (max-width:480px){
  .rmx-h1{font-size:40px}
  .rmx-badge{left:-8px;bottom:16px;padding:10px 16px}
  .rmx-badge .rmx-num{font-size:32px}
  .rmx-form{padding:24px 18px}
  .rmx-ueber__yr{font-size:22px;padding:12px 16px;right:0}
}
/* =====================================================================
   MOTION — токены, hover/press, page-load каскад, scroll-reveal
   Правила: только transform/opacity; ease-out на появлении; ≤300 мс на UI;
   hover только для (hover:hover)+(pointer:fine); reduced-motion — без сдвигов.
   ===================================================================== */
:root{
  --rmx-ease-out:cubic-bezier(0.23,1,0.32,1);
  --rmx-ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --rmx-t-press:160ms; --rmx-t-hover:180ms; --rmx-t-reveal:600ms; --rmx-t-hero:700ms;
}

/* --- press feedback (все кнопки, вкл. CF7 submit и мобильный звонок) --- */
.rmx-btn:active,.rmx-body .wpcf7 .rmx-btn:active,.rmx-body a.rmx-mobile-call:active{transform:scale(.97)}

/* --- hover: только мышь/тачпад --- */
@media (hover:hover) and (pointer:fine){
  /* кнопки: чуть приподнять, ghost — синяя рамка */
  .rmx-btn:hover{transform:translateY(-1px)}
  .rmx-btn:active{transform:scale(.97)}
  .rmx-btn--ghost:hover{border-color:var(--rmx-blue-deep)}
  /* меню: подчёркивание выезжает слева */
  .rmx-menu a{position:relative;padding-bottom:4px}
  .rmx-menu a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--rmx-blue);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--rmx-ease-out)}
  .rmx-menu a:hover::after,.rmx-menu a:focus-visible::after{transform:scaleX(1)}
  /* телефон в шапке */
  .rmx-tel b{transition:color var(--rmx-t-hover) ease}
  .rmx-tel:hover b{color:var(--rmx-blue-deep)}
  /* карточки преимуществ: иконка сдвигается, заголовок синеет */
  .rmx-card__ic{transition:transform 220ms var(--rmx-ease-out)}
  .rmx-card:hover .rmx-card__ic{transform:translate(4px,-4px)}
  .rmx-card .rmx-h3{transition:color var(--rmx-t-hover) ease}
  .rmx-card:hover .rmx-h3{color:var(--rmx-blue-deep)}
  /* шаги: приподнять, номер проявляется синим */
  .rmx-step{transition:transform 220ms var(--rmx-ease-out),box-shadow 220ms ease}
  .rmx-step::before{transition:color var(--rmx-t-hover) ease}
  .rmx-step:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(15,76,110,.10)}
  .rmx-step:hover::before{color:var(--rmx-blue)}
  /* фото в hero: лёгкий зум */
  .rmx-frame img{transition:transform 900ms var(--rmx-ease-out)}
  .rmx-frame:hover img{transform:scale(1.03)}
  /* ручка сравнения: увеличить при наведении на слайдер */
  .rmx-compare__handle i{transition:transform 200ms var(--rmx-ease-out)}
  .rmx-compare:hover .rmx-compare__handle i{transform:translate(-50%,-50%) scale(1.1)}
  /* контакты: e-mail/телефон подчёркивание */
  .rmx-info a b{transition:color var(--rmx-t-hover) ease}
  .rmx-info a:hover b{color:var(--rmx-blue)}
  .rmx-footer__links a{transition:color var(--rmx-t-hover) ease}
  .rmx-footer__links a:hover{color:var(--rmx-blue)}
}
/* фокус с клавиатуры — везде одинаково */
.rmx-menu a:focus-visible,.rmx-tel:focus-visible,.rmx-info a:focus-visible,.rmx-footer__links a:focus-visible,.rmx-logo-link:focus-visible{outline:3px solid var(--rmx-blue);outline-offset:4px}

/* --- шапка: тень появляется после прокрутки --- */
.rmx-header{transition:box-shadow 240ms ease}
.rmx-header.is-scrolled{box-shadow:0 6px 24px rgba(15,76,110,.10)}

/* --- page-load: каскад hero (один раз, keyframes уместны) --- */
@keyframes rmx-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes rmx-frame-in{from{opacity:0;transform:translateX(24px) scale(.97)}to{opacity:1;transform:none}}
@keyframes rmx-grow-x{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rmx-hero .rmx-eyebrow,.rmx-hero .rmx-h1,.rmx-hero .rmx-hero__sub,.rmx-hero .rmx-lead,.rmx-hero .rmx-lead+p,.rmx-hero .rmx-cta,.rmx-hero .rmx-hero__note{animation:rmx-rise var(--rmx-t-hero) var(--rmx-ease-out) both}
.rmx-hero .rmx-h1{animation-delay:60ms}
.rmx-hero .rmx-hero__sub{animation-delay:130ms}
.rmx-hero .rmx-lead{animation-delay:200ms}
.rmx-hero .rmx-lead+p{animation-delay:260ms}
.rmx-hero .rmx-cta{animation-delay:330ms}
.rmx-hero .rmx-hero__note{animation-delay:400ms}
.rmx-frame{animation:rmx-frame-in 800ms var(--rmx-ease-out) 150ms both}
.rmx-badge{animation:rmx-rise 600ms var(--rmx-ease-out) 650ms both}
.rmx-trust__item{animation:rmx-rise 600ms var(--rmx-ease-out) both}
.rmx-trust__item:nth-child(2){animation-delay:80ms}.rmx-trust__item:nth-child(3){animation-delay:160ms}.rmx-trust__item:nth-child(4){animation-delay:240ms}

/* --- scroll-reveal: transitions (прерываемы), stagger через --rmx-i --- */
.rmx-reveal{opacity:0;transform:translateY(20px);transition:opacity var(--rmx-t-reveal) var(--rmx-ease-out),transform var(--rmx-t-reveal) var(--rmx-ease-out);transition-delay:calc(var(--rmx-i,0) * 70ms)}
.rmx-reveal.is-in{opacity:1;transform:none}
.rmx-reveal--x{transform:translateX(-24px)}
.rmx-reveal--scale{transform:translateY(12px) scale(.97)}
/* без JS (или до его загрузки) контент виден всегда */
.rmx-body:not(.rmx-js) .rmx-reveal{opacity:1;transform:none}

/* --- крупная цифра 4.180 €: счётчик (JS) + подчёркивание --- */
.rmx-num--big{position:relative}
.rmx-num--big::after{content:"";position:absolute;left:0;bottom:-2px;height:8px;width:100%;background:var(--rmx-blue-200);transform:scaleX(0);transform-origin:left;transition:transform 700ms var(--rmx-ease-out) 300ms;z-index:-1}
.rmx-num--big.is-in::after{transform:scaleX(1)}

/* --- мобильная кнопка звонка: выезжает после прокрутки hero --- */
@media (max-width:960px){
  .rmx-body a.rmx-mobile-call{transform:translateY(100%);transition:transform 320ms var(--rmx-ease-out)}
  .rmx-body.is-past-hero a.rmx-mobile-call{transform:none}
}

/* --- лого: при наведении «течёт душ» (три полоски капают, stagger 180 мс) --- */
.rmx-drop{fill:var(--rmx-drop,#fff);transform-box:fill-box;transform-origin:50% 0}
.rmx-footer{--rmx-drop:var(--rmx-blue-ink)}
@keyframes rmx-drip{0%{transform:translateY(0);opacity:1}70%{opacity:1}100%{transform:translateY(105%);opacity:0}}
@media (hover:hover) and (pointer:fine){
  .rmx-logo-link:hover .rmx-drop,.rmx-logo--footer:hover .rmx-drop,.rmx-ueber__art:hover .rmx-drop{animation:rmx-drip 560ms var(--rmx-ease-in-out) infinite}
  .rmx-logo-link:hover .rmx-drop:nth-of-type(5),.rmx-logo--footer:hover .rmx-drop:nth-of-type(5),.rmx-ueber__art:hover .rmx-drop:nth-of-type(5){animation-delay:110ms}
  .rmx-logo-link:hover .rmx-drop:nth-of-type(6),.rmx-logo--footer:hover .rmx-drop:nth-of-type(6),.rmx-ueber__art:hover .rmx-drop:nth-of-type(6){animation-delay:220ms}
}

/* --- reduced motion: оставить только прозрачность, убрать сдвиги --- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rmx-hero .rmx-eyebrow,.rmx-hero .rmx-h1,.rmx-hero .rmx-hero__sub,.rmx-hero .rmx-lead,.rmx-hero .rmx-lead+p,.rmx-hero .rmx-cta,.rmx-hero .rmx-hero__note,.rmx-frame,.rmx-badge,.rmx-trust__item{animation:none}
  .rmx-reveal{transform:none;transition:opacity 200ms ease;transition-delay:0s}
  .rmx-btn,.rmx-card,.rmx-step,.rmx-card__ic,.rmx-frame img,.rmx-compare__handle i,.rmx-menu a::after,.rmx-num--big::after{transition:none}
  .rmx-btn:hover,.rmx-step:hover,.rmx-card:hover .rmx-card__ic,.rmx-frame:hover img{transform:none}
  .rmx-body a.rmx-mobile-call{transition:none}
  .rmx-drop{animation:none!important}
}

/* ===== rechtliche Seiten (Impressum, Datenschutz) ===== */
.rmx-legal__head{background:var(--rmx-blue-ink);color:#fff;padding:56px 0 48px}
.rmx-h1--page{color:#fff;font-size:clamp(40px,5vw,64px);margin-top:12px}
.rmx-legal__body{padding:64px 0 96px}
.rmx-prose{max-width:820px;font-size:18px;line-height:1.65}
.rmx-prose h2,.rmx-prose h3,.rmx-prose h4{font-family:var(--rmx-display);color:var(--rmx-black);line-height:1.1;margin:0}
.rmx-prose h2{font-size:34px;font-weight:700;text-transform:uppercase;margin:52px 0 16px;padding-top:24px;border-top:2px solid var(--rmx-blue-200)}
.rmx-prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
.rmx-prose h3{font-size:25px;font-weight:600;margin:34px 0 10px;color:var(--rmx-blue-ink)}
.rmx-prose h4{font-size:20px;font-weight:600;margin:24px 0 8px}
.rmx-prose p{margin:0 0 16px}
.rmx-prose ul,.rmx-prose ol{margin:0 0 18px;padding-left:24px}
.rmx-prose li{margin-bottom:6px}
.rmx-prose a{color:var(--rmx-blue-deep);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.rmx-prose a:hover{color:var(--rmx-blue)}
.rmx-prose strong,.rmx-prose b{font-weight:700}
@media (max-width:960px){
  .rmx-legal__head{padding:36px 0 32px}
  .rmx-legal__body{padding:40px 0 64px}
  .rmx-prose h2{font-size:28px;margin-top:40px}
  .rmx-prose h3{font-size:22px}
}

/* ===== popup «Beratung anfragen» ===== */
.rmx-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.rmx-modal[hidden]{display:none}
.rmx-modal__backdrop{position:fixed;inset:0;background:rgba(15,76,110,.72);backdrop-filter:blur(2px)}
.rmx-modal__dialog{position:relative;z-index:1;width:100%;max-width:760px;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:40px 44px 36px;margin:auto 0;outline:none}
.rmx-modal__dialog::before{content:"";position:absolute;left:0;top:0;width:100%;height:8px;background:var(--rmx-blue)}
.rmx-modal__title{margin:10px 0 10px;font-size:clamp(32px,4vw,46px)}
.rmx-modal__sub{color:var(--rmx-gray);margin-bottom:24px;max-width:60ch}
.rmx-form--modal{padding:0}
.rmx-form--modal .wpcf7-form{gap:16px}
.rmx-form--modal label{font-size:15px}
.rmx-form--modal input[type=text],.rmx-form--modal input[type=tel],.rmx-form--modal input[type=email],.rmx-form--modal select,.rmx-form--modal textarea{width:100%;font:inherit;font-size:17px;padding:12px 14px;border:2px solid var(--rmx-gray-300);background:#fff;border-radius:0;height:auto!important}
.rmx-form--modal select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%231B8AC0' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center/20px no-repeat;padding-right:44px;cursor:pointer}
.rmx-form--modal input:focus,.rmx-form--modal select:focus,.rmx-form--modal textarea:focus{outline:none;border-color:var(--rmx-blue)}
.rmx-form__files{border:2px dashed var(--rmx-blue-200);background:var(--rmx-blue-100);padding:16px 18px 18px;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}
.rmx-form__files legend{grid-column:1/-1;font-weight:600;font-size:15px;color:var(--rmx-blue-ink);padding:0 6px;margin-left:-6px}
.rmx-form__files label{font-weight:600;font-size:14px;color:var(--rmx-gray);display:grid;gap:6px}
.rmx-form__files input[type=file]{font-size:14px;width:100%;color:var(--rmx-ink)}
.rmx-form__files input[type=file]::file-selector-button{font:600 14px/1 var(--rmx-body);padding:9px 12px;margin-right:10px;border:2px solid var(--rmx-blue);background:#fff;color:var(--rmx-blue-ink);cursor:pointer;transition:background var(--rmx-t-hover) ease}
.rmx-form__files input[type=file]::file-selector-button:hover{background:var(--rmx-blue-200)}
.rmx-form--modal .rmx-btn{width:100%}
/* кнопка закрытия — по правилу popup-close-button: 44px, SVG по центру, hover с поворотом */
.rmx-modal__close{position:absolute;top:18px;right:18px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:var(--rmx-blue-ink);color:#fff;cursor:pointer;transition:background-color .25s ease,transform .25s ease;z-index:2}
.rmx-modal__close svg{display:block}
.rmx-modal__close:hover,.rmx-modal__close:focus-visible{background:var(--rmx-blue);transform:rotate(90deg);outline:none}
body.rmx-modal-open{overflow:hidden}
.rmx-modal:not([hidden]) .rmx-modal__backdrop{animation:rmx-fade 200ms ease-out both}
.rmx-modal:not([hidden]) .rmx-modal__dialog{animation:rmx-pop 260ms var(--rmx-ease-out) both}
@keyframes rmx-fade{from{opacity:0}to{opacity:1}}
@keyframes rmx-pop{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:960px){
  .rmx-modal{padding:0}
  .rmx-modal__dialog{max-width:none;min-height:100%;padding:56px 18px 96px;margin:0}
  .rmx-modal__close{top:12px;right:12px}
  .rmx-form__files{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.rmx-modal:not([hidden]) .rmx-modal__backdrop,.rmx-modal:not([hidden]) .rmx-modal__dialog{animation:none}.rmx-modal__close{transition:none}.rmx-modal__close:hover{transform:none}}
