:root{--navy:#0B1F5B;--red:#D6001C;--ink:#1a2238;--mut:#5b6580;--bg:#fff;--alt:#eef2f9;--line:#d9e0ee;--r:14px;
--f:'Inter','Noto Sans SC','Noto Sans Arabic',system-ui,sans-serif;--h:'Plus Jakarta Sans','Inter','Noto Sans SC','Noto Sans Arabic',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}
body.v1{margin:0;font:400 1rem/1.65 var(--f);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
img{max-inline-size:100%;block-size:auto;display:block}
a{color:var(--navy)}
.wrap{max-inline-size:1180px;margin-inline:auto;padding-inline:20px}
h1,h2,h3{font-family:var(--h);color:var(--navy);line-height:1.15;margin:0 0 .5em}
h2{font-size:clamp(1.7rem,4vw,2.6rem);font-weight:800}
h3{font-size:1.15rem;font-weight:700}
.eyebrow{font:700 .78rem/1 var(--h);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0 0 .9rem}
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;font:700 .95rem var(--h);padding:.9em 1.6em;border-radius:999px;border:2px solid var(--red);cursor:pointer;transition:.2s}
.btn:hover{background:var(--navy);border-color:var(--navy)}
.btn-sm{padding:.5em 1.1em;font-size:.85rem}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:#fff}
/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-block-end:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;min-block-size:68px;gap:16px}
.brand img{block-size:44px;inline-size:auto}
.links{display:flex;align-items:center;gap:22px}
.links>a:not(.btn){text-decoration:none;color:var(--navy);font-weight:600;font-size:.95rem}
.links>a:not(.btn):hover{color:var(--red)}
.burger{display:none;cursor:pointer;padding:10px}
.burger span{display:block;inline-size:24px;block-size:2px;background:var(--navy);margin:5px 0}
.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;font:700 .85rem var(--h);color:var(--navy);border:1px solid var(--line);border-radius:8px;padding:.45em .8em}
.lang summary::-webkit-details-marker{display:none}
.lang ul{position:absolute;inset-inline-end:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(11,31,91,.15);min-inline-size:150px}
.lang li a{display:block;padding:.45em .8em;text-decoration:none;border-radius:6px;color:var(--ink)}
.lang li a:hover,.lang li a[aria-current]{background:var(--alt);color:var(--navy)}
@media(max-width:860px){
 .burger{display:block}
 .links{display:none;position:absolute;inset-inline:0;top:100%;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 20px 22px;border-block-end:1px solid var(--line)}
 .nt:checked~.links{display:flex}
}
/* Hero */
.hero{background:#eef2f9 center/cover no-repeat;position:relative}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(255,255,255,.95) 25%,rgba(255,255,255,.35) 75%,transparent)}
[dir=rtl] .hero::before{background:linear-gradient(to left,rgba(255,255,255,.95) 25%,rgba(255,255,255,.35) 75%,transparent)}
.hero-in{position:relative;padding-block:72px 64px}
.hero h1{font-size:clamp(2.2rem,7vw,4.4rem);font-weight:800;max-inline-size:14ch}
.hero-sub{font-size:1.2rem;color:var(--mut);max-inline-size:34ch;margin:0 0 1.6rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-tag{margin:2rem 0 0;font:700 .85rem var(--h);letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
@media(min-width:861px){.hero-in{padding-block:130px 120px}}
/* Sections */
.sec{padding-block:72px}.alt{background:var(--alt)}
.lead{color:var(--mut);max-inline-size:60ch}
.grid{display:grid;gap:20px;margin-block-start:32px}
.cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.25s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(11,31,91,.14)}
.card-img{position:relative;aspect-ratio:4/3;background:var(--alt)}
.card-img img{inline-size:100%;block-size:100%;object-fit:cover}
.tag{position:absolute;inset-block-end:10px;inset-inline-start:10px;background:var(--navy);color:#fff;font:600 .72rem var(--h);padding:.35em .8em;border-radius:999px}
.card-b{padding:18px 18px 20px}
.card-b p{margin:0 0 .6em;color:var(--mut);font-size:.93rem}
.card-b .mats{font-size:.8rem;border-block-start:1px solid var(--line);padding-block-start:.7em;margin:.8em 0 0}
.note{color:var(--mut);font-size:.85rem;margin-block-start:24px}
.chips{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:12px}
.chips li{background:#fff;border:1px solid var(--line);border-inline-start:4px solid var(--red);border-radius:10px;padding:.8em 1.3em;font:700 1rem var(--h);color:var(--navy)}
.about{display:grid;gap:40px;align-items:center}
@media(min-width:861px){.about{grid-template-columns:1.4fr 1fr}.partners{grid-template-columns:1fr 1fr}.contact{grid-template-columns:1fr 1.4fr}}
.slogan{font:700 1.15rem var(--h);color:var(--red)}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.facts li{background:var(--alt);border-radius:var(--r);padding:20px 24px;display:flex;align-items:baseline;gap:14px}
.facts b{font:800 2rem var(--h);color:var(--navy)}
.facts span{color:var(--mut)}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px}
.pcard img{block-size:70px;inline-size:auto;margin-block-end:16px}
.more{font-weight:700;text-decoration:none;color:var(--red)}
.cta{background:linear-gradient(135deg,var(--navy),#16348f);color:#fff;text-align:center;padding-block:72px}
.cta h2{color:#fff}.cta-in p{margin:0 0 1.4rem;opacity:.9}
.cta .claims{margin:2rem 0 0;font-size:.85rem;letter-spacing:.06em;opacity:.7}
/* Contact */
.contact{display:grid;gap:40px}
address{font-style:normal;color:var(--mut)}address p{margin:0 0 .5em}
.form{display:grid;gap:14px;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:0 10px 30px rgba(11,31,91,.07)}
.form .full,.form .msg{grid-column:1/-1}
@media(max-width:600px){.form{grid-template-columns:1fr}}
.form label{display:grid;gap:6px;font-weight:600;font-size:.88rem;color:var(--navy)}
.form input,.form select,.form textarea{font:inherit;font-weight:400;color:var(--ink);padding:.75em .9em;border:1px solid var(--line);border-radius:10px;background:#fff;inline-size:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--navy);outline-offset:1px}
.form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.form .chk input{inline-size:auto;margin-block-start:.3em}
.hp{position:absolute;inset-inline-start:-9999px;inline-size:1px;block-size:1px;overflow:hidden}
.msg{padding:.9em 1.1em;border-radius:10px;margin:0;font-weight:600}
.msg.ok{background:#e6f6ec;color:#12683a}.msg.err{background:#fde8ea;color:#9b0014}
/* Footer */
.foot{background:var(--navy);color:#c9d3ee;padding-block:40px 28px}
.foot-in{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
.foot-l img{filter:brightness(0) invert(1);margin-block-end:8px;inline-size:auto}
.foot-l p{margin:0;font-size:.85rem}
.foot-n{display:flex;gap:20px;flex-wrap:wrap}
.foot-n a{color:#fff;text-decoration:none;font-size:.9rem}.foot-n a:hover{text-decoration:underline}
/* Softwaredienst credit */
.sd-credit{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.5)}
.sd-credit a{display:inline-flex;align-items:center}
.sd-logo{height:22px;width:auto;opacity:.7;transition:opacity .3s}
.sd-credit:hover .sd-logo{opacity:1}
.swiss-snow{position:relative}
.swiss-snow .snow-zone{position:absolute;top:-30px;left:0;width:100%;height:60px;pointer-events:none;overflow:visible;z-index:10}
.swiss-snow .flake{position:absolute;top:0;font-weight:900;opacity:0;pointer-events:none;font-family:Arial,sans-serif;line-height:1}
.swiss-snow:hover .flake{animation:sd-snowfall 2s ease-in infinite}
.swiss-snow .flake:nth-child(1){left:5%;animation-delay:0s;color:#fff;font-size:8px}
.swiss-snow .flake:nth-child(2){left:18%;animation-delay:.3s;color:#CC0000;font-size:11px}
.swiss-snow .flake:nth-child(3){left:35%;animation-delay:.15s;color:#fff;font-size:7px}
.swiss-snow .flake:nth-child(4){left:50%;animation-delay:.5s;color:#CC0000;font-size:9px}
.swiss-snow .flake:nth-child(5){left:65%;animation-delay:.1s;color:#fff;font-size:10px}
.swiss-snow .flake:nth-child(6){left:78%;animation-delay:.6s;color:#CC0000;font-size:8px}
.swiss-snow .flake:nth-child(7){left:88%;animation-delay:.35s;color:#fff;font-size:11px}
.swiss-snow .flake:nth-child(8){left:42%;animation-delay:.75s;color:#CC0000;font-size:7px}
.swiss-snow .flake:nth-child(9){left:12%;animation-delay:.9s;color:#fff;font-size:9px}
.swiss-snow .flake:nth-child(10){left:55%;animation-delay:1.1s;color:#CC0000;font-size:8px}
.swiss-snow .flake:nth-child(11){left:25%;animation-delay:1.3s;color:#fff;font-size:7px}
.swiss-snow .flake:nth-child(12){left:72%;animation-delay:1.5s;color:#CC0000;font-size:10px}
@keyframes sd-snowfall{0%{opacity:0;transform:translateY(0) rotate(0)}10%{opacity:1}90%{opacity:.6}100%{opacity:0;transform:translateY(60px) rotate(220deg)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.swiss-snow:hover .flake{animation:none}}

.flag{display:inline-block;vertical-align:-2px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.18);margin-inline-end:.35em}
.lang summary,.lang li a{display:inline-flex;align-items:center}
.lang li a{display:flex}
