@charset "UTF-8";
:root{--dark:#10271e;--dark2:#153226;--ink:#152921;--paper:#f7f7f2;--white:#fff;--line:#d9ded4;--lime:#b8e468;--lime2:#e4f3ca;--text:#273a31;--sub:#637066;--muted:#aab9af;--max:1240px}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Helvetica Neue",Arial,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.015em;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}::selection{background:var(--lime);color:var(--dark)}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #7eae42;outline-offset:4px}img,svg{display:block;max-width:100%}.shell{width:min(calc(100% - 96px),var(--max));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-70px;background:var(--lime);color:var(--ink);padding:12px 20px;z-index:100}.skip:focus{top:12px}
.site-head{position:sticky;top:0;z-index:30;background:var(--dark);border-bottom:1px solid #ffffff20;color:#f7f7f1}.head-inner{height:91px;display:flex;align-items:center;justify-content:space-between;gap:38px}.brand{display:flex;align-items:center;flex:0 0 auto;width:151px;height:52px}.brand img{width:151px;height:61px;object-fit:contain}.topnav{display:flex;align-items:center;gap:38px;margin-left:auto}.topnav a{font-size:13px;color:#d6e0d9;font-weight:560;transition:color .2s}.topnav a:hover,.topnav a[aria-current="page"]{color:var(--lime)}.head-cta{border:1px solid #b8e46870;border-radius:2px;padding:12px 17px;color:var(--lime)!important}.head-cta:hover{background:var(--lime);color:var(--dark)!important}.menu-btn{display:none;flex:0 0 auto;align-items:center;justify-content:center;height:44px;width:44px;background:transparent;border:1px solid #ffffff55;border-radius:2px;color:white}.menu-bars,.menu-bars::before,.menu-bars::after{display:block;background:currentColor;width:18px;height:1.5px;position:relative;transition:transform .2s}.menu-bars:before,.menu-bars:after{content:"";position:absolute;left:0}.menu-bars:before{top:-6px}.menu-bars:after{top:6px}.menu-btn[aria-expanded="true"] .menu-bars{background:transparent}.menu-btn[aria-expanded="true"] .menu-bars:before{top:0;transform:rotate(45deg);background:#fff}.menu-btn[aria-expanded="true"] .menu-bars:after{top:0;transform:rotate(-45deg);background:#fff}
.button{display:inline-flex;align-items:center;gap:33px;background:var(--lime);color:var(--dark);font-size:13px;font-weight:700;letter-spacing:-.01em;padding:17px 20px;border:1px solid var(--lime);border-radius:2px;min-height:55px;transition:background .18s,transform .18s}.button:hover{background:#d0f69a;transform:translateY(-2px)}.button svg{width:17px}.button.ghost{background:transparent;color:var(--dark);border-color:#344e41}.button.ghost:hover{background:#e9efe5}.button.ghost-light{background:transparent;color:#e7ece5;border-color:#ffffff70}.button.ghost-light:hover{background:#ffffff15}
.kicker{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.kicker .rule{width:25px;height:1px;background:currentColor}.label{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:11px;letter-spacing:.1em}.hline{border:0;border-top:1px solid var(--line);margin:0}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:610;letter-spacing:-.065em}h1{font-size:clamp(53px,6.2vw,104px);line-height:.99}h2{font-size:clamp(40px,4.6vw,71px);line-height:1.055}h3{font-size:clamp(24px,2.65vw,40px);line-height:1.1}.small-text{font-size:14px;line-height:1.75;color:var(--sub)}
.hero{background:var(--dark);color:var(--white);position:relative;overflow:hidden}.hero-inner{min-height:690px;display:grid;grid-template-columns:60% 40%;position:relative}.hero-content{padding:105px 0 105px;position:relative;z-index:2}.hero .kicker{color:var(--lime);margin-bottom:38px}.hero h1{max-width:850px;margin:0 0 34px}.hero h1 span{color:var(--lime)}.hero-desc{font-size:16px;line-height:1.8;color:#c2d0c4;max-width:520px;margin:0 0 38px}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap}.hero-index{display:flex;gap:17px;align-items:center;color:#8ca39a;font-size:11px;text-transform:uppercase;letter-spacing:.14em;margin-top:58px}.hero-index .bar{width:65px;height:1px;background:#638275}
.hero-art{position:relative;align-self:stretch;min-height:560px;border-left:1px solid #ffffff1c;margin-left:20px}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.85%,#ffffff18 50%,transparent 50.15%),linear-gradient(0deg,transparent 49.85%,#ffffff18 50%,transparent 50.15%);background-size:98px 98px;opacity:.48}.hero-shape{width:70%;height:70%;position:absolute;top:15%;left:18%;display:flex;align-items:center;justify-content:center}.hero-shape .slash{height:76%;width:23%;background:var(--lime);transform:skew(-24deg);box-shadow:none}.hero-art-label{position:absolute;font-family:"SFMono-Regular",Consolas,monospace;letter-spacing:.11em;font-size:10px;color:#a7bcae;text-transform:uppercase}.hero-art-label.one{top:9%;left:10%}.hero-art-label.two{bottom:8%;right:3%}.hero-squiggle{position:absolute;left:10%;bottom:17%;width:44px;height:44px;border:1px solid #ffffff60;border-radius:50%}.hero-squiggle:before,.hero-squiggle:after{content:"";position:absolute;background:#ffffff70}.hero-squiggle:before{width:1px;height:80px;left:21px;top:-18px}.hero-squiggle:after{height:1px;width:80px;left:-18px;top:21px}
.marquee{background:var(--lime);border-top:1px solid #ddebbd;color:var(--dark);overflow:hidden}.marquee .shell{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.marquee span{padding:23px 20px;font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:730;border-right:1px solid #1c372530;text-align:center}.marquee span:first-child{border-left:1px solid #1c372530}
.section{padding:116px 0}.section-top{display:flex;align-items:start;justify-content:space-between;gap:40px;margin-bottom:63px}.section-top .kicker{color:#526557;white-space:nowrap;margin-top:8px}.section-top h2{max-width:760px;margin:0}.section-top .subline{color:#8b988d}.section-top p{margin:9px 0 0;max-width:360px;color:var(--sub);line-height:1.8;font-size:15px}.section-line{height:1px;background:var(--line);width:100%}
.service-list{border-top:1px solid #bbc8bb}.service-row{display:grid;grid-template-columns:70px minmax(0,1fr) minmax(230px,370px) 54px;align-items:center;min-height:149px;border-bottom:1px solid #bbc8bb;gap:20px;transition:background .18s,padding .18s}.service-row:hover{background:#eef1e9;padding-inline:15px}.service-row .number{font-family:Consolas,monospace;color:#7a8a7e;font-size:12px}.service-row h3{font-size:clamp(27px,3.3vw,44px);margin:0;font-weight:600}.service-row p{margin:0;max-width:340px;font-size:14px;color:#68776b;line-height:1.7}.arrow-square{width:45px;height:45px;border:1px solid #9ba99e;display:flex;align-items:center;justify-content:center;border-radius:2px;transition:background .2s,transform .2s}.service-row:hover .arrow-square{background:var(--lime);transform:translate(2px,-2px)}.arrow-square svg{width:19px}
.work{background:#e8eee3}.work .section-top{margin-bottom:78px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#b8c5b6;border-top:1px solid #b8c5b6;border-bottom:1px solid #b8c5b6}.step{background:#e8eee3;padding:31px 32px 25px;min-height:310px}.step-num{font:12px Consolas,monospace;color:#586c5d}.step-mark{height:76px;display:flex;align-items:center;color:var(--dark)}.step-mark svg{width:50px;height:50px}.step h3{font-size:28px;margin:14px 0 12px;letter-spacing:-.05em}.step p{line-height:1.72;color:#5d6b60;font-size:14px;max-width:300px}
.about{background:#f6f7f2}.about-inner{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:100px}.about .kicker{color:#667c6a;margin-bottom:26px}.about h2{margin:0}.about-text{padding-top:75px}.about-text p{font-size:20px;line-height:1.65;letter-spacing:-.025em;max-width:520px;margin-bottom:29px}.about-text .quiet{font-size:14px;line-height:1.8;color:#667769}.about-bottom{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;border-top:1px solid var(--line);padding-top:29px;margin-top:28px}.about-bottom .label{color:#6e7d70}.about-bottom strong{font-size:15px;line-height:1.4;display:block;margin-top:12px}
.contact-band{background:#183729;color:#f5f8ef;padding:83px 0;overflow:hidden;position:relative}.contact-band:after{content:"/";font-size:390px;line-height:.8;letter-spacing:-.1em;position:absolute;right:-30px;bottom:-85px;font-weight:800;color:#234735;transform:rotate(4deg);pointer-events:none}.contact-band .shell{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:40px}.contact-band .kicker{color:var(--lime);margin-bottom:26px}.contact-band h2{font-size:clamp(39px,4.6vw,70px);max-width:730px;margin:0}.contact-band .button{flex-shrink:0;margin-bottom:8px}
.site-foot{background:#0c2018;color:#f4f6ee;padding:72px 0 31px}.foot-top{display:flex;justify-content:space-between;gap:45px;padding-bottom:80px}.foot-top .brand{width:183px;height:75px}.foot-top .brand img{width:183px;height:75px}.foot-intro{color:#b8c6b9;font-size:14px;line-height:1.8;max-width:385px;margin:12px 0 0}.foot-links{display:grid;grid-template-columns:repeat(2,minmax(125px,1fr));gap:17px 50px}.foot-links a{color:#d1ddd0;font-size:13px}.foot-links a:hover{color:var(--lime)}.foot-bottom{border-top:1px solid #ffffff30;padding-top:22px;display:flex;justify-content:space-between;align-items:center;color:#95a99d;font-size:12px;gap:25px}.foot-bottom small{font-size:12px}
.inner-hero{background:var(--dark);color:white;padding:96px 0 109px}.inner-hero .kicker{color:var(--lime);margin-bottom:28px}.inner-hero h1{max-width:980px;margin:0 0 22px}.inner-hero p{color:#b6c8bb;line-height:1.75;font-size:17px;max-width:600px;margin:0}.detail-section{padding:105px 0;border-bottom:1px solid var(--line);scroll-margin-top:91px}.detail-inner{display:grid;grid-template-columns:38% 62%;gap:35px}.detail-title .kicker{color:#738472;margin-bottom:24px}.detail-title h2{margin:0;max-width:420px}.detail-body{padding-right:45px}.detail-body .lead{font-size:21px;line-height:1.6;max-width:620px;margin-bottom:28px}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:31px}.detail-item{border-top:1px solid #b7c5b7;padding:20px 0 17px}.detail-item strong{display:block;font-size:15px;margin-bottom:12px}.detail-item p{font-size:13px;line-height:1.65;color:#637268;max-width:300px;margin:0}.detail-no{color:#849287;font:11px Consolas,monospace;margin-bottom:26px}.detail-page-links{margin-top:40px}
.contact-body{padding:100px 0 120px;display:grid;grid-template-columns:42% 58%;gap:80px}.contact-body .kicker{color:#738571;margin-bottom:32px}.contact-body h2{font-size:clamp(39px,4vw,60px);max-width:460px}.contact-body .intro{font-size:15px;color:#5c6a60;line-height:1.85;max-width:400px}.contact-note{border-left:2px solid var(--lime);padding-left:18px;margin-top:55px;color:#58695c;font-size:13px;line-height:1.75}.form-box{background:white;border:1px solid #e1e6db;padding:37px 38px}.form-box h3{font-size:27px;margin-bottom:12px}.form-box .form-desc{color:#708176;font-size:13px;line-height:1.7;margin-bottom:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{display:block;margin-bottom:22px;font-size:12px;font-weight:650;color:#3e5545}.form-field input,.form-field textarea,.form-field select{display:block;width:100%;margin-top:10px;background:#f8f9f5;border:1px solid #cad4c9;border-radius:0;padding:16px 13px;color:var(--ink);font-size:14px;outline-offset:2px}.form-field textarea{min-height:160px;resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:#90a095}.form-action{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.form-hint{font-size:12px;color:#637568;max-width:300px;line-height:1.6}.form-hint[data-status="error"]{color:#a33e2b}.form-hint[data-status="ready"]{color:#527c35}.privacy-consent{display:flex;gap:11px;font-size:12px;color:#536457;line-height:1.6;margin:5px 0 25px}.privacy-consent input{align-self:flex-start;transform:translateY(2px);accent-color:#243f2c}
.legal-wrap{padding:82px 0 135px;max-width:865px}.legal-wrap h1{font-size:65px;margin-bottom:34px}.legal-wrap h2{font-size:28px;margin-top:48px;margin-bottom:13px;letter-spacing:-.045em}.legal-wrap p,.legal-wrap li{line-height:1.8;color:#46584b;font-size:15px}.legal-wrap ul{padding-left:23px}.warning-note{background:#eef1e5;border-left:3px solid #90ba63;padding:19px 23px;margin:26px 0 44px;font-size:14px;line-height:1.75;color:#385341}.placeholder{background:#fff1ba;padding:1px 5px;color:#514522}.return{margin-top:35px;display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px}
[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}[data-reveal].visible{opacity:1;transform:none}
@media(min-width:1500px){.hero-inner{min-height:760px}}
@media(max-width:1040px){.shell{width:min(calc(100% - 64px),var(--max))}.hero-inner{grid-template-columns:64% 36%;min-height:650px}.hero-content{padding:90px 0}.hero h1{font-size:clamp(51px,7vw,86px)}.hero-art{margin-left:5px}.about-inner{gap:50px}.contact-body{gap:42px}}
@media(max-width:760px){.shell{width:min(calc(100% - 36px),var(--max))}.site-head .head-inner{height:73px}.brand{width:129px}.brand img{width:129px}.menu-btn{display:flex}.topnav{position:absolute;top:73px;left:0;right:0;background:var(--dark);display:none;flex-direction:column;align-items:stretch;gap:0;padding:15px 18px 30px;border-top:1px solid #ffffff25;box-shadow:0 25px 35px #08130e66}.topnav.is-open{display:flex}.topnav a{padding:17px 8px;border-bottom:1px solid #ffffff25;font-size:16px}.topnav .head-cta{margin-top:19px;text-align:center}.hero-inner{display:block;min-height:auto}.hero-content{padding:70px 0 63px}.hero .kicker{margin-bottom:27px}.hero h1{font-size:clamp(47px,11.5vw,80px);margin-bottom:26px}.hero-desc{font-size:14px}.hero-index{margin-top:42px}.hero-art{display:none}.marquee .shell{grid-template-columns:repeat(2,1fr)}.marquee span{padding:16px 7px;font-size:9px}.marquee span:nth-child(n+3){border-top:1px solid #1c372530}.section{padding:73px 0}.section-top{display:block;margin-bottom:36px}.section-top .kicker{margin:0 0 22px}.section-top p{margin-top:20px}.service-row{grid-template-columns:33px minmax(0,1fr) 35px;min-height:126px;gap:10px}.service-row h3{font-size:clamp(25px,6vw,39px)}.service-row p{grid-column:2 / 3;grid-row:2;margin-top:-7px;margin-bottom:19px;font-size:12px}.service-row .arrow-square{grid-column:3;grid-row:1}.service-row .number{grid-column:1;grid-row:1}.service-row h3{grid-column:2;grid-row:1;margin-top:18px}.service-row .arrow-square{margin-top:18px;width:32px;height:32px}.service-row:hover{padding-inline:3px}.work .section-top{margin-bottom:35px}.steps{grid-template-columns:1fr}.step{padding:25px;min-height:245px;border-bottom:1px solid #b8c5b6}.step-mark{height:59px}.step h3{margin:2px 0 12px}.about-inner{display:block}.about-text{padding-top:31px}.about-text p{font-size:18px}.contact-band{padding:75px 0}.contact-band .shell{display:block}.contact-band .button{margin-top:37px}.contact-band:after{font-size:290px;right:-35px}.site-foot{padding-top:48px}.foot-top{display:block;padding-bottom:56px}.foot-links{margin-top:40px;gap:20px}.foot-bottom{display:block}.foot-bottom small{display:block;margin-top:11px}.inner-hero{padding:65px 0 78px}.inner-hero h1{font-size:clamp(47px,11vw,75px)}.detail-section{padding:67px 0}.detail-inner{display:block}.detail-body{padding:24px 0 0}.details-grid{grid-template-columns:1fr 1fr}.contact-body{display:block;padding:66px 0 85px}.contact-note{margin-top:26px;margin-bottom:35px}.form-box{padding:25px}.form-grid{grid-template-columns:1fr;gap:0}.legal-wrap{padding:68px 0 100px}.legal-wrap h1{font-size:52px}}
@media(max-width:450px){.hero-buttons{display:block}.hero-buttons .button{display:flex;justify-content:space-between;margin-bottom:12px}.marquee .shell{grid-template-columns:repeat(2,1fr)}.about-bottom{grid-template-columns:1fr}.details-grid{grid-template-columns:1fr}.foot-links{gap:12px}.service-row p{line-height:1.45}.form-action .button{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}[data-reveal]{opacity:1;transform:none}}
/* Keep all content visible without requiring JavaScript or scroll-triggering. */
[data-reveal]{opacity:1;transform:none}
.detail-inner{grid-template-columns:minmax(0,.38fr) minmax(0,.62fr)}
.detail-title h2{hyphens:auto;overflow-wrap:break-word}

/* Serverseitig versendetes Kontaktformular */
.form-notice{padding:17px 18px;font-size:14px;line-height:1.6;margin:0 0 24px;border-left:3px solid #70816f;background:#f1f5ed;color:#233f2d}
.form-notice.is-success{border-color:#7fbb44;background:#e9f4df;color:#284b22}
.form-notice.is-error{border-color:#c75e4e;background:#fff0ed;color:#953c30}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-action .button:disabled{opacity:.55;cursor:progress}
.form-field :is(input,textarea,select):focus-visible{outline:2px solid #7bb64c;outline-offset:2px}


/* ----- Native light/dark mode (CSS media query + explicit override) ----- */
:root{
  color-scheme:light;
  --mode-paper:#f7f7f2;--mode-ink:#152921;--mode-sub:#637066;
  --mode-border:#bbc8bb;--mode-line:#d9ded4;
  --mode-surface:#ffffff;--mode-field:#f8f9f5;--mode-field-border:#cad4c9;
  --mode-work:#e8eee3;--mode-about:#f6f7f2;--mode-step-separator:#b8c5b6;
  --mode-hover:#eef1e9;--mode-kicker:#526557;--mode-muted:#8b988d;
  --mode-description:#68776b;--mode-numbers:#7a8a7e;
  --mode-label:#3e5545;--mode-placeholder:#839387;
  --mode-note:#58695c;--mode-arrow-border:#9ba99e;
  --mode-head:#10271e;--mode-hero:#10271e;
  --mode-notice-bg:#f1f5ed;--mode-notice-text:#233f2d;
  --mode-success-bg:#e9f4df;--mode-success-text:#284b22;
  --mode-error-bg:#fff0ed;--mode-error-text:#953c30;
  --mode-warning-bg:#eef1e5;--mode-warning-text:#385341;
  --mode-error-hint:#a33e2b;--mode-ready-hint:#527c35;
}
/* The same values work for a saved manual dark choice or live system preference. */
:root[data-theme="dark"]{
  color-scheme:dark;
  --mode-paper:#0c1b15;--mode-ink:#ecf3e8;--mode-sub:#a9bcad;
  --mode-border:#395145;--mode-line:#30483c;
  --mode-surface:#152b21;--mode-field:#0e2119;--mode-field-border:#456052;
  --mode-work:#12271e;--mode-about:#10231b;--mode-step-separator:#3c5848;
  --mode-hover:#1a3528;--mode-kicker:#b3c9b8;--mode-muted:#9ab19f;
  --mode-description:#b0c3b3;--mode-numbers:#a1b6a5;
  --mode-label:#d9e8da;--mode-placeholder:#91aa99;
  --mode-note:#bad0be;--mode-arrow-border:#627c6a;
  --mode-head:#091c16;--mode-hero:#0a2119;
  --mode-notice-bg:#183f2c;--mode-notice-text:#d9f0d4;
  --mode-success-bg:#1b4429;--mode-success-text:#cef0c8;
  --mode-error-bg:#48251f;--mode-error-text:#ffd5ca;
  --mode-warning-bg:#243527;--mode-warning-text:#e0eacb;
  --mode-error-hint:#f3a08e;--mode-ready-hint:#b8e468;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme]){
    color-scheme:dark;
    --mode-paper:#0c1b15;--mode-ink:#ecf3e8;--mode-sub:#a9bcad;
    --mode-border:#395145;--mode-line:#30483c;
    --mode-surface:#152b21;--mode-field:#0e2119;--mode-field-border:#456052;
    --mode-work:#12271e;--mode-about:#10231b;--mode-step-separator:#3c5848;
    --mode-hover:#1a3528;--mode-kicker:#b3c9b8;--mode-muted:#9ab19f;
    --mode-description:#b0c3b3;--mode-numbers:#a1b6a5;
    --mode-label:#d9e8da;--mode-placeholder:#91aa99;
    --mode-note:#bad0be;--mode-arrow-border:#627c6a;
    --mode-head:#091c16;--mode-hero:#0a2119;
    --mode-notice-bg:#183f2c;--mode-notice-text:#d9f0d4;
    --mode-success-bg:#1b4429;--mode-success-text:#cef0c8;
    --mode-error-bg:#48251f;--mode-error-text:#ffd5ca;
    --mode-warning-bg:#243527;--mode-warning-text:#e0eacb;
  --mode-error-hint:#f3a08e;--mode-ready-hint:#b8e468;
  }
}

/* Fixed brand areas stay recognizable in both schemes. */
body{background:var(--mode-paper);color:var(--mode-ink)}
.site-head{background:var(--mode-head)}
.hero,.inner-hero{background:var(--mode-hero)}
.hline{border-color:var(--mode-line)}
.section-top .kicker,.detail-title .kicker,.contact-body .kicker{color:var(--mode-kicker)}
.section-top .subline{color:var(--mode-muted)}
.section-top p,.small-text,.contact-body .intro{color:var(--mode-sub)}
.service-list{border-color:var(--mode-border)}
.service-row{border-color:var(--mode-border)}
.service-row:hover{background:var(--mode-hover)}
.service-row .number{color:var(--mode-numbers)}
.service-row p{color:var(--mode-description)}
.arrow-square{border-color:var(--mode-arrow-border)}
.work,.step{background:var(--mode-work)}
.steps{background:var(--mode-step-separator);border-color:var(--mode-step-separator)}
.step{border-color:var(--mode-step-separator)}
.step-num,.step p{color:var(--mode-sub)}
.step-mark{color:var(--mode-ink)}
.about{background:var(--mode-about)}
.about .kicker,.about-text .quiet,.about-bottom .label{color:var(--mode-sub)}
.about-bottom{border-color:var(--mode-line)}
.detail-section{border-color:var(--mode-line)}
.detail-title .kicker,.detail-no{color:var(--mode-sub)}
.detail-item{border-color:var(--mode-border)}
.detail-item p{color:var(--mode-sub)}
.contact-note,.form-hint,.privacy-consent{color:var(--mode-note)}
.form-box{background:var(--mode-surface);border-color:var(--mode-line)}
.form-box .form-desc{color:var(--mode-sub)}
.form-field{color:var(--mode-label)}
.form-field input,.form-field textarea,.form-field select{background:var(--mode-field);border-color:var(--mode-field-border);color:var(--mode-ink)}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--mode-placeholder)}
.form-hint[data-status="error"]{color:var(--mode-error-hint)}
.form-hint[data-status="ready"]{color:var(--mode-ready-hint)}
.legal-wrap p,.legal-wrap li{color:var(--mode-sub)}
.warning-note{background:var(--mode-warning-bg);color:var(--mode-warning-text)}
.button.ghost{color:var(--mode-ink);border-color:var(--mode-arrow-border)}
.button.ghost:hover{background:var(--mode-hover)}
.form-notice{background:var(--mode-notice-bg);color:var(--mode-notice-text)}
.form-notice.is-success{background:var(--mode-success-bg);color:var(--mode-success-text)}
.form-notice.is-error{background:var(--mode-error-bg);color:var(--mode-error-text)}

/* Compact, keyboard accessible appearance control. */
.head-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.theme-control{min-width:112px;display:flex;align-items:center;gap:8px;height:40px;padding:0 11px;border:1px solid #ffffff50;color:#e5eee5;background:#ffffff08;position:relative;border-radius:2px;transition:border-color .18s,background .18s}
.theme-control:hover,.theme-control:focus-within{border-color:var(--lime);background:#ffffff13}
.theme-control:focus-within{outline:2px solid var(--lime);outline-offset:2px}
.theme-control-icon{width:17px;height:17px;flex:none;color:var(--lime)}
.theme-chevron{width:11px;height:11px;flex:none;pointer-events:none;color:#d0e5d5}
.theme-control select{appearance:none;-webkit-appearance:none;background:transparent;border:0;color:inherit;font-size:12px;font-weight:650;cursor:pointer;outline:none;min-width:50px;width:100%;padding:10px 0}
.theme-control select:focus-visible{outline:none}
.theme-control select option{color:#12261c;background:#f7f7f2}
:root[data-theme="dark"] .theme-control select option{background:#12271d;color:#f4f8f0}
@media(prefers-color-scheme:dark){:root:not([data-theme]) .theme-control select option{background:#12271d;color:#f4f8f0}}
@media(max-width:760px){.head-actions{margin-left:auto;gap:9px}.theme-control{min-width:99px;height:40px;padding:0 8px;gap:5px}.theme-control select{font-size:12px}.theme-control-icon{width:15px;height:15px}}
@media(max-width:355px){.theme-control{min-width:90px}.head-actions{gap:6px}.theme-control-icon{display:none}}


/* Mojico custom selects: progressive enhancement, native controls remain as fallback. */
.custom-select { position:relative; display:inline-block; min-width:64px; max-width:100%; color:inherit; }
.custom-select select.is-enhanced { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; pointer-events:none!important; margin:0!important; padding:0!important; border:0!important; clip-path:inset(50%); }
.custom-select-trigger { background:transparent; border:0; color:inherit; font:inherit; display:flex; align-items:center; gap:9px; justify-content:space-between; cursor:pointer; width:100%; min-height:36px; padding:5px 3px; text-align:left; }
.custom-select-trigger:focus-visible { outline:2px solid var(--lime); outline-offset:3px; }
.custom-select-trigger .custom-arrow { display:block; width:7px; height:7px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .16s ease; flex:none; opacity:.8; }
.custom-select.is-open .custom-arrow{transform:translateY(2px) rotate(225deg)}
.custom-select-list { position:absolute; top:calc(100% + 9px); right:0; z-index:80; min-width:max(100%, 148px); max-height:250px; overflow:auto; padding:6px; background:#13271e; color:#f8faf6; border:1px solid #ffffff42; box-shadow:0 14px 28px #00000026; border-radius:3px; }
.custom-select-list[hidden]{display:none!important}
.custom-select-option{padding:10px 11px; cursor:pointer; outline:none; font-size:13px; line-height:1.3; border-radius:2px; white-space:nowrap; }
.custom-select-option:hover,.custom-select-option:focus-visible{background:#ffffff1e}
.custom-select-option[aria-selected="true"]{color:#c8f58a;background:#ffffff10}
.language-control{display:flex;align-items:center;color:#e6eee6;background:#ffffff08; border:1px solid #ffffff50; min-height:40px; padding:0 9px; border-radius:2px;}
.language-control:hover,.language-control:focus-within{border-color:var(--lime)}
.language-control select{color:inherit;background:transparent;border:0;font-size:12px;font-weight:650;}
.language-control .custom-select{min-width:45px}
.language-control .custom-select-trigger{font-size:12px;font-weight:650;}
.theme-control .custom-select{flex:1;min-width:58px;}
.theme-control .custom-select-trigger{font-size:12px;font-weight:650;min-height:34px;}
.theme-control .theme-chevron{display:none}
.form-field .custom-select{display:block;width:100%;}
.form-field .custom-select-trigger{background:var(--mode-field);border:1px solid var(--mode-field-border);border-radius:2px;color:var(--mode-ink);padding:14px 15px;min-height:49px;font-size:14px;}
.form-field .custom-select-list{left:0;right:auto;width:100%;min-width:100%;max-height:240px;}
.form-field-title{display:block;margin-bottom:8px;}
@media (max-width:1100px){.head-inner{gap:18px}.topnav{gap:21px}.head-actions{gap:7px}}
@media (max-width:760px){.language-control{padding:0 5px;min-height:40px}.language-control .custom-select-trigger{font-size:11px;}.head-actions{gap:6px}.theme-control{min-width:93px}.head-inner{gap:10px}}
@media(max-width:370px){.theme-control{min-width:78px}.theme-control-icon{display:none}.language-control .custom-select-trigger{gap:5px}}
@media(prefers-reduced-motion:reduce){.custom-select-trigger .custom-arrow{transition:none}}


/* Mojico mobile navigation refinement, 2026-10-29.
   The existing select nodes are moved, not duplicated, so all saved preferences
   and the custom-select keyboard behavior continue to work. */
.topnav .head-cta svg { width:16px; height:16px; flex:0 0 16px; }
.topnav .head-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:12px; }

@media (max-width:760px) {
  /* Only the logo and menu button are visible in the closed mobile header. */
  .site-head .head-inner { gap:12px; }
  .head-actions { margin-left:auto; flex-shrink:0; }
  .head-actions > .theme-control,
  .head-actions > .language-control { display:none; }
  .menu-btn { width:44px; height:44px; }

  .topnav {
    max-height:calc(100vh - 73px);
    max-height:calc(100dvh - 73px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:14px 18px 24px;
  }
  .topnav > a:not(.head-cta) { padding:15px 8px; }
  .topnav .head-cta {
    align-self:flex-start;
    width:auto;
    min-width:142px;
    min-height:46px;
    margin-top:18px;
    padding:12px 16px;
    border:1px solid var(--lime);
    border-radius:2px;
    font-size:14px;
    line-height:1.2;
    color:var(--lime)!important;
    text-align:left;
  }
  .topnav .head-cta svg { width:15px; height:15px; flex:0 0 15px; }

  /* The actual theme and language controls live in the expanded navigation. */
  .menu-preferences {
    width:100%;
    margin-top:22px;
    padding-top:18px;
    border-top:1px solid #ffffff28;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    align-items:stretch;
  }
  .menu-preferences .theme-control,
  .menu-preferences .language-control {
    display:flex;
    align-items:center;
    min-width:0;
    width:100%;
    min-height:44px;
    height:44px;
    margin:0;
    padding:0 12px;
    border:1px solid #ffffff55;
  }
  .menu-preferences .theme-control-icon { display:block; width:16px; height:16px; }
  .menu-preferences .custom-select { min-width:0; flex:1; }
  .menu-preferences .custom-select-trigger {
    min-width:0;
    width:100%;
    min-height:40px;
    padding:8px 0;
    font-size:13px;
  }
  .menu-preferences .custom-select-list { z-index:90; }

  /* One aligned 2x2 grid; only internal dividers, no double outer borders. */
  .marquee { border-top:0; }
  .marquee .shell {
    width:100%;
    max-width:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
  }
  .marquee span {
    min-width:0;
    min-height:54px;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:13px 10px;
    border:0!important;
    text-align:center;
    font-size:10px;
    line-height:1.35;
    letter-spacing:.065em;
  }
  .marquee span:nth-child(odd) { border-right:1px solid #19362445!important; }
  .marquee span:nth-child(-n+2) { border-bottom:1px solid #19362445!important; }
}

/* Mojico contact + privacy (DE/EN), without JavaScript tracking or form. */
html:not([lang="en"]) .mojico-contact-en,
html:not([lang="en"]) .mojico-privacy-en,
html[lang="en"] .mojico-contact-de,
html[lang="en"] .mojico-privacy-de { display:none!important; }
.mojico-contact-direct {grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;}
.mojico-contact-direct .contact-note a {text-decoration:underline;text-underline-offset:3px;}
.mojico-contact-card .kicker {margin-bottom:12px;}
.mojico-contact-card .form-desc {margin-bottom:20px;}
.mojico-contact-method {padding:26px 0;border-top:1px solid var(--mode-line,#d7dfd3);}
.mojico-contact-label {font-size:11px;letter-spacing:.13em;font-weight:700;color:var(--mode-kicker,#738571);margin-bottom:12px;}
.mojico-contact-value {display:inline-block;font-size:clamp(19px,2.5vw,29px);font-weight:650;letter-spacing:-.035em;line-height:1.4;overflow-wrap:anywhere;text-decoration:none;color:var(--mode-ink,#193a29);}
.mojico-contact-value:hover,.mojico-contact-value:focus-visible {text-decoration:underline;text-decoration-color:#9cc75b;text-underline-offset:5px;}
.mojico-contact-detail {font-size:13px;line-height:1.7;margin:11px 0 0;color:var(--mode-sub,#5e6e61);}
.legal-wrap .mojico-privacy-de a,.legal-wrap .mojico-privacy-en a {text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}
.legal-wrap .mojico-privacy-de h2,.legal-wrap .mojico-privacy-en h2 {scroll-margin-top:90px;}
@media(max-width:760px){.mojico-contact-direct .mojico-contact-card{margin-top:18px;}}
