:root{
--bg:oklch(97% .006 250);
--bg-day:oklch(99.5% .003 250); 
--bg-night:oklch(88% .014 250); 
--ink:oklch(22% .02 255);
--muted:oklch(45% .02 255);
--soft:oklch(55% .02 255);
--faint:oklch(70% .01 255);
--line:oklch(90% .01 255);
--line2:oklch(88% .01 255);
--accent:oklch(52% .14 255);
--accent-ink:oklch(45% .14 255);
--accent-soft:oklch(93% .03 255);
--tag-bg:oklch(95% .01 255);
--surface:#fff;                
--on-accent:#fff;              
--body:var(--body);     
--dark:oklch(22% .02 255);     
--dark-line:var(--body);
color-scheme:light;
}


@media screen and (prefers-color-scheme: dark){

:root:not(:has(.theme-switch input[value="light"]:checked)){
--bg:oklch(17% .015 255);
--bg-day:oklch(27% .022 255);  
--bg-night:oklch(10% .008 255); 
--ink:oklch(94% .01 255);
--muted:oklch(72% .015 255);
--soft:oklch(64% .015 255);
--faint:oklch(62% .015 255);
--line:oklch(30% .015 255);
--line2:oklch(36% .02 255);
--accent:oklch(72% .13 255);
--accent-ink:oklch(80% .11 255);
--accent-soft:oklch(31% .05 255);
--tag-bg:oklch(27% .015 255);
--surface:oklch(22% .015 255);
--on-accent:oklch(18% .02 255);
--body:oklch(80% .012 255);
color-scheme:dark;
}
}
@media screen{

:root:has(.theme-switch input[value="dark"]:checked){
--bg:oklch(17% .015 255);
--bg-day:oklch(27% .022 255);  
--bg-night:oklch(10% .008 255); 
--ink:oklch(94% .01 255);
--muted:oklch(72% .015 255);
--soft:oklch(64% .015 255);
--faint:oklch(62% .015 255);
--line:oklch(30% .015 255);
--line2:oklch(36% .02 255);
--accent:oklch(72% .13 255);
--accent-ink:oklch(80% .11 255);
--accent-soft:oklch(31% .05 255);
--tag-bg:oklch(27% .015 255);
--surface:oklch(22% .015 255);
--on-accent:oklch(18% .02 255);
--body:oklch(80% .012 255);
color-scheme:dark;
}
}
*{box-sizing:border-box}

body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:'IBM Plex Sans',system-ui,sans-serif}
h1,h2,h3,p{margin:0}
a{text-decoration:none;color:var(--accent)}
a:hover{color:var(--accent-ink)}


.shell{max-width:1700px;margin:0 auto;background:var(--bg);border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:-32px 0 60px -40px rgba(0,0,0,.2),32px 0 60px -40px rgba(0,0,0,.2)}



.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 64px;max-width:1400px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:1.1875rem;font-weight:700;letter-spacing:-.01em}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links>a{font-size:0.9375rem;font-weight:500;color:var(--muted)}
.nav-links>a.active{color:var(--ink);font-weight:600}
.lang{display:flex;align-items:center;gap:6px;font-size:0.8125rem;font-weight:700;padding-left:8px;border-left:1px solid var(--line2)}
.lang a{color:var(--soft)}
.lang a.active{color:var(--ink)}
.lang span{color:oklch(80% .01 255)}


.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}
.theme-switch{position:relative;display:inline-flex;align-items:center;min-width:0;margin:0;padding:2px;border:1px solid var(--line2);border-radius:999px;background:var(--surface)}
.theme-switch label{position:relative;z-index:1;display:grid;place-items:center;width:26px;height:22px;color:var(--soft);cursor:pointer}
.theme-switch label:hover{color:var(--ink)}
.theme-switch svg{display:block}
.theme-knob{position:absolute;top:2px;left:2px;z-index:0;width:26px;height:22px;border-radius:999px;background:var(--accent-soft);transition:transform .2s ease}

#theme-dark:checked ~ .theme-knob{transform:translateX(100%)}
@media (prefers-color-scheme: dark){
.theme-switch:not(:has(input:checked)) .theme-knob{transform:translateX(100%)}
}

#theme-light:checked ~ label[for="theme-light"],
#theme-dark:checked ~ label[for="theme-dark"]{color:var(--accent-ink)}
@media (prefers-color-scheme: dark){
.theme-switch:not(:has(input:checked)) label[for="theme-dark"]{color:var(--accent-ink)}
}
@media (prefers-color-scheme: light){
.theme-switch:not(:has(input:checked)) label[for="theme-light"]{color:var(--accent-ink)}
}
.theme-switch:focus-within{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion: reduce){.theme-knob{transition:none}}


.page{display:none}
.page:target,
.page:has(:target){display:block}
body:not(:has(:target)) .page-home{display:block}  


:target{scroll-margin-top:96px}


body:not(:has(:target)) .nav-links a[href$="startseite"],
body:not(:has(:target)) .nav-links a[href$="home"],
body:has(#startseite:target) .nav-links a[href$="startseite"],
body:has(#home:target) .nav-links a[href$="home"],
body:has(#leistungen:target) .nav-links a[href$="leistungen"],
body:has(#leistungen :target) .nav-links a[href$="leistungen"],
body:has(#services:target) .nav-links a[href$="services"],
body:has(#services :target) .nav-links a[href$="services"]{
color:var(--ink);font-weight:600;
}


.badge{display:inline-block;padding:7px 14px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:0.8125rem;font-weight:600;letter-spacing:.02em;margin-bottom:24px}
.btn-row{display:flex;flex-wrap:wrap;gap:16px}
.btn-primary{background:var(--accent);color:var(--on-accent)!important;padding:15px 28px;border-radius:8px;font-size:0.9375rem;font-weight:600}
.btn-ghost{border:1.5px solid var(--line2);color:var(--ink)!important;padding:15px 28px;border-radius:8px;font-size:0.9375rem;font-weight:600}
.btn-cta{display:inline-block;background:var(--accent);color:var(--on-accent)!important;padding:16px 34px;border-radius:8px;font-size:0.96875rem;font-weight:700}


.hero{max-width:1400px;margin:0 auto;padding:90px 64px 100px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.hero h1{font-size:3.375rem;line-height:1.08;font-weight:700;letter-spacing:-.02em;margin-bottom:24px}
.lead{font-size:1.1875rem;line-height:1.6;color:var(--muted);margin-bottom:36px;max-width:540px}
.hero-art{position:relative;display:flex;flex-direction:column;gap:14px}

.code-window{width:100%;display:flex;flex-direction:column;overflow:hidden;background:oklch(22.5% .022 260);border:1px solid oklch(38% .02 260);border-radius:16px;box-shadow:0 24px 48px -24px rgba(0,0,0,.55)}
.cw-bar{display:flex;align-items:center;gap:8px;padding:13px 16px;background:oklch(27% .02 260);border-bottom:1px solid oklch(34% .02 260)}
.cw-dot{width:11px;height:11px;border-radius:50%;background:oklch(45% .02 260)}
.cw-dot:nth-child(1){background:#ff5f57}
.cw-dot:nth-child(2){background:#febc2e}
.cw-dot:nth-child(3){background:#28c840}
.cw-title{margin-left:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.78125rem;letter-spacing:.02em;color:oklch(66% .02 260)}
.cw-body{flex:1;margin:0;padding:20px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.84375rem;line-height:1.95;color:oklch(82% .02 260)}
.cw-dim{color:oklch(56% .02 260)}
.cw-ok{color:#3fb950;font-weight:600}
.cw-key{color:oklch(74% .13 255);font-weight:600}
.cw-caret{display:inline-block;width:8px;height:15px;margin-left:5px;vertical-align:-2px;background:oklch(74% .13 255);animation:cw-blink 1.1s steps(1,end) infinite}
@keyframes cw-blink{0%,50%{opacity:1}50.01%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.cw-caret{animation:none}}

.cw-dot-btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;line-height:1;transition:box-shadow .15s}
.cw-dot-btn::after{content:"×";font:600 0.5625rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:oklch(22% .05 25);opacity:0;transition:opacity .15s}
.cw-dot-btn:hover{box-shadow:0 0 0 3px oklch(58% .18 25 / .35)}
.cw-dot-btn:hover::after,.code-window:has(#cw-crash:checked) .cw-dot-btn::after{opacity:.85}
.cw-err{color:#ff5f57;font-weight:600}
.cw-bonus{flex:0 0 auto;max-height:0;padding-top:0;padding-bottom:0;opacity:0;visibility:hidden;overflow:hidden;border-top:0 solid oklch(34% .02 260);transition:max-height .35s ease,padding .35s ease,opacity .25s ease}
.code-window:has(#cw-crash:checked) .cw-bonus{max-height:160px;padding-top:14px;padding-bottom:16px;opacity:1;visibility:visible;border-top-width:1px}
@media (prefers-reduced-motion:reduce){.cw-bonus{transition:none}}

.cw-bonus a{display:inline-block;transition:transform .15s ease}
.cw-bonus a:hover,.cw-bonus a:focus-visible{transform:scale(1.3)}
@media (prefers-reduced-motion:reduce){.cw-bonus a{transition:none}}


.cw-dot-photo-btn{cursor:pointer;transition:box-shadow .15s}
.cw-dot-photo-btn:hover{box-shadow:0 0 0 3px oklch(72% .19 145 / .35)}
.code-window:has(#cw-photos:checked) .cw-body{display:none}
.cw-photo-stage{flex:1;display:none;position:relative;overflow:hidden}
.code-window:has(#cw-photos:checked) .cw-photo-stage{display:block}
.cw-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation-duration:180s;animation-timing-function:linear;animation-iteration-count:1;animation-fill-mode:both;animation-play-state:paused}
.code-window:has(#cw-photos:checked) .cw-photo{animation-play-state:running}
.cw-photo-1{animation-name:cw-photo-1}
.cw-photo-2{animation-name:cw-photo-2}
.cw-photo-3{animation-name:cw-photo-3}
.cw-photo-4{animation-name:cw-photo-4}
.code-window:has(#cw-photos:checked) .cw-photo-1{background-image:url('/images/meeting-with-customer-presentation.webp')}
.code-window:has(#cw-photos:checked) .cw-photo-2{background-image:url('/images/meeting-with-customer-thinking.webp')}
.code-window:has(#cw-photos:checked) .cw-photo-3{background-image:url('/images/meeting-with-customer-discussing.webp')}
.code-window:has(#cw-photos:checked) .cw-photo-4{background-image:url('/images/meeting-with-customer-decision.webp')}

@keyframes cw-photo-1{0%,7.2%{opacity:1}8.3%,100%{opacity:0}}
@keyframes cw-photo-2{0%,7.2%{opacity:0}8.3%,23.9%{opacity:1}25%,100%{opacity:0}}
@keyframes cw-photo-3{0%,23.9%{opacity:0}25%,48.9%{opacity:1}50%,100%{opacity:0}}
@keyframes cw-photo-4{0%,48.9%{opacity:0}50%,100%{opacity:1}}
@media (prefers-reduced-motion:reduce){
.cw-photo{animation:none;opacity:0}
.cw-photo-1{opacity:1}
}

.hero-stage{position:relative;height:420px;display:flex}
.hero-stage>.code-window{flex:1;min-width:0}
.hero-diagram-wrap{position:absolute;inset:0;display:none;align-items:center;justify-content:center;overflow:hidden;padding:28px;border-radius:16px}
.hero-diagram-wrap::before{content:"";position:absolute;inset:-50%;background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 12px,transparent 12px 24px)}
.hero-diagram-wrap--integration{background:linear-gradient(155deg,oklch(52% .14 255),oklch(30% .1 258))}
.hero-diagram-wrap--rpa{background:linear-gradient(155deg,oklch(53% .12 195),oklch(30% .09 205))}

.hero-diagram-wrap::before{animation:hd-drift 22s linear infinite}
.hero-diagram-wrap::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.22),transparent 62%);background-size:190% 190%;background-position:18% 15%;mix-blend-mode:screen;animation:hd-glow 17s ease-in-out infinite}
@keyframes hd-drift{to{transform:translate(24px,24px)}}
@keyframes hd-glow{0%,100%{background-position:18% 15%}50%{background-position:82% 78%}}

.hero-art:has(#hv-integration:checked) .code-window,
.hero-art:has(#hv-rpa:checked) .code-window{display:none}
.hero-art:has(#hv-integration:checked) .hero-diagram-wrap--integration{display:flex}
.hero-art:has(#hv-rpa:checked) .hero-diagram-wrap--rpa{display:flex}

.hd-flow path{fill:none;stroke:rgba(255,255,255,.4);stroke-width:1.5;stroke-dasharray:5 6}
.hero-controls{display:flex;gap:12px}
.hero-flip{flex:1;display:flex;align-items:center;justify-content:center;height:46px;border-radius:12px;color:var(--soft);background:oklch(60% .02 260 / .06);border:1px solid oklch(60% .02 260 / .16);opacity:.55;cursor:pointer;transition:opacity .2s,color .2s,background .2s,border-color .2s;-webkit-tap-highlight-color:transparent}
.hero-flip:hover{opacity:.95;color:var(--accent-ink);border-color:var(--accent);background:oklch(60% .06 260 / .12)}
.hero-flip-ico{display:block}

.hero-art:has(#hv-terminal:checked) .hero-flip--to-terminal,
.hero-art:has(#hv-integration:checked) .hero-flip--to-integration,
.hero-art:has(#hv-rpa:checked) .hero-flip--to-rpa{opacity:.28;pointer-events:none;cursor:default}
.hero-diagram{position:relative;z-index:1;width:100%;height:100%}
.hero-diagram text{font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:0.9375rem;font-weight:600;letter-spacing:.02em;fill:#fff;text-anchor:middle}
.hd-links line{stroke:rgba(255,255,255,.4);stroke-width:1.5;stroke-dasharray:5 6}
.hd-node rect{fill:rgba(255,255,255,.1);stroke:rgba(255,255,255,.55);stroke-width:1.5}
.hd-hub rect{fill:rgba(255,255,255,.18);stroke:rgba(255,255,255,.85);stroke-width:1.75}
.hd-hub text{font-size:1rem;font-weight:700}
.hd-dots circle{fill:#fff;animation:hd-pulse 2.4s ease-in-out infinite}
.hd-dots circle:nth-child(2){animation-delay:.6s}
.hd-dots circle:nth-child(3){animation-delay:1.2s}
.hd-dots circle:nth-child(4){animation-delay:1.8s}
@keyframes hd-pulse{0%,100%{opacity:.2}50%{opacity:1}}

.hd-links line,.hd-flow path{animation:hd-flow-move 1.8s linear infinite}
@keyframes hd-flow-move{to{stroke-dashoffset:-22}}
@media (prefers-reduced-motion:reduce){
.hd-dots circle{animation:none;opacity:.85}
.hero-diagram-wrap::before,.hero-diagram-wrap::after,.hd-links line,.hd-flow path{animation:none}
}


.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band-inner{max-width:1400px;margin:0 auto;padding:44px 64px}

.quote-line{max-width:720px;margin:0 auto;padding:26px 64px;text-align:center;font-size:0.8125rem;font-style:italic;color:var(--soft)}
.section{max-width:1400px;margin:0 auto;padding:70px 64px 100px}
.section-head{max-width:640px;margin:0 auto 56px;text-align:center}
.section-head h2,.h-lg{font-size:2.375rem;font-weight:700;letter-spacing:-.02em;margin-bottom:16px}
.section-sub{font-size:1.0625rem;line-height:1.6;color:var(--muted)}


.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.stat b{display:block;font-size:2.125rem;font-weight:700;letter-spacing:-.02em}
.stat span{display:block;font-size:0.875rem;color:var(--muted);margin-top:4px}


.profile{max-width:1400px;margin:0 auto;padding:90px 64px 40px;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.profile h2{font-size:2.125rem;font-weight:700;letter-spacing:-.02em;margin-bottom:20px}
.profile p{font-size:1.03125rem;line-height:1.65;color:var(--muted);margin-bottom:16px}
.profile p:last-child{margin-bottom:0}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.info-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px}
.info-card h3{font-size:0.9375rem;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-ink)}
.info-card p{font-size:0.9375rem;line-height:1.7;color:var(--body);margin:0}


.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:32px}
.card h3{font-size:1.125rem;font-weight:700;margin-bottom:10px;letter-spacing:-.01em}
.card p{font-size:0.90625rem;line-height:1.6;color:var(--muted)}
.icon{width:40px;height:40px;border-radius:9px;background:var(--accent-soft);margin-bottom:20px;display:flex;align-items:center;justify-content:center}
.icon i{width:14px;height:14px;background:var(--accent);transform:rotate(45deg)}
.more{text-align:center;margin-top:48px}
.more a{font-size:0.9375rem;font-weight:700}


.dark-band{background:var(--dark);padding:80px 64px}
.dark-band h2{color:#fff;font-size:1.875rem;font-weight:700;letter-spacing:-.02em;text-align:center;margin-bottom:10px}
.dark-band .section-sub{color:var(--faint);text-align:center;margin-bottom:40px;font-size:1rem}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:1000px;margin:0 auto}
.chips span{color:oklch(88% .01 255);border:1px solid var(--dark-line);font-size:0.875rem;font-weight:600;padding:9px 16px;border-radius:999px}


.page-head{max-width:1000px;margin:0 auto;padding:70px 64px 30px;text-align:center}
.page-head h1{font-size:2.875rem;line-height:1.1;font-weight:700;letter-spacing:-.02em;margin-bottom:20px}
.page-head .section-sub{font-size:1.125rem;margin-bottom:36px}
.quicknav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.quicknav a{background:var(--surface);border:1px solid var(--line2);color:var(--body);font-size:0.84375rem;font-weight:600;padding:8px 16px;border-radius:999px}


.services{max-width:1200px;margin:0 auto;padding:60px 64px 90px;display:flex;flex-direction:column;gap:20px}
details.service{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:32px 40px}
details.service summary{display:flex;align-items:center;gap:24px;list-style:none;cursor:pointer}
details.service summary::-webkit-details-marker{display:none}
.svc-icon{width:52px;height:52px;border-radius:12px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.svc-icon i{width:18px;height:18px;background:var(--accent);border-radius:5px}
details.service h2{font-size:1.375rem;font-weight:700;letter-spacing:-.01em;flex:1}
.chev{font-size:0.8125rem;color:var(--soft);transition:transform .2s}
details[open] .chev{transform:rotate(180deg)}

.svc-body{padding:20px 0 0 76px;scroll-margin-top:216px}
.svc-body p{font-size:0.96875rem;line-height:1.65;color:var(--muted);margin-bottom:18px;max-width:660px}
.tags{display:flex;flex-wrap:wrap;gap:10px}
.tags span{background:var(--tag-bg);border:1px solid var(--line);color:var(--body);font-size:0.8125rem;font-weight:600;padding:7px 13px;border-radius:999px}


.process{max-width:1200px;margin:0 auto;padding:90px 64px}
.process>h2{font-size:1.875rem;font-weight:700;letter-spacing:-.02em;text-align:center;margin-bottom:16px}
.process-intro{max-width:640px;margin:0 auto 44px;text-align:center;font-size:1.0625rem;line-height:1.6;color:var(--muted)}

.timeline{max-width:720px;margin:0 auto 48px}
.timeline-svg{display:block;width:100%;height:auto;overflow:visible}
.tl-track{stroke:var(--line2);stroke-width:2;stroke-linecap:round;stroke-dasharray:2 10;animation:tl-flow 2.4s linear infinite}
.tl-step{cursor:pointer}
.tl-step:focus-visible{outline:none}
.tl-dot{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2;transform-box:fill-box;transform-origin:center;transition:transform .18s ease,stroke-width .18s ease}
.tl-num{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;font-size:1rem;fill:var(--accent-ink);text-anchor:middle;pointer-events:none;transform-box:fill-box;transform-origin:center;transition:transform .18s ease}
.tl-step:hover .tl-dot,.tl-step:focus-visible .tl-dot{transform:scale(1.2);stroke-width:2.5}
.tl-step:hover .tl-num,.tl-step:focus-visible .tl-num{transform:scale(1.2)}
.tl-step:focus-visible .tl-dot{stroke:var(--accent-ink)}
@keyframes tl-flow{to{stroke-dashoffset:-24}}
@media (prefers-reduced-motion:reduce){.tl-track{animation:none}.tl-dot,.tl-num{transition:none}}
.timeline-labels{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.timeline-labels span{display:block;text-align:center;font-size:0.84375rem;font-weight:600;line-height:1.35;color:var(--body);padding:0 6px}
.process-steps{display:flex;flex-direction:column;gap:16px}
.step-no{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:700;font-size:1.0625rem;color:var(--accent)}


.cta{max-width:1000px;margin:0 auto;padding:100px 64px;text-align:center}
.cta h2{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;margin-bottom:18px}
.cta p{font-size:1.0625rem;color:var(--muted);margin-bottom:32px}
.footer{border-top:1px solid var(--line);padding:40px 0}
.footer-inner{max-width:1400px;margin:0 auto;padding:0 64px;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:16px}
.footer-inner b{font-size:0.875rem;font-weight:600;color:var(--muted)}
.footer-links{display:flex;align-items:center;gap:24px}
.footer-links a{font-size:0.8125rem;color:var(--muted);font-weight:600}


.legal{max-width:760px;margin:0 auto;padding:70px 64px 120px}
.legal h1{font-size:2.375rem;font-weight:700;letter-spacing:-.02em;margin-bottom:40px}
.legal .subnote{font-size:0.875rem;color:var(--soft);margin:-28px 0 40px}
.legal h2{font-size:1.125rem;font-weight:700;margin:32px 0 10px}
.legal p{font-size:0.96875rem;line-height:1.7;color:var(--body)}




@media (max-width:860px){
.nav{flex-wrap:wrap;padding:16px 22px;row-gap:14px}
.nav-links{flex-wrap:wrap;gap:16px}
.hero{grid-template-columns:1fr;padding:48px 22px;gap:32px}
.hero h1{font-size:2.125rem;line-height:1.15}
.hero-stage{height:240px}
.cw-body{font-size:0.71875rem;line-height:1.85;padding:16px}
.band-inner{padding:36px 22px}
.stats{grid-template-columns:repeat(2,1fr)}
.profile{grid-template-columns:1fr;padding:48px 22px 24px;gap:36px}
.info-grid{grid-template-columns:1fr}
.section{padding:48px 22px}
.section-head h2,.h-lg{font-size:1.5625rem}
.cards{grid-template-columns:1fr}
.dark-band{padding:48px 22px}
.page-head{padding:48px 22px 20px}
.page-head h1{font-size:2.125rem;line-height:1.15}
.services{padding:36px 22px 56px}
details.service{padding:20px 18px}
details.service summary{gap:14px}
details.service h2{font-size:1.0625rem}
.svc-icon{width:40px;height:40px;border-radius:9px}
.svc-body{padding-left:0;scroll-margin-top:166px}
.process{padding:48px 22px}
.timeline{display:none}
.cta{padding:48px 22px}
.cta h2{font-size:1.5625rem}
.footer{padding:32px 0}
.footer-inner{padding:0 22px}
.legal{padding:48px 22px 72px}
.legal h1{font-size:1.875rem}
}


@media print {
@page { margin: 14mm; }

html, body { background: #fff; }
body { color: #111; font-size: 10.5pt; line-height: 1.45; }


.shell, .nav, .hero, .band-inner, .section, .profile, .cards, .services,
.process, .cta, .page-head, .legal, .footer-inner, .dark-band {
max-width: none;
margin-left: 0;
margin-right: 0;
padding-left: 0;
padding-right: 0;
}
.shell { border: 0; box-shadow: none; background: transparent; }



.nav-links, .lang,
.btn-row, .quicknav, .more, .chev, .hero-art, .svc-icon, .timeline {
display: none !important;
}


.site-header { position: static; background: transparent; border-bottom: 0; }
.nav {
padding-top: 0;
padding-bottom: 10px;
margin-bottom: 18px;
border-bottom: 1px solid #bbb;
}


.hero { display: block; padding-top: 6px; padding-bottom: 18px; }
.hero h1 { font-size: 24pt; line-height: 1.1; margin-bottom: 12px; }
.lead { font-size: 12pt; max-width: none; margin-bottom: 0; }


.page-head { padding-top: 6px; padding-bottom: 14px; }
.section, .profile, .process, .cta, .services, .legal {
padding-top: 22px; padding-bottom: 22px;
}
.band-inner { padding-top: 18px; padding-bottom: 18px; }


.cards     { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
.info-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.stats     { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.steps     { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }


details.service { padding: 16px 20px; }
.svc-body { padding: 12px 0 0; }


.badge { border: 1px solid var(--line2); }
.btn-cta {
background: transparent !important;
color: var(--accent-ink) !important;
padding: 4px 0 !important;
font-size: 13pt;
}


.band { background: transparent; }
.dark-band { background: transparent; padding: 20px 0; }
.dark-band h2, .dark-band .section-sub { color: #111; }
.chips { justify-content: flex-start; }
.chips span { color: #111; border-color: #999; }


.card, .info-card, details.service, .step, .stat, .cta,
.section-head, .band, img { break-inside: avoid; }
h1, h2, h3 { break-after: avoid; }
p { orphans: 3; widows: 3; }


.footer { padding: 16px 0; margin-top: 20px; break-inside: avoid; }


a { color: inherit; text-decoration: none; }
.footer-links a { color: #111; }
}
