
:root{
  --paper:#f3f1fb; --paper-2:#eae6f7;
  --ink:#1a1730; --ink-soft:#1a1730b3; --muted:#5f5a7a;
  --card:rgba(255,255,255,.78); --card-solid:#ffffff; --line:rgba(26,23,48,.14);
  --red:#e0264c; --red-2:#b81c3f;
  --gold:#f0a92e; --gold-2:#c98600;
  --green:#2fb877; --blue:#3178e0; --ink2:#100e22;
  --glass-bg:rgba(255,255,255,.72); --glass-bg-strong:rgba(255,255,255,.86);
  --glass-border:rgba(255,255,255,.7);
  --font-h:'Encode Sans Expanded','Encode Sans',system-ui,sans-serif;
  --font-b:'Encode Sans',system-ui,sans-serif;
  --font-m:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --shadow:0 24px 60px -20px rgba(70,40,140,.25);
  --glow-red:0 8px 30px -8px rgba(239,47,91,.5);
  --glow-gold:0 8px 30px -8px rgba(255,190,61,.5);
  --glow-blue:0 8px 30px -8px rgba(63,140,255,.5);
  --glow-green:0 8px 30px -8px rgba(63,214,138,.5);
}
:root[data-theme="dark"]{
  --paper:#100e20; --paper-2:#17142c; --card:rgba(24,20,46,.78); --card-solid:#1e1a38; --line:rgba(255,255,255,.14);
  --ink:#f2effc; --ink-soft:#f2effcb3; --muted:#c2bcdd;
  --glass-bg:rgba(24,20,46,.72); --glass-bg-strong:rgba(24,20,46,.88); --glass-border:rgba(255,255,255,.16);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#100e20; --paper-2:#17142c; --card:rgba(24,20,46,.78); --card-solid:#1e1a38; --line:rgba(255,255,255,.14);
    --ink:#f2effc; --ink-soft:#f2effcb3; --muted:#c2bcdd;
    --glass-bg:rgba(24,20,46,.72); --glass-bg-strong:rgba(24,20,46,.88); --glass-border:rgba(255,255,255,.16);
  }
}
*{box-sizing:border-box}
/* fixes DevTools reflow from smoothscroll polyfill */
/* scoped to freiBuilder wrappers, avoids leaking to host page */
/* !important guards against other plugins' body overrides */
body.freibuilder-full-canvas{margin:0;background:var(--paper)!important;color:var(--ink)!important;font-family:var(--font-b)!important;overflow-x:hidden;-webkit-font-smoothing:antialiased;position:relative}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px;position:relative}
@media (max-width:640px){.wrap{padding:0 20px}}
:is(.freibuilder-root,.freibuilder-original-template,.freibuilder-full-canvas) :is(h1,h2,h3,h4){font-family:var(--font-h);margin:0;line-height:1.05;letter-spacing:-.02em;color:var(--ink)}
:is(.freibuilder-root,.freibuilder-original-template,.freibuilder-full-canvas) p{margin:0}
:is(.freibuilder-root,.freibuilder-original-template,.freibuilder-full-canvas) a{color:inherit;text-decoration:none}
:is(.freibuilder-root,.freibuilder-original-template,.freibuilder-full-canvas) button{font-family:inherit;cursor:pointer}
.mono{font-family:var(--font-m);letter-spacing:.02em}
::selection{background:var(--red);color:#fff}

/* old blob layer disabled, Divi 5 handles gradient */
.blobs{display:none!important}


.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}.reveal-d4{transition-delay:.32s}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* pill labels */
.dim{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-m);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(14px);padding:7px 14px;border-radius:999px}
.dim .ln{display:none}

/* panels */
.panel{display:none;perspective:1400px;background:#f7f9fa linear-gradient(135deg,#f2f7fb 0%,#f7faf8 52%,#fff7d9 100%)}
.panel.active{display:block}
.panel.leaving{animation:pOut .34s cubic-bezier(.4,0,1,1) forwards}
.panel.entering{animation:pIn .55s cubic-bezier(.16,1,.3,1) both}
@keyframes pOut{to{opacity:0;transform:translateY(-14px) scale(.98)}}
@keyframes pIn{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.panel.leaving,.panel.entering{animation:none}}

/* header (glass) */
:root{ --hdr-pad:18px; }
.site-header{position:sticky;top:0;z-index:100;padding:var(--hdr-pad) 0;background:transparent;transition:padding .35s cubic-bezier(.16,1,.3,1)}
.site-header .bar{background:transparent;border-radius:999px;transition:background .35s ease, box-shadow .35s ease, backdrop-filter .35s ease, padding .35s cubic-bezier(.16,1,.3,1)}
.site-header.scrolled{padding:10px 0}
.site-header.scrolled .bar{background:var(--glass-bg-strong);backdrop-filter:blur(20px) saturate(180%);box-shadow:0 12px 40px -18px rgba(70,40,140,.35);border:1px solid var(--glass-border);padding:8px 18px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:6px 4px;min-height:64px}
.wordmark{display:flex;align-items:center;line-height:1;cursor:pointer;flex:0 0 auto}
.logo-img{height:clamp(40px,5.4vw,60px);width:auto;display:block;transition:height .35s cubic-bezier(.16,1,.3,1);image-rendering:-webkit-optimize-contrast}
.site-header.scrolled .logo-img{height:clamp(30px,3.6vw,42px)}
.t-snow{background:#1f9fe0}.t-sun{background:var(--gold)}.t-drop{background:var(--blue)}.t-flame{background:var(--red)}.t-tool{background:var(--green)}

.mainnav{display:flex;gap:2px;align-items:center;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(14px);border-radius:999px;padding:5px}
.mainnav .navitem{position:relative}
.mainnav a{display:inline-flex;align-items:center;gap:5px;padding:9px 15px;border-radius:999px;font-weight:700;font-size:.8rem;color:var(--muted);transition:color .2s ease, background .2s ease;white-space:nowrap}
.mainnav a:hover, .mainnav a:focus-visible{color:var(--ink)}
.mainnav a.on{background:linear-gradient(100deg,var(--red),var(--red-2));color:#fff;box-shadow:var(--glow-red)}
.mainnav .caret{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.6;transition:transform .25s ease}
.navitem.has-drop:hover .caret, .navitem.has-drop:focus-within .caret{transform:rotate(225deg);margin-top:2px}

/* mega dropdown */
.mega{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(10px) scale(.98);width:min(560px,84vw);background:var(--glass-bg-strong);backdrop-filter:blur(28px) saturate(180%);border:1px solid var(--glass-border);border-radius:24px;padding:16px;box-shadow:0 34px 70px -24px rgba(30,10,50,.4);opacity:0;pointer-events:none;transition:opacity .28s cubic-bezier(.16,1,.3,1), transform .28s cubic-bezier(.16,1,.3,1);z-index:60}
.mega::before{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);width:14px;height:14px;background:var(--glass-bg-strong);border-left:1px solid var(--glass-border);border-top:1px solid var(--glass-border);border-radius:3px}
.navitem:nth-last-child(-n+2) .mega{left:auto;right:-16px;transform:translateX(0) translateY(10px) scale(.98)}
.navitem:nth-last-child(-n+2) .mega::before{left:auto;right:26px;transform:translateX(0) rotate(45deg)}
.navitem.has-drop:hover .mega, .navitem.has-drop:focus-within .mega{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0) scale(1)}
.navitem:nth-last-child(-n+2).has-drop:hover .mega, .navitem:nth-last-child(-n+2).has-drop:focus-within .mega{transform:translateX(0) translateY(0) scale(1)}
.mega-head{display:block;padding:12px 14px 10px;border-radius:16px;margin-bottom:6px;color:var(--ink)}
.mega-head:hover, .mega-head:focus-visible{background:rgba(224,38,76,.08)}
.mega-head b{display:block;font-family:var(--font-h);font-size:.95rem;font-weight:700}
.mega-head span{display:block;font-size:.76rem;color:var(--muted);margin-top:2px}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.mega-item{display:flex;align-items:flex-start;gap:12px;padding:11px 12px;border-radius:14px;color:var(--ink);opacity:0;transform:translateY(6px);transition:background .2s ease, opacity .3s ease, transform .3s ease}
.navitem.has-drop:hover .mega-item, .navitem.has-drop:focus-within .mega-item{opacity:1;transform:none}
.navitem.has-drop:hover .mega-item:nth-child(1),.navitem.has-drop:focus-within .mega-item:nth-child(1){transition-delay:.03s}
.navitem.has-drop:hover .mega-item:nth-child(2),.navitem.has-drop:focus-within .mega-item:nth-child(2){transition-delay:.07s}
.navitem.has-drop:hover .mega-item:nth-child(3),.navitem.has-drop:focus-within .mega-item:nth-child(3){transition-delay:.11s}
.mega-item:hover, .mega-item:focus-visible{background:rgba(224,38,76,.09)}
.mega-item .mi{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.mega-item .mi svg{width:17px;height:17px;stroke:#fff;fill:none}
.mega-item b{display:block;font-size:.86rem;font-weight:700}
.mega-item span{display:block;font-size:.74rem;color:var(--muted);margin-top:2px;line-height:1.4}
@media (max-width:1024px){.mega-grid{grid-template-columns:1fr}}

.hcta{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;border-radius:999px;font-weight:700;font-size:.84rem;border:1px solid transparent;transition:transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease, background .25s ease;min-height:44px}
.btn.primary{background:linear-gradient(100deg,var(--red),var(--red-2));color:#fff;box-shadow:var(--glow-red)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px -10px rgba(239,47,91,.65)}
.btn.ghost{background:var(--glass-bg);border-color:var(--glass-border);color:var(--ink);backdrop-filter:blur(14px)}
.btn.ghost:hover{transform:translateY(-2px);background:var(--glass-bg-strong)}
.btn.on-dark{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff;backdrop-filter:blur(14px)}
.btn.on-dark.primary{background:linear-gradient(100deg,var(--gold),var(--red));color:#1a1730;box-shadow:var(--glow-gold)}
.btn.on-dark:hover{transform:translateY(-2px)}
.btn.sm{padding:10px 18px;font-size:.76rem;min-height:40px}
.btn:focus-visible, a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{outline:2.5px solid var(--red);outline-offset:3px;border-radius:inherit}
.burger{display:none;width:46px;height:46px;flex:0 0 auto;border-radius:14px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(14px);align-items:center;justify-content:center;flex-direction:column;gap:5px}
.burger span{width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease, opacity .2s ease}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* responsive tiers */

/* tablet quer (900-1199) */
@media (max-width:1199px) and (min-width:900px){
  .mainnav a{padding:8px 11px;font-size:.72rem}
  .wrap{padding:0 26px}
  .hero-in{gap:28px}
  .stat-grid{grid-template-columns:repeat(3,1fr)}
  .benefit-bento{grid-template-columns:repeat(3,1fr)}
}

/* mobile nav below tablet-landscape */
@media (max-width:1199px){
  .mainnav, .hcta .btn.primary .lbl-desktop{display:none}
  .burger{display:flex}
  .hcta{gap:8px}
}
@media (min-width:1200px){ .burger{display:none} }

/* tablet hoch (768-899) */
@media (max-width:899px) and (min-width:768px){
  .wrap{padding:0 24px}
  .sec{padding:80px 0 64px}
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .stat-grid{grid-template-columns:repeat(3,1fr)}
  .benefit-bento{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .job-grid{grid-template-columns:1fr}
  .hero-in{grid-template-columns:1fr;text-align:left}
  .gauge-wrap{max-width:320px}
}

/* smartphone (480-767) */
@media (max-width:767px){
  .wrap{padding:0 20px}
  .sec{padding:56px 0 48px}
  .sec.tight{padding:40px 0}
  .sec-head{margin-bottom:32px}
  .site-header{padding:10px 0}
  .bar{min-height:52px}
  .logo-img{height:clamp(32px,10vw,42px)}
  .site-header.scrolled .logo-img{height:30px}
  .hero{padding-top:14px}
  .hero-in{grid-template-columns:1fr;gap:26px;padding-bottom:40px}
  .hero .btnrow{flex-direction:column;align-items:stretch}
  .hero .btnrow .btn{width:100%}
  .gauge-wrap{max-width:230px}
  .card-grid, .stat-grid, .benefit-bento, .team-grid, .job-grid, .gal, .news-grid, .ig-grid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .serv-detail{grid-template-columns:1fr;padding:40px 0}
  .stack-row{padding:16px 18px}
  .btn{width:100%}
  .hcta .btn.primary.sm{width:auto}
  .frow{grid-template-columns:1fr}
  .formcard{padding:22px}
}

/* kleine smartphones (<=479) */
@media (max-width:479px){
  .wrap{padding:0 16px}
  .hero h1{font-size:clamp(2rem,9vw,2.6rem)}
  .sec-head h2{font-size:clamp(1.5rem,7vw,2rem)}
  .dim{font-size:.62rem;padding:6px 11px}
  .logo-img{height:30px}
  .gauge-wrap{max-width:190px}
  .btn{padding:12px 18px;font-size:.8rem}
  .stack-row .sridx{font-size:1.8rem}
}

.mmenu{position:fixed;inset:0;background:linear-gradient(160deg,rgba(16,14,34,.92),rgba(40,20,50,.92));backdrop-filter:blur(24px);z-index:200;display:flex;flex-direction:column;justify-content:center;padding:40px 32px;transform:translateY(-100%);transition:transform .5s cubic-bezier(.16,1,.3,1)}
.mmenu.open{transform:translateY(0)}
.mmenu .mclose{position:fixed;top:18px;right:18px;z-index:210;width:46px;height:46px;min-width:44px;min-height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.3);background:rgba(30,20,45,.55);backdrop-filter:blur(10px);color:#fff;font-size:1.2rem}
.mmenu a{display:flex;align-items:baseline;gap:14px;color:#fff;font-family:var(--font-h);font-size:clamp(1.8rem,7vw,2.8rem);font-weight:800;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);opacity:0;transform:translateX(-16px);transition:opacity .5s ease, transform .5s ease}
.mmenu a .idx{font-family:var(--font-m);font-size:.9rem;color:var(--gold);background:none;border:none;padding:0;backdrop-filter:none}
.mmenu.open a{opacity:1;transform:none}
.mmenu.open a:nth-child(1){transition-delay:.06s}.mmenu.open a:nth-child(2){transition-delay:.11s}.mmenu.open a:nth-child(3){transition-delay:.16s}.mmenu.open a:nth-child(4){transition-delay:.21s}.mmenu.open a:nth-child(5){transition-delay:.26s}.mmenu.open a:nth-child(6){transition-delay:.31s}
.mmenu .mfoot{margin-top:30px;color:rgba(255,255,255,.55);font-size:.85rem;font-family:var(--font-m)}
.mmenu{overflow-y:auto}
.mrow{border-bottom:1px solid rgba(255,255,255,.12);opacity:0;transform:translateX(-16px);transition:opacity .5s ease, transform .5s ease}
.mmenu.open .mrow{opacity:1;transform:none}
.mmenu.open .mrow:nth-child(1){transition-delay:.06s}.mmenu.open .mrow:nth-child(2){transition-delay:.11s}.mmenu.open .mrow:nth-child(3){transition-delay:.16s}.mmenu.open .mrow:nth-child(4){transition-delay:.21s}.mmenu.open .mrow:nth-child(5){transition-delay:.26s}.mmenu.open .mrow:nth-child(6){transition-delay:.31s}.mmenu.open .mrow:nth-child(7){transition-delay:.36s}.mmenu.open .mrow:nth-child(8){transition-delay:.41s}
.mrow-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;cursor:pointer}
.mrow-head a{color:#fff;font-family:var(--font-h);font-size:clamp(1.5rem,6.4vw,2.3rem);font-weight:700}
.mrow-head .mplus{width:34px;height:34px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex:0 0 auto;transition:transform .3s ease}
.mrow.open .mrow-head .mplus{transform:rotate(45deg)}
.msub{max-height:0;overflow:hidden;transition:max-height .35s ease}
.mrow.open .msub{max-height:260px}
.msub a{display:block;padding:9px 0 9px 4px;color:rgba(255,255,255,.7);font-size:.95rem;font-weight:600}
.msub a:hover{color:var(--gold)}

/* hero (glassy, colorful) */
.hero{position:relative;padding:64px 0 0;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding-bottom:70px}
@media (max-width:980px){.hero-in{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2.6rem,7vw,5.4rem)}
.hero h1 .outline{background:linear-gradient(100deg,var(--red),var(--gold-2) 60%,var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent;display:block}
.hero p.lead{margin-top:22px;max-width:440px;font-size:1.08rem;color:var(--muted)}
.hero .btnrow{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.hero .dim{margin-bottom:22px}

/* full-bleed photo homepage hero */
.hero.hero-photo{padding:0;min-height:100vh;display:flex;align-items:center;z-index:0}
.hero-photo-bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-photo-bg img{width:100%;height:100%;object-fit:cover;object-position:center 62%;transform:scale(1.06);transition:transform 1.6s cubic-bezier(.16,1,.3,1);will-change:transform}
.hero-photo-bg.in img{transform:scale(1)}
.hero-photo-scrim{position:absolute;inset:0;z-index:-1;background:
    linear-gradient(100deg, rgba(10,10,20,.66) 0%, rgba(10,10,20,.4) 40%, rgba(10,10,20,.12) 65%, rgba(10,10,20,.02) 100%),
    linear-gradient(0deg, rgba(10,10,20,.42) 0%, transparent 30%),
    radial-gradient(60% 50% at 85% 0%, rgba(240,169,46,.16), transparent 60%)}
.hero-photo-in{width:100%;padding:150px 0 90px}
.hero-glass-card{max-width:640px;background:rgba(16,14,34,.32);backdrop-filter:blur(10px) saturate(140%);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:36px 40px}
.hero.hero-photo h1{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.hero.hero-photo p.lead{color:rgba(255,255,255,.88)}
.hero.hero-photo .dim{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff}
.hero-icon-row{display:flex;gap:10px;margin-top:30px}
.hero-icon-row span{width:34px;height:34px;border-radius:11px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px -6px rgba(0,0,0,.4)}
.hero-icon-row svg{stroke:#fff;fill:none}
@media (min-width:1200px){.hero-photo-bg img{object-position:center 58%}}
@media (max-width:1199px) and (min-width:900px){.hero-photo-bg img{object-position:60% 55%}.hero.hero-photo{min-height:88vh}.hero-glass-card{max-width:560px;padding:30px 32px}}
@media (max-width:899px) and (min-width:768px){.hero-photo-bg img{object-position:65% 50%}.hero.hero-photo{min-height:82vh}.hero-photo-in{padding:130px 0 60px}.hero-glass-card{max-width:100%;padding:28px}}
@media (max-width:767px){
  .hero.hero-photo{min-height:92svh}
  .hero-photo-bg img{object-position:70% 45%}
  .hero-photo-scrim{background:linear-gradient(180deg, rgba(10,10,20,.55) 0%, rgba(10,10,20,.72) 55%, rgba(10,10,20,.85) 100%)}
  .hero-photo-in{padding:110px 0 40px;display:flex;align-items:flex-end;min-height:92svh}
  .hero-glass-card{padding:22px;border-radius:22px}
  .hero-icon-row{margin-top:20px}
}
@media (prefers-reduced-motion:reduce){.hero-photo-bg img{transition:none;transform:none!important}}

/* glass gauge cluster */
.gauge-wrap{position:relative;aspect-ratio:1;max-width:420px;margin:0 auto}
.gauge-wrap svg{width:100%;height:100%}
.gauge-ring{fill:none;stroke:var(--ink);stroke-opacity:.12;stroke-width:1}
.gauge-tick{stroke:var(--red);stroke-opacity:.55;stroke-width:2}
.gauge-center{fill:var(--red)}
.gauge-orbit{animation:spin 40s linear infinite;transform-origin:center}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.gauge-orbit{animation:none}}
.gauge-icon-tile{width:60px;height:60px;border-radius:20px;display:flex;align-items:center;justify-content:center;position:absolute;box-shadow:var(--shadow);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.4)}
.gauge-icon-tile svg{width:26px;height:26px;stroke:#fff;fill:none}
.gauge-photo-badge{position:absolute;bottom:-4%;right:2%;width:132px;border-radius:18px;overflow:hidden;border:3px solid var(--card-solid);box-shadow:var(--shadow);background:var(--card-solid)}
.gauge-photo-badge img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.gauge-photo-badge span{display:block;font-size:.6rem;font-weight:700;padding:6px 8px;color:var(--ink);line-height:1.25}
@media (max-width:767px){.gauge-photo-badge{width:96px}.gauge-photo-badge span{font-size:.56rem;padding:5px 6px}}

.diagonal-cut{position:relative}
.diagonal-cut::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:60px;background:var(--paper);clip-path:polygon(0 100%,100% 0,100% 100%)}

/* marquee sash (glass) */
.sash-wrap{position:relative;height:0}
.sash{background:var(--glass-bg-strong);backdrop-filter:blur(18px) saturate(180%);border:1px solid var(--glass-border);color:var(--ink);padding:16px 0;overflow:hidden;white-space:nowrap;transform:rotate(-1.4deg);margin:-30px 0;position:relative;z-index:5;box-shadow:0 12px 40px -18px rgba(70,40,140,.3)}
.sash .track{display:inline-flex;gap:36px;animation:marq 26s linear infinite}
.sash span{font-family:var(--font-h);font-weight:800;font-size:1.1rem;letter-spacing:.02em;display:inline-flex;align-items:center;gap:36px;background:linear-gradient(100deg,var(--red),var(--gold-2),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.sash span:after{content:"◆";font-size:.55rem;color:var(--gold);margin-left:36px;-webkit-text-fill-color:var(--gold)}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* section shells */
.sec{padding:110px 0 90px}
.sec.tight{padding:70px 0}
.sec-head{max-width:680px;margin-bottom:56px}
.sec-head .dim{margin-bottom:18px}
.sec-head h2{font-size:clamp(2rem,4.4vw,3.2rem)}
.sec-head p{margin-top:16px;color:var(--muted);font-size:1.02rem}
.sec.block-red{position:relative;color:#fff;overflow:hidden}
.sec.block-red::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,var(--red) 0%, #b31742 45%, var(--blue) 100%)}
.sec.block-red::after{content:"";position:absolute;inset:0;z-index:-1;backdrop-filter:blur(0px);background:radial-gradient(60% 80% at 15% 10%, rgba(255,255,255,.18), transparent 60%),radial-gradient(50% 60% at 90% 90%, rgba(255,190,61,.25), transparent 60%)}
.sec.block-red .dim{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);color:#fff}
.sec.block-red .sec-head h2{color:#fff}
.sec.block-red .sec-head p{color:rgba(255,255,255,.8)}
.sec.block-ink{background:var(--ink2);color:#fff}
.sec.paper2{background:var(--paper-2)}

/* services: pinned horizontal glass showcase */
.pin-outer{position:relative;height:340vh}
.pin-inner{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.pin-head{padding:0 32px;margin-bottom:36px}
.pin-track{display:flex;gap:28px;padding:0 32px;will-change:transform}
.pin-card{flex:0 0 min(78vw,460px);background:var(--glass-bg-strong);backdrop-filter:blur(22px) saturate(180%);border:1px solid var(--glass-border);border-radius:28px;padding:34px;position:relative;box-shadow:var(--shadow)}
.pin-card .idx{font-family:var(--font-m);color:var(--red);font-size:.8rem}
.pin-card h3{font-size:1.7rem;margin:14px 0 12px}
.pin-card p.d{color:var(--muted);font-size:.94rem;margin-bottom:16px}
.pin-card ul{margin:0 0 18px;padding:0;list-style:none;font-size:.88rem;color:var(--muted)}
.pin-card ul li{display:flex;gap:8px;margin-bottom:7px;padding-bottom:7px;border-bottom:1px dashed var(--line)}
.pin-card ul li:before{content:"→";color:var(--red);font-weight:700}
.pin-card .icb{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.pin-card .icb svg{width:26px;height:26px;stroke:#fff;fill:none}
.pin-progress{height:4px;background:var(--glass-bg);border:1px solid var(--glass-border);margin:0 32px;position:relative;border-radius:99px;overflow:hidden}
.pin-progress .bar{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,var(--red),var(--gold))}
.pin-scroll-hint{align-self:flex-end;margin:-22px 32px 18px auto;display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid rgba(189,23,56,.14);border-radius:999px;background:rgba(255,255,255,.76);box-shadow:0 10px 28px -20px rgba(25,35,50,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;pointer-events:none}
.pin-scroll-hint-icon{display:inline-block;color:var(--red);font-size:1.15rem;line-height:1;animation:pinHintSlide 1.35s ease-in-out infinite alternate}
@keyframes pinHintSlide{from{transform:translateX(-3px)}to{transform:translateX(3px)}}
/* mobile fallback: horizontal scroll-snap row */
@media (max-width:1023px){
  .pin-outer{height:auto}
  .pin-inner{position:static;height:auto;display:block;overflow:visible}
  .pin-scroll-hint{width:max-content;margin:-20px 32px 18px auto}
  .pin-track{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;transform:none!important;padding-bottom:12px}
  .pin-card{scroll-snap-align:start}
  .pin-progress{display:none}
}
@media (max-width:767px){
  .pin-head{padding:0 20px}
  .pin-scroll-hint{margin:-20px 20px 14px auto;font-size:.68rem}
  .pin-track{padding:0 20px;gap:16px}
  .pin-card{flex:0 0 82vw;padding:26px}
}
@media (prefers-reduced-motion:reduce){.pin-scroll-hint-icon{animation:none}}

/* strengths: glass stacked list */
.stack-list{display:flex;flex-direction:column;gap:13px}
.stack-row{--stack-accent:var(--brand-red);--stack-soft:rgba(174,33,53,.08);position:relative;min-height:96px;padding:22px 30px 22px 94px;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:center;gap:32px;overflow:hidden;border:0;border-radius:24px;background:radial-gradient(circle at 0 50%,var(--stack-soft),transparent 24%),linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,255,255,.78));box-shadow:0 18px 46px -38px rgba(0,48,102,.72);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .32s ease,background .32s ease}
.stack-row::before{content:"✓";position:absolute;top:50%;left:29px;width:43px;height:43px;display:grid;place-items:center;border-radius:14px;color:#fff;background:var(--stack-accent);box-shadow:0 14px 30px -15px var(--stack-accent);font-size:1rem;font-weight:900;transform:translateY(-50%)}
.stack-row::after{content:"";position:absolute;top:19px;right:20px;width:58px;height:58px;border-radius:50%;background:var(--stack-soft);filter:blur(18px);pointer-events:none}
.stack-row:nth-child(4n+2){--stack-accent:var(--brand-sun);--stack-soft:rgba(254,204,0,.09)}
.stack-row:nth-child(4n+3){--stack-accent:var(--brand-water);--stack-soft:rgba(0,72,153,.07)}
.stack-row:nth-child(4n+4){--stack-accent:var(--brand-tool);--stack-soft:rgba(149,180,34,.08)}
.stack-row:hover{z-index:1;transform:translateX(8px);background:radial-gradient(circle at 0 50%,var(--stack-soft),transparent 28%),#fff;box-shadow:0 25px 58px -38px rgba(0,48,102,.78)}
.stack-row .sridx{font-family:var(--font-h);font-size:2.2rem;font-weight:800;background:linear-gradient(160deg,var(--red),var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.stack-row .srtitle{font-family:var(--font-h);font-size:clamp(1.08rem,1.45vw,1.28rem);font-weight:800;line-height:1.22}
.stack-row .srdesc{position:relative;z-index:1;color:var(--muted);font-size:.9rem;line-height:1.5;text-align:right}
@media (max-width:760px){.stack-list{gap:11px}.stack-row{min-height:112px;padding:20px 22px 20px 78px;grid-template-columns:1fr;gap:5px;border-radius:21px}.stack-row::before{left:21px;width:39px;height:39px;border-radius:13px}.stack-row::after{display:none}.stack-row .srdesc{text-align:left}.stack-row:hover{transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.stack-row{transition:none}.stack-row:hover{transform:none}}

/* gauge stat rings (glass) */
.stat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
@media (max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr)}}
.stat{text-align:center}
.stat .ring{width:120px;height:120px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25)}
.stat .ring svg{position:absolute;inset:0;transform:rotate(-90deg)}
.stat .ring circle{fill:none;stroke-width:6}
.stat .ring .bg{stroke:rgba(255,255,255,.18)}
.stat .ring .fg{stroke:var(--gold);stroke-linecap:round;stroke-dasharray:314;stroke-dashoffset:314;transition:stroke-dashoffset 1.6s cubic-bezier(.16,1,.3,1);filter:drop-shadow(0 0 6px rgba(255,190,61,.7))}
.stat .num{font-family:var(--font-h);font-size:1.5rem;font-weight:800;color:#fff}
.stat .lbl{font-size:.76rem;color:rgba(255,255,255,.75);margin-top:8px}

/* generic glass cards */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:900px){.card-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.card-grid{grid-template-columns:1fr}}
.tcard-x{background:var(--glass-bg);backdrop-filter:blur(18px) saturate(180%);border:1px solid var(--glass-border);border-radius:24px;padding:26px;transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, background .3s ease}
.tcard-x:hover{transform:translateY(-6px);box-shadow:var(--shadow);background:var(--glass-bg-strong)}
.tcard-x .icb{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.tcard-x .icb svg{width:24px;height:24px;stroke:#fff;fill:none}
.tcard-x h4{font-size:1.02rem;margin-bottom:8px}
.tcard-x p{font-size:.86rem;color:var(--muted)}

.tone-snow{background:linear-gradient(135deg,#1f9fe0,#3f8cff);box-shadow:var(--glow-blue)}
.tone-sun{background:linear-gradient(135deg,var(--gold),var(--gold-2));box-shadow:var(--glow-gold)}
.tone-drop{background:linear-gradient(135deg,var(--blue),#1f5fce);box-shadow:var(--glow-blue)}
.tone-flame{background:linear-gradient(135deg,var(--red),var(--red-2));box-shadow:var(--glow-red)}
.tone-tool{background:linear-gradient(135deg,var(--green),#1fa568);box-shadow:var(--glow-green)}

/* photo block, real photo or gradient fallback */
.photo{position:relative;border-radius:24px;overflow:hidden;background:linear-gradient(135deg,var(--blue) 0%, var(--ink2) 100%);border:1px solid var(--glass-border)}
.photo.alt{background:linear-gradient(135deg,var(--red) 0%, var(--gold) 100%)}
.photo.alt2{background:linear-gradient(135deg,var(--green) 0%, var(--blue) 100%)}
.photo::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 30% 20%, rgba(255,255,255,.25), transparent 60%)}
.photo .cap{position:absolute;left:12px;bottom:12px;color:#fff;font-family:var(--font-m);font-size:.68rem;background:rgba(0,0,0,.35);backdrop-filter:blur(8px);padding:6px 13px;border-radius:999px;z-index:2}
.photo img{position:relative;z-index:0;width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.08);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.photo.in img{transform:scale(1)}
.photo.has-img::before{background:linear-gradient(180deg, rgba(10,8,20,0) 45%, rgba(10,8,20,.5) 100%)}
@media (prefers-reduced-motion:reduce){.photo img{transition:none;transform:none!important}}

/* fb-image-block: uncropped image module, not .photo */
.fb-image-block{display:block}
.fb-image-block img{display:block;width:100%;height:auto;max-width:100%}
.fb-image-block .cap{display:block;margin-top:8px;color:var(--muted,#6b7280);font-family:var(--font-m);font-size:.68rem}

/* hero-media: per-page header image frame */
.hero-media{position:relative;border-radius:36px 36px 36px 110px;overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow);border:1px solid var(--glass-border);background:var(--glass-bg)}
.hero-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.08);transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.hero-media.in img{transform:scale(1)}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg, rgba(255,255,255,.06), rgba(20,10,40,.22) 100%)}
.hero-media .capglass{position:absolute;left:16px;right:16px;bottom:16px;background:var(--glass-bg-strong);backdrop-filter:blur(18px) saturate(180%);border:1px solid var(--glass-border);border-radius:16px;padding:12px 16px;color:var(--ink);font-size:.82rem;font-weight:700;z-index:2}
@media (prefers-reduced-motion:reduce){.hero-media img{transition:none;transform:none!important}}
@media (max-width:980px){.hero-media{aspect-ratio:16/10;border-radius:26px}}
@media (max-width:479px){.hero-media{aspect-ratio:4/3;border-radius:20px}}
.page-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:center}
@media (max-width:980px){.page-hero-grid{grid-template-columns:1fr;gap:30px}.page-hero-grid .hero-media{order:-1;max-width:520px}}
@media (max-width:767px){.page-hero-grid{gap:22px}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* timeline glass */
.timeline{display:flex;flex-direction:column;gap:10px}
.tl-row{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:20px 24px;border-radius:20px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(14px)}
.tl-row .yr{font-family:var(--font-h);font-size:1.5rem;font-weight:800;background:linear-gradient(160deg,var(--red),var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.tl-row p{color:var(--muted);font-size:.9rem}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:860px){.team-grid{grid-template-columns:repeat(2,1fr)}}
.tcard2{background:var(--glass-bg);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:22px;padding:20px;text-align:center;transition:transform .3s ease}
.tcard2:hover{transform:translateY(-4px)}
.tcard2 .ava{width:64px;height:64px;border-radius:50%;margin:0 auto 12px;background:linear-gradient(135deg,var(--red),var(--blue));display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-h);font-weight:700}
.tcard2 .nm{font-weight:700;font-size:.9rem}
.tcard2 .rl{font-size:.76rem;color:var(--muted)}

/* faq */
.faq{max-width:780px}
.facc{border-bottom:1px solid var(--line);padding:22px 0}
.facc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-h);font-weight:700;font-size:1.1rem;cursor:pointer}
.facc summary::-webkit-details-marker{display:none}
.facc .plus{width:36px;height:36px;border-radius:50%;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:1.1rem;transition:transform .3s ease, background .3s ease}
.facc[open] .plus{transform:rotate(45deg);background:linear-gradient(135deg,var(--red),var(--red-2));color:#fff}
.facc p{margin-top:14px;color:var(--muted);font-size:.94rem;max-width:640px}

/* leistungen detail */
.serv-detail{display:grid;grid-template-columns:1fr 1.1fr;gap:52px;align-items:start;padding:60px 0}
@media (max-width:900px){.serv-detail{grid-template-columns:1fr}}
.serv-detail .photo{aspect-ratio:1;position:sticky;top:120px}
@media (max-width:900px){.serv-detail .photo{position:static;aspect-ratio:16/9}}
.serv-detail h3{font-size:clamp(1.7rem,3vw,2.4rem)}
.serv-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
@media (max-width:560px){.serv-cols{grid-template-columns:1fr}}
.serv-cols h5{font-family:var(--font-m);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--red);margin-bottom:10px}
.serv-cols ul{margin:0;padding:0;list-style:none;font-size:.88rem;color:var(--muted)}
.serv-cols ul li{padding:7px 0;border-bottom:1px dashed var(--line)}
.steps{display:flex;gap:16px;margin-top:26px;flex-wrap:wrap}
.step{flex:1;min-width:130px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);border-radius:16px;padding:16px}
.step b{font-family:var(--font-h);color:var(--red);display:block;font-size:1.2rem}
.step span{font-size:.78rem;color:var(--muted)}

/* karriere benefits */
.benefit-bento{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media (max-width:900px){.benefit-bento{grid-template-columns:repeat(2,1fr)}}
.bcard2{background:var(--glass-bg);backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--glass-border);border-radius:20px;padding:20px;text-align:left;transition:transform .3s ease, box-shadow .3s ease}
.bcard2:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.bcard2 .ic2{width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,var(--gold),var(--red));color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:1rem;box-shadow:var(--glow-gold)}
.bcard2 h4{font-size:.88rem;margin-bottom:4px}
.bcard2 p{font-size:.76rem;color:var(--muted);margin:0}

.chips{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap}
.chip{padding:9px 18px;border-radius:999px;border:1px solid var(--glass-border);font-size:.8rem;font-weight:700;background:var(--glass-bg);backdrop-filter:blur(12px)}
.chip.active{background:linear-gradient(100deg,var(--red),var(--red-2));border-color:transparent;color:#fff;box-shadow:var(--glow-red)}
.job-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media (max-width:760px){.job-grid{grid-template-columns:1fr}}
.job-card{background:var(--glass-bg);backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--glass-border);border-radius:22px;padding:22px;display:none}
.job-card.show{display:block}
.job-card .meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.job-card .meta span{font-family:var(--font-m);font-size:.68rem;font-weight:700;background:rgba(0,0,0,.06);padding:4px 10px;border-radius:999px;color:var(--muted)}
:root[data-theme="dark"] .job-card .meta span{background:rgba(255,255,255,.08)}
.job-card p{font-size:.86rem;color:var(--muted)}
.job-card .apply{margin-top:14px}

.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:820px){.gal{grid-template-columns:repeat(2,1fr)}}
.gal .photo{aspect-ratio:1}
.quote{background:var(--glass-bg);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:20px;padding:22px;font-size:.9rem}
.quote .q{font-family:var(--font-h);font-size:1.15rem;margin-bottom:10px}
.quote .who{color:var(--muted);font-size:.78rem;font-family:var(--font-m)}

.formcard{background:var(--glass-bg-strong);backdrop-filter:blur(24px) saturate(180%);border:1px solid var(--glass-border);border-radius:28px;padding:34px;max-width:640px;box-shadow:var(--shadow)}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
@media (max-width:540px){.frow{grid-template-columns:1fr}}
.fld{margin-bottom:20px}
.frow>.fld{margin-bottom:0}
.fld label{display:block;font-size:.76rem;font-weight:700;margin-bottom:7px;color:var(--muted)}
.fld input,.fld select,.fld textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--glass-border);background:rgba(255,255,255,.5);color:var(--ink);font-family:inherit;font-size:.9rem;min-height:48px;box-shadow:0 1px 2px rgba(17,23,41,.04);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
:root[data-theme="dark"] .fld input,:root[data-theme="dark"] .fld select,:root[data-theme="dark"] .fld textarea{background:rgba(0,0,0,.25)}
.fld input:hover,.fld select:hover,.fld textarea:hover{border-color:rgba(0,0,0,.18)}
/* reverted custom chevron, caused rendering bug */
.fld select{appearance:auto!important;-webkit-appearance:menulist!important;-moz-appearance:menulist!important}
.fld textarea{min-height:90px}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 4px rgba(224,38,76,.12)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.8rem;color:var(--muted);margin:22px 0 0;padding-top:18px;border-top:1px solid var(--glass-border)}
.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--red);cursor:pointer;flex:0 0 auto}
.check+.btn,.check+button{margin-top:18px}

/* form Design-tab overrides now applied on frontend */
.fb-custom-form{background:var(--fb-cf-bg,var(--glass-bg-strong));border-color:var(--fb-cf-border,var(--glass-border));border-radius:var(--fb-cf-radius,28px);color:var(--fb-cf-text,var(--ink));font-family:var(--fb-cf-font,inherit)}
.fb-custom-form .frow{gap:var(--fb-cf-gap,18px)}
.fb-custom-form .fld{margin-bottom:var(--fb-cf-gap,20px)}
.fb-custom-form .fld label{color:var(--fb-cf-label,var(--muted))}
.fb-custom-form .fld input,.fb-custom-form .fld select,.fb-custom-form .fld textarea{border-radius:var(--fb-cf-radius,14px);border-color:var(--fb-cf-border,var(--glass-border));color:var(--fb-cf-text,var(--ink))}
.fb-custom-form .check{color:var(--muted);border-top-color:var(--fb-cf-border,var(--glass-border))}
.fb-custom-form .btn.primary{background:var(--fb-cf-btn-bg,linear-gradient(100deg,var(--red),var(--red-2)));color:var(--fb-cf-btn-text,#fff)}
.fb-custom-form .btn.primary:hover{background:var(--fb-cf-btn-hover,var(--fb-cf-btn-bg,linear-gradient(100deg,var(--red),var(--red-2))))}
.fb-custom-form .fb-form-status.is-success{color:var(--fb-cf-success,#1f8a4c)}
.fb-custom-form .fb-form-status.is-error{color:var(--fb-cf-error,#c22a2a)}
.optional-badge{font-size:.66rem;background:rgba(0,0,0,.06);padding:3px 9px;border-radius:999px;color:var(--muted);margin-left:8px;font-family:var(--font-m)}

.ig-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:22px}
.ig-handle{display:flex;align-items:center;gap:10px;font-weight:800;font-size:.9rem}
.ig-handle .dot{width:32px;height:32px;border-radius:12px;background:linear-gradient(135deg,var(--red),var(--gold));box-shadow:var(--glow-red)}
.ig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:820px){.ig-grid{grid-template-columns:repeat(2,1fr)}}
.ig-tile{aspect-ratio:1;border-radius:20px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--blue),var(--ink2));cursor:pointer;border:1px solid var(--glass-border);padding:0;transition:transform .3s ease}
.ig-tile:hover{transform:scale(1.03)}
.ig-tile:nth-child(2n){background:linear-gradient(135deg,var(--red),var(--gold))}
.ig-tile:nth-child(3n){background:linear-gradient(135deg,var(--green),var(--blue))}
.ig-tile .badge{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:10px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:var(--red);font-size:.8rem}
.ig-tile .meta{position:absolute;left:10px;bottom:10px;color:#fff;font-family:var(--font-m);font-size:.68rem;background:rgba(0,0,0,.32);backdrop-filter:blur(6px);padding:4px 10px;border-radius:999px}
.lightbox{position:fixed;inset:0;background:rgba(16,14,34,.6);backdrop-filter:blur(14px);z-index:300;display:none;align-items:center;justify-content:center;padding:24px}
.lightbox.open{display:flex}
.lightbox .lb-card{background:var(--glass-bg-strong);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:24px;max-width:420px;width:100%;overflow:hidden;box-shadow:var(--shadow)}
.lightbox .lb-photo{aspect-ratio:1;background:linear-gradient(135deg,var(--red),var(--gold))}
.lightbox .lb-body{padding:20px}
.lightbox .close{position:absolute;top:24px;right:24px;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.35)}

.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
@media (max-width:860px){.news-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.news-grid{grid-template-columns:1fr}}
.news-card{background:var(--glass-bg);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:22px;overflow:hidden;transition:transform .3s ease}
.news-card:hover{transform:translateY(-5px)}
.news-card .thumb{height:140px}
.news-card .body{padding:16px}
.news-card .cat{font-family:var(--font-m);font-size:.66rem;font-weight:800;text-transform:uppercase;color:var(--red);letter-spacing:.04em}
.news-card h4{font-size:.95rem;margin:6px 0}
.news-card p{font-size:.8rem;color:var(--muted)}

.note-box{background:var(--glass-bg);border:1px dashed var(--glass-border);border-radius:16px;padding:18px 22px;font-size:.84rem;color:var(--muted);margin-top:18px;backdrop-filter:blur(10px)}

:is(.freibuilder-root,.freibuilder-original-template,.freibuilder-full-canvas) footer{position:relative;background:var(--ink2);color:rgba(255,255,255,.75);padding:70px 0 30px;overflow:hidden}
footer::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 10% 0%, rgba(239,47,91,.25), transparent 60%),radial-gradient(50% 60% at 100% 100%, rgba(63,140,255,.25), transparent 60%)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;position:relative}
@media (max-width:800px){.foot-grid{grid-template-columns:1fr 1fr}}
footer h4{color:#fff;font-size:.85rem;margin-bottom:14px;font-family:var(--font-m);letter-spacing:.05em;text-transform:uppercase}
footer p,footer a{font-size:.86rem;color:rgba(255,255,255,.65);display:block;margin-bottom:8px}
footer a:hover{color:#fff}
.footer-logo{position:relative;width:max-content;margin-bottom:16px;line-height:0}
.footer-logo-img{display:block;width:auto;height:68px}
.footer-logo-white{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1);pointer-events:none}
.footer-logo-white-top{clip-path:inset(0 0 50% 0)}
.footer-logo-white-bottom{clip-path:inset(76% 0 0 0)}
@media(max-width:1180px){.footer-logo-img{height:58px}}
@media(max-width:700px){.footer-logo-img{height:46px}}
.foot-bottom{position:relative;margin-top:50px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.76rem;color:rgba(255,255,255,.45);font-family:var(--font-m)}

.mbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;background:var(--glass-bg-strong);backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);padding:10px 14px;gap:8px}
@media (max-width:760px){.mbar{display:flex}}
.mbar a{flex:1;text-align:center;color:var(--ink);font-size:.72rem;font-weight:800;padding:10px 6px;border-radius:14px;background:rgba(0,0,0,.06)}
:root[data-theme="dark"] .mbar a{color:#fff;background:rgba(255,255,255,.08)}
.mbar a.call{background:linear-gradient(100deg,var(--red),var(--red-2));color:#fff}
/* 2026 refinement: premium header + hero */
:root{
  --header-shell:rgba(255,255,255,.82);
  --header-shell-dark:rgba(18,15,38,.76);
  --hero-card:rgba(14,12,31,.58);
}
.site-header{padding:14px 0 12px}
.site-header .bar{
  position:relative;
  min-height:72px;
  padding:8px 10px 8px 18px;
  background:var(--header-shell);
  border:1px solid rgba(255,255,255,.82);
  border-radius:24px;
  box-shadow:0 16px 50px -30px rgba(20,12,54,.55);
  backdrop-filter:blur(22px) saturate(165%);
  -webkit-backdrop-filter:blur(22px) saturate(165%);
}
.site-header .bar::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.48),transparent 42%);
}
.site-header.scrolled{padding:8px 0}
.site-header.scrolled .bar{
  padding:6px 8px 6px 16px;
  border-radius:20px;
  background:var(--glass-bg-strong);
  box-shadow:0 18px 55px -28px rgba(24,14,62,.52);
}
.wordmark,.mainnav,.hcta{position:relative;z-index:1}
.mainnav{
  gap:3px;
  padding:4px;
  background:rgba(255,255,255,.48);
  border-color:rgba(26,23,48,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.mainnav a{padding:10px 13px;font-size:.77rem;color:#514c6b}
.mainnav a:hover,.mainnav a:focus-visible{background:rgba(26,23,48,.055)}
.mainnav a.on{background:var(--ink2);box-shadow:0 8px 24px -12px rgba(16,14,34,.7)}
.header-emergency{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  color:var(--muted);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.025em;
  white-space:nowrap;
}
.header-emergency::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 5px rgba(47,184,119,.13);
}
.header-emergency strong{color:var(--ink);font-size:.74rem}

.hero.hero-photo{min-height:calc(100svh - 98px);isolation:isolate}
.hero-photo-bg img{object-position:center 56%}
.hero-photo-scrim{
  background:
    linear-gradient(90deg,rgba(9,8,23,.9) 0%,rgba(13,10,29,.64) 43%,rgba(13,10,29,.12) 76%),
    linear-gradient(180deg,rgba(7,6,20,.15),rgba(7,6,20,.42));
}
.hero-photo-in{padding:72px 0 104px}
.hero-glass-card{
  position:relative;
  max-width:720px;
  padding:42px 44px 38px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(24,20,49,.72),var(--hero-card));
  border:1px solid rgba(255,255,255,.22);
  border-radius:32px;
  box-shadow:0 32px 90px -34px rgba(0,0,0,.72),inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
}
.hero-glass-card::after{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  right:-150px;
  top:-170px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(240,169,46,.34),transparent 68%);
  pointer-events:none;
}
.hero-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:22px;
  color:rgba(255,255,255,.86);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hero-kicker::before{content:"";width:34px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--gold),var(--red))}
.hero.hero-photo h1{max-width:680px;font-size:clamp(3rem,5.8vw,5.25rem);line-height:.96;letter-spacing:-.055em}
.hero.hero-photo h1 .outline{display:inline;background:linear-gradient(100deg,#ffd377 0%,#f0a92e 38%,#ff6d85 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero.hero-photo p.lead{max-width:590px;margin-top:24px;font-size:clamp(1rem,1.35vw,1.16rem);line-height:1.65;color:rgba(255,255,255,.82)}
.hero .btnrow{margin-top:30px}
.hero .btnrow .btn{min-height:50px;padding-inline:24px}
.hero .btnrow .btn.primary{background:linear-gradient(105deg,var(--gold),#ffbd49 45%,var(--red));color:#171127;box-shadow:0 16px 36px -18px rgba(240,169,46,.8)}
.hero .btnrow .btn.primary svg{stroke:#171127;fill:none}
.hero .btnrow .btn.on-dark{background:rgba(255,255,255,.1)}
.hero-proof{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  margin-top:32px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(255,255,255,.12);
}
.hero-proof-item{padding:14px 13px;background:rgba(11,9,27,.35)}
.hero-proof-item strong{display:block;color:#fff;font-family:var(--font-h);font-size:.88rem;line-height:1.15}
.hero-proof-item span{display:block;margin-top:4px;color:rgba(255,255,255,.6);font-size:.64rem;line-height:1.25}
.hero-scrollcue{
  position:absolute;
  left:50%;
  bottom:22px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.7);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  transform:translateX(-50%);
}
.hero-scrollcue::after{content:"";width:38px;height:1px;background:rgba(255,255,255,.55);animation:scrollCue 1.8s ease-in-out infinite}
@keyframes scrollCue{50%{transform:translateX(8px);opacity:.45}}

@media (max-width:1399px){.header-emergency{display:none}}
@media (max-width:1199px){
  .site-header .bar{min-height:66px;border-radius:21px}
  .hcta .btn.primary .lbl-desktop{display:inline}
}
@media (max-width:767px){
  .site-header{padding:8px 0}
  .site-header .bar,.site-header.scrolled .bar{min-height:58px;padding:5px 6px 5px 12px;border-radius:18px}
  .hcta .btn.primary.sm{display:none}
  .hero.hero-photo{min-height:calc(100svh - 74px)}
  .hero-photo-in{min-height:calc(100svh - 74px);padding:84px 0 52px;align-items:flex-end}
  .hero-photo-bg img{object-position:66% 48%}
  .hero-photo-scrim{background:linear-gradient(180deg,rgba(9,8,23,.34) 0%,rgba(9,8,23,.62) 38%,rgba(9,8,23,.94) 100%)}
  .hero-glass-card{padding:25px 22px 22px;border-radius:24px}
  .hero-kicker{margin-bottom:17px;font-size:.62rem;letter-spacing:.09em}
  .hero.hero-photo h1{font-size:clamp(2.5rem,11vw,3.65rem)}
  .hero.hero-photo p.lead{margin-top:18px;line-height:1.55}
  .hero-proof{grid-template-columns:repeat(2,1fr);border-radius:15px}
  .hero-proof-item{padding:11px 12px}
  .hero-icon-row{display:none}
  .hero-scrollcue{display:none}
}
@media (max-width:479px){
  .hero-photo-in{padding-top:64px}
  .hero-glass-card{padding:22px 18px 18px}
  .hero.hero-photo h1{font-size:2.5rem}
  .hero-proof-item:nth-child(3),.hero-proof-item:nth-child(4){display:block}
  .hero-proof{grid-template-columns:repeat(2,1fr)}
}

/* responsive reflow, not miniaturization */
.hero-glass-card{width:min(760px,100%)}
.team-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.tcard2{position:relative;padding:0;overflow:hidden;text-align:left;border-radius:26px}
.tcard2 .ava{position:relative;width:100%;height:auto;aspect-ratio:4/3;margin:0;border-radius:0;overflow:hidden;background:linear-gradient(135deg,var(--red),var(--blue))}
.tcard2 .ava img{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;transition:transform .55s cubic-bezier(.16,1,.3,1)}
.tcard2:hover .ava img{transform:scale(1.035)}
.tcard2 .ava-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-family:var(--font-h);font-size:2rem;font-weight:800}
.tcard2 .team-info{padding:19px 20px 21px}
.tcard2 .nm{font-family:var(--font-h);font-size:1.02rem}
.tcard2 .rl{margin-top:5px;font-size:.86rem;line-height:1.45}
.example-badge{position:absolute;top:12px;right:12px;z-index:4;padding:6px 9px;border:1px solid rgba(255,255,255,.36);border-radius:999px;background:rgba(13,10,29,.48);backdrop-filter:blur(10px);color:#fff;font-size:.58rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}

@media (min-width:1600px){
  html{font-size:17px}
  .wrap{max-width:1460px;padding-inline:40px}
  .hero-photo-in{padding-block:92px 126px}
  .hero-glass-card{width:800px;max-width:800px;padding:50px 52px 44px}
  .hero.hero-photo h1{max-width:760px;font-size:5.7rem}
  .hero.hero-photo p.lead{max-width:650px;font-size:1.18rem}
  .hero-proof-item{padding:17px 15px}
}
@media (max-width:1199px) and (min-width:768px){
  .hero.hero-photo{min-height:auto}
  .hero-photo-in{min-height:760px;padding:92px 0 72px}
  .hero-glass-card{max-width:720px;padding:38px 40px 34px}
  .hero.hero-photo h1{font-size:4.35rem}
  .hero.hero-photo p.lead{font-size:1.08rem}
  .page-hero-grid>div:first-child h1{font-size:3.6rem!important}
}
@media (max-width:767px){
  body{font-size:16px}
  .hero.hero-photo{min-height:auto}
  .hero-photo-in{min-height:0;padding:78px 0 54px}
  .hero-glass-card{padding:28px 24px 24px}
  .hero.hero-photo h1{font-size:2.85rem;line-height:1;overflow-wrap:normal}
  .hero.hero-photo p.lead{font-size:1rem;line-height:1.62}
  .hero .btnrow{display:grid;grid-template-columns:1fr;gap:11px}
  .hero-proof-item{padding:14px}
  .hero-proof-item strong{font-size:1rem}
  .hero-proof-item span{font-size:.76rem;line-height:1.35}
  .page-hero-grid>div:first-child h1{font-size:2.7rem!important;line-height:1.02}
  .page-hero-grid .lead{font-size:1rem!important;line-height:1.65}
  .sec-head h2{font-size:2.25rem}
  .team-grid{grid-template-columns:1fr;gap:18px}
  .tcard2 .ava{aspect-ratio:16/10}
  .timeline .tl-row{grid-template-columns:1fr;gap:8px;padding:20px}
}
@media (max-width:380px){
  .hero.hero-photo h1{font-size:2.5rem}
  .hero-proof{grid-template-columns:1fr}
  .page-hero-grid>div:first-child h1{font-size:2.35rem!important}
}
@media (prefers-reduced-motion:reduce){.hero-scrollcue::after{animation:none}}
:root[data-theme="dark"] .site-header .bar{background:var(--header-shell-dark);border-color:rgba(255,255,255,.14)}
:root[data-theme="dark"] .mainnav{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.08)}
:root[data-theme="dark"] .mainnav a{color:#d1cbe7}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .site-header .bar{background:var(--header-shell-dark);border-color:rgba(255,255,255,.14)}
  :root:not([data-theme="light"]) .mainnav{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.08)}
  :root:not([data-theme="light"]) .mainnav a{color:#d1cbe7}
}

/* brand refresh from site's logo */
:root{
  --brand-red:#AE2135;
  --brand-red-dark:#8D1729;
  --brand-snow:#23B0E6;
  --brand-sun:#FECC00;
  --brand-water:#004899;
  --brand-tool:#95B422;
  --brand-gray:#706F6F;
  --paper:#f5f7f9;
  --paper-2:#eaf1f5;
  --ink:#17191d;
  --ink-soft:rgba(23,25,29,.72);
  --muted:#62676d;
  --card:rgba(255,255,255,.82);
  --card-solid:#fff;
  --line:rgba(0,72,153,.12);
  --red:var(--brand-red);
  --red-2:var(--brand-red-dark);
  --gold:var(--brand-sun);
  --gold-2:#d9a900;
  --blue:var(--brand-water);
  --green:var(--brand-tool);
  --ink2:#071a2d;
  --glass-bg:rgba(255,255,255,.76);
  --glass-bg-strong:rgba(255,255,255,.9);
  --glass-border:rgba(255,255,255,.86);
  --header-shell:rgba(255,255,255,.9);
  --header-shell-dark:rgba(5,25,46,.82);
  --hero-card:rgba(2,35,70,.72);
  --shadow:0 28px 70px -34px rgba(0,72,153,.34);
  --glow-red:0 14px 34px -16px rgba(174,33,53,.72);
  --glow-gold:0 14px 34px -16px rgba(254,204,0,.62);
  --glow-blue:0 14px 34px -16px rgba(0,72,153,.62);
  --glow-green:0 14px 34px -16px rgba(149,180,34,.62);
}
body.freibuilder-full-canvas{background:#f7f9fa linear-gradient(135deg,#f2f7fb 0%,#f7faf8 52%,#fff7d9 100%)}

.site-header .bar{border-color:rgba(255,255,255,.92);box-shadow:0 18px 55px -34px rgba(0,72,153,.46)}
.site-header .bar::after{content:"";position:absolute;left:24px;right:24px;bottom:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--brand-red) 0 28%,var(--brand-sun) 28% 47%,var(--brand-water) 47% 68%,var(--brand-snow) 68% 84%,var(--brand-tool) 84%);opacity:.8}
.mainnav{border-color:rgba(0,72,153,.09);background:rgba(235,242,247,.72)}
.mainnav a{color:#535960}
.mainnav a:hover,.mainnav a:focus-visible{color:var(--brand-water);background:rgba(0,72,153,.07)}
.mainnav a.on{color:#fff;background:linear-gradient(110deg,var(--brand-red),var(--brand-red-dark));box-shadow:var(--glow-red)}
.mainnav .caret{opacity:.75}
.header-emergency::before{background:var(--brand-tool);box-shadow:0 0 0 5px rgba(149,180,34,.14)}
.btn.primary{background:linear-gradient(110deg,var(--brand-red),var(--brand-red-dark));box-shadow:var(--glow-red)}
.btn.primary:hover{box-shadow:0 16px 38px -14px rgba(174,33,53,.72)}
.btn.ghost{border-color:rgba(0,72,153,.12)}
.btn.ghost:hover{border-color:rgba(0,72,153,.28)}

.dim{color:var(--brand-water);border-color:rgba(0,72,153,.12);background:rgba(255,255,255,.82)}
.sec-head h2::after{content:"";display:block;width:72px;height:5px;margin-top:18px;border-radius:99px;background:linear-gradient(90deg,var(--brand-red) 0 38%,var(--brand-sun) 38% 57%,var(--brand-water) 57% 78%,var(--brand-tool) 78%)}
.sec.paper2{background:linear-gradient(135deg,rgba(35,176,230,.055),rgba(0,72,153,.045) 48%,rgba(149,180,34,.045))}

.hero-photo-scrim{background:linear-gradient(90deg,rgba(2,18,35,.94) 0%,rgba(0,48,96,.74) 44%,rgba(0,72,153,.16) 78%),linear-gradient(180deg,rgba(3,17,31,.12),rgba(3,17,31,.5))}
.hero-glass-card{background:linear-gradient(145deg,rgba(2,36,72,.88),rgba(5,25,46,.68));border-color:rgba(35,176,230,.24);box-shadow:0 34px 100px -38px rgba(0,0,0,.82),inset 0 1px 0 rgba(255,255,255,.13)}
.hero-glass-card::before{content:"";position:absolute;left:0;top:32px;bottom:32px;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--brand-red),var(--brand-sun),var(--brand-snow),var(--brand-tool))}
.hero-glass-card::after{background:radial-gradient(circle,rgba(35,176,230,.3),transparent 68%)}
.hero-kicker{color:rgba(255,255,255,.84)}
.hero-kicker::before{background:linear-gradient(90deg,var(--brand-red),var(--brand-sun))}
.hero.hero-photo h1 .outline{background:linear-gradient(100deg,#fff 0%,var(--brand-sun) 42%,var(--brand-snow) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .btnrow .btn.primary{background:linear-gradient(110deg,var(--brand-red),var(--brand-red-dark));color:#fff;box-shadow:0 16px 38px -17px rgba(174,33,53,.9)}
.hero .btnrow .btn.primary svg{stroke:#fff}
.hero-proof{border-color:rgba(35,176,230,.2);background:rgba(35,176,230,.12)}
.hero-proof-item{position:relative;background:rgba(2,23,44,.56)}
.hero-proof-item::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--brand-red)}
.hero-proof-item:nth-child(2)::before{background:var(--brand-sun)}
.hero-proof-item:nth-child(3)::before{background:var(--brand-snow)}
.hero-proof-item:nth-child(4)::before{background:var(--brand-tool)}
.hero-scrollcue::after{background:var(--brand-snow)}

.sash-wrap{background:linear-gradient(90deg,var(--brand-red),var(--brand-red-dark));border-block:1px solid rgba(255,255,255,.12)}
.sash span{background:none;color:#fff;-webkit-background-clip:initial;background-clip:initial}
.pin-card,.tcard-x,.bcard2,.stat,.formcard,.news-card{border-color:rgba(0,72,153,.09);box-shadow:0 16px 45px -36px rgba(0,72,153,.55)}
.pin-card:hover,.tcard-x:hover,.bcard2:hover{border-color:rgba(0,72,153,.2);box-shadow:0 24px 60px -34px rgba(0,72,153,.5)}
.tcard-x{background:rgba(255,255,255,.8)}
.tcard-x:hover{background:#fff}
.tone-snow,.t-snow{background:linear-gradient(135deg,var(--brand-snow),#1689bd)}
.tone-sun,.t-sun{background:linear-gradient(135deg,var(--brand-sun),#e4ae00)}
.tone-drop,.t-drop{background:linear-gradient(135deg,var(--brand-water),#006cc2)}
.tone-flame,.t-flame{background:linear-gradient(135deg,var(--brand-red),var(--brand-red-dark))}
.tone-tool,.tone-green,.t-tool{background:linear-gradient(135deg,var(--brand-tool),#6e9615)}
.bcard2 .ic2{background:linear-gradient(135deg,var(--brand-red),var(--brand-water));box-shadow:0 12px 28px -15px rgba(0,72,153,.58)}
.timeline .tl-row{border-color:rgba(0,72,153,.1)}
.tl-row .yr{background:linear-gradient(150deg,var(--brand-red),var(--brand-water));-webkit-background-clip:text;background-clip:text;color:transparent}
.tcard2{border-color:rgba(0,72,153,.1);box-shadow:0 18px 48px -36px rgba(0,72,153,.58)}
.tcard2:hover{border-color:rgba(0,72,153,.24);box-shadow:0 26px 58px -34px rgba(0,72,153,.5)}
.example-badge{background:rgba(174,33,53,.88);border-color:rgba(255,255,255,.34)}
.chip.active{background:var(--brand-red);border-color:var(--brand-red);color:#fff}
:is(.freibuilder-root,.freibuilder-original-template,.freibuilder-full-canvas) footer{background:linear-gradient(145deg,#061b30,#002f61)}

/* header nav: unified surface, no nested bg */
.site-header .bar{gap:18px;padding-inline:20px 10px}
.wordmark{padding-right:18px;border-right:1px solid rgba(0,72,153,.11)}
.mainnav{
  flex:1;
  justify-content:center;
  gap:2px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.mainnav .navitem>a{
  position:relative;
  padding:22px 11px 21px;
  border-radius:0;
  background:transparent;
  color:#4f555c;
  font-size:.76rem;
  letter-spacing:.01em;
  transition:color .22s ease;
}
.mainnav .navitem>a::after{
  content:"";
  position:absolute;
  left:11px;
  right:11px;
  bottom:12px;
  height:2px;
  border-radius:2px;
  background:var(--brand-red);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .28s cubic-bezier(.16,1,.3,1);
}
.mainnav .navitem>a:hover,.mainnav .navitem>a:focus-visible{
  color:var(--brand-red);
  background:transparent;
}
.mainnav .navitem>a:hover::after,.mainnav .navitem>a:focus-visible::after,.mainnav .navitem>a.on::after{transform:scaleX(1)}
.mainnav .navitem>a.on{color:var(--brand-red);background:transparent;box-shadow:none}
.mainnav .navitem>a.on::after{height:3px;background:linear-gradient(90deg,var(--brand-red),var(--brand-sun))}
.mainnav .caret{width:6px;height:6px;margin-left:2px;border-width:1.5px;opacity:.7}
.hcta{padding-left:4px}

.mega{
  top:calc(100% + 4px);
  padding:18px;
  border:1px solid rgba(0,72,153,.12);
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 28px 80px -30px rgba(0,48,102,.42);
  backdrop-filter:blur(26px) saturate(145%);
  -webkit-backdrop-filter:blur(26px) saturate(145%);
}
.mega::before{display:none}
.mega::after{content:"";position:absolute;left:18px;right:18px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,#DF0344,#A1082E,#575757)}
.mega-head{padding:13px 14px 12px;margin-bottom:8px;border-bottom:1px solid rgba(0,72,153,.09);border-radius:12px}
.mega-head:hover,.mega-head:focus-visible{background:rgba(0,72,153,.045)}
.mega-head b{color:var(--brand-water)}
.mega-item{border:1px solid transparent}
.mega-item:hover,.mega-item:focus-visible{background:rgba(0,72,153,.045);border-color:rgba(0,72,153,.08)}

.burger{background:transparent;border-color:rgba(0,72,153,.14);box-shadow:none}
.burger:hover{background:rgba(0,72,153,.05);border-color:rgba(0,72,153,.26)}
.burger span{background:var(--brand-water)}

/* mobile nav: same clean bg/line hierarchy */
.mmenu{
  justify-content:flex-start;
  padding:104px 26px 42px;
  background:rgba(247,250,252,.98);
  color:var(--ink);
  backdrop-filter:blur(26px) saturate(145%);
  -webkit-backdrop-filter:blur(26px) saturate(145%);
  transform:translateX(100%);
  transition:transform .48s cubic-bezier(.16,1,.3,1);
}
.mmenu.open{transform:translateX(0)}
.mmenu::before{content:"MENÜ";position:absolute;left:26px;top:38px;color:var(--brand-red);font-family:var(--font-m);font-size:.7rem;font-weight:800;letter-spacing:.16em}
.mmenu::after{content:"";position:absolute;left:26px;right:86px;top:66px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--brand-red),var(--brand-sun),var(--brand-water),var(--brand-tool))}
.mmenu .mclose{top:24px;right:24px;border-color:rgba(0,72,153,.14);background:transparent;color:var(--brand-water);box-shadow:none}
.mrow{border-color:rgba(0,72,153,.1)}
.mrow-head{padding:15px 0}
.mrow-head a{color:var(--ink);font-size:clamp(1.45rem,6vw,2.15rem);letter-spacing:-.025em}
.mrow-head a:hover,.mrow-head a:focus-visible{color:var(--brand-red)}
.mrow-head .mplus{border-color:rgba(0,72,153,.22);color:var(--brand-water);background:transparent}
.mrow.open .mrow-head .mplus{color:var(--brand-red);border-color:rgba(174,33,53,.28)}
.msub a{color:var(--muted);border:0;padding:9px 0 9px 14px;font-size:.95rem}
.msub a:hover{color:var(--brand-red)}
.mmenu .mfoot{color:var(--brand-gray);padding-top:8px}

@media (max-width:1399px) and (min-width:1200px){
  .site-header .bar{gap:10px;padding-left:16px}
  .wordmark{padding-right:12px}
  .logo-img{height:48px}
  .mainnav .navitem>a{padding-inline:8px;font-size:.71rem}
  .mainnav .navitem>a::after{left:8px;right:8px}
  .hcta .btn.sm{padding-inline:14px}
}
@media (max-width:1199px){
  .wordmark{border-right:0;padding-right:0}
  .site-header .bar{padding-inline:16px 8px}
}

:root[data-theme="dark"]{
  --paper:#071522;--paper-2:#0a2138;--card:rgba(10,33,56,.82);--card-solid:#0d2945;
  --line:rgba(35,176,230,.16);--ink:#f6f8fa;--ink-soft:rgba(246,248,250,.74);--muted:#b8c6d2;
  --glass-bg:rgba(8,30,52,.76);--glass-bg-strong:rgba(8,30,52,.9);--glass-border:rgba(35,176,230,.14)
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#071522;--paper-2:#0a2138;--card:rgba(10,33,56,.82);--card-solid:#0d2945;
    --line:rgba(35,176,230,.16);--ink:#f6f8fa;--ink-soft:rgba(246,248,250,.74);--muted:#b8c6d2;
    --glass-bg:rgba(8,30,52,.76);--glass-bg-strong:rgba(8,30,52,.9);--glass-border:rgba(35,176,230,.14)
  }
}
:root[data-theme="dark"] .mainnav,:root[data-theme="dark"] .mainnav a{background:transparent}
:root[data-theme="dark"] .mainnav .navitem>a{color:#d4dee7}
:root[data-theme="dark"] .mainnav .navitem>a:hover,:root[data-theme="dark"] .mainnav .navitem>a.on{color:var(--brand-snow)}
:root[data-theme="dark"] .mega{background:rgba(7,29,50,.97);border-color:rgba(35,176,230,.15)}
:root[data-theme="dark"] .mmenu{background:rgba(5,24,42,.98)}
:root[data-theme="dark"] .mrow-head a{color:#f5f8fa}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .mainnav,:root:not([data-theme="light"]) .mainnav a{background:transparent}
  :root:not([data-theme="light"]) .mainnav .navitem>a{color:#d4dee7}
  :root:not([data-theme="light"]) .mainnav .navitem>a:hover,:root:not([data-theme="light"]) .mainnav .navitem>a.on{color:var(--brand-snow)}
  :root:not([data-theme="light"]) .mega{background:rgba(7,29,50,.97);border-color:rgba(35,176,230,.15)}
  :root:not([data-theme="light"]) .mmenu{background:rgba(5,24,42,.98)}
  :root:not([data-theme="light"]) .mrow-head a{color:#f5f8fa}
}
@media (max-width:767px){
  .site-header .bar::after{left:16px;right:16px}
  .hero-photo-scrim{background:linear-gradient(180deg,rgba(2,18,35,.3) 0%,rgba(0,48,96,.64) 38%,rgba(3,20,37,.96) 100%)}
  .hero-glass-card::before{top:24px;bottom:24px;width:3px}
}

/* exact nav system per client spec */
:root{
  --hs-red:#bd1738;--hs-red-dark:#921028;--hs-dark:#20242a;--hs-text:#5b626d;
  --hs-white:#fff;--hs-blue:#159ed8;--hs-deepblue:#005a9e;--hs-yellow:#f5b900;--hs-green:#81b91b;
  --hs-glass:rgba(255,255,255,.88);--hs-glass-strong:rgba(255,255,255,.97);
  --hs-border:rgba(255,255,255,.76);--hs-line:rgba(20,25,35,.1);
  --hs-shadow:0 28px 75px rgba(25,35,50,.18);--hs-mobile-menu-top:100px;
}
.site-header,.mmenu{display:none!important}
body.hs-menu-open{overflow:hidden;touch-action:none}
.hs-topbar,.hs-header,.hs-mobile-menu{font-family:Arial,Helvetica,sans-serif}
.hs-topbar svg,.hs-header svg,.hs-mobile-menu svg{display:block}
.hs-topbar{position:relative;z-index:3002;min-height:48px;color:#fff;background:linear-gradient(105deg,var(--hs-red-dark),var(--hs-red))}
.hs-topbar-inner{width:min(1380px,calc(100% - 40px));min-height:48px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.hs-top-contact{display:flex;align-items:center;gap:32px}
.hs-top-link{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:800;transition:opacity .25s ease,transform .25s ease}
.hs-top-link:hover{opacity:.82;transform:translateY(-1px)}
.hs-top-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hs-socials{display:flex;align-items:center;gap:11px}
.hs-social{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;background:rgba(255,255,255,.14);backdrop-filter:blur(12px);transition:color .25s ease,background .25s ease,transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease}
.hs-social:hover{color:var(--hs-red);background:#fff;transform:translateY(-4px) scale(1.08);box-shadow:0 12px 25px rgba(65,0,18,.22)}
.hs-social svg{width:21px;height:21px;fill:currentColor}
/* forces compositing layer, fixes sticky/blur paint bug */
.hs-header{position:sticky;top:0;z-index:3001;padding:18px 0;transition:padding .35s ease;transform:translateZ(0)}
.hs-header.is-scrolled{padding:9px 0}
.hs-header-shell{position:relative;width:min(1380px,calc(100% - 40px));min-height:96px;margin:auto;padding:14px 18px 14px 26px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;border:1px solid var(--hs-border);border-radius:30px;background:var(--hs-glass);box-shadow:0 16px 50px rgba(25,35,50,.09);backdrop-filter:blur(25px) saturate(175%);transition:min-height .35s ease,background .35s ease,box-shadow .35s ease;transform:translateZ(0)}
.hs-header.is-scrolled .hs-header-shell{min-height:76px;background:var(--hs-glass-strong);box-shadow:var(--hs-shadow)}
body.hs-menu-open .hs-header-shell{background:rgba(255,255,255,.98);box-shadow:0 18px 45px rgba(15,20,28,.2)}
.hs-brand{min-width:max-content;display:flex;align-items:center}
.hs-logo{position:relative;display:flex;flex-direction:column;gap:5px;line-height:1;transition:transform .3s ease}
.hs-brand:hover .hs-logo{transform:translateY(-2px)}
.hs-logo-image{display:block;width:auto;height:68px;max-width:min(290px,24vw);object-fit:contain;filter:drop-shadow(0 2px 12px rgba(0,0,0,.16));transition:height .35s ease,max-width .35s ease,filter .35s ease}
.hs-header.is-scrolled .hs-logo-image{height:58px;filter:none}
.hs-logo-title{color:var(--hs-red);font-size:clamp(19px,2vw,28px);font-weight:900;letter-spacing:-.045em;white-space:nowrap}
.hs-logo-title span{color:var(--hs-dark);font-size:.52em;letter-spacing:0}
.hs-logo-icons{display:flex;gap:4px}.hs-logo-icons i{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;color:#fff;font-style:normal;box-shadow:0 5px 12px rgba(20,30,40,.12)}
.hs-logo-icons svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hs-logo-year{color:#7a8089;font-size:10px;font-weight:900;letter-spacing:.15em}
.hs-bg-blue{background:var(--hs-blue)}.hs-bg-yellow{background:var(--hs-yellow)}.hs-bg-deepblue{background:var(--hs-deepblue)}.hs-bg-red{background:var(--hs-red)}.hs-bg-green{background:var(--hs-green)}
.hs-nav{display:flex;align-items:center;justify-content:center;gap:2px}.hs-nav-item{position:relative}
.hs-nav-item.has-dropdown{padding-bottom:25px;margin-bottom:-25px}.hs-nav-item.has-dropdown::before{content:"";position:absolute;top:100%;left:-28px;right:-28px;height:36px;background:transparent;pointer-events:auto}
.hs-nav-link,.hs-nav-trigger{position:relative;min-height:46px;padding:0 13px;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:14px;color:var(--hs-text);background:transparent;font-size:12px;font-weight:900;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:color .25s ease,background .25s ease,transform .25s ease}
.hs-nav-link::after,.hs-nav-trigger::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:99px;background:var(--hs-red);transform:scaleX(0);transition:transform .25s ease}
.hs-nav-link:hover,.hs-nav-trigger:hover,.hs-nav-item.is-open .hs-nav-trigger{color:var(--hs-red);background:rgba(189,23,56,.07);transform:translateY(-1px)}
.hs-nav-link:hover::after,.hs-nav-trigger:hover::after,.hs-nav-link.is-active::after,.hs-nav-link.on::after,.hs-nav-item.is-open .hs-nav-trigger::after{transform:scaleX(1)}
.hs-nav-link.on{color:var(--hs-red)}
.hs-nav-arrow{width:7px;height:7px;margin-top:-4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .25s ease,margin .25s ease}
.hs-nav-item.is-open .hs-nav-arrow{margin-top:4px;transform:rotate(225deg)}
.hs-mega{position:absolute;top:calc(100% + 2px);left:50%;z-index:5000;width:min(920px,calc(100vw - 70px));padding:18px;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:12px;border:1px solid var(--hs-border);border-radius:28px;background:rgba(255,255,255,.97);box-shadow:var(--hs-shadow);backdrop-filter:blur(28px) saturate(180%);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,16px) scale(.97);transform-origin:top center;transition:opacity .25s ease,visibility .25s ease,transform .35s cubic-bezier(.16,1,.3,1)}
.hs-mega.hs-mega-small{width:min(690px,calc(100vw - 70px));grid-template-columns:1fr 1.15fr}
.hs-nav-item.has-dropdown:hover .hs-mega,.hs-nav-item.has-dropdown:focus-within .hs-mega,.hs-nav-item.is-open .hs-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.hs-mega-intro{position:relative;min-height:285px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:22px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.22),transparent 30%),linear-gradient(145deg,#8d1029,#bd1738 58%,#dc3153)}
.hs-mega-intro.hs-mega-dark{background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.16),transparent 30%),linear-gradient(145deg,#1e2630,#35404d)}
.hs-mega-intro::before{content:"";position:absolute;width:180px;height:180px;top:-70px;right:-60px;border:1px solid rgba(255,255,255,.16);border-radius:50%}.hs-mega-intro>*{position:relative;z-index:1}
.hs-mega-label{margin-bottom:9px;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.hs-mega-intro h3{margin:0 0 11px;color:#fff;font-size:27px;line-height:1.04}.hs-mega-intro p{margin:0;color:rgba(255,255,255,.8);font-size:13px;line-height:1.55}
.hs-service-symbols{margin-top:24px;display:flex;gap:8px}.hs-symbol{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:#fff;box-shadow:0 8px 20px rgba(0,0,0,.16);transition:transform .25s ease}.hs-symbol:hover{transform:translateY(-4px) rotate(-4deg)}
.hs-symbol svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hs-mega-column{display:flex;flex-direction:column;gap:8px}.hs-mega-title{padding:8px 12px 10px;color:#858b94;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.hs-mega-link{padding:12px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;border:1px solid transparent;border-radius:17px;background:rgba(245,247,250,.85);cursor:pointer;transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}
.hs-mega-link:hover{z-index:2;border-color:rgba(189,23,56,.15);background:#fff;box-shadow:0 15px 35px rgba(25,35,50,.11);transform:translateX(5px)}
.hs-mega-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#fff;background:var(--icon-color,var(--hs-red));transition:transform .3s cubic-bezier(.16,1,.3,1)}
.hs-mega-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hs-mega-link:hover .hs-mega-icon{transform:rotate(-5deg) scale(1.08)}
.hs-mega-copy strong{display:block;margin-bottom:4px;color:var(--hs-dark);font-size:13px}.hs-mega-copy small{display:block;color:#777e88;font-size:11px;line-height:1.35}
.hs-mega-link-arrow{color:var(--hs-red);opacity:0;transform:translateX(-6px);transition:opacity .25s ease,transform .25s ease}.hs-mega-link-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.hs-mega-link:hover .hs-mega-link-arrow{opacity:1;transform:translateX(0)}
.hs-actions{position:relative;z-index:3005;display:flex;align-items:center;gap:10px}.hs-contact-btn{min-height:50px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--hs-red),var(--hs-red-dark));box-shadow:0 12px 28px rgba(189,23,56,.26);font-size:12px;font-weight:900;text-transform:uppercase;transition:transform .25s ease,box-shadow .25s ease}.hs-contact-btn:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(189,23,56,.34)}
.hs-contact-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.hs-menu-toggle{position:relative;z-index:3010;width:50px;height:50px;padding:0;display:none;place-items:center;border:1px solid var(--hs-line);border-radius:16px;color:var(--hs-dark);background:rgba(255,255,255,.9);cursor:pointer}
.hs-menu-lines{position:relative;width:22px;height:16px}.hs-menu-lines span{position:absolute;left:0;width:22px;height:2px;border-radius:99px;background:currentColor;transition:top .3s ease,transform .3s ease,opacity .3s ease}.hs-menu-lines span:nth-child(1){top:0}.hs-menu-lines span:nth-child(2){top:7px}.hs-menu-lines span:nth-child(3){top:14px}.hs-menu-toggle.is-active .hs-menu-lines span:nth-child(1){top:7px;transform:rotate(45deg)}.hs-menu-toggle.is-active .hs-menu-lines span:nth-child(2){opacity:0}.hs-menu-toggle.is-active .hs-menu-lines span:nth-child(3){top:7px;transform:rotate(-45deg)}
.hs-mobile-menu{position:fixed;top:var(--hs-mobile-menu-top);right:0;bottom:0;left:0;z-index:2999;padding:22px 25px calc(35px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;color:#fff;background:radial-gradient(circle at 12% 12%,rgba(189,23,56,.62),transparent 35%),radial-gradient(circle at 88% 85%,rgba(20,140,205,.38),transparent 38%),rgba(17,21,29,.98);backdrop-filter:blur(28px);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-18px);transition:opacity .32s ease,visibility .32s ease,transform .42s cubic-bezier(.16,1,.3,1)}
.hs-mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.hs-mobile-inner{width:min(760px,100%);margin:0 auto}.hs-mobile-row{width:100%;border-bottom:1px solid rgba(255,255,255,.13)}
.hs-mobile-link,.hs-mobile-trigger{width:100%;min-height:72px;padding:0;display:flex;align-items:center;justify-content:space-between;gap:15px;border:0;color:#fff;background:transparent;font-size:clamp(23px,4vw,36px);font-weight:900;line-height:1.1;text-align:left;cursor:pointer}
.hs-mobile-plus{position:relative;width:40px;height:40px;flex:0 0 40px;border:1px solid rgba(255,255,255,.25);border-radius:50%;transition:transform .3s ease,background .3s ease}.hs-mobile-plus::before,.hs-mobile-plus::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:2px;border-radius:99px;background:#fff;transform:translate(-50%,-50%)}.hs-mobile-plus::after{transform:translate(-50%,-50%) rotate(90deg)}.hs-mobile-row.is-open .hs-mobile-plus{background:var(--hs-red);transform:rotate(45deg)}
.hs-mobile-sub{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.16,1,.3,1)}.hs-mobile-sub-inner{padding:0 0 22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.hs-mobile-sub a{min-height:52px;padding:13px 15px;display:flex;align-items:center;gap:11px;border-radius:14px;color:rgba(255,255,255,.8);background:rgba(255,255,255,.065);font-size:14px;font-weight:800;line-height:1.35;transition:color .25s ease,background .25s ease,transform .25s ease}.hs-mobile-sub a:hover{color:#fff;background:rgba(255,255,255,.12);transform:translateX(4px)}.hs-mobile-sub svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.8}.hs-mobile-socials{margin-top:30px;padding-bottom:10px;display:flex;gap:14px}.hs-mobile-socials .hs-social{width:52px;height:52px}
@media(max-width:1180px){.hs-nav{display:none}.hs-menu-toggle{display:grid}.hs-header-shell{grid-template-columns:minmax(0,1fr) auto}}
@media(max-width:1180px){.hs-logo-image{height:58px;max-width:min(260px,42vw)}.hs-header.is-scrolled .hs-logo-image{height:54px}}
@media(min-width:701px) and (max-width:1180px){.hs-topbar-inner{width:calc(100% - 36px)}.hs-header{padding:14px 0}.hs-header-shell{width:calc(100% - 36px);min-height:86px;padding:12px 16px 12px 22px;gap:18px;border-radius:26px}.hs-contact-btn{min-height:48px;padding:0 19px}.hs-mobile-menu{padding:24px 36px calc(45px + env(safe-area-inset-bottom))}}
@media(max-width:700px){.hs-topbar-inner{width:100%;min-height:52px;padding:7px 14px;gap:10px}.hs-top-contact{min-width:0;flex:1}.hs-top-contact .hs-top-link:first-child{display:none}.hs-top-link{max-width:100%;font-size:12px;white-space:nowrap}.hs-socials{flex:0 0 auto;gap:5px}.hs-topbar .hs-social{width:34px;height:34px}.hs-header{padding:9px 0}.hs-header-shell{width:calc(100% - 20px);min-height:72px;padding:9px 10px 9px 15px;gap:8px;border-radius:21px}.hs-logo{min-width:0;overflow:hidden}.hs-logo-title{max-width:100%;overflow:hidden;font-size:clamp(14px,4.2vw,18px);text-overflow:ellipsis}.hs-logo-icons{gap:3px}.hs-logo-icons i{width:17px;height:17px;border-radius:5px}.hs-logo-icons svg{width:10px;height:10px}.hs-logo-year{display:none}.hs-actions{flex:0 0 auto;gap:7px}.hs-contact-btn{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:13px;font-size:0}.hs-menu-toggle{width:44px;height:44px;border-radius:13px}.hs-mobile-menu{padding:16px 18px calc(28px + env(safe-area-inset-bottom))}.hs-mobile-link,.hs-mobile-trigger{min-height:64px;font-size:clamp(21px,7vw,29px)}.hs-mobile-sub-inner{grid-template-columns:1fr;gap:8px}}
@media(max-width:700px){.hs-logo-image,.hs-header.is-scrolled .hs-logo-image{height:46px;max-width:min(210px,48vw)}}
@media(max-width:390px){.hs-topbar-inner{padding-inline:10px}.hs-top-link{font-size:11px}.hs-topbar .hs-social{width:31px;height:31px}.hs-header-shell{width:calc(100% - 14px);padding-left:12px;padding-right:8px;gap:6px}.hs-logo-title{font-size:13px}.hs-contact-btn,.hs-menu-toggle{width:41px;min-width:41px;height:41px;min-height:41px}.hs-mobile-menu{padding-inline:14px}.hs-mobile-link,.hs-mobile-trigger{min-height:60px;font-size:21px}}

/* unified transparent header + photo heroes */
.hs-header{
  position:absolute;
  top:48px;
  left:0;
  right:0;
  padding:14px 0;
}
.hs-header-shell,.hs-header.is-scrolled .hs-header-shell,body.hs-menu-open .hs-header-shell{
  min-height:88px;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.hs-logo-title span,.hs-logo-year{color:rgba(255,255,255,.88)}
.hs-nav-link,.hs-nav-trigger{color:rgba(255,255,255,.86);text-shadow:0 2px 16px rgba(0,0,0,.34)}
.hs-nav-link:hover,.hs-nav-trigger:hover,.hs-nav-item.is-open .hs-nav-trigger,.hs-nav-link.on{color:#fff;background:rgba(255,255,255,.1)}
.hs-nav-link::after,.hs-nav-trigger::after{background:linear-gradient(90deg,var(--hs-yellow),#fff)}
.hs-menu-toggle{color:#fff;background:rgba(5,23,41,.16);border-color:rgba(255,255,255,.34);backdrop-filter:blur(12px)}
.hs-contact-btn{border:1px solid rgba(255,255,255,.14)}

/* homepage starts below transparent header */
#p-start .hero.hero-photo{margin-top:0;min-height:100svh}
#p-start .hero-photo-in{padding-top:164px}
#p-start .hero-glass-card{width:min(660px,100%);max-width:660px;padding:34px 38px 32px}
#p-start .hero.hero-photo h1{font-size:clamp(3rem,4.7vw,4.35rem);line-height:.98}
#p-start .hero.hero-photo p.lead{max-width:560px;font-size:1rem;line-height:1.6}
#p-start .hero-kicker{font-size:.66rem;margin-bottom:18px}
#p-start .hero-proof{margin-top:26px}

/* subpages get same full-photo header */
.panel:not(#p-start)>section.sec:first-child{
  position:relative;
  min-height:680px;
  padding:0!important;
  overflow:hidden;
  isolation:isolate;
  background:#06182a;
}
.panel:not(#p-start)>section.sec:first-child .page-hero-grid{
  position:relative;
  min-height:680px;
  display:flex;
  align-items:center;
  padding-top:148px;
  padding-bottom:72px;
}
.panel:not(#p-start)>section.sec:first-child .page-hero-grid>div:first-child{
  position:relative;
  z-index:3;
  width:min(620px,100%);
  padding:32px 36px 34px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(4,31,59,.78),rgba(4,24,44,.58));
  box-shadow:0 32px 90px -40px rgba(0,0,0,.8),inset 0 1px rgba(255,255,255,.12);
  backdrop-filter:blur(18px) saturate(135%);
  -webkit-backdrop-filter:blur(18px) saturate(135%);
}
.panel:not(#p-start)>section.sec:first-child .page-hero-grid>div:first-child::before{
  content:"";
  position:absolute;
  left:0;
  top:26px;
  bottom:26px;
  width:4px;
  border-radius:0 4px 4px 0;
  background:linear-gradient(180deg,var(--hs-red),var(--hs-yellow),var(--hs-blue),var(--hs-green));
}
.panel:not(#p-start)>section.sec:first-child .hero-media{
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  height:auto;
  max-width:none;
  aspect-ratio:auto;
  border:0;
  border-radius:0;
  box-shadow:none;
  transform:translateX(-50%);
}
.panel:not(#p-start)>section.sec:first-child .hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.02)}
.panel:not(#p-start)>section.sec:first-child .hero-media.in img{transform:scale(1)}
.panel:not(#p-start)>section.sec:first-child .hero-media::after{
  background:linear-gradient(90deg,rgba(2,18,35,.92) 0%,rgba(0,48,96,.68) 48%,rgba(0,72,153,.18) 78%),linear-gradient(180deg,rgba(3,17,31,.12),rgba(3,17,31,.52));
}
.panel:not(#p-start)>section.sec:first-child .hero-media .capglass{
  left:auto;
  right:28px;
  bottom:24px;
  width:max-content;
  max-width:calc(100% - 56px);
  color:#fff;
  background:rgba(4,29,52,.56);
  border-color:rgba(255,255,255,.18);
}
.panel:not(#p-start)>section.sec:first-child h1{
  max-width:570px;
  margin-top:16px!important;
  color:#fff;
  font-size:clamp(2.45rem,3.8vw,3.55rem)!important;
  line-height:1.02;
  letter-spacing:-.04em;
}
.panel:not(#p-start)>section.sec:first-child .lead{max-width:520px!important;margin-top:18px!important;color:rgba(255,255,255,.78)!important;font-size:.98rem;line-height:1.62}
.panel:not(#p-start)>section.sec:first-child .dim{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}

/* modern dropdown nav for tablet/mobile */
.hs-mobile-menu{
  color:var(--hs-dark);
  background:linear-gradient(145deg,rgba(255,255,255,.985),rgba(239,247,251,.98));
  border-top:1px solid rgba(0,90,158,.08);
  box-shadow:inset 0 18px 48px -42px rgba(0,72,153,.38);
}
.hs-mobile-row{border-bottom-color:rgba(0,90,158,.1)}
.hs-mobile-link,.hs-mobile-trigger{color:var(--hs-dark)}
.hs-mobile-link:hover,.hs-mobile-trigger:hover{color:var(--hs-red)}
.hs-mobile-plus{border-color:rgba(0,90,158,.2);background:#fff;box-shadow:0 8px 22px -18px rgba(0,72,153,.65)}
.hs-mobile-plus::before,.hs-mobile-plus::after{background:var(--hs-deepblue)}
.hs-mobile-row.is-open .hs-mobile-plus{background:var(--hs-red)}
.hs-mobile-row.is-open .hs-mobile-plus::before,.hs-mobile-row.is-open .hs-mobile-plus::after{background:#fff}
.hs-mobile-sub-inner{padding:2px 0 20px}
.hs-mobile-sub a{color:#515a64;background:#fff;border:1px solid rgba(0,90,158,.09);box-shadow:0 10px 28px -24px rgba(0,72,153,.55)}
.hs-mobile-sub a:hover{color:var(--hs-red);background:#fff;border-color:rgba(189,23,56,.18)}
.hs-mobile-socials .hs-social{color:var(--hs-deepblue);background:#fff;border-color:rgba(0,90,158,.12)}

@media(max-width:1180px){
  .hs-header{padding:10px 0}
  .hs-header-shell,.hs-header.is-scrolled .hs-header-shell{min-height:78px}
  #p-start .hero-photo-in{padding-top:146px}
  .panel:not(#p-start)>section.sec:first-child .page-hero-grid{padding-top:132px}
}
@media(max-width:700px){
  .hs-header{top:52px;padding:7px 0}
  .hs-header-shell,.hs-header.is-scrolled .hs-header-shell{min-height:68px}
  #p-start .hero-photo-in{padding-top:132px;padding-bottom:46px}
  #p-start .hero-glass-card{padding:24px 21px 22px}
  #p-start .hero.hero-photo h1{font-size:2.45rem;line-height:1.01}
  #p-start .hero.hero-photo p.lead{font-size:.94rem}
  #p-start .hero-kicker{font-size:.58rem}
  .panel:not(#p-start)>section.sec:first-child{min-height:590px}
  .panel:not(#p-start)>section.sec:first-child .page-hero-grid{min-height:590px;padding-top:118px;padding-bottom:58px}
  .panel:not(#p-start)>section.sec:first-child .page-hero-grid>div:first-child{padding:24px 22px 26px;border-radius:22px}
  .panel:not(#p-start)>section.sec:first-child h1{font-size:2.25rem!important;line-height:1.04}
  .panel:not(#p-start)>section.sec:first-child .lead{font-size:.92rem}
  .panel:not(#p-start)>section.sec:first-child .hero-media .capglass{right:16px;bottom:14px;max-width:calc(100% - 32px);font-size:.72rem}
  .hs-mobile-menu{padding-top:12px}
}
@media(max-width:390px){
  #p-start .hero.hero-photo h1{font-size:2.2rem}
  .panel:not(#p-start)>section.sec:first-child h1{font-size:2.05rem!important}
}

/* sticky glass nav + visibility fixes */
.hs-header{
  position:sticky;
  top:0;
  left:auto;
  right:auto;
  z-index:12000;
  margin-bottom:-116px;
  padding:14px 0;
  overflow:visible;
}
.hs-header-shell,.hs-header.is-scrolled .hs-header-shell,body.hs-menu-open .hs-header-shell{
  position:relative;
  z-index:12001;
  min-height:88px;
  overflow:visible;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 18px 55px -30px rgba(0,48,102,.38);
  backdrop-filter:blur(24px) saturate(165%);
  -webkit-backdrop-filter:blur(24px) saturate(165%);
}
.hs-header.is-scrolled .hs-header-shell{
  background:rgba(255,255,255,.9);
  border-color:rgba(255,255,255,.9);
  box-shadow:0 20px 60px -28px rgba(0,48,102,.45);
}
.hs-logo-title span{color:var(--hs-dark)}
.hs-logo-year{color:#6f7680}
.hs-nav{position:relative;z-index:12010;overflow:visible}
.hs-nav-link,.hs-nav-trigger{color:var(--hs-text);text-shadow:none}
.hs-nav-link:hover,.hs-nav-trigger:hover,.hs-nav-item.is-open .hs-nav-trigger,.hs-nav-link.on{color:var(--hs-red);background:rgba(189,23,56,.07)}
.hs-nav-link::after,.hs-nav-trigger::after{background:var(--hs-red)}
.hs-menu-toggle{color:var(--hs-dark);background:rgba(255,255,255,.78);border-color:rgba(20,25,35,.12)}
.hs-nav-item.has-dropdown{z-index:12020}
.hs-nav-item.has-dropdown::before{top:calc(100% - 4px);height:46px;z-index:12021}
.hs-nav-item.has-dropdown:hover,.hs-nav-item.has-dropdown:focus-within,.hs-nav-item.is-open{z-index:20000}
.hs-mega{
  z-index:25000!important;
  border-color:rgba(0,90,158,.11);
  box-shadow:0 32px 90px -24px rgba(0,37,79,.44);
  isolation:isolate;
}
.sash-wrap{background:transparent}
.sash{
  background:linear-gradient(100deg,var(--brand-red),var(--brand-red-dark));
  border-color:rgba(255,255,255,.2);
  color:#fff;
  box-shadow:0 18px 44px -20px rgba(174,33,53,.65);
}
.sash .track{opacity:1;visibility:visible}
.sash span{
  background:none!important;
  color:#fff!important;
  -webkit-background-clip:border-box!important;
  background-clip:border-box!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:0 1px 12px rgba(65,0,18,.2);
}
.sash span::after{color:var(--brand-sun);-webkit-text-fill-color:var(--brand-sun)}

@media(max-width:1180px){
  .hs-header{margin-bottom:-98px;padding:10px 0}
  .hs-header-shell,.hs-header.is-scrolled .hs-header-shell{min-height:78px}
}
@media(max-width:700px){
  .hs-header{top:0;margin-bottom:-82px;padding:7px 0}
  .hs-header-shell,.hs-header.is-scrolled .hs-header-shell{min-height:68px;background:rgba(255,255,255,.86)}
}

/* transparent hero menu -> glass bar on scroll */
.hs-header{
  background:transparent;
  border-bottom:1px solid transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:padding .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;
}
.hs-header .hs-header-shell,
.hs-header.is-scrolled .hs-header-shell,
body.hs-menu-open .hs-header-shell{
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.hs-header.is-scrolled,
body.hs-menu-open .hs-header{
  background:rgba(255,255,255,.88);
  border-bottom-color:rgba(0,90,158,.11);
  box-shadow:0 18px 48px -30px rgba(0,48,102,.62);
  backdrop-filter:blur(24px) saturate(165%);
  -webkit-backdrop-filter:blur(24px) saturate(165%);
}
.hs-header:not(.is-scrolled) .hs-logo-title span,
.hs-header:not(.is-scrolled) .hs-logo-year{color:rgba(255,255,255,.9)}
.hs-header:not(.is-scrolled) .hs-nav-link,
.hs-header:not(.is-scrolled) .hs-nav-trigger{
  color:rgba(255,255,255,.92);
  text-shadow:0 2px 14px rgba(0,24,52,.48);
}
.hs-header:not(.is-scrolled) .hs-nav-link:hover,
.hs-header:not(.is-scrolled) .hs-nav-trigger:hover,
.hs-header:not(.is-scrolled) .hs-nav-item.is-open .hs-nav-trigger{color:#fff}
.hs-header:not(.is-scrolled) .hs-menu-toggle{
  color:#fff;
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.35);
  box-shadow:0 10px 30px -20px rgba(0,24,52,.7);
}
.hs-header.is-scrolled .hs-logo-title span,
.hs-header.is-scrolled .hs-logo-year,
body.hs-menu-open .hs-logo-title span,
body.hs-menu-open .hs-logo-year{color:var(--hs-dark)}
.hs-header.is-scrolled .hs-nav-link,
.hs-header.is-scrolled .hs-nav-trigger,
body.hs-menu-open .hs-nav-link,
body.hs-menu-open .hs-nav-trigger{
  color:var(--hs-text);
  text-shadow:none;
}
.hs-header.is-scrolled .hs-menu-toggle,
body.hs-menu-open .hs-menu-toggle{
  color:var(--hs-dark);
  background:rgba(255,255,255,.72);
  border-color:rgba(0,90,158,.14);
  box-shadow:none;
}

/* keep dropdown indicators/cursor visible */
.hs-nav-trigger{cursor:pointer}
.hs-nav-arrow{
  flex:0 0 7px;
  color:var(--hs-red);
  opacity:1;
  filter:none;
  transition:color .25s ease,filter .25s ease,transform .25s ease,margin .25s ease;
}
.hs-header:not(.is-scrolled) .hs-nav-arrow{
  color:var(--hs-yellow);
  filter:drop-shadow(0 1px 4px rgba(0,24,52,.65));
}
.hs-header.is-scrolled .hs-nav-arrow,
body.hs-menu-open .hs-nav-arrow{color:var(--hs-red);filter:none}
.hs-nav-trigger:hover .hs-nav-arrow,
.hs-nav-item.is-open .hs-nav-arrow{color:var(--hs-red)}
.hs-header:not(.is-scrolled) .hs-nav-trigger:hover .hs-nav-arrow,
.hs-header:not(.is-scrolled) .hs-nav-item.is-open .hs-nav-arrow{color:#fff}

.fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fact-card{min-height:190px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;border:1px solid rgba(255,255,255,.22);border-radius:24px;color:#fff;background:rgba(255,255,255,.1);backdrop-filter:blur(14px);transition:transform .3s ease,background .3s ease}
.fact-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.16)}
.fact-card strong{font-family:var(--font-h);font-size:clamp(1.7rem,3vw,2.7rem);line-height:1}
.fact-card span{max-width:25ch;color:rgba(255,255,255,.82);font-size:.92rem;line-height:1.55}
.milestone-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,42px)}
.milestone-progress .stat{padding:20px 10px}
.milestone-progress .ring{width:132px;height:132px;margin-bottom:18px}
.milestone-progress .num{font-size:1.35rem;letter-spacing:-.02em}
.milestone-progress .num.is-word{font-size:1rem;letter-spacing:.02em;text-transform:uppercase}
.milestone-progress .lbl{max-width:28ch;margin:0 auto;color:rgba(255,255,255,.84);font-size:.86rem;line-height:1.55}
.benefit-bento{grid-template-columns:repeat(3,minmax(0,1fr))}
.ig-tile.has-feed-image{display:block;background:#182230}
.ig-tile.has-feed-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1),filter .3s ease}
.ig-tile.has-feed-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,16,27,.72));pointer-events:none}
.ig-tile.has-feed-image:hover img{transform:scale(1.07);filter:saturate(1.08)}
.ig-tile.has-feed-image .badge,.ig-tile.has-feed-image .meta{z-index:2}
.news-card{display:block;color:inherit}
.news-card .thumb{overflow:hidden;background:#e9eef3}
.news-card .thumb img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.news-card:hover .thumb img{transform:scale(1.06)}
@media(max-width:900px){.fact-grid,.milestone-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit-bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.fact-grid,.benefit-bento{grid-template-columns:1fr}.fact-card{min-height:160px}.milestone-progress{gap:18px 10px}.milestone-progress .stat{padding:10px 0}.milestone-progress .ring{width:112px;height:112px}.milestone-progress .lbl{font-size:.76rem;line-height:1.4}}
@media(max-width:700px){
  .hs-header .hs-header-shell,
  .hs-header.is-scrolled .hs-header-shell,
  body.hs-menu-open .hs-header-shell{background:transparent}
}

/* requested interaction/interface refinements */
.hs-header,
.hs-header.is-scrolled{
  padding:0;
  background:transparent;
  border-bottom:1px solid transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  transition:padding .35s ease,background .35s ease,border-color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease;
}
.hs-header.is-scrolled,
body.hs-menu-open .hs-header{
  background:rgba(255,255,255,.88);
  border-bottom-color:rgba(0,90,158,.11);
  box-shadow:0 18px 48px -30px rgba(0,48,102,.62);
  backdrop-filter:blur(24px) saturate(165%);
  -webkit-backdrop-filter:blur(24px) saturate(165%);
}
.pin-progress{
  height:4px;
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  margin:40px 32px;
  position:relative;
  border-radius:99px;
  overflow:hidden;
}
.dim{display:none!important}
@media(min-width:1024px){
  .pin-track{cursor:grab;user-select:none;touch-action:pan-y}
  .pin-track.is-dragging{cursor:grabbing}
  body.pin-is-dragging{user-select:none;cursor:grabbing}
}
.pin-track:focus-visible{outline:3px solid rgba(189,23,56,.32);outline-offset:8px;border-radius:20px}
.hs-nav-item.is-closing .hs-mega{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate(-50%,12px) scale(.98)!important;
}
body.hs-dropdown-navigation-lock .hs-mega{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate(-50%,12px) scale(.98)!important;
}
.pin-card .idx,.stack-row .sridx,.steps .step b{display:none!important}
.steps .step{grid-template-columns:1fr}
.contact-form{max-width:none;padding:clamp(24px,4vw,42px);border-radius:30px}
.contact-form-head{margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid rgba(0,90,158,.1)}
.contact-form-head h3{font-size:clamp(1.35rem,2.2vw,1.9rem);margin-bottom:8px}
.contact-form-head p{color:var(--muted);font-size:.92rem;line-height:1.6}
.contact-form .fld label{margin-bottom:8px;color:var(--ink);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.contact-form .fld input,.contact-form .fld select,.contact-form .fld textarea{background:rgba(255,255,255,.86);border-color:rgba(0,90,158,.13);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.contact-form .fld input:focus,.contact-form .fld select:focus,.contact-form .fld textarea:focus{outline:0;background:#fff;border-color:var(--brand-red);box-shadow:0 0 0 4px rgba(189,23,56,.1)}
.contact-form .fld textarea{min-height:150px;resize:vertical}
.contact-form-actions{margin-top:22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.contact-submit{min-width:210px;justify-content:space-between}
.contact-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.form-status{min-height:24px;color:var(--hs-green);font-size:.86rem;font-weight:800}
.contact-note{margin-top:18px;color:var(--muted);font-size:.76rem;line-height:1.55}
.hs-logo-text-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0;filter:brightness(0) invert(1);transition:opacity .3s ease}
.hs-logo-text-top{clip-path:inset(0 0 50% 0)}
.hs-logo-text-bottom{clip-path:inset(76% 0 0 0)}
.hs-header:not(.is-scrolled) .hs-logo-base{filter:drop-shadow(0 2px 12px rgba(0,24,52,.3))}
.hs-header:not(.is-scrolled) .hs-logo-text-layer{opacity:1}
.hs-header.is-scrolled .hs-logo-base,
body.hs-menu-open .hs-header .hs-logo-base{filter:none}
.hs-header.is-scrolled .hs-logo-text-layer,
body.hs-menu-open .hs-header .hs-logo-text-layer{opacity:0}
@media(max-width:760px){
  .stack-row{grid-template-columns:1fr;grid-template-areas:none}
  .stack-row .srtitle,.stack-row .srdesc{grid-area:auto;justify-self:start;text-align:left}
  .contact-submit{width:100%}
}
body.freibuilder-full-canvas{scrollbar-width:thin;scrollbar-color:var(--brand-red) rgba(0,72,153,.09)}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:linear-gradient(180deg,rgba(0,72,153,.06),rgba(255,255,255,.88))}
::-webkit-scrollbar-thumb{min-height:46px;border:3px solid transparent;border-radius:999px;background:linear-gradient(180deg,var(--brand-red),var(--brand-red-dark)) padding-box}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#d42a4c,var(--brand-red)) padding-box}
::-webkit-scrollbar-corner{background:rgba(0,72,153,.06)}

/* lighter header refresh, overrides earlier passes */

/* topbar reverted to dark-red, header/hero stay lighter */

/* sticky header: brighter glass when scrolled */
.hs-header.is-scrolled,
body.hs-menu-open .hs-header{
  background:rgba(255,255,255,.94);
  border-bottom-color:rgba(0,90,158,.09);
  box-shadow:0 12px 40px -26px rgba(0,48,102,.4);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
}

/* subpage hero card: light frosted glass */
.panel:not(#p-start)>section.sec:first-child .page-hero-grid>div:first-child{
  border:1px solid rgba(255,255,255,.6);
  background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(247,250,252,.74));
  box-shadow:0 32px 80px -44px rgba(0,48,102,.38),inset 0 1px rgba(255,255,255,.6);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
}
/* fixed dark ink text, independent of theme */
.panel:not(#p-start)>section.sec:first-child h1{color:#17191d}
.panel:not(#p-start)>section.sec:first-child .lead{color:#54606c!important}
.panel:not(#p-start)>section.sec:first-child .dim{color:var(--brand-water);background:rgba(0,90,158,.08);border-color:rgba(0,90,158,.14)}

/* subpage hero photo: lighter scrim */
.panel:not(#p-start)>section.sec:first-child .hero-media::after{
  background:linear-gradient(90deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.22) 40%,rgba(255,255,255,.04) 72%),linear-gradient(0deg,rgba(255,255,255,.22),transparent 34%);
}
.panel:not(#p-start)>section.sec:first-child .hero-media .capglass{
  color:#17191d;
  background:rgba(255,255,255,.82);
  border-color:rgba(255,255,255,.7);
}

/* homepage hero photo scrim: lighter, all breakpoints */
.hero-photo-scrim{
  background:linear-gradient(90deg,rgba(255,255,255,.5) 0%,rgba(255,255,255,.22) 42%,rgba(255,255,255,.05) 72%),linear-gradient(0deg,rgba(255,255,255,.24),transparent 32%);
}
@media (max-width:767px){
  .hero-photo-scrim{background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.3) 45%,rgba(255,255,255,.62) 100%)}
}
.hero.hero-photo h1,.hero.hero-photo h1 .outline{color:#17191d;text-shadow:none}
.hero.hero-photo h1 .outline{background:linear-gradient(100deg,var(--brand-red) 0%,var(--brand-water) 60%,var(--brand-snow) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero.hero-photo p.lead{color:#3d434b}
.hero-kicker{color:#3d434b}
.hero.hero-photo .dim{color:#17191d;background:rgba(255,255,255,.6);border-color:rgba(255,255,255,.8)}
.hero-proof-item{background:rgba(255,255,255,.55);border-color:rgba(0,72,153,.1)}
.hero-proof-item strong{color:#17191d}
.hero-proof-item span{color:#3d434b}
.hero-proof{border-color:rgba(0,72,153,.12);background:rgba(255,255,255,.35)}

/* nudge elements clear of sash overlap band */
.hero-scrollcue{bottom:58px}
@media (max-width:1023px){
  .pin-inner{padding-top:42px}
}

/* header shell: always glassy/blurred */
.hs-header-shell,
.hs-header.is-scrolled .hs-header-shell,
body.hs-menu-open .hs-header-shell{
  background:rgba(255,255,255,.5);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 16px 46px -30px rgba(0,48,102,.42);
  backdrop-filter:blur(20px) saturate(170%);
  -webkit-backdrop-filter:blur(20px) saturate(170%);
}
.hs-header.is-scrolled .hs-header-shell,
body.hs-menu-open .hs-header-shell{
  background:rgba(255,255,255,.86);
}

/* logo: show original colors, drop white overlay */
.hs-logo-text-layer{opacity:0!important}
.hs-header:not(.is-scrolled) .hs-logo-base,
.hs-header.is-scrolled .hs-logo-base,
body.hs-menu-open .hs-header .hs-logo-base{filter:none}

/* nav text/icons: dark on light glass shell */
.hs-header:not(.is-scrolled) .hs-logo-title span,
.hs-header:not(.is-scrolled) .hs-logo-year{color:var(--hs-dark)}
.hs-header:not(.is-scrolled) .hs-nav-link,
.hs-header:not(.is-scrolled) .hs-nav-trigger{color:var(--hs-text);text-shadow:none}
.hs-header:not(.is-scrolled) .hs-nav-link:hover,
.hs-header:not(.is-scrolled) .hs-nav-trigger:hover,
.hs-header:not(.is-scrolled) .hs-nav-item.is-open .hs-nav-trigger{color:var(--hs-red)}
.hs-header:not(.is-scrolled) .hs-menu-toggle{
  color:var(--hs-dark);
  background:rgba(255,255,255,.6);
  border-color:rgba(0,90,158,.16);
  box-shadow:none;
}
.hs-header:not(.is-scrolled) .hs-nav-arrow{color:var(--hs-red);filter:none}
.hs-header:not(.is-scrolled) .hs-nav-trigger:hover .hs-nav-arrow,
.hs-header:not(.is-scrolled) .hs-nav-item.is-open .hs-nav-arrow{color:var(--hs-red)}

/* header polish: light edge, softer hover, timing */
.hs-header-shell,
.hs-header.is-scrolled .hs-header-shell,
body.hs-menu-open .hs-header-shell{
  box-shadow:0 16px 46px -30px rgba(0,48,102,.42),inset 0 1px 0 rgba(255,255,255,.7);
}
.hs-mega{
  background:#fff;
  box-shadow:0 32px 90px -24px rgba(0,37,79,.44),inset 0 1px 0 rgba(255,255,255,.75);
}
.panel:not(#p-start)>section.sec:first-child .page-hero-grid>div:first-child{
  box-shadow:0 32px 80px -44px rgba(0,48,102,.38),inset 0 1px rgba(255,255,255,.75);
}
.hs-topbar{box-shadow:0 8px 24px -18px rgba(65,0,18,.4),inset 0 -1px 0 rgba(255,255,255,.12)}

/* soft pill highlight on nav hover */
.hs-nav-link,.hs-nav-trigger{transition:color .2s ease,background .2s ease,transform .2s ease}
.hs-nav-link:hover,.hs-nav-trigger:hover{background:rgba(0,90,158,.06);border-radius:12px}
.hs-header:not(.is-scrolled) .hs-nav-link:hover,
.hs-header:not(.is-scrolled) .hs-nav-trigger:hover{background:rgba(255,255,255,.16);border-radius:12px}

/* tactile lift on primary CTA hover */
.hs-contact-btn{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease,background .2s ease}
.hs-contact-btn:hover{transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(174,33,53,.5)}
.hs-social{transition:color .2s ease,background .2s ease,transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s ease}

/* tone icons: hover "turn" animation */
.tone-snow svg,.icb.tone-snow svg,.mi.tone-snow svg,
.tone-sun svg,.icb.tone-sun svg,.mi.tone-sun svg,
.tone-drop svg,.icb.tone-drop svg,.mi.tone-drop svg,
.tone-flame svg,.icb.tone-flame svg,.mi.tone-flame svg,
.tone-tool svg,.icb.tone-tool svg,.mi.tone-tool svg{transition:transform .35s cubic-bezier(.16,1,.3,1)}
.tcard-x:hover .tone-snow svg,.pin-card:hover .tone-snow svg,.mega-item:hover .tone-snow svg,.bcard2:hover .tone-snow svg,
.tcard-x:hover .tone-sun svg,.pin-card:hover .tone-sun svg,.mega-item:hover .tone-sun svg,.bcard2:hover .tone-sun svg,
.tcard-x:hover .tone-drop svg,.pin-card:hover .tone-drop svg,.mega-item:hover .tone-drop svg,.bcard2:hover .tone-drop svg,
.tcard-x:hover .tone-flame svg,.pin-card:hover .tone-flame svg,.mega-item:hover .tone-flame svg,.bcard2:hover .tone-flame svg,
.tcard-x:hover .tone-tool svg,
.pin-card:hover .tone-tool svg,
.mega-item:hover .tone-tool svg,
.bcard2:hover .tone-tool svg{transform:rotate(18deg) scale(1.08)}
@media (prefers-reduced-motion:reduce){.tone-snow svg,.tone-sun svg,.tone-drop svg,.tone-flame svg,.tone-tool svg{transition:none}}

/* header shell transparent, gradient line on top edge */
.hs-header-shell,
.hs-header.is-scrolled .hs-header-shell,
body.hs-menu-open .hs-header-shell{
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.hs-header-shell::before{
  content:none;
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  z-index:0;
  border-radius:30px 30px 0 0;
  background:linear-gradient(90deg,var(--hs-red) 0%,var(--hs-yellow) 32%,var(--hs-blue) 64%,var(--hs-green) 100%);
  opacity:.92;
}

/* hero-glass-card: bright glass matches header refresh */
.hero-glass-card{
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(247,250,252,.68));
  border-color:rgba(255,255,255,.65);
  box-shadow:0 34px 90px -42px rgba(0,48,102,.4),inset 0 1px 0 rgba(255,255,255,.75);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
}
.hero-glass-card::after{background:radial-gradient(circle,rgba(35,176,230,.18),transparent 68%)}

/* cleared leftover header shadow/border */
.hs-header.is-scrolled,
body.hs-menu-open .hs-header{
  border-bottom:none;
  box-shadow:none;
}

/* brand icon set: swap themed SVGs for client artwork */
:is(.icb,.mi,.hs-mega-icon,.hs-symbol):has(svg > use[href="#ic-flame"]),
:is(.icb,.mi,.hs-mega-icon,.hs-symbol):has(svg > use[href="#ic-sun"]),
:is(.icb,.mi,.hs-mega-icon,.hs-symbol):has(svg > use[href="#ic-tool"]),
:is(.icb,.mi,.hs-mega-icon,.hs-symbol):has(svg > use[href="#ic-drop"]),
:is(.icb,.mi,.hs-mega-icon,.hs-symbol):has(svg > use[href="#ic-snow"]){
  background:transparent;
  box-shadow:none;
}
/* removed external raster icon dependency, use inline SVG */
.tone-tool svg,.icb.tone-tool svg,.mi.tone-tool svg{background-repeat:no-repeat}

/* unified icon sizing across all wrapper types */
/* icon-lg: feature cards only */
.icb{
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  min-height:68px!important;
  border-radius:18px!important;
}
.icb>svg{
  width:56px!important;
  height:56px!important;
  flex:0 0 56px!important;
}

/* icon-sm: dropdown menu icons only */
.mi,.hs-mega-icon,.hs-symbol{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border-radius:14px!important;
}
.mi>svg,.hs-mega-icon>svg,.hs-symbol>svg{
  width:50px!important;
  height:50px!important;
  flex:0 0 26px!important;
}
.hs-mega-icon.hs-karriere-icon>svg{
  width:30px!important;
  height:30px!important;
  flex:0 0 30px!important;
}
.hs-mega-icon.hs-all-services-icon{
  background:transparent!important;
  box-shadow:none!important;
}
.hs-mega-icon.hs-all-services-icon>img{
  display:block;
  width:50px!important;
  height:50px!important;
  object-fit:contain;
}

/* match icon-sm to mega-link's fixed icon column */
.hs-mega-link{grid-template-columns:44px 1fr auto!important}

/* superseded by simplified single-layer wash below */

/* hero ghost button: dark outline for light glass */
.hero.hero-photo .btn.ghost.on-dark{
  background:rgba(255,255,255,.5);
  border-color:rgba(0,72,153,.22);
  color:#17191d;
  backdrop-filter:blur(14px);
}
.hero.hero-photo .btn.ghost.on-dark:hover{background:rgba(255,255,255,.75)}

/* removed colorful left accent bar from hero cards */
.hero-glass-card::before,
.panel:not(#p-start)>section.sec:first-child .page-hero-grid>div:first-child::before{
  content:none;
  display:none;
}

/* header photo scrim: simplified to top-down wash only */
.hero-photo-scrim{
  background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.9) 50px,rgba(255,255,255,0) 450px);
}
@media (max-width:767px){
  .hero-photo-scrim{background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.9) 50px,rgba(255,255,255,0) 450px)}
}
.panel:not(#p-start)>section.sec:first-child .hero-media::after{
  background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.9) 50px,rgba(255,255,255,0) 450px);
}

/* removed "Mehr entdecken" scroll cue */
.hero-scrollcue{display:none}

/* modern minimal cursor: dot + trailing ring */
.mcursor{position:fixed;top:0;left:0;z-index:99999;pointer-events:none;will-change:transform;opacity:0;transition:opacity .3s ease}
.mcursor-dot{position:absolute;top:0;left:0;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--brand-red);transition:opacity .2s ease}
.mcursor-ring{position:absolute;top:0;left:0;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;border:1.5px solid rgba(174,33,53,.55);background:rgba(174,33,53,.06);backdrop-filter:blur(1px);transition:width .25s cubic-bezier(.16,1,.3,1),height .25s cubic-bezier(.16,1,.3,1),margin .25s cubic-bezier(.16,1,.3,1),background .25s ease,border-color .25s ease,opacity .2s ease}
.mcursor.hover .mcursor-ring{width:38px;height:38px;margin:-19px 0 0 -19px;background:rgba(174,33,53,.1);border-color:rgba(174,33,53,.7)}
.mcursor.press .mcursor-ring{width:18px;height:18px;margin:-9px 0 0 -9px}
body.has-mcursor{cursor:none}
body.has-mcursor a,body.has-mcursor button,body.has-mcursor .btn{cursor:none}
@media (max-width:1024px),(prefers-reduced-motion:reduce){
  .mcursor{display:none!important}
  body.has-mcursor{cursor:auto}
  body.has-mcursor a,body.has-mcursor button,body.has-mcursor .btn{cursor:pointer}
}

/* sticky header regains bg fill once scrolled */
.hs-header.is-scrolled .hs-header-shell,
body.hs-menu-open .hs-header-shell{
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(22px) saturate(165%);
  -webkit-backdrop-filter:blur(22px) saturate(165%);
}
