/* ===========================================================================
   Beyonetix Website — design system (dark + vivid green, Poppins)
   =========================================================================== */
:root{
  --by-bg:#0a0b0d; --by-bg-2:#101317; --by-bg-3:#171b21;
  --by-line-d:rgba(255,255,255,.10); --by-line-d2:rgba(255,255,255,.06);
  --by-light:#f3f5f3; --by-light-2:#fbfcfb; --by-white:#fff; --by-line:#e6e8e5;
  --by-green:#43b846; --by-green-2:#61ce70; --by-green-3:#2f9a39; --by-green-soft:rgba(67,184,70,.12);
  --by-grad:linear-gradient(120deg,#3aa845 0%,#52c45c 48%,#79da86 100%);
  --by-grad-soft:linear-gradient(120deg,#43b846,#61ce70);
  --by-ink:#13161a; --by-ink-2:#454d55; --by-ink-3:#6e767d;
  --by-on-d:#ffffff; --by-on-d-2:rgba(255,255,255,.82); --by-on-d-3:rgba(255,255,255,.6);
  --by-r:18px; --by-r-sm:12px; --by-r-lg:26px; --by-maxw:1180px;
  --by-font:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --by-shadow:0 22px 60px -28px rgba(10,12,15,.35);
  --by-shadow-d:0 30px 70px -30px rgba(0,0,0,.6);
  --by-head-h:74px;
  /* Override Odoo's default Inter/Google-Fonts variables with self-hosted
     Poppins (GDPR: no Google Fonts request, no data transfer to the US). */
  --font:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --headings-font:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --font-sans-serif:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --body-font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --headings-font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  /* Kill Odoo's default purple link colour everywhere (use brand green). */
  --link-color:#2f9a39; --link-color-rgb:47,154,57; --link-hover-color:#43b846;
  --o-cc1-link:#2f9a39; --primary:#43b846; --by-grid:rgba(97,206,112,.08);
}

/* ---- Reboot-Subset: ersetzt die frueher via website.layout geladenen
   Bootstrap-Basisregeln; das Dokument ist jetzt standalone. Werte = Bootstrap 5,
   damit die visuell validierte Kaskade unveraendert bleibt. ---- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--by-font);font-size:1rem;font-weight:400;line-height:1.5;
  color:var(--by-ink);background-color:var(--by-light);}
h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;}
p{margin-top:0;margin-bottom:1rem;}
ul,ol{margin-top:0;margin-bottom:1rem;padding-left:2rem;}
li>ul,li>ol{margin-bottom:0;}
b,strong{font-weight:bolder;}
small{font-size:.875em;}
a{color:var(--link-color);text-decoration:underline;}
img,svg{vertical-align:middle;}
table{border-collapse:collapse;}
label{display:inline-block;}
input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit;}
button,select{text-transform:none;}
button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;}
button{border-radius:0;}
textarea{resize:vertical;}
fieldset{min-width:0;padding:0;margin:0;border:0;}
legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;}
legend+*{clear:left;}
summary{display:list-item;cursor:pointer;}
[hidden]{display:none!important;}

/* ---- base (scoped) — .by-site sits on header, footer and the page wrap ---- */
.by-site{font-family:var(--by-font);-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;line-height:1.6;}
.by-wrap{background:var(--by-light);color:var(--by-ink);overflow-x:clip;}
/* Force Poppins everywhere (Odoo's theme sets its own heading/body font). */
.by-site,.by-site h1,.by-site h2,.by-site h3,.by-site h4,.by-site h5,.by-site h6,
.by-site p,.by-site a,.by-site span,.by-site li,.by-site label,.by-site button,
.by-site input,.by-site select,.by-site textarea,.by-site summary,.by-site strong,
.by-site em,.by-site div{font-family:var(--by-font);}
.by-site *,.by-site *::before,.by-site *::after{box-sizing:border-box;}
.by-site img{max-width:100%;display:block;}
/* Neutralise Odoo's <a> colour at ZERO specificity so component link classes
   (.by-nav__link, .by-mobile__link, .by-card--link, …) always win. */
.by-site :where(a){color:inherit;text-decoration:none;}
.by-wrap{overflow-clip-margin:1px;}
.by-container{width:100%;max-width:var(--by-maxw);margin:0 auto;padding:0 clamp(22px,4vw,52px);}
.by-container--narrow{max-width:820px;}

/* ---- typography ---- */
.by-site h1,.by-site h2,.by-site h3,.by-site h4{margin:0;font-weight:700;line-height:1.12;letter-spacing:-.02em;}
.by-site p{margin:0;}
.by-grad{background:var(--by-grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;}

/* ---- sections ---- */
.by-sec{position:relative;padding:96px 0;}
.by-sec--light{background:var(--by-light);color:var(--by-ink);}
.by-sec--dark{background:var(--by-bg);color:var(--by-on-d);}
.by-sec--dark .by-sechead__sub,.by-sec--dark .by-split__p{color:var(--by-on-d-2);}

/* ---- eyebrow / ghost / section head ---- */
.by-eyebrow{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--by-ink-3);margin:0 0 14px;}
.by-sec--dark .by-eyebrow{color:var(--by-on-d-3);}
.by-eyebrow--accent{color:var(--by-green-3);}
.by-sec--dark .by-eyebrow--accent{color:var(--by-green-2);}
.by-sechead{position:relative;max-width:720px;margin:0 0 56px;}
.by-sechead--center,.by-features .by-sechead,.by-steps .by-sechead,.by-tech .by-sechead,
.by-bento .by-sechead,.by-faq .by-sechead{margin-left:auto;margin-right:auto;text-align:center;}
.by-sechead__title{font-size:clamp(28px,3.4vw,42px);text-wrap:balance;}
.by-sechead__sub{margin-top:16px;font-size:18px;color:var(--by-ink-2);text-wrap:pretty;}
.by-ghost{display:none;}
.by-sechead>*{position:relative;z-index:1;}

/* ---- buttons ---- */
.by-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--by-font);
  font-weight:600;font-size:15px;line-height:1;padding:15px 26px;border-radius:999px;
  border:1.5px solid transparent;cursor:pointer;transition:.22s ease;white-space:nowrap;}
.by-btn .by-ic{width:18px;height:18px;transition:transform .22s ease;}
.by-btn:hover .by-ic{transform:translateX(3px);}
.by-btn--sm{padding:11px 20px;font-size:14px;}
.by-btn--lg{padding:17px 32px;font-size:16px;}
.by-btn--solid{background:var(--by-grad);color:#06250b;box-shadow:0 10px 26px -10px rgba(67,184,70,.6);}
.by-btn--solid:hover{transform:translateY(-2px);box-shadow:0 16px 34px -10px rgba(67,184,70,.75);}
.by-btn--outline{background:transparent;border-color:rgba(255,255,255,.30);color:#fff;}
.by-sec--light .by-btn--outline,.by-pagehead .by-btn--outline{border-color:rgba(255,255,255,.3);color:#fff;}
.by-btn--outline:hover{border-color:var(--by-green-2);color:var(--by-green-2);}
.by-btn--dark{background:#0a0b0d;color:#fff;}
.by-btn--dark:hover{transform:translateY(-2px);background:#000;}
.by-btn--ghostdark{background:transparent;border-color:rgba(0,0,0,.22);color:#0a0b0d;}
.by-btn--ghostdark:hover{border-color:#0a0b0d;}
.by-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.by-ctas--center{justify-content:center;margin-top:0;}

/* ---- chips / checklist / tags ---- */
.by-chip{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:500;
  color:var(--by-on-d-2);}
.by-chip .by-ic{width:16px;height:16px;color:var(--by-green-2);}
.by-checklist{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:13px;}
.by-checklist li{display:flex;align-items:flex-start;gap:11px;font-size:15.5px;}
.by-check{width:21px;height:21px;flex:none;margin-top:1px;color:var(--by-green);
  background:var(--by-green-soft);border-radius:50%;padding:3px;}
.by-sec--dark .by-check{color:var(--by-green-2);background:rgba(97,206,112,.14);}

/* ===========================  HERO  =============================== */
.by-hero{background:var(--by-bg);color:var(--by-on-d);padding:140px 0 120px;overflow:hidden;}
.by-hero--gradient{background:linear-gradient(160deg,#0a0b0d 0%,#0d1512 100%);}
.by-hero__glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(900px 460px at 78% -8%,rgba(67,184,70,.22),transparent 60%),
             radial-gradient(700px 420px at 8% 110%,rgba(97,206,112,.12),transparent 60%);}
.by-hero__inner{position:relative;z-index:1;max-width:880px;}
.by-hero__title{font-size:clamp(38px,5.6vw,68px);font-weight:800;letter-spacing:-.03em;line-height:1.08;
  text-wrap:balance;}
.by-hero__lead{margin-top:30px;font-size:clamp(17px,1.6vw,20px);line-height:1.65;
  color:var(--by-on-d-2);max-width:600px;text-wrap:pretty;}
.by-hero__badges{list-style:none;margin:40px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px 24px;}
.by-hero__stats{display:flex;flex-wrap:wrap;gap:46px;margin-top:50px;}
.by-hero__stat{display:flex;flex-direction:column;}
.by-hero__stat .by-stat__val{font-size:34px;font-weight:800;}
.by-hero__stat .by-stat__lbl{font-size:13.5px;color:var(--by-on-d-2);}

/* ===========================  PAGE HEADER  ======================= */
.by-pagehead{background:var(--by-bg);color:var(--by-on-d);padding:104px 0 86px;overflow:hidden;}
.by-pagehead__glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(800px 420px at 82% -20%,rgba(67,184,70,.20),transparent 60%);}
.by-pagehead>.by-container{position:relative;z-index:1;}
.by-pagehead__title{font-size:clamp(32px,4.4vw,52px);font-weight:800;max-width:900px;line-height:1.1;text-wrap:balance;}
.by-pagehead__lead{margin-top:22px;font-size:19px;line-height:1.65;color:var(--by-on-d-2);max-width:680px;text-wrap:pretty;}
.by-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px;
  color:var(--by-on-d-3);margin-bottom:22px;}
.by-crumb a:hover{color:var(--by-green-2);}
.by-crumb__sep{opacity:.5;}
.by-crumb__cur{color:var(--by-on-d-2);}

/* ===========================  LEAD  ============================== */
.by-lead{padding:80px 0;}
.by-lead__text{font-size:clamp(22px,2.8vw,32px);font-weight:600;line-height:1.4;
  letter-spacing:-.02em;text-align:center;color:var(--by-ink);text-wrap:balance;}
.by-lead .by-eyebrow{display:block;text-align:center;color:var(--by-green-3);}

/* ===========================  GRID / CARDS  ====================== */
.by-grid{display:grid;gap:22px;}
.by-grid--2{grid-template-columns:repeat(2,1fr);}
.by-grid--3{grid-template-columns:repeat(3,1fr);}
.by-grid--4{grid-template-columns:repeat(4,1fr);}
.by-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px;
  background:var(--by-white);border:1px solid var(--by-line);border-radius:var(--by-r);
  transition:.22s ease;height:100%;}
.by-sec--dark .by-card{background:var(--by-bg-2);border-color:var(--by-line-d);}
.by-card--link{color:var(--by-ink);}
.by-sec--dark .by-card--link{color:var(--by-on-d);}
.by-card--link:hover{transform:translateY(-4px);border-color:rgba(67,184,70,.45);
  box-shadow:var(--by-shadow);}
.by-sec--dark .by-card--link:hover{box-shadow:var(--by-shadow-d);}
.by-card__ico{width:50px;height:50px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:13px;background:var(--by-green-soft);color:var(--by-green-3);}
.by-sec--dark .by-card__ico{background:rgba(97,206,112,.13);color:var(--by-green-2);}
.by-card__ico .by-ic{width:25px;height:25px;}
.by-card__title{font-size:18.5px;font-weight:700;letter-spacing:-.01em;}
.by-card__text{font-size:14.5px;color:var(--by-ink-2);line-height:1.55;}
.by-sec--dark .by-card__text{color:var(--by-on-d-2);}
.by-card__tag{align-self:flex-start;font-size:11.5px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--by-green-3);background:var(--by-green-soft);
  padding:4px 10px;border-radius:999px;}
.by-card__more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;
  font-size:14px;font-weight:600;color:var(--by-green-3);}
.by-card__more .by-ic{width:16px;height:16px;transition:transform .22s;}
.by-card--link:hover .by-card__more .by-ic{transform:translateX(4px);}

/* ===========================  SPLIT  ============================= */
.by-split__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
.by-split--rev .by-split__text{order:2;}
.by-split--rev .by-split__media{order:1;}
.by-split__title{font-size:clamp(26px,3.2vw,40px);margin-bottom:20px;}
.by-split__p{font-size:16.5px;line-height:1.7;color:var(--by-ink-2);margin-bottom:14px;}
.by-sec--dark .by-split__p{color:var(--by-on-d-2);}
.by-split__cta{margin-top:30px;}
.by-figure{position:relative;aspect-ratio:1/.82;border-radius:var(--by-r-lg);overflow:hidden;
  background:linear-gradient(150deg,#0c0e11,#12211a);border:1px solid var(--by-line-d);
  box-shadow:var(--by-shadow);}
.by-sec--light .by-figure{box-shadow:var(--by-shadow);}
.by-figure__grid{position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(97,206,112,.10) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(97,206,112,.10) 1px,transparent 1px);
  background-size:36px 36px;mask:radial-gradient(120% 100% at 70% 20%,#000,transparent 75%);}
.by-figure__orb{position:absolute;width:62%;aspect-ratio:1;right:-12%;top:-16%;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,rgba(97,206,112,.55),rgba(67,184,70,.05) 62%);
  filter:blur(6px);}
.by-figure__badge{position:absolute;left:26px;bottom:26px;display:inline-flex;align-items:center;
  gap:10px;padding:12px 18px;border-radius:14px;background:rgba(10,12,15,.6);
  border:1px solid var(--by-line-d);backdrop-filter:blur(8px);color:#fff;font-weight:600;font-size:15px;}
.by-figure__badge .by-ic{width:22px;height:22px;color:var(--by-green-2);}

/* ===========================  STEPS  ============================= */
.by-steps__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.by-step{position:relative;padding:30px 26px;border-radius:var(--by-r);
  background:var(--by-bg-2);border:1px solid var(--by-line-d);}
.by-sec--light .by-step{background:var(--by-white);border-color:var(--by-line);}
.by-step__num{font-size:15px;font-weight:800;color:var(--by-green-2);letter-spacing:.04em;}
.by-sec--light .by-step__num{color:var(--by-green-3);}
.by-step__title{margin:12px 0 14px;font-size:20px;}
.by-step__points{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.by-step__points li{position:relative;padding-left:18px;font-size:14.5px;color:var(--by-on-d-2);line-height:1.5;}
.by-sec--light .by-step__points li{color:var(--by-ink-2);}
.by-step__points li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;
  border-radius:50%;background:var(--by-green);}

/* ===========================  TECH  ============================== */
.by-tech__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:34px 48px;}
.by-tech__col{flex:0 1 218px;}
.by-tech__coltitle{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--by-green-2);margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--by-line-d);}
.by-sec--light .by-tech__coltitle{color:var(--by-green-3);border-color:var(--by-line);}
.by-tech__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:9px;}
.by-tag{font-size:13.5px;font-weight:500;padding:7px 13px;border-radius:9px;
  background:rgba(255,255,255,.05);border:1px solid var(--by-line-d);color:var(--by-on-d);}
.by-sec--light .by-tag{background:var(--by-white);border-color:var(--by-line);color:var(--by-ink);}

/* ===========================  STATS  ============================= */
.by-stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.by-stat{text-align:center;padding:14px;}
.by-stat__val{display:block;font-size:clamp(36px,4.6vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1;}
.by-stat__lbl{display:block;margin-top:10px;font-size:14.5px;color:var(--by-ink-2);}
.by-sec--dark .by-stat__lbl{color:var(--by-on-d-2);}

/* ===========================  BENTO  ============================= */
.by-bento__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.by-bento__cell{padding:30px;border-radius:var(--by-r);background:var(--by-bg-2);
  border:1px solid var(--by-line-d);transition:.22s ease;}
.by-bento__cell--wide{grid-column:span 2;
  background:linear-gradient(140deg,#101317,#0e1a13);}
.by-bento__cell:hover{border-color:rgba(97,206,112,.4);transform:translateY(-3px);}
.by-bento__ico{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:13px;background:rgba(97,206,112,.13);color:var(--by-green-2);margin-bottom:16px;}
.by-bento__ico .by-ic{width:24px;height:24px;}
.by-bento__title{font-size:19px;margin-bottom:8px;}
.by-bento__text{font-size:14.5px;color:var(--by-on-d-2);line-height:1.55;}

/* ===========================  LOGOS / STANDARDS  ================= */
.by-logos{padding:64px 0;}
.by-logos__title{text-align:center;font-size:clamp(20px,2.3vw,25px);font-weight:700;letter-spacing:-.01em;
  color:var(--by-ink);margin-bottom:28px;}
.by-sec--dark .by-logos__title{color:#fff;}
.by-logos__row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;
  gap:14px 18px;}
.by-logos__item{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;
  letter-spacing:.01em;color:var(--by-ink-2);
  padding:10px 18px;border:1px solid var(--by-line);border-radius:11px;background:var(--by-white);}
.by-logos__img{width:22px;height:22px;object-fit:contain;border-radius:4px;
  filter:grayscale(1);opacity:.85;transition:.2s;}
.by-logos__item:hover .by-logos__img{filter:none;opacity:1;}

/* ===========================  BANNER  ============================ */
.by-banner{background:var(--by-light);padding:40px 0 96px;}
.by-banner__box{position:relative;overflow:hidden;border-radius:var(--by-r-lg);
  background:var(--by-grad);padding:64px 40px;text-align:center;color:#06250b;}
.by-banner__glow{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(600px 300px at 80% -30%,rgba(255,255,255,.4),transparent 60%);}
.by-banner__title{position:relative;font-size:clamp(26px,3.4vw,40px);font-weight:800;letter-spacing:-.02em;text-wrap:balance;}
.by-banner__text{position:relative;margin:16px auto 30px;max-width:640px;font-size:18px;text-wrap:balance;
  color:#0a3a13;font-weight:500;}
.by-banner .by-ctas{position:relative;}

/* ===========================  FAQ  ============================== */
.by-faq__list{display:grid;gap:14px;}
.by-faq__item{border:1px solid var(--by-line);border-radius:var(--by-r-sm);background:var(--by-white);
  overflow:hidden;transition:.2s;}
.by-sec--dark .by-faq__item{background:var(--by-bg-2);border-color:var(--by-line-d);}
.by-faq__item[open]{border-color:rgba(67,184,70,.4);}
.by-faq__q{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;
  padding:21px 24px;font-size:16.5px;font-weight:600;list-style:none;}
.by-faq__q::-webkit-details-marker{display:none;}
.by-faq__icon{flex:none;color:var(--by-green-3);transition:transform .25s;}
.by-sec--dark .by-faq__icon{color:var(--by-green-2);}
.by-faq__icon .by-ic{width:20px;height:20px;}
.by-faq__item[open] .by-faq__icon{transform:rotate(180deg);}
.by-faq__a{padding:0 24px 22px;}
.by-faq__a p{font-size:15px;line-height:1.65;color:var(--by-ink-2);}
.by-sec--dark .by-faq__a p{color:var(--by-on-d-2);}

/* ===========================  PROSE / ARTICLE  ================== */
.by-rich__meta{font-size:13.5px;color:var(--by-ink-3);margin-bottom:14px;}
.by-prose{font-size:16.5px;line-height:1.75;color:#2b3036;}
.by-prose h2{font-size:25px;margin:36px 0 14px;letter-spacing:-.01em;}
.by-prose h2:first-child{margin-top:0;}
.by-prose h3{font-size:20px;margin:28px 0 12px;}
.by-prose p{margin:0 0 16px;}
.by-prose ul{margin:0 0 18px;padding-left:0;list-style:none;display:grid;gap:10px;}
.by-prose ul li{position:relative;padding-left:26px;}
.by-prose ul li::before{content:"";position:absolute;left:4px;top:10px;width:8px;height:8px;
  border-radius:50%;background:var(--by-green);}
.by-prose a{color:var(--by-green-3);text-decoration:underline;text-underline-offset:2px;}
.by-prose a:hover{color:var(--by-green);}
.by-prose strong{color:var(--by-ink);font-weight:600;}
.by-prose em{color:var(--by-ink);font-style:italic;}
.by-tldr{background:var(--by-green-soft);border:1px solid rgba(67,184,70,.25);
  border-radius:var(--by-r);padding:24px 26px;margin:0 0 34px;}
.by-tldr h2{font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:var(--by-green-3);margin:0 0 12px;}
.by-tldr ul{margin:0;}
.by-legal-note{background:#fff7e6;border:1px solid #ffe1a8;color:#7a5a13;padding:14px 18px;
  border-radius:10px;font-size:14px;margin-bottom:24px;}

/* ===========================  CONTACT  ========================== */
.by-contact__inner{display:grid;grid-template-columns:1.25fr .85fr;gap:46px;align-items:start;}
.by-contact__title{font-size:clamp(24px,2.8vw,34px);margin-bottom:8px;}
.by-contact__sub{color:var(--by-ink-2);font-size:15px;margin-bottom:26px;}
.by-form{display:grid;gap:18px;}
.by-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.by-field{display:flex;flex-direction:column;gap:7px;}
.by-field__lbl{font-size:13.5px;font-weight:600;color:var(--by-ink);}
.by-input{font-family:var(--by-font);font-size:15px;padding:13px 15px;border:1.5px solid var(--by-line);
  border-radius:11px;background:var(--by-white);color:var(--by-ink);transition:.18s;width:100%;}
.by-input:focus{outline:none;border-color:var(--by-green);box-shadow:0 0 0 4px var(--by-green-soft);}
.by-input.is-err{border-color:#e3504a;box-shadow:0 0 0 4px rgba(227,80,74,.1);}
.by-textarea{resize:vertical;min-height:130px;}
.by-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2343b846' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:42px;}
.by-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;}
.by-consent{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:var(--by-ink-2);line-height:1.5;}
.by-consent input{margin-top:3px;width:17px;height:17px;accent-color:var(--by-green);flex:none;}
.by-consent.is-err{color:#c33;}
.by-consent a{color:var(--by-green-3);font-weight:600;}
.by-form__submit{margin-top:6px;justify-self:start;}
.by-formerr{background:#fdeceb;border:1px solid #f4b8b4;border-radius:11px;padding:14px 18px;
  color:#a3322c;font-size:14px;margin-bottom:22px;}
.by-formerr ul{margin:6px 0 0;padding-left:18px;}
.by-contact__success{text-align:center;padding:40px 20px;background:var(--by-white);
  border:1px solid var(--by-line);border-radius:var(--by-r);}
.by-contact__success-ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;
  border-radius:50%;background:var(--by-grad);color:#fff;margin-bottom:18px;}
.by-contact__success-ico .by-ic{width:34px;height:34px;}
.by-contact__success h2{font-size:26px;margin-bottom:10px;}
.by-contact__success p{color:var(--by-ink-2);margin-bottom:22px;}
.by-contact__card{background:var(--by-bg);color:#fff;border-radius:var(--by-r);padding:30px;}
.by-contact__card h3{font-size:19px;margin-bottom:18px;}
.by-contact__line{display:flex;align-items:center;gap:11px;padding:9px 0;font-size:15px;color:var(--by-on-d-2);}
.by-contact__line:hover{color:var(--by-green-2);}
.by-contact__line .by-ic{width:19px;height:19px;color:var(--by-green-2);flex:none;}
.by-contact__resp{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:16px;
  border-top:1px solid var(--by-line-d);font-size:14px;color:var(--by-on-d-2);}
.by-contact__resp .by-ic{width:18px;height:18px;color:var(--by-green-2);}
.by-contact__badges{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px;}
.by-contact__badges li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--by-on-d-2);}
.by-contact__badges .by-ic{width:16px;height:16px;color:var(--by-green-2);}
.by-contact__steps{margin-top:18px;display:grid;gap:12px;}
.by-contact__step{display:flex;gap:13px;align-items:flex-start;padding:16px 18px;background:var(--by-white);
  border:1px solid var(--by-line);border-radius:13px;}
.by-contact__step-ico{width:38px;height:38px;flex:none;display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;background:var(--by-green-soft);color:var(--by-green-3);}
.by-contact__step-ico .by-ic{width:20px;height:20px;}
.by-contact__step strong{display:block;font-size:15px;}
.by-contact__step span span{font-size:13.5px;color:var(--by-ink-2);}

/* ===========================  HEADER  =========================== */
.by-skip{position:absolute;left:-9999px;top:0;z-index:200;background:#fff;color:#0a0b0d;
  padding:10px 16px;border-radius:8px;}
.by-skip:focus{left:12px;top:12px;}
.by-header{position:sticky;top:0;z-index:120;background:rgba(10,11,13,.86);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--by-line-d2);}
.by-header__inner{max-width:1240px;margin:0 auto;padding:0 24px;height:var(--by-head-h);
  display:flex;align-items:center;gap:20px;}
.by-logo__img{height:30px;width:auto;}
.by-nav{margin-left:8px;}
.by-nav__list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px;}
.by-nav__item{position:relative;}
.by-nav__link{display:inline-flex;align-items:center;gap:5px;padding:10px 13px;border-radius:10px;
  font-size:15px;font-weight:500;color:var(--by-on-d-2);transition:.18s;white-space:nowrap;}
.by-nav__link:hover{color:#fff;background:rgba(255,255,255,.05);}
.by-nav__chev{width:15px;height:15px;transition:transform .2s;}
.by-nav__item--mega:hover .by-nav__chev{transform:rotate(180deg);}
.by-header__actions{margin-left:auto;display:flex;align-items:center;gap:14px;}
.by-lang{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;}
.by-lang__opt{color:var(--by-on-d-3);padding:4px 2px;transition:.18s;}
.by-lang__opt:hover{color:#fff;}
.by-lang__opt.is-active{color:var(--by-green-2);}
.by-lang__sep{color:var(--by-on-d-3);}
.by-burger{display:none;width:42px;height:42px;border:1px solid var(--by-line-d);border-radius:11px;
  background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
.by-burger span{display:block;width:18px;height:2px;background:#fff;border-radius:2px;transition:.25s;}
.by-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.by-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.by-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* mega menu */
.by-mega{position:fixed;top:calc(var(--by-head-h) + 6px);left:50%;
  transform:translateX(-50%) translateY(8px);
  width:min(760px,calc(100vw - 32px));opacity:0;visibility:hidden;transition:.22s ease;z-index:130;}
.by-mega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;}
.by-nav__item--mega:hover .by-mega,.by-nav__item--mega:focus-within .by-mega{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.by-mega__inner{background:#0e1116;border:1px solid var(--by-line-d);border-radius:18px;
  padding:18px;box-shadow:var(--by-shadow-d);}
.by-mega__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;}
.by-mega__card{display:flex;gap:13px;align-items:flex-start;padding:13px;border-radius:12px;transition:.16s;}
.by-mega__card:hover{background:rgba(255,255,255,.05);}
.by-mega__ico{width:38px;height:38px;flex:none;display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;background:rgba(97,206,112,.12);color:var(--by-green-2);}
.by-mega__ico .by-ic{width:20px;height:20px;}
.by-mega__txt{display:flex;flex-direction:column;gap:3px;}
.by-mega__title{font-size:14.5px;font-weight:600;color:#fff;}
.by-mega__teaser{font-size:12.5px;color:var(--by-on-d-3);line-height:1.4;}
.by-mega__all{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;
  padding:13px;border-radius:12px;background:rgba(97,206,112,.1);color:var(--by-green-2);
  font-weight:600;font-size:14px;}
/* simple dropdown (e.g. Plattform) */
.by-drop{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(8px);
  min-width:268px;max-width:calc(100vw - 24px);background:#0e1116;border:1px solid var(--by-line-d);border-radius:16px;padding:8px;
  box-shadow:var(--by-shadow-d);opacity:0;visibility:hidden;transition:.22s ease;z-index:130;}
.by-nav__item--drop:hover .by-drop,.by-nav__item--drop:focus-within .by-drop{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.by-nav__item--drop:hover .by-nav__chev{transform:rotate(180deg);}
.by-drop::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;}
.by-drop__link{display:flex;gap:11px;align-items:flex-start;padding:11px 12px;border-radius:11px;transition:.16s;}
.by-drop__link:hover{background:rgba(255,255,255,.05);}
.by-drop__ico{width:34px;height:34px;flex:none;display:inline-flex;align-items:center;justify-content:center;
  border-radius:9px;background:rgba(97,206,112,.12);color:var(--by-green-2);}
.by-drop__ico .by-ic{width:18px;height:18px;}
.by-drop__txt{display:flex;flex-direction:column;gap:2px;}
.by-drop__title{font-size:14.5px;font-weight:600;color:#fff;}
.by-drop__teaser{font-size:12.5px;color:var(--by-on-d-3);line-height:1.4;}
.by-mega__all .by-ic{width:17px;height:17px;}
.by-mega__all:hover{background:rgba(97,206,112,.18);}

/* mobile drawer */
.by-mobile{display:none;border-top:1px solid var(--by-line-d);background:#0c0e12;
  padding:18px 24px 30px;}
.by-mobile.is-open{display:block;}
.by-mobile__nav{display:flex;flex-direction:column;gap:4px;}
.by-mobile__link{padding:13px 6px;font-size:17px;font-weight:600;color:#fff;
  border-bottom:1px solid var(--by-line-d2);}
.by-mobile__link--head{color:var(--by-green-2);}
.by-mobile__sub{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:10px 0;}
.by-mobile__sublink{display:flex;align-items:center;gap:9px;padding:10px 8px;border-radius:10px;
  font-size:13.5px;color:var(--by-on-d-2);background:rgba(255,255,255,.03);}
.by-mobile__sublink .by-ic{width:18px;height:18px;color:var(--by-green-2);flex:none;}
.by-mobile__cta{margin-top:16px;justify-content:center;}
.by-mobile__lang{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:18px;font-weight:600;}

/* ===========================  FOOTER  =========================== */
.by-footer{background:var(--by-bg);color:var(--by-on-d-2);}
.by-footer__cta{border-bottom:1px solid var(--by-line-d);}
.by-footer__cta-inner{max-width:var(--by-maxw);margin:0 auto;padding:40px 24px;display:flex;
  align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.by-footer__cta-text{font-size:clamp(20px,2.6vw,28px);font-weight:700;color:#fff;letter-spacing:-.01em;max-width:620px;}
.by-footer__main{max-width:var(--by-maxw);margin:0 auto;padding:64px 24px 40px;display:grid;
  grid-template-columns:1.3fr 2fr;gap:48px;}
.by-footer__brand .by-logo__img{height:30px;margin-bottom:18px;}
.by-footer__tagline{font-size:15px;line-height:1.6;max-width:330px;margin-bottom:22px;}
.by-footer__contact{display:grid;gap:8px;}
.by-footer__contact-item{display:flex;align-items:center;gap:10px;font-size:14.5px;}
.by-footer__contact-item:hover{color:var(--by-green-2);}
.by-footer__contact-item .by-ic{width:18px;height:18px;color:var(--by-green-2);}
.by-footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.by-footer__col-title{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;margin-bottom:16px;}
.by-footer__col-list{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.by-footer__col-list a{font-size:14.5px;color:var(--by-on-d-2);transition:.16s;}
.by-footer__col-list a:hover{color:var(--by-green-2);}
.by-footer__bottom{border-top:1px solid var(--by-line-d);}
.by-footer__bottom{max-width:100%;}
.by-footer__bottom>*{}
.by-footer__bottom{display:flex;}
.by-footer__bottom{max-width:var(--by-maxw);margin:0 auto;padding:22px 24px;align-items:center;
  justify-content:space-between;gap:16px;flex-wrap:wrap;}
.by-footer__copy{font-size:13.5px;color:var(--by-on-d-3);}
.by-footer__legal{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 18px;}
.by-footer__legal a{font-size:13.5px;color:var(--by-on-d-3);}
.by-footer__legal a:hover{color:var(--by-green-2);}
.by-footer__location{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--by-on-d-2);margin-top:10px;}
.by-footer__location .by-ic{width:16px;height:16px;color:var(--by-green-2);}

/* ===========================  ENHANCEMENTS (cool / IT)  ======== */
.by-logo{flex:none;display:inline-flex;align-items:center;}
/* Tech grid + glow on dark surfaces */
.by-sec--dark,.by-hero,.by-pagehead{position:relative;overflow:hidden;}
.by-sec--dark::before,.by-hero::before,.by-pagehead::before{content:"";position:absolute;inset:0;z-index:0;
  pointer-events:none;background-image:linear-gradient(var(--by-grid) 1px,transparent 1px),
  linear-gradient(90deg,var(--by-grid) 1px,transparent 1px);background-size:50px 50px;
  -webkit-mask:radial-gradient(115% 85% at 40% 0,#000 22%,transparent 76%);
  mask:radial-gradient(115% 85% at 40% 0,#000 22%,transparent 76%);}
.by-sec--dark>.by-container{position:relative;z-index:1;}
.by-pagehead>.by-container{position:relative;z-index:2;}
.by-hero__inner{z-index:2;}

/* Hero two-column with a platform console visual */
.by-hero--split .by-hero__inner{max-width:1220px;margin-left:auto;margin-right:auto;
  display:grid;grid-template-columns:1.04fr .96fr;gap:56px;align-items:center;}
.by-hero--split .by-hero__copy{max-width:600px;}
.by-console{position:relative;border-radius:18px;background:linear-gradient(160deg,#0e1217,#0c1a13);
  border:1px solid rgba(97,206,112,.22);box-shadow:0 40px 90px -40px rgba(0,0,0,.7),
  0 0 0 1px rgba(255,255,255,.02) inset;overflow:hidden;}
.by-console__glow{position:absolute;width:60%;aspect-ratio:1;right:-12%;top:-22%;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,rgba(97,206,112,.5),transparent 62%);filter:blur(10px);pointer-events:none;}
.by-console__bar{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.07);}
.by-console__bar i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.18);display:inline-block;}
.by-console__bar i:first-child{background:#ff5f56;}.by-console__bar i:nth-child(2){background:#ffbd2e;}
.by-console__bar i:nth-child(3){background:#61ce70;}
.by-console__bar em{margin-left:auto;font-style:normal;font-size:12px;color:var(--by-on-d-3);font-weight:500;letter-spacing:.03em;}
.by-console__body{position:relative;padding:20px 18px 22px;display:grid;gap:13px;}
.by-console__q{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;color:#9fe6ac;}
.by-console__a{font-size:14px;color:#e6e8ea;line-height:1.5;}
.by-console__cite{display:inline-block;font-size:11.5px;font-weight:600;color:#06250b;background:var(--by-grad);
  padding:2px 8px;border-radius:999px;vertical-align:middle;}
.by-console__chips{display:flex;flex-wrap:wrap;gap:7px;}
.by-console__chips span{font-size:11.5px;font-weight:600;color:var(--by-green-2);background:rgba(97,206,112,.12);
  border:1px solid rgba(97,206,112,.2);padding:4px 9px;border-radius:8px;}
.by-console__bars{display:flex;align-items:flex-end;gap:8px;height:62px;padding-top:6px;}
.by-console__bars i{flex:1;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#61ce70,rgba(67,184,70,.25));display:block;}
.by-console__foot{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--by-on-d-2);padding-top:4px;
  border-top:1px solid rgba(255,255,255,.07);margin-top:2px;}
.by-console__dot{width:8px;height:8px;border-radius:50%;background:#61ce70;box-shadow:0 0 0 4px rgba(97,206,112,.18);}

/* Richer card hover: gradient top accent + lift */
.by-card--link{position:relative;overflow:hidden;}
.by-card--link::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;transform:scaleX(0);
  transform-origin:left;background:var(--by-grad);transition:transform .3s ease;}
.by-card--link:hover::before{transform:scaleX(1);}
.by-bento__cell{position:relative;overflow:hidden;}
.by-bento__cell::after{content:"";position:absolute;inset:0;opacity:0;transition:.3s;pointer-events:none;
  background:radial-gradient(380px 180px at 80% 0,rgba(97,206,112,.12),transparent 60%);}
.by-bento__cell:hover::after{opacity:1;}

/* Scroll-reveal (progressive enhancement; only when .by-anim set by JS) */
@media (prefers-reduced-motion:no-preference){
  .by-anim .by-reveal{opacity:0;transform:translateY(22px);
    transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);}
  .by-anim .by-reveal.is-in{opacity:1;transform:none;}
  .by-anim .by-reveal:nth-child(2){transition-delay:.06s;}
  .by-anim .by-reveal:nth-child(3){transition-delay:.12s;}
  .by-anim .by-reveal:nth-child(4){transition-delay:.18s;}
}

/* ===========================  RESPONSIVE  ====================== */
@media (max-width:1024px){
  .by-grid--4{grid-template-columns:repeat(2,1fr);}
  .by-steps__grid{grid-template-columns:repeat(2,1fr);}
  .by-tech__grid{grid-template-columns:repeat(2,1fr);}
  .by-stats__grid{grid-template-columns:repeat(2,1fr);}
  .by-split__inner{grid-template-columns:1fr;gap:38px;}
  .by-split--rev .by-split__text{order:1;}
  .by-split--rev .by-split__media{order:2;}
  .by-figure{max-width:520px;}
  .by-footer__main{grid-template-columns:1fr;gap:36px;}
  .by-hero--split .by-hero__inner{grid-template-columns:1fr;gap:40px;}
  .by-hero--split .by-hero__copy{max-width:none;}
  .by-console{max-width:440px;}
}
@media (max-width:1120px){
  .by-nav,.by-header__cta,.by-header .by-lang{display:none;}
  .by-burger{display:flex;}
}
@media (max-width:900px){
  .by-contact__inner{grid-template-columns:1fr;gap:32px;}
}
@media (max-width:720px){
  .by-sec{padding:64px 0;}
  .by-hero{padding:92px 0 76px;}
  .by-grid--2,.by-grid--3,.by-grid--4{grid-template-columns:1fr;}
  .by-bento__grid{grid-template-columns:1fr;}
  .by-bento__cell--wide{grid-column:span 1;}
  .by-steps__grid{grid-template-columns:1fr;}
  .by-tech__col{flex-basis:100%;}
  .by-form__row{grid-template-columns:1fr;}
  .by-footer__cols{grid-template-columns:1fr 1fr;gap:24px;}
  .by-sechead{margin-bottom:40px;}
  .by-ghost{top:-30px;}
  .by-banner__box{padding:44px 24px;}
}
@media (max-width:460px){
  .by-footer__cols{grid-template-columns:1fr;}
  .by-mobile__sub{grid-template-columns:1fr;}
  .by-ctas{flex-direction:column;align-items:stretch;}
  .by-btn{justify-content:center;}
}
@media (prefers-reduced-motion:reduce){
  .by-site *{transition:none!important;animation:none!important;}
  .by-anim .by-reveal{opacity:1!important;transform:none!important;}
}

/* ===========================  COOKIE CONSENT (centred modal)  = */
.by-cookie,.by-cookie *{box-sizing:border-box;}
.by-cookie{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  padding:20px;font-family:var(--by-font);background:rgba(5,7,9,.72);
  -webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);opacity:0;transition:opacity .3s ease;}
.by-cookie.is-show{opacity:1;}
.by-cookie[hidden]{display:none!important;}
.by-cookie__box{width:100%;max-width:480px;background:#0e1116;border:1px solid rgba(97,206,112,.3);
  border-radius:20px;padding:30px;color:rgba(255,255,255,.82);
  box-shadow:0 50px 120px -30px rgba(0,0,0,.85);transform:translateY(14px) scale(.98);
  transition:transform .32s cubic-bezier(.2,.8,.2,1);}
.by-cookie.is-show .by-cookie__box{transform:none;}
.by-cookie__title{display:flex;align-items:center;gap:9px;color:#fff;font-weight:700;font-size:18px;margin-bottom:10px;}
.by-cookie__title .by-ic{width:22px;height:22px;color:var(--by-green-2);}
.by-cookie__text{font-size:14px;line-height:1.65;margin:0 0 22px;}
.by-cookie__text a{color:var(--by-green-2);text-decoration:underline;text-underline-offset:2px;}
.by-cookie__actions{display:flex;flex-wrap:wrap;gap:10px;}
.by-cookie__actions .by-btn{padding:13px 22px;font-size:14px;}
@media (max-width:520px){
  .by-cookie__box{padding:24px;}
  .by-cookie__actions .by-btn{flex:1;justify-content:center;}
}

/* ---- real photos in split media + feature cards ---- */
.by-photo{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;
  border-radius:var(--by-r-lg);border:1px solid var(--by-line);
  box-shadow:0 30px 70px -34px rgba(0,0,0,.45);}
.by-sec--dark .by-photo{border-color:var(--by-line-d);}
.by-card__img{display:block;width:100%;height:170px;object-fit:cover;
  border-radius:12px;margin-bottom:16px;}

/* ---- kunden logo wall: uniform tiles + subtle group titles ---- */
.by-logos--wall{padding:36px 0;}
.by-logos--wall .by-logos__title{font-size:13px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--by-ink-3);margin-bottom:18px;}
.by-logos--wall .by-logos__row{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  gap:12px;max-width:1020px;margin:0 auto;}
.by-logos--wall .by-logos__item{justify-content:center;padding:18px 14px;min-height:64px;
  border-radius:13px;font-size:14.5px;}
.by-logos--wall .by-logos__img{height:22px;width:auto;max-width:96px;object-fit:contain;}
.by-smallprint{font-size:12.5px;line-height:1.6;color:var(--by-ink-3);max-width:760px;
  margin:0 auto;text-align:center;}
section.by-sec:has(.by-smallprint){padding:10px 0 44px;}

/* ---- audit fixes ---- */
.o_skip_to_content{display:none !important;}   /* duplicate skip link (ours: .by-skip) */
.by-consent__link{text-decoration:underline;color:inherit;}
@media (max-width:480px){
  .by-pagehead h1,.by-hero__title{hyphens:auto;overflow-wrap:break-word;}
}

/* ---- result stat on track-record cards ---- */
.by-card__stat{display:block;font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1;
  background:var(--by-grad);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;margin-bottom:14px;}

/* ---- figure illustration layer ---- */
.by-figure__art{position:absolute;inset:0;width:100%;height:100%;display:block;}
.by-figure__art text{font-family:var(--by-font);}
@media (prefers-reduced-motion:no-preference){
  .by-art__pulse{animation:byPulse 2.2s ease-in-out infinite;transform-origin:center;transform-box:fill-box;}
  @keyframes byPulse{0%,100%{opacity:1}50%{opacity:.25}}
  .by-art__scan{animation:byScan 3.2s ease-in-out infinite;}
  @keyframes byScan{0%,100%{transform:translateY(0)}50%{transform:translateY(96px)}}
}
.by-logos--wall .by-logos__img--wordmark{height:24px;max-width:130px;}

/* ===========================  FUNNEL (Buchungsstrecke)  ========== */
.by-funnel__grid{display:grid;grid-template-columns:1fr 340px;gap:36px;align-items:start;}
.by-funnel__step{border:1px solid var(--by-line);border-radius:var(--by-r);background:var(--by-white);
  padding:26px;margin:0 0 18px;}
.by-funnel__step legend{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:700;
  padding:0 8px;margin-left:-8px;}
.by-funnel__num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  border-radius:9px;background:var(--by-green-soft);color:var(--by-green-3);font-size:13px;font-weight:700;}
.by-funnel__opts{display:grid;gap:10px;margin-top:14px;}
.by-opt{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1.5px solid var(--by-line);
  border-radius:13px;cursor:pointer;transition:.16s;background:var(--by-light-2);}
.by-opt:hover{border-color:rgba(67,184,70,.5);}
.by-opt:has(input:checked){border-color:var(--by-green);background:rgba(67,184,70,.06);}
.by-opt input{margin-top:3px;accent-color:var(--by-green);width:17px;height:17px;flex:none;}
.by-opt__body{flex:1;min-width:0;}
.by-opt__head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;}
.by-opt__label{font-weight:600;font-size:15.5px;}
.by-opt__price{font-weight:700;color:var(--by-green-3);white-space:nowrap;font-size:15px;}
.by-opt__per{font-weight:500;color:var(--by-ink-3);font-size:12.5px;}
.by-opt__desc{display:block;margin-top:3px;font-size:13.5px;color:var(--by-ink-3);line-height:1.5;}
.by-funnel__qty{display:flex;align-items:end;gap:16px;margin-top:14px;flex-wrap:wrap;}
.by-input--qty{max-width:140px;}
.by-funnel__aside{position:sticky;top:calc(var(--by-head-h) + 18px);}
.by-funnel__summary{background:var(--by-bg);color:#fff;border-radius:var(--by-r);padding:26px;
  box-shadow:var(--by-shadow-d);}
.by-funnel__summary h3{font-size:18px;margin-bottom:14px;}
.by-funnel__sel{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px;}
.by-funnel__sel li{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;
  color:var(--by-on-d-2);border-bottom:1px dashed rgba(255,255,255,.12);padding-bottom:8px;}
.by-funnel__sel li b{color:#fff;font-weight:600;text-align:right;}
.by-funnel__total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  padding-top:6px;font-size:14px;color:var(--by-on-d-2);}
.by-funnel__total strong{font-size:26px;font-weight:800;color:var(--by-green-2);}
.by-funnel__note{margin-top:12px;font-size:12px;color:var(--by-on-d-3);line-height:1.55;}
.by-funnel__submit{width:100%;justify-content:center;margin-top:16px;}
.by-funnel__hint{margin-top:10px;font-size:12px;color:var(--by-on-d-3);text-align:center;}
.by-funnel__success{max-width:560px;margin:0 auto;text-align:center;background:var(--by-white);
  border:1px solid var(--by-line);border-radius:var(--by-r-lg);padding:56px 40px;}
.by-funnel__success .by-ic{width:52px;height:52px;color:var(--by-green);background:var(--by-green-soft);
  border-radius:50%;padding:12px;margin:0 auto 18px;}
.by-funnel__success h2{font-size:26px;margin-bottom:12px;}
.by-funnel__success p{color:var(--by-ink-2);margin-bottom:24px;}
@media (max-width:900px){
  .by-funnel__grid{grid-template-columns:1fr;}
  .by-funnel__aside{position:static;}
}
