/* ==========================================================================
   CHANGE Impact for SAP — change-impact.de
   Self-hosted, cookie-free, no external requests.
   (c) CaRD Gesellschaft für EDV-Beratung mbH
   ========================================================================== */

/* ---------- Self-hosted fonts -------------------------------------------- */
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;
  src:url('../../fonts/poppins/poppins-v20-latin-ext_latin-regular.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;
  src:url('../../fonts/poppins/poppins-v20-latin-ext_latin-500.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;
  src:url('../../fonts/poppins/poppins-v20-latin-ext_latin-600.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;
  src:url('../../fonts/poppins/poppins-v20-latin-ext_latin-700.woff2') format('woff2');}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;
  src:url('../../fonts/poppins/poppins-v20-latin-ext_latin-800.woff2') format('woff2');}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;font-display:swap;
  src:url('../../fonts/open-sans/open-sans-v34-latin-300.woff2') format('woff2');}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('../../fonts/open-sans/open-sans-v34-latin-regular.woff2') format('woff2');}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('../../fonts/open-sans/open-sans-v34-latin-600.woff2') format('woff2');}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;font-display:swap;
  src:url('../../fonts/open-sans/open-sans-v34-latin-700.woff2') format('woff2');}

/* ---------- Design tokens ------------------------------------------------ */
:root{
  --navy:#071a33;
  --ink:#0d2a52;
  --blue:#1746d6;
  --blue-2:#2f6bff;
  --cyan:#10c4e8;
  --cyan-2:#37e0f5;
  --bg:#f5f8fd;
  --bg-2:#eef3fb;
  --surface:#ffffff;
  --line:#dde6f4;
  --text:#142844;
  --muted:#566480;
  --muted-2:#7886a0;
  --ok:#1f9d6b;
  --warn:#e2a000;
  --danger:#d24545;
  --radius:18px;
  --radius-sm:12px;
  --radius-lg:28px;
  --shadow-s:0 2px 10px rgba(11,35,72,.06);
  --shadow-m:0 14px 40px rgba(11,35,72,.10);
  --shadow-l:0 30px 80px rgba(8,26,58,.20);
  --grad:linear-gradient(120deg,var(--blue) 0%,var(--cyan) 100%);
  --grad-deep:linear-gradient(135deg,#071a33 0%,#0d2a52 45%,#123a7e 100%);
  --maxw:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset -------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Open Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--text);background:var(--bg);line-height:1.7;font-size:17px;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
svg{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--cyan)}
h1,h2,h3,h4,h5{font-family:'Poppins',sans-serif;color:var(--ink);line-height:1.18;font-weight:700;letter-spacing:-.01em}
::selection{background:var(--cyan);color:#04223e}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.section{padding:96px 0;position:relative}
.section--tight{padding:70px 0}
.center{text-align:center}

/* ---------- Buttons ------------------------------------------------------ */
.btn{display:inline-flex;align-items:center;gap:.55em;font-family:'Poppins',sans-serif;
  font-weight:600;font-size:16px;border-radius:999px;padding:15px 28px;cursor:pointer;
  border:1px solid transparent;transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s;
  text-align:center;line-height:1}
.btn:hover{transform:translateY(-2px)}
.btn .ar{transition:transform .22s var(--ease)}
.btn:hover .ar{transform:translateX(4px)}
.btn--primary{background:var(--grad);color:#fff;box-shadow:0 12px 30px rgba(23,70,214,.32)}
.btn--primary:hover{color:#fff;box-shadow:0 18px 44px rgba(23,70,214,.42)}
.btn--ghost{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.4)}
.btn--ghost:hover{background:rgba(255,255,255,.16);color:#fff}
.btn--light{background:#fff;color:var(--ink);box-shadow:var(--shadow-s);border-color:var(--line)}
.btn--light:hover{color:var(--blue)}
.btn--lg{padding:17px 34px;font-size:17px}

/* ---------- Header ------------------------------------------------------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:90;transition:all .3s var(--ease);
  background:rgba(255,255,255,0);padding:18px 0}
.site-header.scrolled{background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(14px);
  box-shadow:0 1px 0 var(--line);padding:11px 0}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:13px;line-height:1}
.brand__mark{width:42px;height:42px;flex:0 0 auto}
.brand__txt{display:flex;flex-direction:column;gap:2px}
.brand__name{font-family:'Poppins',sans-serif;font-weight:800;font-size:18px;letter-spacing:.14em;
  color:var(--ink);text-transform:uppercase}
.scrolled .brand__name{color:var(--ink)}
.site-header:not(.scrolled) .brand__name{color:#fff}
.brand__sub{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cyan);font-weight:700;font-family:'Poppins'}
.site-header:not(.scrolled) .brand__sub{color:var(--cyan-2)}

.nav__links{display:flex;align-items:center;gap:6px;list-style:none}
.nav__links a{font-family:'Poppins',sans-serif;font-weight:500;font-size:15px;color:var(--ink);
  padding:9px 13px;border-radius:10px;transition:background .2s,color .2s;white-space:nowrap}
.site-header:not(.scrolled) .nav__links a{color:rgba(255,255,255,.9)}
.nav__links a:hover{background:rgba(23,70,214,.08);color:var(--blue)}
.site-header:not(.scrolled) .nav__links a:hover{background:rgba(255,255,255,.14);color:#fff}

.nav__right{display:flex;align-items:center;gap:14px}
.lang{display:flex;align-items:center;gap:2px;font-family:'Poppins';font-size:13.5px;font-weight:600}
.lang a{padding:5px 9px;border-radius:8px;color:var(--muted)}
.site-header:not(.scrolled) .lang a{color:rgba(255,255,255,.7)}
.lang a.active{background:var(--grad);color:#fff}
.lang span{color:var(--line);opacity:.5}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{width:26px;height:2.5px;background:var(--ink);border-radius:3px;transition:.3s var(--ease)}
.site-header:not(.scrolled) .nav-toggle span{background:#fff}

/* ---------- Hero --------------------------------------------------------- */
.hero{position:relative;background:var(--grad-deep);color:#fff;padding:160px 0 110px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(900px 500px at 82% 8%,rgba(16,196,232,.30),transparent 60%),
    radial-gradient(700px 600px at 6% 92%,rgba(47,107,255,.28),transparent 55%);}
.hero .grid-bg{position:absolute;inset:0;z-index:0;opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:54px 54px;mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000,transparent 80%)}
.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:'Poppins';font-weight:600;
  font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--cyan-2);
  background:rgba(16,196,232,.12);border:1px solid rgba(55,224,245,.3);padding:7px 15px;border-radius:999px;margin-bottom:22px}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--cyan-2);box-shadow:0 0 0 4px rgba(55,224,245,.25)}
.hero h1{color:#fff;font-size:clamp(2.1rem,4.6vw,3.5rem);font-weight:800;margin-bottom:22px}
.hero h1 .hl{background:linear-gradient(120deg,var(--cyan-2),#a9f0ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:1.18rem;color:rgba(255,255,255,.86);font-weight:300;max-width:560px;margin-bottom:34px}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.hero__meta{display:flex;gap:26px;margin-top:38px;flex-wrap:wrap}
.hero__meta div{display:flex;flex-direction:column}
.hero__meta b{font-family:'Poppins';font-size:1.7rem;font-weight:700;color:#fff;line-height:1.1}
.hero__meta span{font-size:13.5px;color:rgba(255,255,255,.66);letter-spacing:.02em}

/* hero visual */
.hero__visual{position:relative}
.shot{background:#fff;border-radius:14px;box-shadow:var(--shadow-l);overflow:hidden;border:1px solid rgba(255,255,255,.18)}
.shot__bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:#0f213d;border-bottom:1px solid rgba(255,255,255,.08)}
.shot__bar i{width:11px;height:11px;border-radius:50%;background:#34507e;display:block}
.shot__bar i:nth-child(2){background:#3f5c8c}
.shot__bar i:nth-child(3){background:#4a6aa0}
.shot__bar span{margin-left:8px;font-size:12px;color:#8aa0c6;font-family:'Poppins'}
.shot img{width:100%;height:auto;display:block}
.chip{position:absolute;background:#fff;border-radius:14px;box-shadow:var(--shadow-m);padding:12px 16px;
  display:flex;align-items:center;gap:11px;font-family:'Poppins';font-weight:600;font-size:14px;color:var(--ink)}
.chip .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;flex:0 0 auto}
.chip small{display:block;font-family:'Open Sans';font-weight:400;font-size:11.5px;color:var(--muted)}
.chip--tl{top:-22px;left:-30px;animation:float 6s var(--ease) infinite}
.chip--br{bottom:-26px;right:-26px;animation:float 7s var(--ease) infinite .8s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(prefers-reduced-motion:reduce){.chip{animation:none!important}}

/* ---------- Logo / trust strip ------------------------------------------ */
.trust{background:var(--surface);border-bottom:1px solid var(--line);padding:26px 0}
.trust__row{display:flex;align-items:center;justify-content:center;gap:18px 44px;flex-wrap:wrap}
.trust__lbl{font-family:'Poppins';font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);font-weight:600}
.trust__items{display:flex;align-items:center;gap:14px 36px;flex-wrap:wrap}
.trust__items span{font-family:'Poppins';font-weight:600;font-size:14.5px;color:var(--ink);display:flex;align-items:center;gap:9px}
.trust__items span svg{color:var(--blue)}
.trust__logo{display:inline-flex;align-items:center}
.trust__logo img{height:30px;width:auto;transition:transform .25s var(--ease)}
.trust__logo:hover img{transform:scale(1.04)}

/* ---------- Section heading --------------------------------------------- */
.sec-head{max-width:760px;margin:0 auto 54px}
.sec-head.left{margin-left:0;text-align:left}
.kicker{display:inline-block;font-family:'Poppins';font-weight:700;font-size:13px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.kicker::before{content:"";display:inline-block;width:26px;height:2px;background:var(--grad);
  vertical-align:middle;margin-right:10px;border-radius:2px}
.sec-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem);font-weight:800;margin-bottom:16px}
.sec-head p{color:var(--muted);font-size:1.08rem}
.sec-head .hl{color:var(--blue)}

/* ---------- Problem ------------------------------------------------------ */
.problem{background:var(--bg-2)}
.problem__grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.flow{display:flex;flex-direction:column;gap:14px}
.flow__node{display:flex;align-items:flex-start;gap:16px;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-s);position:relative}
.flow__node .n{width:38px;height:38px;border-radius:11px;background:var(--bg-2);color:var(--blue);
  display:grid;place-items:center;font-family:'Poppins';font-weight:700;flex:0 0 auto}
.flow__node h4{font-size:1.02rem;margin-bottom:3px}
.flow__node p{font-size:.92rem;color:var(--muted);margin:0}
.flow__node--alert{border-color:rgba(210,69,69,.35);background:linear-gradient(180deg,#fff,#fff6f5)}
.flow__node--alert .n{background:rgba(210,69,69,.12);color:var(--danger)}
.problem__copy h2{font-size:clamp(1.6rem,3.2vw,2.3rem);margin-bottom:18px}
.problem__copy p{color:var(--muted);margin-bottom:16px}
.problem__copy .lead-line{font-size:1.12rem;color:var(--text);font-weight:600;font-family:'Poppins'}

/* ---------- Impact dimensions (cards) ----------------------------------- */
.dims{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.dim{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:30px 26px;
  box-shadow:var(--shadow-s);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s;position:relative;overflow:hidden}
.dim::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.dim:hover{transform:translateY(-6px);box-shadow:var(--shadow-m);border-color:transparent}
.dim:hover::after{transform:scaleX(1)}
.dim__ic{width:54px;height:54px;border-radius:15px;background:linear-gradient(135deg,#eaf1ff,#dcebff);
  display:grid;place-items:center;color:var(--blue);margin-bottom:18px}
.dim h3{font-size:1.18rem;margin-bottom:9px}
.dim p{color:var(--muted);font-size:.96rem}

/* ---------- Decision / Form-Fit-Function -------------------------------- */
.decision{background:var(--grad-deep);color:#fff;overflow:hidden;position:relative}
.decision::before{content:"";position:absolute;inset:0;
  background:radial-gradient(700px 420px at 88% 12%,rgba(16,196,232,.22),transparent 60%);}
.decision .wrap{position:relative;z-index:2}
.decision .sec-head h2{color:#fff}
.decision .sec-head p{color:rgba(255,255,255,.78)}
.decision .kicker{color:var(--cyan-2)}
.dec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:10px}
.dec-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);
  padding:30px 26px;backdrop-filter:blur(4px);transition:transform .25s var(--ease),background .25s}
.dec-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.1)}
.dec-card .tag{display:inline-flex;align-items:center;gap:8px;font-family:'Poppins';font-weight:700;font-size:12.5px;
  letter-spacing:.04em;text-transform:uppercase;padding:6px 13px;border-radius:999px;margin-bottom:16px}
.dec-card.is-reuse .tag{background:rgba(31,157,107,.18);color:#7ff0c0}
.dec-card.is-version .tag{background:rgba(226,160,0,.18);color:#ffd87a}
.dec-card.is-new .tag{background:rgba(47,107,255,.2);color:#a9c8ff}
.dec-card h3{color:#fff;font-size:1.22rem;margin-bottom:10px}
.dec-card p{color:rgba(255,255,255,.78);font-size:.96rem}
.dec-note{margin-top:30px;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;
  font-size:.96rem;color:rgba(255,255,255,.72)}
.dec-note b{color:#fff;font-family:'Poppins'}

/* ---------- Solution / split feature ------------------------------------ */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.feature--rev .feature__media{order:2}
.feature__media{position:relative}
.feature__media .shot{box-shadow:var(--shadow-m);border:1px solid var(--line)}
.feature__media .shot__bar{background:#eef3fb;border-bottom:1px solid var(--line)}
.feature__media .shot__bar i{background:#c2d2ec}
.feature__media .shot__bar span{color:#7886a0}
.feature__badge{position:absolute;bottom:-20px;left:-20px;background:#fff;border-radius:14px;
  box-shadow:var(--shadow-m);padding:14px 18px;display:flex;align-items:center;gap:12px}
.feature__badge .ic{width:40px;height:40px;border-radius:11px;background:var(--grad);color:#fff;display:grid;place-items:center}
.feature__badge b{font-family:'Poppins';font-size:.95rem;color:var(--ink);display:block}
.feature__badge small{font-size:12px;color:var(--muted)}
.feature__copy h2{font-size:clamp(1.6rem,3.1vw,2.25rem);margin-bottom:18px}
.feature__copy p{color:var(--muted);margin-bottom:20px}
.ticks{list-style:none;display:flex;flex-direction:column;gap:13px}
.ticks li{display:flex;gap:13px;align-items:flex-start;font-size:1rem}
.ticks li .tk{width:25px;height:25px;border-radius:50%;background:rgba(31,157,107,.13);color:var(--ok);
  display:grid;place-items:center;flex:0 0 auto;margin-top:2px}
.ticks li b{font-family:'Poppins';color:var(--ink);font-weight:600}

/* ---------- Services ----------------------------------------------------- */
.services{background:var(--bg-2)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;
  transition:transform .25s var(--ease),box-shadow .25s}
.svc:hover{transform:translateY(-5px);box-shadow:var(--shadow-m)}
.svc__ic{width:48px;height:48px;border-radius:13px;background:var(--grad);color:#fff;display:grid;place-items:center;margin-bottom:16px}
.svc h3{font-size:1.1rem;margin-bottom:8px}
.svc p{color:var(--muted);font-size:.95rem}

/* ---------- Audience ----------------------------------------------------- */
.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.aud{border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;background:var(--surface);
  position:relative;overflow:hidden}
.aud__ic{width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,#eaf1ff,#d8e7ff);
  color:var(--blue);display:grid;place-items:center;margin-bottom:16px}
.aud h3{font-size:1.12rem;margin-bottom:9px}
.aud p{color:var(--muted);font-size:.95rem;margin-bottom:14px}
.aud ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.aud ul li{font-size:.92rem;color:var(--text);display:flex;gap:9px;align-items:flex-start}
.aud ul li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan);margin-top:9px;flex:0 0 auto}

/* ---------- FAQ ---------------------------------------------------------- */
.faq{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.acc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;transition:box-shadow .25s,border-color .25s}
.acc.open{box-shadow:var(--shadow-m);border-color:rgba(23,70,214,.25)}
.acc__q{width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:22px 24px;
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  font-family:'Poppins';font-weight:600;font-size:1.05rem;color:var(--ink)}
.acc__q .pm{width:28px;height:28px;border-radius:50%;background:var(--bg-2);color:var(--blue);
  display:grid;place-items:center;flex:0 0 auto;transition:transform .3s var(--ease),background .3s}
.acc.open .acc__q .pm{transform:rotate(45deg);background:var(--grad);color:#fff}
.acc__a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease)}
.acc__a p{padding:0 24px 24px;color:var(--muted);margin:0}

/* ---------- Contact ------------------------------------------------------ */
.contact{background:var(--grad-deep);color:#fff;position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;inset:0;
  background:radial-gradient(680px 420px at 12% 88%,rgba(16,196,232,.2),transparent 60%)}
.contact .wrap{position:relative;z-index:2}
.contact__grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:54px;align-items:start}
.contact__info .kicker{color:var(--cyan-2)}
.contact__info h2{color:#fff;font-size:clamp(1.7rem,3.2vw,2.4rem);margin-bottom:16px}
.contact__info p{color:rgba(255,255,255,.8);margin-bottom:26px}
.cinfo{display:flex;flex-direction:column;gap:16px;margin-top:8px}
.cinfo a,.cinfo div{display:flex;align-items:flex-start;gap:14px;color:#fff;font-size:1rem}
.cinfo .ic{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);
  display:grid;place-items:center;color:var(--cyan-2);flex:0 0 auto}
.cinfo small{display:block;color:rgba(255,255,255,.6);font-size:12.5px;letter-spacing:.04em}

.card-form{background:var(--surface);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-l)}
.card-form h3{font-size:1.35rem;margin-bottom:6px}
.card-form .sub{color:var(--muted);font-size:.95rem;margin-bottom:22px}
.fld{margin-bottom:16px}
.fld label{display:block;font-family:'Poppins';font-weight:600;font-size:13.5px;color:var(--ink);margin-bottom:7px}
.fld label .req{color:var(--danger)}
.fld input,.fld textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:11px;
  font-family:'Open Sans';font-size:15.5px;color:var(--text);background:#fbfcfe;transition:border-color .2s,box-shadow .2s}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(23,70,214,.12);background:#fff}
.fld textarea{resize:vertical;min-height:120px}
.fld-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.captcha{display:flex;align-items:center;gap:14px;background:var(--bg-2);border:1px solid var(--line);
  border-radius:12px;padding:12px 16px;margin-bottom:18px}
.captcha .q{font-family:'Poppins';font-weight:700;color:var(--ink);font-size:1.05rem;white-space:nowrap}
.captcha input{width:90px;padding:10px 12px;border:1.5px solid var(--line);border-radius:9px;text-align:center;font-weight:700}
.consent{display:flex;gap:11px;align-items:flex-start;margin-bottom:20px;font-size:13.5px;color:var(--muted)}
.consent input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--blue)}
.consent a{font-weight:600}
.form-note{font-size:12.5px;color:var(--muted-2);margin-top:14px;text-align:center}
.alert{border-radius:12px;padding:14px 18px;margin-bottom:20px;font-size:.95rem;font-weight:600;font-family:'Poppins'}
.alert--ok{background:rgba(31,157,107,.12);color:#157a52;border:1px solid rgba(31,157,107,.3)}
.alert--err{background:rgba(210,69,69,.1);color:#b23636;border:1px solid rgba(210,69,69,.3)}

/* ---------- Footer ------------------------------------------------------- */
.footer{background:#04122a;color:rgba(255,255,255,.66);padding:60px 0 28px;font-size:.94rem}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer__brand .brand__name{color:#fff}
.footer__brand p{margin-top:14px;max-width:320px;color:rgba(255,255,255,.6)}
.footer h4{color:#fff;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;font-weight:600}
.footer ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer ul a,.footer ul button{color:rgba(255,255,255,.66);background:none;border:0;cursor:pointer;
  font:inherit;text-align:left;padding:0;transition:color .2s}
.footer ul a:hover,.footer ul button:hover{color:var(--cyan-2)}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:24px}
.footer__bottom .links{display:flex;gap:20px}
.footer__bottom button{background:none;border:0;color:rgba(255,255,255,.66);cursor:pointer;font:inherit;transition:color .2s}
.footer__bottom button:hover{color:var(--cyan-2)}
.footer__made{display:flex;align-items:center;gap:12px}
.footer__cardlogo{display:inline-flex;background:#fff;border-radius:9px;padding:7px 11px;line-height:0;
  box-shadow:0 2px 10px rgba(0,0,0,.25);transition:transform .25s var(--ease)}
.footer__cardlogo:hover{transform:translateY(-2px)}
.footer__cardlogo img{height:26px;width:auto}
.footer__note{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08);
  font-size:12px;line-height:1.6;color:rgba(255,255,255,.45);max-width:900px}

/* ---------- Modal -------------------------------------------------------- */
.modal{position:fixed;inset:0;z-index:200;display:none;align-items:flex-start;justify-content:center;
  padding:40px 20px;background:rgba(4,18,42,.6);backdrop-filter:blur(4px);overflow-y:auto}
.modal.open{display:flex}
.modal__box{background:#fff;border-radius:var(--radius);max-width:780px;width:100%;padding:40px 42px;
  box-shadow:var(--shadow-l);position:relative;animation:pop .3s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.modal__box h2{font-size:1.6rem;margin-bottom:8px}
.modal__box h3{font-size:1.05rem;margin:22px 0 8px;color:var(--ink)}
.modal__box p{color:var(--muted);font-size:.95rem;margin-bottom:12px}
.modal__box address{font-style:normal;color:var(--text);line-height:1.7}
.modal__close{position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;border:0;
  background:var(--bg-2);color:var(--ink);font-size:20px;cursor:pointer;display:grid;place-items:center;transition:.2s}
.modal__close:hover{background:var(--danger);color:#fff}
.legal-scroll{max-height:none}

/* ---------- Legal pages -------------------------------------------------- */
.legal{padding-bottom:80px}
.legal__hero{background:var(--grad-deep);color:#fff;padding:140px 0 70px;position:relative;overflow:hidden}
.legal__hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(700px 400px at 85% 10%,rgba(16,196,232,.22),transparent 60%)}
.legal__hero .wrap{position:relative;z-index:2}
.legal__hero h1{color:#fff;font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800}
.legal__back{display:inline-flex;align-items:center;gap:8px;color:var(--cyan-2);font-family:'Poppins';
  font-weight:600;font-size:14.5px;margin-bottom:18px}
.legal__back:hover{color:#fff}
.legal__card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-m);padding:44px 48px;margin-top:-34px;position:relative;z-index:3}
.legal__card h3{font-size:1.12rem;margin:26px 0 9px;color:var(--ink)}
.legal__card h3:first-child{margin-top:0}
.legal__card p{color:var(--muted);margin-bottom:13px}
.legal__card address{font-style:normal;color:var(--text);line-height:1.75;margin-bottom:6px}
.legal__card a{font-weight:600}
@media(max-width:760px){.legal__card{padding:30px 24px}}

/* ---------- Reveal animation -------------------------------------------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- Responsive --------------------------------------------------- */
@media(max-width:980px){
  .hero__inner,.problem__grid,.feature,.contact__grid{grid-template-columns:1fr;gap:40px}
  .feature--rev .feature__media{order:0}
  .dims,.dec-grid,.svc-grid,.aud-grid{grid-template-columns:1fr 1fr}
  .footer__top{grid-template-columns:1fr 1fr}
  .hero{padding:140px 0 80px}
}
@media(max-width:760px){
  .nav__links,.nav__right .lang{display:none}
  .nav-toggle{display:flex}
  .nav.open .nav__links{display:flex;position:absolute;top:64px;left:16px;right:16px;flex-direction:column;
    align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;
    box-shadow:var(--shadow-l);gap:2px}
  .nav.open .nav__links a{color:var(--ink)!important;padding:12px 14px}
  .nav.open .nav__links .lang-mobile{display:flex;gap:6px;padding-top:8px;border-top:1px solid var(--line);margin-top:6px}
  .section{padding:70px 0}
  .dims,.dec-grid,.svc-grid,.aud-grid,.footer__top,.fld-row{grid-template-columns:1fr}
  .card-form{padding:26px 22px}
  .modal__box{padding:30px 24px}
  .hero__meta{gap:18px}
  .footer__bottom{flex-direction:column;align-items:flex-start}
}
.lang-mobile{display:none}
