:root{
  --navy:#0A1C3D;
  --navy-deep:#061225;
  --accent:#0B63B8;--mark:#2196F3;--cyan:#35BDF5;--rot:#E30613;
  --accent-deep:#084A8C;
  --paper:#FFFFFF;
  --paper-2:#F1F5FA;
  --rule:#D6DEE9;
  --rule-strong:#AEBCCE;
  --text:#16202E;
  --text-mute:#54606F;
  --measure:66ch;
  --pad:clamp(1.25rem,5vw,3.5rem);
  --gap:clamp(2.75rem,6vw,5rem);
}
:root:not([data-theme="light"]){color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:light}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--text);
  font-family:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
  font-size:clamp(1rem,.4vw + .92rem,1.08rem);line-height:1.65;
}
img,svg{max-width:100%;height:auto}
a{color:var(--accent-deep);text-underline-offset:.16em}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

h1,h2,h3{
  font-family:"Source Serif 4",Georgia,"Times New Roman",serif;
  font-weight:600;line-height:1.18;letter-spacing:-.005em;margin:0 0 .6em;text-wrap:balance;color:var(--navy-deep);
}
h1{font-size:clamp(1.95rem,3.9vw,3.05rem);line-height:1.12}
h2{font-size:clamp(1.5rem,2.6vw,2.15rem)}
h3{font-size:clamp(1.08rem,1.3vw,1.22rem);font-family:"Source Sans 3",Arial,sans-serif;font-weight:700}
p{margin:0 0 1.05em;max-width:var(--measure)}
.wrap{max-width:1160px;margin-inline:auto;padding-inline:var(--pad)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;position:fixed;z-index:99;background:#fff;color:var(--navy);padding:.7rem 1rem;border:1px solid var(--navy)}

/* Kopf */
header.top{border-bottom:1px solid var(--rule);background:#fff}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.4rem;padding-block:1rem}
.brand{font-family:"Source Serif 4",Georgia,serif;font-weight:600;font-size:1.3rem;
  color:var(--navy-deep);text-decoration:none;letter-spacing:-.01em}
.brand b{font-weight:600;color:var(--accent)}
.nav ul{display:flex;flex-wrap:wrap;gap:.2rem 1.3rem;list-style:none;margin:0;padding:0;margin-left:auto;
  font-size:.95rem;align-items:center}
.nav a{color:var(--text);text-decoration:none;padding-block:.3rem}
.nav a:hover{color:var(--accent-deep);text-decoration:underline}

.btn{display:inline-block;background:linear-gradient(135deg,#1B8CF0 0%,#0B63B8 100%);color:#fff;
  font-weight:700;font-size:.98rem;text-decoration:none;padding:.74rem 1.4rem;
  border:1px solid #0B63B8;border-radius:3px;cursor:pointer;font-family:inherit;line-height:1.35;
  letter-spacing:.005em;box-shadow:0 1px 2px rgba(6,18,37,.2);
  transition:background .14s,box-shadow .14s,transform .14s}
.btn:hover{background:linear-gradient(135deg,#35A5FF 0%,#1177D1 100%);border-color:#1177D1;color:#fff;
  box-shadow:0 4px 14px rgba(27,140,240,.38);transform:translateY(-1px)}
.btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(6,18,37,.25)}
.btn--quiet{background:transparent;color:var(--navy-deep);border-color:var(--rule-strong);
  font-weight:600;box-shadow:none}
.btn--quiet:hover{background:var(--navy-deep);color:#fff;border-color:var(--navy-deep);
  box-shadow:0 3px 10px rgba(11,18,27,.22)}
.btn--onDark{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);
  font-weight:600;box-shadow:none}
.btn--onDark:hover{background:#fff;color:var(--navy-deep);border-color:#fff;
  box-shadow:0 3px 10px rgba(0,0,0,.35)}

/* Einstieg */
.hero{position:relative;background:var(--navy-deep);color:#fff;border-bottom:0;overflow:hidden;
  padding-block:clamp(3.5rem,8vw,6.5rem)}
.hero::before{content:"";position:absolute;inset:0;
  background-image:url('/bilder/hero.webp');background-size:cover;background-position:center right;
  opacity:.85}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,var(--navy-deep) 0%,rgba(5,9,13,.92) 38%,rgba(5,9,13,.45) 70%,rgba(5,9,13,.25) 100%)}
.hero > *{position:relative;z-index:1}
.hero h1{color:#fff;text-shadow:0 1px 24px rgba(0,0,0,.5)}
.hero .lead{color:#D4D8DD}
.hero .panel{background:rgba(11,18,27,.82);border-color:rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.hero .panel h2{color:#fff}
.hero .panel .gauge-row b{color:#AEB5BD}
.hero .panel .bar{background:rgba(255,255,255,.14)}
.hero .panel small{color:#9AA2AB}
.hero .btn--quiet{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.hero .btn--quiet:hover{background:#fff;color:var(--navy-deep)}
@media(max-width:48rem){.hero::before{background-position:center}}
.hero .lead{font-size:clamp(1.05rem,1.1vw,1.18rem);color:var(--text-mute);max-width:52ch}
.hero-grid{display:grid;gap:clamp(2rem,4vw,3.5rem);grid-template-columns:1fr}
@media(min-width:62rem){.hero-grid{grid-template-columns:1.1fr .9fr;align-items:start}}
.cta-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}

.panel{background:#fff;border:1px solid var(--rule);padding:1.5rem 1.4rem 1.3rem}
.panel h2{font-size:1.1rem;font-family:"Source Sans 3",Arial,sans-serif;font-weight:700;margin-bottom:1.1rem}
.gauge-row{margin-bottom:.95rem}
.gauge-row b{display:block;font-size:.9rem;font-weight:600;color:var(--text-mute);margin-bottom:.3rem}
.bar{height:8px;background:var(--rule);position:relative;overflow:hidden;border-radius:1px}
.bar i{position:absolute;inset:0 auto 0 0;background:var(--accent);width:var(--w)}
.bar i.low{background:var(--rule-strong)}
.panel form{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.3rem}
.panel input{flex:1 1 11rem;min-width:0;padding:.7rem .8rem;border:1px solid var(--rule-strong);
  background:#fff;color:var(--text);font:inherit;font-size:1rem;border-radius:3px}
.panel small{display:block;margin-top:.8rem;color:var(--text-mute);font-size:.85rem;line-height:1.5}

section{padding-block:var(--gap)}
section + section{border-top:1px solid var(--rule)}
.eyebrow{font-size:.9rem;font-weight:700;color:var(--accent-deep);margin:0 0 .45rem}
.tint{background:var(--paper-2)}
.dark{background:var(--navy);color:#E4EAEF}
.dark h2,.dark h3{color:#fff}
.dark p,.dark li{color:#C8D3DC}
.dark .eyebrow{color:var(--mark)}

.services{border-top:1px solid var(--rule);margin-top:2.2rem}
.service{display:grid;gap:.3rem 2rem;grid-template-columns:1fr;padding-block:1.4rem;border-bottom:1px solid var(--rule)}
@media(min-width:48rem){.service{grid-template-columns:14rem 1fr}}
.service h3{margin:0}
.service p{margin:0;color:var(--text-mute)}

.two{display:grid;gap:clamp(2rem,4vw,3.5rem);grid-template-columns:1fr}
@media(min-width:56rem){.two{grid-template-columns:1fr 1fr;align-items:start}}

ul.ticks{list-style:none;margin:0 0 1.3rem;padding:0;max-width:var(--measure)}
ul.ticks li{position:relative;padding-left:1.5rem;margin-bottom:.5rem}
ul.ticks li::before{content:"";position:absolute;left:.15rem;top:.68em;width:.5rem;height:.5rem;
  border:1px solid var(--mark);background:var(--mark)}
.dark ul.ticks li::before{border-color:var(--mark);background:var(--mark)}

ul.crosses{list-style:none;margin:0 0 1.3rem;padding:0;max-width:var(--measure)}
ul.crosses li{position:relative;padding-left:1.5rem;margin-bottom:.5rem}
ul.crosses li::before{content:"";position:absolute;left:.15rem;top:.68em;width:.5rem;height:.5rem;
  border:1px solid currentColor;opacity:.45}

ol.steps{counter-reset:s;list-style:none;margin:2rem 0 0;padding:0}
ol.steps li{counter-increment:s;padding:1.15rem 0 1.15rem 3.4rem;border-top:1px solid var(--rule);
  position:relative;max-width:var(--measure)}
ol.steps li::before{content:counter(s) ".";position:absolute;left:0;top:1.15rem;
  font-family:"Source Serif 4",Georgia,serif;font-size:1.35rem;font-weight:600;color:var(--mark);line-height:1.2}
ol.steps b{display:block;font-size:1.03rem;margin-bottom:.1rem}

.tablewrap{overflow-x:auto;margin-top:2rem;border-top:2px solid var(--navy)}
table{border-collapse:collapse;width:100%;min-width:44rem;font-size:.96rem}
th,td{text-align:left;padding:.85rem .95rem;border-bottom:1px solid var(--rule);vertical-align:top}
thead th{font-weight:700;white-space:nowrap;background:var(--paper-2)}
tbody th{font-weight:600;color:var(--text-mute)}
td.us{background:#E8F2FC;font-weight:600}
caption{text-align:left;color:var(--text-mute);font-size:.9rem;padding-bottom:.7rem}

.facts{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));margin-top:2rem}
.fact{border-top:2px solid var(--mark);padding-top:.75rem}
.fact b{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:1.5rem;font-weight:600;
  line-height:1.2;color:var(--navy-deep)}
.fact span{display:block;color:var(--text-mute);font-size:.92rem;margin-top:.25rem;max-width:28ch}

.plans{display:grid;gap:1.3rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));margin-top:2.1rem}
.plan{border:1px solid var(--rule);padding:1.5rem 1.4rem;background:#fff;display:flex;flex-direction:column}
.plan--lead{border-color:var(--mark);border-top:3px solid var(--mark)}
.plan h3{margin-bottom:.1rem}
.plan .price{font-family:"Source Serif 4",Georgia,serif;font-size:1.75rem;font-weight:600;
  line-height:1.2;margin:.5rem 0 .05rem;color:var(--navy-deep)}
.plan .per{color:var(--text-mute);font-size:.88rem;margin-bottom:.95rem}
.plan ul{margin:0 0 1.3rem}
.plan .btn{margin-top:auto;text-align:center}

details{border-bottom:1px solid var(--rule);padding:.95rem 0}
details summary{cursor:pointer;font-weight:600;font-size:1.03rem;list-style:none;display:flex;gap:1rem;align-items:baseline;color:var(--navy-deep)}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";margin-left:auto;color:var(--mark);font-weight:700;font-size:1.2rem;line-height:1}
details[open] summary::after{content:"–"}
details p{margin:.7rem 0 0;color:var(--text-mute)}

address{font-style:normal}
.nap{display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin-top:1.8rem}
.nap h3{font-size:.98rem;margin-bottom:.35rem}
.nap p{color:var(--text-mute);margin-bottom:.25rem}

footer{background:var(--navy-deep);color:#AEBCC8;padding-block:2.75rem 1.75rem;font-size:.94rem}
footer a{color:#DCE4EB}
footer .brand{color:#fff}
footer .brand b{color:var(--mark)}
.foot-grid{display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
footer h3{font-size:.94rem;color:#fff;font-family:"Source Sans 3",Arial,sans-serif}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin-bottom:.35rem}
.legal{border-top:1px solid rgba(255,255,255,.16);margin-top:2.2rem;padding-top:1.2rem;
  display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center}
.legal p{margin:0;color:#8C9CA9}

figure.bild{margin:0;border-bottom:1px solid var(--rule);background:var(--navy-deep);line-height:0}
figure.bild img{display:block;width:100%;height:clamp(180px,26vw,340px);object-fit:cover}

.nav .btn{padding:.6rem 1.15rem;font-size:.95rem}
.hero .btn--quiet{color:#fff;border-color:rgba(255,255,255,.45)}
.hero .btn--quiet:hover{background:#fff;color:var(--navy-deep);border-color:#fff}

.brand b{background:linear-gradient(135deg,#35BDF5,#1B8CF0);-webkit-background-clip:text;
  background-clip:text;color:transparent}
.claim{font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--text-mute);
  margin:.35rem 0 0;font-weight:600}
.dark .claim,.hero .claim{color:#8FB4DC}
.schweiz{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute)}
.schweiz::before{content:"";width:.85rem;height:.85rem;background:var(--rot);
  -webkit-mask:linear-gradient(#000 0 0) 50%/100% 34% no-repeat,linear-gradient(#000 0 0) 50%/34% 100% no-repeat;
  mask:linear-gradient(#000 0 0) 50%/100% 34% no-repeat,linear-gradient(#000 0 0) 50%/34% 100% no-repeat;
  background-color:var(--rot)}
.dark .schweiz,footer .schweiz{color:#9FB8D4}

.brand{display:inline-flex;align-items:center;gap:0;text-decoration:none;line-height:0}
.brand img{height:clamp(30px,3.2vw,40px);width:auto;display:block}
footer .brand img{height:clamp(34px,3.6vw,46px)}

.sozial{display:inline-flex;gap:.55rem;align-items:center}
.sozial a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border:1px solid rgba(255,255,255,.22);border-radius:3px;color:#BBD0E6;
  transition:background .14s,color .14s,border-color .14s,transform .14s}
.sozial svg{fill:currentColor;display:block}
.sozial a:hover{background:linear-gradient(135deg,#1B8CF0,#0B63B8);color:#fff;
  border-color:#0B63B8;transform:translateY(-1px)}

.pruefliste{list-style:none;margin:0 0 .4rem;padding:0;font-size:.92rem}
.pruefliste li{position:relative;padding-left:1.5rem;margin-bottom:.42rem;color:#C8D3DC}
.pruefliste li::before{content:"";position:absolute;left:.2rem;top:.6em;width:.45rem;height:.45rem;
  background:var(--mark);border-radius:1px}
