/* ============================================================
   EDL Dienstleistungen GmbH — Stylesheet
   Palette aus dem Logo abgeleitet: Tiefschwarz/Anthrazit der
   Wortmarke, Grau der Subline, Grün als Akzent.
   Schriften lokal (kein Google-Fonts-CDN, DSGVO).
   ============================================================ */

/* ---------------------------------------------------------- Schriften */
@font-face{ font-family:"Archivo"; font-style:normal; font-weight:400 800; font-display:swap;
  src:url("../fonts/archivo-latin-wght-normal.woff2") format("woff2-variations");
  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:"Archivo"; font-style:normal; font-weight:400 800; font-display:swap;
  src:url("../fonts/archivo-latin-ext-wght-normal.woff2") format("woff2-variations");
  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:"IBM Plex Sans"; font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/ibm-plex-sans-latin-400-normal.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:"IBM Plex Sans"; font-style:normal; font-weight:500; font-display:swap;
  src:url("../fonts/ibm-plex-sans-latin-500-normal.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:"IBM Plex Sans"; font-style:normal; font-weight:600; font-display:swap;
  src:url("../fonts/ibm-plex-sans-latin-600-normal.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:"IBM Plex Sans"; font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/ibm-plex-sans-latin-ext-400-normal.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:"IBM Plex Sans"; font-style:normal; font-weight:500; font-display:swap;
  src:url("../fonts/ibm-plex-sans-latin-ext-500-normal.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:"IBM Plex Sans"; font-style:normal; font-weight:600; font-display:swap;
  src:url("../fonts/ibm-plex-sans-latin-ext-600-normal.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:"IBM Plex Mono"; font-style:normal; font-weight:400; font-display:swap;
  src:url("../fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2"); }
@font-face{ font-family:"IBM Plex Mono"; font-style:normal; font-weight:500; font-display:swap;
  src:url("../fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2"); }

/* ---------------------------------------------------------- Tokens (hell) */
:root{
  color-scheme: light;

  --ink:        #15191a;
  --ink-2:      #262d2c;
  --ink-3:      #3b4443;

  --paper:      #f1f2ef;
  --paper-2:    #e8eae5;
  --surface:    #ffffff;
  --line:       #dcdfd9;
  --line-strong:#c3c8be;

  --muted:      #5f6764;
  --muted-2:    #666e6a;

  --green:      #2e6a4c;
  --green-deep: #1d4633;
  --green-lit:  #8fc4a4;
  --green-soft: #dbe7dc;
  --on-green:   #ffffff;

  --signal:     #bd4f2a;

  --panel:      #15191a;   /* dunkle Sektionen: Hero-Register, Bahn, Footer, Menü */
  --on-panel:   #f1f2ef;
  --on-panel-2: #c3cbc6;
  --on-panel-3: #a3aca8;
  --panel-line: rgba(255,255,255,.14);
  --panel-hover:rgba(255,255,255,.08);

  --btn-lit-bg:  #8fc4a4;
  --btn-lit-ink: #15191a;

  --ok:  #1a7f5a;  --ok-bg:  #e6f5ee;  --ok-line:  #b7e2ce;
  --err: #b8412a;  --err-bg: #fbeae8;  --err-line: #f2c6c1;
  --todo-bg:#fff8e6; --todo-line:#f0dca8; --todo-mark:#d9a300; --todo-ink:#6b5300; --todo-ink2:#4d3c00;

  --header-bg:  rgba(241,242,239,.92);
  --menubtn-bg: #15191a;

  --step--1: clamp(.8rem, .77rem + .12vw, .86rem);
  --step-0:  clamp(1rem, .96rem + .18vw, 1.09rem);
  --step-1:  clamp(1.18rem, 1.1rem + .34vw, 1.38rem);
  --step-2:  clamp(1.45rem, 1.3rem + .62vw, 1.85rem);
  --step-3:  clamp(1.8rem, 1.53rem + 1.1vw, 2.5rem);
  --step-4:  clamp(2.2rem, 1.72rem + 1.95vw, 3.5rem);
  --step-5:  clamp(2.4rem, 1.45rem + 3.35vw, 4.25rem);

  --gutter: clamp(1.15rem, .6rem + 2.4vw, 3rem);
  --bay:    clamp(3.75rem, 2.2rem + 6vw, 7.5rem);
  --max:    1240px;
  --radius: 3px;
}

/* ---------------------------------------------------------- Tokens (dunkel) */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme: dark;
    --ink:#e9ece8; --ink-2:#d4d9d5; --ink-3:#b8bfba;
    --paper:#0f1312; --paper-2:#141918; --surface:#191f1d;
    --line:#2a322f; --line-strong:#3a4441;
    --muted:#a0a9a4; --muted-2:#8d968f;
    --green:#6fb58f; --green-deep:#8fc4a4; --green-lit:#a6d4b8; --green-soft:#1f3229; --on-green:#0b1510;
    --signal:#e07a55;
    --panel:#1a201e; --on-panel:#f1f2ef; --on-panel-2:#c4ccc7; --on-panel-3:#9ea7a2;
    --panel-line:rgba(255,255,255,.13); --panel-hover:rgba(255,255,255,.07);
    --btn-lit-bg:#a6d4b8; --btn-lit-ink:#0b1510;
    --ok:#4ecb9b; --ok-bg:#10281f; --ok-line:#1f4d3a;
    --err:#ff8f7a; --err-bg:#2c1512; --err-line:#5a2a22;
    --todo-bg:#2a2312; --todo-line:#4d4020; --todo-ink:#e8d49a; --todo-ink2:#f5e6be;
    --header-bg:rgba(15,19,18,.9); --menubtn-bg:#2e6a4c;
  }
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --ink:#e9ece8; --ink-2:#d4d9d5; --ink-3:#b8bfba;
  --paper:#0f1312; --paper-2:#141918; --surface:#191f1d;
  --line:#2a322f; --line-strong:#3a4441;
  --muted:#a0a9a4; --muted-2:#8d968f;
  --green:#6fb58f; --green-deep:#8fc4a4; --green-lit:#a6d4b8; --green-soft:#1f3229; --on-green:#0b1510;
  --signal:#e07a55;
  --panel:#1a201e; --on-panel:#f1f2ef; --on-panel-2:#c4ccc7; --on-panel-3:#9ea7a2;
  --panel-line:rgba(255,255,255,.13); --panel-hover:rgba(255,255,255,.07);
  --btn-lit-bg:#a6d4b8; --btn-lit-ink:#0b1510;
  --ok:#4ecb9b; --ok-bg:#10281f; --ok-line:#1f4d3a;
  --err:#ff8f7a; --err-bg:#2c1512; --err-line:#5a2a22;
  --todo-bg:#2a2312; --todo-line:#4d4020; --todo-ink:#e8d49a; --todo-ink2:#f5e6be;
  --header-bg:rgba(15,19,18,.9); --menubtn-bg:#2e6a4c;
}

/* ---------------------------------------------------------- Basis */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"IBM Plex Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  font-size:var(--step-0); line-height:1.65; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:"Archivo","Helvetica Neue",Arial,sans-serif;
  font-weight:700; line-height:1.06; letter-spacing:-.022em;
  text-wrap:balance; overflow-wrap:break-word; margin:0;
}
p{ margin:0; }
a{ color:inherit; }
img{ max-width:100%; display:block; }
ul,ol,dl{ margin:0; padding:0; list-style:none; }
abbr{ text-decoration:none; }
:where(a,button,input,textarea,select,summary):focus-visible{
  outline:2px solid var(--green); outline-offset:3px; border-radius:2px;
}
.wrap{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--gutter); }

.mono, .eyebrow, .register__head, .register__when, .facts dt, .card__meta, .card__nr,
.detail__tag, .strengths b, .promises b, .contact__data .lbl, .field label, .menu__label,
.menu__nr, .menu__saison, .infocard h3, .infocard dt, .footer h2, .breadcrumb{
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}

.eyebrow{ font-size:var(--step--1); font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin:0; }
.eyebrow--dim{ color:var(--muted); }
.eyebrow--lit{ color:var(--green-lit); }
.lede{ font-size:var(--step-1); line-height:1.5; color:var(--ink-3); max-width:56ch; }
.lede--ink{ color:var(--ink); }
.body-text{ max-width:64ch; color:var(--ink-3); }
.sub-h{ font-size:var(--step-1); margin-bottom:.7rem; }

/* ---------------------------------------------------------- Buttons */
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.85rem 1.5rem;
  font-family:"Archivo",sans-serif; font-size:var(--step--1); font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; text-decoration:none;
  border-radius:var(--radius); border:1.5px solid transparent; cursor:pointer;
  transition:background-color .18s ease, color .18s ease, border-color .18s ease;
}
.btn svg{ flex:none; }
.btn--solid{ background:var(--green); color:var(--on-green); }
.btn--solid:hover{ background:var(--green-deep); color:var(--on-green); }
.btn--ghost{ border-color:var(--line-strong); color:var(--ink); background:transparent; }
.btn--ghost:hover{ border-color:var(--ink); background:var(--ink); color:var(--paper); }
.btn--lit{ background:var(--btn-lit-bg); color:var(--btn-lit-ink); }
.btn--lit:hover{ background:var(--on-panel); color:var(--btn-lit-ink); }
.btn--ghost-lit{ border-color:var(--panel-line); color:var(--on-panel); background:transparent; }
.btn--ghost-lit:hover{ border-color:var(--on-panel); background:var(--panel-hover); }

/* ---------------------------------------------------------- Kopfbereich */
.header{
  position:sticky; top:0; z-index:60;
  background:var(--header-bg); backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line);
}
.header__bar{ display:flex; align-items:center; gap:1rem; min-height:78px; }
.brand{ margin-right:auto; display:flex; align-items:center; text-decoration:none; }
.brand img{ height:42px; width:auto; }
@media (max-width:560px){ .brand img{ height:36px; } }
.brand__dark{ display:none; }
:root[data-theme="dark"] .brand__light{ display:none; }
:root[data-theme="dark"] .brand__dark{ display:block; }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .brand__light{ display:none; }
  :root:not([data-theme="light"]) .brand__dark{ display:block; }
}

.header__tools{ display:flex; align-items:center; gap:.5rem; }
.header__tel{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.6rem 1rem; margin-right:.25rem;
  border:1px solid var(--line-strong); border-radius:var(--radius);
  font-family:"IBM Plex Mono",monospace; font-size:var(--step--1); font-weight:500;
  color:var(--ink); text-decoration:none; white-space:nowrap;
  transition:border-color .18s ease, color .18s ease, background-color .18s ease;
}
.header__tel:hover{ border-color:var(--green); color:var(--green); background:var(--green-soft); }
@media (max-width:760px){ .header__tel span{ display:none; } .header__tel{ padding:.6rem .75rem; } }
@media (max-width:420px){ .header__tel{ display:none; } }

.iconbtn{
  width:42px; height:42px; flex:none; display:grid; place-items:center;
  border:1px solid var(--line-strong); border-radius:var(--radius);
  background:transparent; color:var(--ink); cursor:pointer; padding:0;
  transition:border-color .18s ease, color .18s ease, background-color .18s ease;
}
.iconbtn:hover{ border-color:var(--green); color:var(--green); background:var(--green-soft); }
.themebtn .ic-sun{ display:none; }
.themebtn .ic-moon{ display:block; }
:root[data-theme="dark"] .themebtn .ic-moon{ display:none; }
:root[data-theme="dark"] .themebtn .ic-sun{ display:block; }
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .themebtn .ic-moon{ display:none; }
  :root:not([data-theme="light"]) .themebtn .ic-sun{ display:block; }
}

.menubtn{
  display:inline-flex; align-items:center; gap:.65rem;
  height:42px; padding:0 1.1rem 0 .95rem;
  border:0; border-radius:var(--radius);
  background:var(--menubtn-bg); color:#fff;
  font-family:"Archivo",sans-serif; font-size:var(--step--1); font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; cursor:pointer;
  transition:background-color .18s ease;
}
.menubtn:hover{ background:var(--green); color:var(--on-green); }
.menubtn__lines{ position:relative; display:block; width:17px; height:11px; }
.menubtn__lines span,.menubtn__lines::before,.menubtn__lines::after{
  content:""; position:absolute; left:0; width:17px; height:2px; background:currentColor;
}
.menubtn__lines::before{ top:0; }
.menubtn__lines span{ top:4.5px; width:12px; }
.menubtn__lines::after{ top:9px; }
.menubtn:hover .menubtn__lines span{ width:17px; }
.menubtn--close{ background:var(--panel-hover); color:var(--on-panel); border:1px solid var(--panel-line); }
.menubtn--close:hover{ background:var(--panel-line); color:var(--on-panel); }
.menubtn__x{ position:relative; display:block; width:15px; height:15px; }
.menubtn__x::before,.menubtn__x::after{
  content:""; position:absolute; top:6.5px; left:0; width:15px; height:2px; background:currentColor;
}
.menubtn__x::before{ transform:rotate(45deg); }
.menubtn__x::after{ transform:rotate(-45deg); }

/* ---------------------------------------------------------- Menü */
.menu{
  position:fixed; inset:0; z-index:200;
  background:var(--panel); color:var(--on-panel);
  overflow-y:auto; overscroll-behavior:contain;
  opacity:0; transition:opacity .22s ease;
}
.menu[hidden]{ display:none !important; }
.menu.is-open{ opacity:1; }
.menu::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(90deg, rgba(143,196,164,.10) 0 1px, transparent 1px 46px);
  mask-image:linear-gradient(180deg, rgba(0,0,0,.6), transparent 55%);
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.6), transparent 55%);
}
.menu__bar{ position:relative; z-index:2; border-bottom:1px solid var(--panel-line); }
.menu__barin{ display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:78px; }
.menu__barin .brand{ margin-right:0; }
.menu__inner{
  position:relative; z-index:2;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr);
  gap:clamp(2rem,1.2rem + 3vw,4rem);
  padding-block:clamp(2.25rem,1.4rem + 3vw,4rem) clamp(3rem,2rem + 4vw,5rem);
  align-items:start;
}
.menu__label{
  font-size:var(--step--1); font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  color:var(--on-panel-3); margin:0 0 1rem; padding-bottom:.6rem; border-bottom:1px solid var(--panel-line);
}
.menu__label--sp{ margin-top:2.25rem; }
.menu__main li a{
  display:block; font-family:"Archivo",sans-serif; font-weight:700; letter-spacing:-.025em;
  font-size:clamp(1.65rem,1.2rem + 1.7vw,2.5rem); line-height:1.18;
  color:var(--on-panel); text-decoration:none; padding:.2rem 0;
  transition:color .18s ease, transform .18s ease;
}
.menu__main li a:hover,.menu__main li a:focus-visible{ color:var(--green-lit); transform:translateX(5px); }
.menu__main li a[aria-current]{ color:var(--green-lit); }
.menu__cta{ margin-top:2rem; }
.menu__svc li a{
  display:grid; grid-template-columns:auto 1fr auto; gap:.9rem; align-items:baseline;
  padding:.7rem 0; border-bottom:1px solid var(--panel-line);
  color:var(--on-panel); text-decoration:none; font-family:"Archivo",sans-serif; font-weight:600;
  transition:color .18s ease, padding-left .18s ease;
}
.menu__svc li a:hover,.menu__svc li a:focus-visible{ color:var(--green-lit); padding-left:.4rem; }
.menu__svc li a[aria-current]{ color:var(--green-lit); }
.menu__nr,.menu__saison{ font-size:var(--step--1); color:var(--on-panel-3); font-weight:400; }
.menu__kontakt li{ display:flex; gap:.8rem; align-items:flex-start; padding:.5rem 0; color:var(--on-panel-2); font-size:var(--step--1); line-height:1.5; }
.menu__kontakt svg{ flex:none; margin-top:.25rem; color:var(--green-lit); }
.menu__kontakt a{ color:var(--on-panel); text-decoration:none; border-bottom:1px solid var(--panel-line); }
.menu__kontakt a:hover{ border-color:var(--green-lit); color:var(--green-lit); }
.menu__legal li{ padding:.28rem 0; }
.menu__legal a{ color:var(--on-panel-2); text-decoration:none; font-size:var(--step--1); }
.menu__legal a:hover{ color:var(--green-lit); }
.menu :where(a,button):focus-visible{ outline:2px solid var(--green-lit); outline-offset:4px; }
@media (max-width:900px){ .menu__inner{ grid-template-columns:1fr; gap:2.25rem; } }
body.menu-open{ overflow:hidden; }
@media (prefers-reduced-motion: reduce){
  .menu{ transition:none; }
  .menu__main li a:hover,.menu__svc li a:hover{ transform:none; padding-left:0; }
}

/* ---------------------------------------------------------- Hero */
.hero{ position:relative; padding-block:clamp(3.25rem,1.5rem + 6vw,6.5rem) 0; overflow:hidden; }
.hero__grid{
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);
  gap:clamp(2rem,1rem + 4vw,4.5rem); align-items:end;
}
.hero__grid > div:first-child{ container-type:inline-size; min-width:0; }
.hero h1{ font-size:min(var(--step-5), 7.4cqw); font-weight:800; letter-spacing:-.035em; margin-block:1.1rem 1.5rem; text-wrap:normal; line-height:1.02; }
.hero h1 .ln{ white-space:nowrap; }
.hero h1 em{ font-style:normal; color:var(--green); }
.hero__actions{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }

.register{ border-top:2px solid var(--ink); padding-top:.9rem; }
.register__head{
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:var(--step--1); letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:.4rem;
}
.register li a{
  display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  padding:.78rem 0; border-bottom:1px solid var(--line); text-decoration:none;
  transition:padding-left .2s ease, color .2s ease;
}
.register li a:hover{ padding-left:.45rem; color:var(--green); }
.register__name{ font-family:"Archivo",sans-serif; font-weight:600; }
.register__when{ font-size:var(--step--1); color:var(--muted); white-space:nowrap; }

.facts{
  margin-top:clamp(2.5rem,1.4rem + 3.4vw,4rem);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
}
.facts div{
  padding:1.4rem 1.5rem;
  border-right:1px solid var(--line);
  display:flex; flex-direction:column; justify-content:flex-start; align-items:center;
  text-align:center;
}
.facts div:last-child{ border-right:0; }
.facts dt{ font-size:var(--step--1); letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); margin-bottom:.4rem; }
.facts dd{ margin:0; font-family:"Archivo",sans-serif; font-weight:600; line-height:1.3; max-width:24ch; text-wrap:balance; }
@media (max-width:900px){
  .hero__grid{ grid-template-columns:1fr; align-items:start; }
  .facts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .facts div:nth-child(2){ border-right:0; }
  .facts div:nth-child(-n+2){ border-bottom:1px solid var(--line); }
}
@media (max-width:520px){
  .facts{ grid-template-columns:1fr; }
  .facts div{ border-right:0; border-bottom:1px solid var(--line); }
  .facts div:last-child{ border-bottom:0; }
}

/* ---------------------------------------------------------- Seitenkopf (Unterseiten) */
.pagehead{
  background:var(--paper-2); border-bottom:1px solid var(--line);
  padding-block:clamp(2.5rem,1.6rem + 3.5vw,4.5rem);
}
.pagehead h1{ font-size:var(--step-4); font-weight:800; letter-spacing:-.032em; margin-block:.9rem .95rem; max-width:22ch; }
.pagehead--dark{ background:var(--panel); color:var(--on-panel); border-bottom:0; }
.pagehead--dark .lede{ color:var(--on-panel-2); }
.pagehead--dark .breadcrumb,.pagehead--dark .breadcrumb a{ color:var(--on-panel-3); }
.pagehead--dark .breadcrumb span[aria-current]{ color:var(--on-panel); }
.breadcrumb{ font-size:var(--step--1); color:var(--muted); display:flex; flex-wrap:wrap; gap:.45rem; margin-bottom:1.2rem; }
.breadcrumb a{ color:var(--ink-3); text-decoration:none; }
.breadcrumb a:hover{ color:var(--green); text-decoration:underline; }
.breadcrumb span[aria-current]{ color:var(--ink); }

/* ---------------------------------------------------------- Sektionen */
.section{ padding-block:var(--bay); }
.section--paper2{ background:var(--paper-2); }
.section--white{ background:var(--surface); }
.section--tight{ padding-block:clamp(2.5rem,1.6rem + 3vw,4rem); }
.pagehead + .section{ padding-top:clamp(2.5rem,1.6rem + 2.4vw,3.5rem); }
.section__head{
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(1.5rem,.8rem + 3vw,4rem); align-items:end;
  margin-bottom:clamp(2.25rem,1.4rem + 2.6vw,3.5rem);
}
.section__head > div:first-child{ container-type:inline-size; min-width:0; }
.section__head h2{ font-size:min(var(--step-4), 9.2cqw); margin-top:.7rem; }
h2 .ln{ white-space:nowrap; }
@media (max-width:820px){ .section__head{ grid-template-columns:1fr; align-items:start; } }

/* ---------------------------------------------------------- Leistungskarten */
.cards{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.card{
  position:relative; background:var(--surface); padding:1.9rem 1.6rem 2rem;
  display:flex; flex-direction:column; gap:.9rem; text-decoration:none;
  transition:background-color .2s ease;
}
.card:hover{ background:var(--green-soft); }
.card__nr{ position:absolute; top:1.1rem; right:1.2rem; font-size:var(--step--1); color:var(--muted-2); }
.card__icon{ color:var(--green); }
.card__icon svg{ width:34px; height:34px; display:block; }
.card h3{ font-size:var(--step-1); }
.card p{ font-size:var(--step--1); color:var(--muted); line-height:1.6; flex:1; }
.card__meta{ font-size:var(--step--1); color:var(--green); letter-spacing:.06em; padding-top:.9rem; border-top:1px solid var(--line); }
.card--dark{ background:var(--panel); color:var(--on-panel); }
.card--dark:hover{ background:var(--panel); }
.card--dark .card__icon{ color:var(--green-lit); }
.card--dark .card__nr{ color:var(--on-panel-3); }
.card--dark p{ color:var(--on-panel-2); }
.card--dark .card__meta{ color:var(--green-lit); border-color:var(--panel-line); }
@media (max-width:1000px){ .cards{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){ .cards{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------- Säulen */
.pillars{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.5rem,1rem + 2vw,2.75rem); }
.pillar{ border-top:2px solid var(--ink); padding-top:1.1rem; }
.pillar h3{ font-size:var(--step-1); margin-bottom:.6rem; }
.pillar p{ color:var(--muted); font-size:var(--step--1); line-height:1.65; }
@media (max-width:820px){ .pillars{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------- Zertifizierungen */
.certband{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(1.75rem,1rem + 3vw,3.5rem); align-items:center; background:var(--surface); border:1px solid var(--line); padding:clamp(1.75rem,1.2rem + 2vw,2.75rem); }
.certband__txt h2{ font-size:var(--step-2); margin-block:.8rem .8rem; }
.certband__txt p{ color:var(--ink-3); font-size:var(--step--1); line-height:1.65; max-width:48ch; }
.certs{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.cert{ display:flex; gap:1rem; align-items:flex-start; background:var(--paper); border:1px solid var(--line); padding:1.25rem 1.3rem; min-width:0; }
.cert__ic{ flex:none; width:42px; height:42px; display:grid; place-items:center; background:var(--green-soft); color:var(--green); }
.cert__ic svg{ width:23px; height:23px; }
.cert__txt{ display:flex; flex-direction:column; gap:.15rem; min-width:0; }
.cert__txt b{ font-size:var(--step-1); font-weight:700; letter-spacing:-.01em; color:var(--ink); line-height:1.15; white-space:nowrap; }
.cert__sub{ font-size:var(--step--1); color:var(--muted); }
.cert__meta{ font-size:var(--step--1); color:var(--muted-2); line-height:1.45; overflow-wrap:anywhere; }
@media (max-width:1040px){ .certband{ grid-template-columns:1fr; } }
@media (max-width:560px){ .certs{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------- Bahn-Sektion */
.rail{ background:var(--panel); color:var(--on-panel); position:relative; overflow:hidden; }
.rail::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(90deg, rgba(143,196,164,.14) 0 1px, transparent 1px 46px);
  mask-image:linear-gradient(180deg, rgba(0,0,0,.55), transparent 62%);
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.55), transparent 62%);
}
.rail .wrap{ position:relative; }
.rail .lede{ color:var(--on-panel-2); }
.rail__more{ margin-top:2rem; }
.glossary{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--panel-line); border:1px solid var(--panel-line); }
.glossary li{ background:var(--panel); padding:1.5rem 1.45rem 1.6rem; display:flex; flex-direction:column; gap:.5rem; }
.glossary h3{ font-size:var(--step-0); font-weight:600; letter-spacing:0; color:var(--green-lit); text-transform:uppercase; overflow-wrap:anywhere; hyphens:auto; }
.glossary h3 abbr{ font-family:"IBM Plex Mono",monospace; font-weight:400; font-size:.8em; color:var(--on-panel-3); margin-left:.4em; }
.glossary p{ font-size:var(--step--1); line-height:1.6; color:var(--on-panel-2); }
.glossary--light{ background:var(--line); border-color:var(--line); margin-top:.5rem; }
.glossary--light li{ background:var(--surface); }
.glossary--light h3{ color:var(--green); }
.glossary--light h3 abbr{ color:var(--muted-2); }
.glossary--light p{ color:var(--ink-3); }
@media (max-width:900px){ .glossary{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px){ .glossary{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------- Leistungsseiten */
.svc{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(2rem,1rem + 4vw,4.5rem); align-items:start; }
.svc__main h2{ font-size:var(--step-1); padding-bottom:.6rem; margin-block:2.4rem 1.1rem; border-bottom:2px solid var(--ink); }
.svc__main > .lede + h2{ margin-top:1.8rem; }
.svc__main p{ color:var(--ink-3); max-width:66ch; }
.svc__main p + p{ margin-top:1rem; }
.ticks{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.15rem 2rem; }
.ticks li{ display:flex; gap:.7rem; align-items:flex-start; padding:.6rem 0; border-bottom:1px solid var(--line); }
.ticks li::before{
  content:""; flex:none; width:.38rem; height:.68rem; margin-top:.42rem;
  border-right:2px solid var(--green); border-bottom:2px solid var(--green); transform:rotate(42deg);
}
.ticks li strong{ font-weight:600; }
.ticks li span{ display:block; color:var(--muted); font-size:var(--step--1); }
@media (max-width:640px){ .ticks{ grid-template-columns:1fr; } }
.strengths{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.strengths li{ background:var(--surface); padding:1.3rem 1.4rem; display:flex; gap:1rem; align-items:flex-start; }
.strengths b{ font-size:var(--step--1); color:var(--green); padding-top:.2rem; font-weight:500; }
.strengths p{ font-size:var(--step--1); line-height:1.6; color:var(--ink-3); }
@media (max-width:640px){ .strengths{ grid-template-columns:1fr; } }

.svc__aside{ position:sticky; top:96px; display:grid; gap:1.15rem; }
.infocard{ background:var(--surface); border:1px solid var(--line); padding:1.6rem 1.55rem; }
.infocard h3{ font-size:var(--step--1); font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:1rem; }
.infocard .row{ display:flex; justify-content:space-between; gap:1rem; align-items:baseline; padding:.6rem 0; border-bottom:1px solid var(--line); }
.infocard .row:last-child{ border-bottom:0; }
.infocard dt{ font-size:var(--step--1); color:var(--muted); }
.infocard dd{ margin:0; font-weight:600; text-align:right; }
.infocard p{ color:var(--ink-3); font-size:var(--step--1); line-height:1.6; }
.infocard .btn{ margin-top:1.2rem; width:100%; justify-content:center; }
.infocard--dark{ background:var(--panel); border-color:var(--panel); color:var(--on-panel); }
.infocard--dark h3{ color:var(--green-lit); }
.infocard--dark p{ color:var(--on-panel-2); }
@media (max-width:960px){ .svc{ grid-template-columns:minmax(0,1fr); } .svc__aside{ position:static; } }

.related{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.related a{
  background:var(--surface); padding:1.2rem 1.3rem; text-decoration:none; font-weight:600;
  font-family:"Archivo",sans-serif; display:flex; align-items:center; gap:.9rem;
  transition:background-color .2s ease, color .2s ease;
}
.related a span{ font-family:"IBM Plex Mono",monospace; font-weight:400; font-size:var(--step--1); color:var(--muted-2); }
.related a:hover{ background:var(--green-soft); color:var(--green); }
@media (max-width:760px){ .related{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------- CTA-Band */
.ctaband{
  background:var(--panel); color:var(--on-panel); padding:clamp(1.9rem,1.2rem + 2.4vw,3rem);
  display:flex; flex-wrap:wrap; gap:1.5rem 2.5rem; align-items:center; justify-content:space-between;
  border-left:3px solid var(--green-lit);
}
.ctaband h2{ font-size:var(--step-2); margin-bottom:.5rem; }
.ctaband p{ color:var(--on-panel-2); max-width:52ch; }
.ctaband__actions{ display:flex; flex-wrap:wrap; gap:.75rem; }

/* ---------------------------------------------------------- Jobs */
.jobs{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,1rem + 4vw,4.5rem); align-items:start; }
.jobs h2{ font-size:var(--step-3); margin-top:.7rem; }
.quote{
  font-family:"Archivo",sans-serif; font-weight:600; font-size:var(--step-2); line-height:1.3; letter-spacing:-.015em;
  border-left:3px solid var(--green); padding-left:1.4rem; margin-block:1.4rem 1.8rem;
}
.promises li{ padding:1.1rem 0; border-bottom:1px solid var(--line); }
.promises h3{ font-size:var(--step-0); font-weight:600; letter-spacing:0; margin-bottom:.3rem; }
.promises p{ font-size:var(--step--1); color:var(--muted); line-height:1.6; }
.jobs__formhead{ background:var(--panel); color:var(--on-panel); padding:1.6rem 1.8rem 1.4rem; border-left:3px solid var(--green-lit); }
.jobs__formhead h3{ font-size:var(--step-2); margin-bottom:.4rem; }
.jobs__formhead p{ color:var(--on-panel-2); font-size:var(--step--1); }
@media (max-width:820px){ .jobs{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------- Kontakt */
.contact{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(2rem,1rem + 4vw,4.5rem); align-items:start; }
.contact h2{ font-size:var(--step-3); margin-top:.7rem; }
.contact .body-text{ margin-top:1.1rem; }
.contact__data{ margin-top:2rem; }
.contact__data li{ display:grid; grid-template-columns:7.5rem 1fr; gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--line); align-items:baseline; }
.contact__data .lbl{ font-size:var(--step--1); letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); }
.contact__data .val{ font-weight:500; }
.contact__data a{ text-decoration:none; border-bottom:1px solid var(--line-strong); }
.contact__data a:hover{ color:var(--green); border-color:var(--green); }
@media (max-width:900px){ .contact{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------- Formulare */
.form{ background:var(--surface); border:1px solid var(--line); padding:clamp(1.5rem,1rem + 2vw,2.5rem); }
.form--dark{ border-top:0; }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.field{ display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.1rem; }
.field label{ font-size:var(--step--1); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.field .hint{ font-family:"IBM Plex Sans",sans-serif; text-transform:none; letter-spacing:0; color:var(--muted-2); }
.field input,.field select,.field textarea{
  font-family:inherit; font-size:var(--step-0); color:var(--ink);
  background:var(--paper); border:1px solid var(--line-strong); border-radius:var(--radius);
  padding:.7rem .85rem; width:100%;
}
.field input[type="file"]{ padding:.55rem .85rem; font-size:var(--step--1); }
.field input[type="file"]::file-selector-button{
  font-family:"Archivo",sans-serif; font-size:var(--step--1); font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  background:var(--ink); color:var(--paper); border:0; border-radius:var(--radius); padding:.45rem .9rem; margin-right:.9rem; cursor:pointer;
}
.field textarea{ resize:vertical; min-height:130px; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:2px solid var(--green); outline-offset:0; border-color:var(--green); }
.hp{ position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.consent{ display:flex; gap:.75rem; align-items:flex-start; font-size:var(--step--1); color:var(--muted); line-height:1.55; margin-bottom:1.4rem; }
.consent input{ margin-top:.28rem; width:1rem; height:1rem; flex:none; accent-color:var(--green); }
.consent a{ color:var(--green); }
.formnote{ padding:.95rem 1.15rem; font-size:var(--step--1); margin-bottom:1.4rem; line-height:1.55; border-radius:var(--radius); }
.formnote--ok{ background:var(--ok-bg); color:var(--ok); border:1px solid var(--ok-line); }
.formnote--err{ background:var(--err-bg); color:var(--err); border:1px solid var(--err-line); }
@media (max-width:560px){ .form__row{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------- Rechtstexte */
.legal{ max-width:78ch; }
.legal h2{ font-size:var(--step-2); margin-block:2.6rem 1rem; padding-bottom:.6rem; border-bottom:2px solid var(--ink); }
.legal h2:first-child{ margin-top:0; }
.legal h3{ font-size:var(--step-1); margin-block:1.9rem .7rem; }
.legal h4{ font-size:var(--step-0); font-weight:700; margin-block:1.4rem .5rem; }
.legal p{ color:var(--ink-3); margin-bottom:1rem; }
.legal ul{ margin:0 0 1.2rem; }
.legal ul li{ position:relative; padding-left:1.35rem; margin-bottom:.5rem; color:var(--ink-3); }
.legal ul li::before{ content:""; position:absolute; left:.15rem; top:.72em; width:.36rem; height:.36rem; background:var(--green); }
.legal a{ color:var(--green); }
.legal .box{ background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--green); padding:1.3rem 1.5rem; margin-bottom:1.4rem; }
.legal .box p:last-child{ margin-bottom:0; }
.legal .todo{ background:var(--todo-bg); border:1px solid var(--todo-line); border-left:3px solid var(--todo-mark); padding:1.1rem 1.35rem; margin-bottom:1.4rem; font-size:var(--step--1); color:var(--todo-ink); }
.legal .todo strong{ color:var(--todo-ink2); }
.legal .todo p{ color:inherit; margin-bottom:.5rem; }
.legal .todo p:last-child{ margin-bottom:0; }
.legal table{ width:100%; border-collapse:collapse; margin-bottom:1.4rem; font-size:var(--step--1); }
.legal table th,.legal table td{ text-align:left; padding:.7rem .8rem; border-bottom:1px solid var(--line); vertical-align:top; }
.legal table th{ background:var(--paper-2); font-weight:700; }
.legal code{ font-family:"IBM Plex Mono",monospace; font-size:.9em; background:var(--paper-2); padding:.1em .4em; }
.tablewrap{ overflow-x:auto; }
.toc{ background:var(--surface); border:1px solid var(--line); padding:1.5rem 1.6rem; margin-bottom:2.5rem; }
.toc h2{ font-family:"IBM Plex Mono",monospace; font-size:var(--step--1)!important; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); border:0!important; padding:0!important; margin:0 0 .9rem!important; }
.toc ol{ counter-reset:toc; display:grid; gap:.35rem; }
.toc li{ counter-increment:toc; }
.toc li a{ color:var(--ink); text-decoration:none; font-weight:600; }
.toc li a::before{ content:counter(toc) ". "; color:var(--green); font-variant-numeric:tabular-nums; }
.toc li a:hover{ color:var(--green); }

/* ---------------------------------------------------------- 404 / Danke */
.notfound{ text-align:center; padding-block:clamp(4rem,3rem + 5vw,8rem); }
.notfound b{ display:block; font-family:"Archivo",sans-serif; font-weight:800; font-size:clamp(4.5rem,3rem + 10vw,9rem); line-height:1; color:var(--green-soft); letter-spacing:-.05em; }
.notfound h1{ font-size:var(--step-3); margin-block:.5rem 1rem; }
.notfound p{ color:var(--ink-3); max-width:52ch; margin-inline:auto; }
.notfound .btn{ margin-top:2rem; }

/* ---------------------------------------------------------- Cookie-Dialog */
.cdlg{ position:fixed; inset:0; z-index:300; display:flex; align-items:flex-end; justify-content:center; padding:1rem; background:rgba(10,14,12,.55); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); animation:cdlgIn .25s ease-out; }
.cdlg[hidden]{ display:none!important; }
@media (min-width:720px){ .cdlg{ align-items:center; } }
@keyframes cdlgIn{ from{ opacity:0; } to{ opacity:1; } }
.cdlg__box{ width:100%; max-width:560px; max-height:calc(100vh - 2rem); max-height:calc(100dvh - 2rem); overflow:auto; background:var(--surface); color:var(--ink); border:1px solid var(--line-strong); box-shadow:0 40px 90px -30px rgba(0,0,0,.6); padding:1.6rem 1.7rem 1.4rem; }
.cdlg__eyebrow{ font-family:"IBM Plex Mono",monospace; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--green); margin-bottom:.5rem; }
.cdlg h2{ font-size:var(--step-1); margin-bottom:.6rem; }
.cdlg p{ font-size:var(--step--1); color:var(--ink-3); line-height:1.6; margin-bottom:1.1rem; }
.cdlg a{ color:var(--green); }
.cdlg__opts{ display:grid; gap:.6rem; margin:0 0 1.2rem; }
.cdlg__opts[hidden]{ display:none; }
.cdlg__opt{ display:flex; gap:.8rem; align-items:flex-start; padding:.85rem .95rem; border:1px solid var(--line); cursor:pointer; }
.cdlg__opt input{ margin-top:.2rem; width:1.05rem; height:1.05rem; flex:none; accent-color:var(--green); cursor:pointer; }
.cdlg__opt input:disabled{ cursor:default; }
.cdlg__opt span{ font-size:var(--step--1); color:var(--ink-3); line-height:1.5; }
.cdlg__opt b{ display:block; color:var(--ink); font-weight:600; margin-bottom:.15rem; }
.cdlg__actions{ display:flex; flex-wrap:wrap; gap:.6rem; }
.cdlg .btn{ padding:.72rem 1.3rem; }
.cdlg .btn[hidden]{ display:none; }
.cdlg__foot{ margin:1rem 0 0; font-size:.78rem; color:var(--muted); }
@media (max-width:560px){ .cdlg{ padding:.6rem; } .cdlg__box{ padding:1.25rem 1.2rem 1.1rem; } .cdlg__actions .btn{ flex:1 1 100%; justify-content:center; } }
@media (prefers-reduced-motion:reduce){ .cdlg{ animation:none; } }

/* ---------------------------------------------------------- Footer */
.footer{ background:var(--panel); color:var(--on-panel-2); padding-block:clamp(2.75rem,2rem + 2.4vw,4rem) 1.75rem; font-size:var(--step--1); }
.footer__top{ display:grid; grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr)); gap:clamp(1.75rem,1rem + 3vw,3.5rem); padding-bottom:2.25rem; border-bottom:1px solid var(--panel-line); }
.footer img{ height:40px; width:auto; }
.footer h2{ font-size:var(--step--1); font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--on-panel-3); margin:0 0 .9rem; }
.footer li{ padding:.3rem 0; }
.footer a{ color:var(--on-panel-2); text-decoration:none; }
.footer a:hover{ color:var(--green-lit); }
.footer .about-txt{ line-height:1.7; max-width:42ch; margin-top:1.1rem; }
.footer__bottom{ display:flex; flex-wrap:wrap; gap:.6rem 1.75rem; justify-content:space-between; padding-top:1.5rem; color:var(--on-panel-3); }
.footer__legal{ display:flex; flex-wrap:wrap; gap:1.5rem; }
@media (max-width:900px){ .footer__top{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){ .footer__top{ grid-template-columns:1fr; } }

.skip{ position:absolute; left:-9999px; top:0; background:var(--panel); color:var(--on-panel); padding:.75rem 1.1rem; z-index:300; }
.skip:focus{ left:.5rem; top:.5rem; }

@media print{
  .header,.menu,.footer,.cdlg,.ctaband,.skip{ display:none!important; }
  body{ background:#fff; color:#000; font-size:11pt; }
  .section{ padding-block:1rem; }
  a[href^="http"]::after{ content:" (" attr(href) ")"; font-size:9pt; color:#555; }
}

/* powered by C&W Web Services — Fußzeilen-Baustein (keine Inline-Styles, CSP-tauglich) */
.cwws-powered{display:flex;justify-content:center;padding:1.1rem 1rem .4rem;font:inherit}
.cwws-powered__in{display:inline-flex;align-items:center;gap:.55rem;color:inherit;text-decoration:none;opacity:.72;transition:opacity .25s}
.cwws-powered__in:hover{opacity:1;color:inherit}
.cwws-powered__label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-family:ui-monospace,"JetBrains Mono",Menlo,monospace}
.cwws-powered__mark{width:22px;height:17px;flex:none;display:inline-block}
.cwws-powered__name{font-weight:600;font-size:.86rem;letter-spacing:-.01em}
