/* ARITMA SOFT — site stylesheet. Tokens first, then base, layout, components. */

@font-face{font-family:"Plex";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plex";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plex Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-condensed-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-condensed-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#13232E;          /* text, dark panels */
  --ink-2:#1D3341;        /* raised dark surface */
  --ink-3:#2C4757;        /* dark borders */
  --paper:#F4F6F3;        /* page background */
  --white:#FFFFFF;
  --odra:#1F6B66;         /* primary: river green of the Odra */
  --odra-deep:#15514D;
  --odra-tint:#E2EDE9;
  --signal:#F2B705;       /* action: industrial signal yellow */
  --signal-hover:#FFC72C;
  --line:#D3DCD7;
  --muted:#4D5D64;
  --on-dark:#E8EFEC;
  --on-dark-muted:#A9BCC0;
  --danger:#B42318;

  --f-body:"Plex",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --f-display:"Plex Condensed","Plex",system-ui,sans-serif;

  --s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4.5rem;--s-9:6.5rem;
  --wrap:1180px;
  --r-sm:4px;--r-md:8px;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5.5rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.6;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:var(--odra);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--odra-deep)}
:focus-visible{outline:3px solid var(--signal);outline-offset:2px;border-radius:2px}
h1,h2,h3{font-family:var(--f-display);font-weight:600;line-height:1.08;letter-spacing:-.01em;margin:0 0 var(--s-4);text-wrap:balance}
h1{font-size:clamp(2.25rem,4.6vw,3.9rem)}
h2{font-size:clamp(1.75rem,3vw,2.6rem)}
h3{font-size:1.3rem;line-height:1.2}
p{margin:0 0 var(--s-4);max-width:68ch}
ul,ol{margin:0;padding:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--s-4);top:-4rem;background:var(--signal);color:var(--ink);padding:var(--s-2) var(--s-4);z-index:100;font-weight:600}
.skip:focus{top:var(--s-4)}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
.section{padding:var(--s-9) 0}
.section--tight{padding:var(--s-8) 0}
.section--white{background:var(--white)}
.section--tint{background:var(--odra-tint)}
.section--dark{background:var(--ink);color:var(--on-dark)}
.section--dark a{color:var(--signal)}
.section-head{max-width:46rem;margin-bottom:var(--s-7)}
.section-head p{color:var(--muted);font-size:1.125rem}
.section--dark .section-head p{color:var(--on-dark-muted)}
.lead{font-size:clamp(1.125rem,1.6vw,1.3rem);line-height:1.55;color:var(--muted);max-width:40rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.75rem 1.4rem;border-radius:var(--r-sm);font:600 1rem/1.2 var(--f-body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.btn--primary{background:var(--signal);color:var(--ink)}
.btn--primary:hover{background:var(--signal-hover);color:var(--ink)}
.btn--ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--ghost:hover{background:var(--ink);color:var(--white)}
.section--dark .btn--ghost,.hero--dark .btn--ghost{border-color:var(--on-dark);color:var(--on-dark)}
.section--dark .btn--ghost:hover{background:var(--on-dark);color:var(--ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3);margin-top:var(--s-6)}
.btn svg{width:1.1em;height:1.1em}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(244,246,243,.94);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:var(--s-5);min-height:4.5rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);flex-shrink:0}
.brand svg{width:34px;height:34px}
.brand-word{font:600 1.3rem/1 var(--f-display);letter-spacing:.02em}
.brand-word span{color:var(--odra)}
.nav{display:flex;align-items:center;gap:var(--s-1);margin-left:auto}
.nav > ul{display:flex;list-style:none;gap:var(--s-1)}
.nav a,.nav button.nav-trigger{display:block;padding:.55rem .7rem;color:var(--ink);text-decoration:none;font:500 .98rem/1.2 var(--f-body);border-radius:var(--r-sm);background:none;border:0;cursor:pointer}
.nav a:hover,.nav button.nav-trigger:hover,.nav a[aria-current="page"]{background:var(--odra-tint);color:var(--ink)}
.nav-trigger::after{content:"";display:inline-block;width:.45em;height:.45em;margin-left:.45em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.15em) rotate(45deg)}
.has-mega{position:relative}
.mega{position:absolute;left:50%;top:calc(100% + .5rem);transform:translateX(-35%);width:min(760px,90vw);background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 18px 40px -18px rgba(19,35,46,.35);padding:var(--s-5);display:none;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.has-mega.open .mega{display:grid}
.mega h3{font:600 .85rem/1.3 var(--f-body);color:var(--muted);margin:0 0 var(--s-2);letter-spacing:.01em}
.mega ul{list-style:none;display:grid;gap:2px}
.mega a{padding:.5rem .6rem}
.mega a small{display:block;color:var(--muted);font-size:.85rem;font-weight:400;margin-top:2px}
.header-actions{display:flex;align-items:center;gap:var(--s-3)}
.header-phone{font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.lang{display:flex;gap:2px;border:1px solid var(--line);border-radius:var(--r-sm);padding:2px}
.lang a{padding:.3rem .45rem;font-size:.82rem;font-weight:600;text-decoration:none;color:var(--muted);border-radius:3px}
.lang a[aria-current="true"]{background:var(--ink);color:var(--white)}
.menu-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:var(--r-sm);padding:.55rem .75rem;font:600 .95rem var(--f-body);color:var(--ink);cursor:pointer}

@media (max-width:1080px){
  .header-phone{display:none}
}
@media (max-width:1160px){
  .menu-toggle{display:block}
  .nav{position:fixed;inset:4.5rem 0 0 0;background:var(--paper);flex-direction:column;align-items:stretch;padding:var(--s-5) clamp(1rem,4vw,2rem);overflow-y:auto;display:none;margin:0}
  .nav.open{display:flex}
  .nav > ul{flex-direction:column}
  .nav a,.nav button.nav-trigger{font-size:1.1rem;padding:.8rem .4rem;width:100%;text-align:left}
  .mega{position:static;transform:none;width:auto;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;padding:0 0 0 var(--s-4);grid-template-columns:1fr;margin:var(--s-2) 0}
  .header-actions{flex-direction:column;align-items:stretch;margin-top:var(--s-5)}
  .header-actions .btn{width:100%}
  .header-phone{display:block;padding:.6rem 0}
  .lang{align-self:flex-start}
  body.menu-open{overflow:hidden}
}

/* Hero (home) */
.hero{padding:var(--s-8) 0 var(--s-8);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero h1{max-width:15ch}
.hero .lead{margin-top:var(--s-5)}
.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4);margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--line);list-style:none}
.trust strong{display:block;font:600 1.15rem/1.2 var(--f-display)}
.trust span{display:block;color:var(--muted);font-size:.9rem;line-height:1.35}
@media (max-width:980px){.hero-grid{grid-template-columns:1fr}.hero h1{max-width:20ch}}
@media (max-width:640px){.trust{grid-template-columns:1fr 1fr}}

/* Flow panel: the signature element */
.flow{background:var(--ink);color:var(--on-dark);border-radius:var(--r-md);padding:var(--s-5);position:relative;overflow:hidden}
.flow-label{font-size:.85rem;color:var(--on-dark-muted);margin:0 0 var(--s-4)}
.flow ol{list-style:none;position:relative;display:grid;gap:var(--s-3)}
.flow ol::before{content:"";position:absolute;left:19px;top:20px;bottom:20px;width:2px;background:var(--ink-3)}
.flow li{position:relative;display:grid;grid-template-columns:40px 1fr;gap:var(--s-3);align-items:start;padding:var(--s-2) 0}
.flow-dot{width:40px;height:40px;border-radius:50%;background:var(--ink-2);border:2px solid var(--ink-3);display:grid;place-items:center;font:600 .95rem var(--f-display);color:var(--on-dark-muted);position:relative;z-index:1;transition:background-color .35s,border-color .35s,color .35s}
.flow-name{font:600 1.1rem/1.25 var(--f-display);color:var(--on-dark)}
.flow-state{display:block;font-size:.9rem;color:var(--on-dark-muted);line-height:1.4;margin-top:2px;min-height:1.3em;transition:color .35s}
.flow li.is-active .flow-dot{background:var(--signal);border-color:var(--signal);color:var(--ink)}
.flow li.is-done .flow-dot{background:var(--odra);border-color:var(--odra);color:var(--white)}
.flow li.is-active .flow-state{color:var(--white)}
.flow-caption{margin:var(--s-4) 0 0;padding-top:var(--s-3);border-top:1px solid var(--ink-3);font-size:.88rem;color:var(--on-dark-muted)}
.flow li.is-pending .flow-state{opacity:.0}

/* Intent rows */
.intents{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.intent{display:block;padding:var(--s-5) var(--s-5) var(--s-5) 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.intent:nth-child(odd){padding-right:var(--s-6);border-right:1px solid var(--line)}
.intent:nth-child(even){padding-left:var(--s-6)}
.intent h3{margin-bottom:var(--s-2);font-size:1.35rem}
.intent p{color:var(--muted);margin:0 0 var(--s-2)}
.intent .go{font-weight:600;color:var(--odra)}
.intent:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}
@media (max-width:760px){.intents{grid-template-columns:1fr}.intent:nth-child(odd),.intent:nth-child(even){padding:var(--s-5) 0;border-right:0}}

/* Service index */
.svc-groups{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7)}
.svc-group h3{font:600 1rem/1.3 var(--f-body);color:var(--muted);margin-bottom:var(--s-3);padding-bottom:var(--s-3);border-bottom:2px solid var(--ink)}
.svc-list{list-style:none}
.svc-list a{display:grid;grid-template-columns:1fr auto;gap:var(--s-4);align-items:center;padding:var(--s-4) 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.svc-list strong{display:block;font:600 1.25rem/1.25 var(--f-display)}
.svc-list span{display:block;color:var(--muted);font-size:.95rem;margin-top:3px}
.svc-list svg{width:20px;height:20px;color:var(--odra);transition:transform .15s}
.svc-list a:hover strong{color:var(--odra)}
.svc-list a:hover svg{transform:translateX(3px)}
@media (max-width:860px){.svc-groups{grid-template-columns:1fr;gap:var(--s-6)}}

/* Split blocks */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.checks{list-style:none;display:grid;gap:var(--s-3)}
.checks li{position:relative;padding-left:2rem}
.checks li::before{content:"";position:absolute;left:0;top:.35em;width:1.1rem;height:.6rem;border-left:2.5px solid var(--odra);border-bottom:2.5px solid var(--odra);transform:rotate(-45deg)}
.section--dark .checks li::before{border-color:var(--signal)}

/* Steps (real sequences only) */
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-5);counter-reset:step}
.steps li{counter-increment:step;padding-top:var(--s-4);border-top:3px solid var(--ink)}
.steps li::before{content:counter(step);display:block;font:600 2.4rem/1 var(--f-display);color:var(--odra);margin-bottom:var(--s-3)}
.steps h3{font-size:1.2rem;margin-bottom:var(--s-2)}
.steps p{color:var(--muted);font-size:.98rem;margin:0}
.section--dark .steps li{border-color:var(--on-dark)}
.section--dark .steps li::before{color:var(--signal)}
.section--dark .steps p{color:var(--on-dark-muted)}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.steps{grid-template-columns:1fr}}

/* Scope grid */
.scope{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s-7)}
.scope > div{padding:var(--s-5) 0;border-bottom:1px solid var(--line)}
.scope h3{font-size:1.2rem;margin-bottom:var(--s-2)}
.scope p{color:var(--muted);margin:0}
@media (max-width:760px){.scope{grid-template-columns:1fr}}

/* Sectors */
.sectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-5)}
.sector{display:flex;flex-direction:column;padding:var(--s-5);background:var(--white);border-left:4px solid var(--odra);text-decoration:none;color:var(--ink);min-height:100%}
.sector:first-child{border-left-color:var(--signal)}
.sector h3{font-size:1.5rem}
.sector p{color:var(--muted);flex:1}
.sector .go{font-weight:600;color:var(--odra)}
.sector:hover h3{text-decoration:underline;text-underline-offset:.15em}
@media (max-width:860px){.sectors{grid-template-columns:1fr}}

/* Founder */
.founder{display:grid;grid-template-columns:200px 1fr;gap:var(--s-7);align-items:center}
.portrait{width:200px;aspect-ratio:4/5;border-radius:var(--r-md);background:var(--odra);color:var(--white);display:grid;place-items:center;font:600 3.2rem var(--f-display);overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover}
.founder blockquote{margin:0;font:600 clamp(1.35rem,2.4vw,1.85rem)/1.3 var(--f-display);max-width:34ch}
.founder cite{display:block;margin-top:var(--s-4);font:400 1rem var(--f-body);font-style:normal;color:var(--muted)}
.founder cite strong{color:var(--ink)}
@media (max-width:700px){.founder{grid-template-columns:1fr}.portrait{width:150px}}

/* References */
.refs{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.refs li{padding:var(--s-5) var(--s-4) var(--s-5) 0;border-bottom:1px solid var(--line)}
.refs strong{display:block;font:600 1.25rem/1.25 var(--f-display)}
.refs span{color:var(--muted);font-size:.95rem}
@media (max-width:760px){.refs{grid-template-columns:1fr}}

/* Band (checklist teaser, CTAs) */
.band{display:grid;grid-template-columns:1fr auto;gap:var(--s-6);align-items:center}
.band h2{margin-bottom:var(--s-2)}
.band p{margin:0;color:var(--muted)}
.section--dark .band p{color:var(--on-dark-muted)}
@media (max-width:760px){.band{grid-template-columns:1fr}}

/* FAQ */
.faq{border-top:1px solid var(--line);max-width:52rem}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:var(--s-5) 3rem var(--s-5) 0;position:relative;font:600 1.2rem/1.35 var(--f-display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.6rem;top:50%;width:.7rem;height:.7rem;border-right:2px solid var(--odra);border-bottom:2px solid var(--odra);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq .answer{padding:0 0 var(--s-5);color:var(--ink)}
.faq .answer p{margin:0}
.faq-cat{margin-top:var(--s-8)}
.faq-cat:first-of-type{margin-top:0}
.faq-cat h2{font-size:1.75rem}
.faq-cat h2 a{color:inherit;text-decoration:none}
.toc{display:flex;flex-wrap:wrap;gap:var(--s-2);list-style:none;margin-bottom:var(--s-7)}
.toc a{display:block;padding:.4rem .75rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--ink);font-size:.92rem;background:var(--white)}
.toc a:hover{border-color:var(--odra);color:var(--odra)}

/* Page hero (inner pages) */
.page-hero{padding:var(--s-7) 0 var(--s-8);border-bottom:1px solid var(--line)}
.page-hero h1{max-width:22ch}
.page-hero .points{margin-top:var(--s-6)}
.crumbs{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;font-size:.9rem;color:var(--muted);margin-bottom:var(--s-5)}
.crumbs li+li::before{content:"/";margin-right:.4rem;color:var(--line)}
.crumbs a{color:var(--muted)}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:end}
.aside-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-5)}
.aside-card h2{font-size:1.35rem;margin-bottom:var(--s-3)}
.aside-card p{color:var(--muted);font-size:.98rem}
.aside-card .btn{width:100%;margin-top:var(--s-2)}
.aside-card .phone-big{display:block;font:600 1.5rem var(--f-display);color:var(--ink);text-decoration:none;margin-top:var(--s-3)}
@media (max-width:900px){.page-hero-grid{grid-template-columns:1fr}}

.prose{max-width:46rem}
.prose p{font-size:1.1rem}
.prose h2{margin-top:var(--s-7)}
.prose h2:first-child{margin-top:0}

/* Forms */
.form{display:grid;gap:var(--s-4)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}
@media (max-width:600px){.form .row{grid-template-columns:1fr}}
.field label{display:block;font-weight:600;font-size:.95rem;margin-bottom:.35rem}
.field .opt{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;font:400 1rem/1.4 var(--f-body);color:var(--ink);background:var(--white);border:1.5px solid #AEBBB5;border-radius:var(--r-sm);padding:.75rem .85rem;min-height:3rem}
.field textarea{min-height:7.5rem;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--odra);box-shadow:0 0 0 3px rgba(31,107,102,.2)}
.field .err{display:none;color:var(--danger);font-size:.88rem;margin-top:.3rem}
.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:var(--danger)}
.field.invalid .err{display:block}
.consent{display:grid;grid-template-columns:auto 1fr;gap:.6rem;font-size:.88rem;color:var(--muted);align-items:start}
.consent input{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--odra)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:.88rem;color:var(--muted);margin:0}
.form-status{padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);display:none}
.form-status.show{display:block}
.form-status.error{background:#FDECEA;color:var(--danger)}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:clamp(1.25rem,3vw,2.25rem)}
.section--dark .form-card{color:var(--ink)}

/* Contact */
.contact-list{list-style:none;display:grid;gap:var(--s-5)}
.contact-list dt,.contact-list .k{font-size:.9rem;color:var(--muted)}
.contact-list .v{font:600 1.35rem/1.3 var(--f-display);color:var(--ink);text-decoration:none}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--s-2) var(--s-6);margin:0}
.facts dt{color:var(--muted)}
.facts dd{margin:0;font-weight:500}

/* Team */
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-6)}
.team .portrait{width:100%;max-width:260px;font-size:2.6rem}
.team h3{margin:var(--s-4) 0 .2rem}
.team .role{color:var(--odra);font-weight:600;font-size:.95rem;margin-bottom:var(--s-2)}
.team p{color:var(--muted);font-size:.98rem}
.team li:nth-child(2) .portrait{background:var(--ink)}
.team li:nth-child(3) .portrait{background:var(--ink-3)}
@media (max-width:860px){.team{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.team{grid-template-columns:1fr}}
.values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5) var(--s-7)}
.values h3{font-size:1.2rem;margin-bottom:var(--s-2)}
.values p{color:var(--on-dark-muted);margin:0}
@media (max-width:700px){.values{grid-template-columns:1fr}}

/* Quiz */
.quiz-cat{margin-bottom:var(--s-6)}
.quiz-cat h3{font-size:1.25rem;padding-bottom:var(--s-2);border-bottom:2px solid var(--ink)}
.q{display:grid;grid-template-columns:1fr auto;gap:var(--s-4);align-items:center;padding:var(--s-3) 0;border-bottom:1px solid var(--line)}
.q p{margin:0}
.q fieldset{border:0;margin:0;padding:0;display:flex;gap:4px}
.q legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.q label{position:relative}
.q input{position:absolute;opacity:0;inset:0}
.q label span{display:block;padding:.45rem .75rem;border:1.5px solid var(--line);border-radius:var(--r-sm);font-size:.9rem;font-weight:600;cursor:pointer;background:var(--white);min-width:4.2rem;text-align:center}
.q input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--white)}
.q input[value="1"]:checked+span{background:var(--odra);border-color:var(--odra)}
.q input:focus-visible+span{outline:3px solid var(--signal);outline-offset:2px}
@media (max-width:640px){.q{grid-template-columns:1fr}}
.quiz-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s-7);align-items:start}
.score-card{position:sticky;top:6rem;background:var(--ink);color:var(--on-dark);border-radius:var(--r-md);padding:var(--s-6)}
.score-card h2{font-size:1.3rem;color:var(--on-dark-muted);font-family:var(--f-body);font-weight:600}
.score-num{font:600 4.5rem/1 var(--f-display);color:var(--white)}
.score-num small{font-size:1rem;color:var(--on-dark-muted);font-family:var(--f-body);font-weight:400;margin-left:.4rem}
.score-bar{height:8px;background:var(--ink-3);border-radius:4px;margin:var(--s-4) 0;overflow:hidden}
.score-bar i{display:block;height:100%;width:0;background:var(--signal);transition:width .3s}
.score-band h3{color:var(--white);margin:var(--s-4) 0 var(--s-2)}
.score-band p{color:var(--on-dark-muted);font-size:.98rem}
.score-card .btn{width:100%;margin-top:var(--s-3)}
@media (max-width:960px){.quiz-layout{grid-template-columns:1fr}.score-card{position:static}}

/* Footer */
.site-footer{background:var(--ink);color:var(--on-dark-muted);padding:var(--s-8) 0 var(--s-6);font-size:.95rem}
.site-footer a{color:var(--on-dark);text-decoration:none}
.site-footer a:hover{color:var(--signal);text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s-6)}
.footer-grid h2{font:600 .95rem var(--f-body);color:var(--white);margin-bottom:var(--s-3)}
.footer-grid ul{list-style:none;display:grid;gap:.45rem}
.site-footer .brand{color:var(--white);margin-bottom:var(--s-4)}
.site-footer .brand-word span{color:var(--signal)}
.footer-bottom{margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--ink-3);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-3);font-size:.85rem}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.footer-grid{grid-template-columns:1fr}}

/* Assistant */
.asst-btn{position:fixed;right:clamp(.75rem,2vw,1.5rem);bottom:clamp(.75rem,2vw,1.5rem);z-index:60;display:flex;align-items:center;gap:.55rem;background:var(--ink);color:var(--white);border:0;border-radius:999px;padding:.8rem 1.15rem .8rem .9rem;font:600 .98rem var(--f-body);cursor:pointer;box-shadow:0 10px 30px -10px rgba(19,35,46,.6)}
.asst-btn svg{width:22px;height:22px;color:var(--signal)}
.asst-btn:hover{background:var(--ink-2)}
.asst{position:fixed;right:clamp(.75rem,2vw,1.5rem);bottom:clamp(.75rem,2vw,1.5rem);z-index:70;width:min(400px,calc(100vw - 1.5rem));height:min(620px,calc(100vh - 2rem));background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 24px 60px -20px rgba(19,35,46,.5);display:none;flex-direction:column;overflow:hidden}
.asst.open{display:flex}
.asst-head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) var(--s-4);background:var(--ink);color:var(--white)}
.asst-head strong{font:600 1.05rem var(--f-display)}
.asst-head button{background:none;border:0;color:var(--on-dark);font:600 .9rem var(--f-body);cursor:pointer;padding:.4rem .5rem}
.asst-log{flex:1;overflow-y:auto;padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);background:var(--paper)}
.msg{max-width:88%;padding:.65rem .85rem;border-radius:var(--r-md);font-size:.95rem;line-height:1.5}
.msg p{margin:0 0 .5rem}.msg p:last-child{margin:0}
.msg.bot{background:var(--white);border:1px solid var(--line);align-self:flex-start}
.msg.user{background:var(--odra);color:var(--white);align-self:flex-end}
.msg .links{margin-top:.5rem;font-size:.88rem}
.msg .links a{display:block}
.chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 var(--s-4) var(--s-3);background:var(--paper)}
.chips button{background:var(--white);border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem;font:500 .85rem var(--f-body);color:var(--ink);cursor:pointer}
.chips button:hover{border-color:var(--odra);color:var(--odra)}
.asst-form{display:flex;gap:6px;padding:var(--s-3);border-top:1px solid var(--line)}
.asst-form input{flex:1;font:400 .98rem var(--f-body);padding:.65rem .75rem;border:1.5px solid #AEBBB5;border-radius:var(--r-sm)}
.asst-form button{background:var(--signal);border:0;border-radius:var(--r-sm);padding:0 1rem;font:600 .95rem var(--f-body);cursor:pointer}
.asst-note{font-size:.75rem;color:var(--muted);padding:0 var(--s-3) var(--s-2);margin:0}
.asst-cta{display:flex;gap:6px;flex-wrap:wrap;margin-top:.5rem}
.asst-cta a{font-size:.85rem;font-weight:600}

/* 404 / thanks */
.center-page{padding:var(--s-9) 0;min-height:50vh}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
@media print{
  .site-header,.site-footer,.asst-btn,.asst{display:none!important}
}

/* Utilities and late additions */
.mt{margin-top:var(--s-6)}
.small{font-size:.85rem;margin-top:var(--s-4)}
.h3{font-size:1.4rem}
.note{color:var(--muted);font-size:.95rem}
.is-hidden{display:none}
.btn-row--flush{margin:0}
.lead--dark{color:var(--on-dark-muted)}
.more-link{margin-top:var(--s-5);font-weight:600}
.mega--narrow{width:min(420px,90vw);grid-template-columns:1fr;transform:translateX(-25%)}
.checks--big li{font-size:1.15rem;padding-bottom:var(--s-3);border-bottom:1px solid var(--ink-3)}
.contact-list--dark{margin-top:var(--s-6)}
.contact-list--dark .k{color:var(--on-dark-muted)}
.contact-list--dark .v{color:var(--white)}
.refs-block{margin-top:var(--s-8)}
.refs-block h2{margin-bottom:var(--s-4)}
.scope--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.scope--3{grid-template-columns:1fr}}
.refs--big strong{font-size:1.6rem}
.footer-grid h2.mt{margin-top:var(--s-5)}
.site-footer p{max-width:34ch}
.page-hero .points li{font-size:1.05rem}
.section--dark .lead{color:var(--on-dark-muted)}
/* Button specificity fixes inside nav and dark sections */
.nav a.btn{padding:.75rem 1.2rem;font-weight:600}
.nav a.btn--primary,.nav a.btn--primary:hover{background:var(--signal);color:var(--ink)}
.section--dark a.btn--primary,.section--dark a.btn--primary:hover{color:var(--ink)}
.section--dark a.btn--ghost{color:var(--on-dark);border-color:var(--on-dark)}
.section--dark a.btn--ghost:hover{color:var(--ink);background:var(--on-dark)}
.hero h1{font-size:clamp(2.25rem,4.4vw,3.6rem);max-width:17ch}
.section--dark .form-card a{color:var(--odra)}
.page-hero h1{font-size:clamp(2rem,3.6vw,3.1rem);max-width:24ch}
.nav a.btn{display:inline-flex}
@media (max-width:640px){
  .asst-btn{padding:.85rem;font-size:0;gap:0}
  .asst-btn svg{width:24px;height:24px}
}
@media (max-width:1160px){
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}
  .nav{height:calc(100dvh - 4.5rem)}
}

.person{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--s-4);font-size:.92rem;color:var(--muted)}
.person img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex-shrink:0}
.photo{margin:var(--s-5) 0 0}
.photo img{width:100%;height:auto;border-radius:var(--r-md)}
.team{list-style:none}

.brand svg{width:auto;height:58px}
.site-footer .brand svg{height:52px}
@media (max-width:1160px){.site-header .brand svg{height:48px}}

/* Booking calendar */
.page-hero--compact{padding-bottom:var(--s-7)}
.btn--sm{min-height:2.5rem;padding:.4rem .9rem;font-size:1.2rem}
.linklike{background:none;border:0;padding:0;font:inherit;color:var(--odra);text-decoration:underline;cursor:pointer}
.bk{max-width:62rem}
.bk-steps{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin-bottom:var(--s-6);color:var(--muted);font-weight:600;font-size:.95rem}
.bk-steps li{display:flex;align-items:center;gap:.5rem}
.bk-steps span{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;border:2px solid var(--line);font-size:.85rem}
.bk-steps li[aria-current="step"]{color:var(--ink)}
.bk-steps li[aria-current="step"] span{background:var(--signal);border-color:var(--signal);color:var(--ink)}
.bk-steps li.done span{background:var(--odra);border-color:var(--odra);color:var(--white)}
.bk-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3)}
.bk-head h2{margin:0}
.bk-nav{display:flex;align-items:center;gap:var(--s-3)}
.bk-range{font-weight:600;min-width:9.5rem;text-align:center;font-variant-numeric:tabular-nums}
.bk-legend{list-style:none;display:flex;gap:var(--s-5);font-size:.9rem;color:var(--muted);margin-bottom:var(--s-4)}
.bk-legend li{display:flex;align-items:center;gap:.4rem}
.sw{display:inline-block;width:1rem;height:1rem;border-radius:3px}
.sw--free{background:var(--white);border:1.5px solid var(--odra)}
.sw--busy{background:repeating-linear-gradient(135deg,#E3E7E5 0 4px,#D3DCD7 4px 8px);border:1.5px solid #C2CCC7}
.bk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:var(--s-4)}
.bk-grid > .note{grid-column:1/-1}
.bk-day h3{font:600 .98rem/1.3 var(--f-body);margin-bottom:var(--s-2);padding-bottom:var(--s-2);border-bottom:2px solid var(--ink)}
.bk-day ul{list-style:none;display:grid;gap:6px}
.slot{width:100%;min-height:2.6rem;border-radius:var(--r-sm);font:600 .98rem var(--f-body);font-variant-numeric:tabular-nums;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem}
.slot--free{background:var(--white);border:1.5px solid var(--odra);color:var(--odra-deep)}
.slot--free:hover{background:var(--odra);color:var(--white)}
.slot--busy{background:repeating-linear-gradient(135deg,#EEF1EF 0 4px,#E2E7E4 4px 8px);border:1.5px solid #D3DCD7;color:#7C8A90;cursor:not-allowed;text-decoration:line-through}
.slot--busy small{font-size:.72rem;font-weight:500;text-decoration:none}
.slot--past{background:transparent;border:1.5px dashed var(--line);color:#9AA7AC;cursor:not-allowed}
.bk-picked{padding:var(--s-4);background:var(--odra-tint);border-radius:var(--r-sm);margin-bottom:var(--s-5)}
.bk-picked span{color:var(--muted)}
.bk-picked .linklike{margin-left:var(--s-3)}
.bk-code{max-width:26rem}
.bk-code input{font-size:1.6rem;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}
.bk-done{padding:var(--s-6);background:var(--odra-tint);border-left:4px solid var(--odra);border-radius:var(--r-sm)}
.bk-done:focus{outline:none}
@media (max-width:540px){.bk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =====================================================================
   Theme "Centrum dowodzenia" (concept B, 2026-10). Dark control-room
   palette, Sora headings, mint accent, amber for actions. This layer
   redefines the tokens above and fixes components that used --ink as a
   background or --white as text.
   ===================================================================== */
@font-face{font-family:"Sora";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/sora-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Sora";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/sora-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Sora";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/sora-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Sora";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/sora-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#EAF2EF;          /* text */
  --ink-2:#15313D;        /* raised surface */
  --ink-3:#23434F;        /* strong border */
  --paper:#0A1820;        /* page */
  --white:#102631;        /* card surface */
  --deep:#0D1F28;         /* alternate band */
  --odra:#5ED1BF;         /* mint accent */
  --odra-deep:#8FE3D5;
  --odra-tint:#15313D;
  --teal:#2C8F86;
  --signal:#F5B83D;       /* amber: actions */
  --signal-hover:#FFC85C;
  --line:#1F3B47;
  --muted:#A9BFBD;
  --on-dark:#EAF2EF;
  --on-dark-muted:#A9BFBD;
  --on-accent:#0A1820;
  --danger:#FF9A85;
  --f-display:"Sora","Plex",system-ui,sans-serif;
  --r-md:20px;--r-lg:28px;
  color-scheme:dark;
}
h1,h2{font-weight:700;letter-spacing:-.02em}
h3{font-weight:600;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,4.8vw,3.9rem);line-height:1.05}
h2{font-size:clamp(1.8rem,3.2vw,2.85rem)}
a:hover{color:var(--odra-deep)}
::selection{background:var(--odra);color:var(--on-accent)}

/* Buttons: pill shape, dark text on amber */
.btn{border-radius:999px}
.btn--primary,.btn--primary:hover,.nav a.btn--primary,.nav a.btn--primary:hover,.section--dark a.btn--primary,.section--dark a.btn--primary:hover{color:var(--on-accent)}
.btn--ghost{border:1.5px solid #335562;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--on-accent)}
.btn--lg{min-height:3.4rem;padding:.9rem 1.7rem;font-size:1.06rem}
.btn--dark{background:var(--on-accent);color:#FFFFFF}
.btn--dark:hover{background:#000;color:#FFFFFF}
.skip{color:var(--on-accent)}

/* Header */
.site-header{background:rgba(10,24,32,.9);border-bottom-color:var(--line)}
.nav a:hover,.nav button.nav-trigger:hover,.nav a[aria-current="page"]{background:var(--ink-2);color:var(--ink)}
.mega{box-shadow:0 24px 50px -20px rgba(0,0,0,.7)}
.lang a[aria-current="true"]{background:var(--odra);color:var(--on-accent)}
@media (max-width:1160px){.site-header{background:var(--paper)}}

/* Section bands */
.section--white,.section--tint,.section--alt{background:var(--deep);border-top:1px solid var(--line)}
.section--dark{background:var(--deep);color:var(--on-dark);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section--dark a{color:var(--odra)}
.section--flushtop{padding-top:0}
.hero,.page-hero{border-bottom-color:var(--line)}

/* Legacy components on the dark palette */
.flow{background:var(--white);border:1px solid var(--line)}
.flow li.is-active .flow-dot{color:var(--on-accent)}
.flow li.is-done .flow-dot{color:var(--on-accent)}
.flow li.is-active .flow-state{color:var(--ink)}
.svc-group h3{border-bottom-color:var(--ink-3)}
.steps li{border-top-color:var(--ink-3)}
.sector,.aside-card,.form-card,.toc a{border-radius:var(--r-md)}
.sector{border:1px solid var(--line);border-left:4px solid var(--odra)}
.aside-card{border-color:var(--line)}
.portrait{color:var(--on-accent)}
.team li:nth-child(2) .portrait,.team li:nth-child(3) .portrait{background:var(--ink-2);color:var(--odra)}
.team .portrait{border-radius:var(--r-md)}
.field input,.field select,.field textarea,.asst-form input{background:var(--paper);border-color:#335562;color:var(--ink)}
.field input::placeholder,.field textarea::placeholder{color:#6F8A8B}
.field input:focus,.field select:focus,.field textarea:focus{box-shadow:0 0 0 3px rgba(94,209,191,.25)}
.form-status.error{background:rgba(255,154,133,.12)}
.form-status{background:var(--ink-2)}
.contact-list--dark .v,.score-num,.score-band h3,.footer-grid h2,.site-footer .brand{color:var(--ink)}
.score-card{background:var(--white);border:1px solid var(--line)}
.q input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--on-accent)}
.q input[value="1"]:checked+span{color:var(--on-accent)}
.site-footer{background:#07131A;border-top:1px solid var(--line)}
.site-footer .brand-word span{color:var(--signal)}
.asst-btn{background:var(--odra);color:var(--on-accent);box-shadow:0 10px 30px -8px rgba(0,0,0,.7)}
.asst-btn svg{color:var(--on-accent)}
.asst-btn:hover{background:var(--odra-deep)}
.asst{border-color:var(--ink-3);box-shadow:0 24px 60px -20px rgba(0,0,0,.8)}
.asst-head{background:var(--ink-2);color:var(--ink)}
.msg.user{color:var(--on-accent)}
.asst-form button{color:var(--on-accent)}
.bk-steps li[aria-current="step"] span{color:var(--on-accent)}
.bk-steps li.done span{color:var(--on-accent)}
.slot--free:hover{color:var(--on-accent)}
.sw--busy,.slot--busy{background:repeating-linear-gradient(135deg,#132A34 0 4px,#0F232C 4px 8px);border-color:var(--line);color:#7E9798}
.slot--past{color:#5F7778}
.bk-day h3,.quiz-cat h3{border-bottom-color:var(--ink-3)}
.photo img,.person img{border:1px solid var(--line)}

/* Light band (team): local light tokens */
.section--light{--ink:#0A1820;--muted:#33504E;--odra:#1F6B66;--odra-deep:#15514D;--line:#CFDCD8;background:#EEF3F1;color:var(--ink)}
.section--light a{color:var(--odra)}

/* Shared bits */
.eyebrow,.tag{font-size:.88rem;font-weight:600;color:var(--odra);margin:0 0 var(--s-3);letter-spacing:.01em}
.tag--amber{color:var(--signal)}
.arrow-link{font-weight:600;text-decoration:none}
.arrow-link::after{content:" →"}
.arrow-link:hover{text-decoration:underline}
svg.ill-feature,svg.ill-pillar,svg.ill-chart{width:100%;height:auto}

/* Home hero with status board */
.hx{padding:clamp(3rem,7vw,5.5rem) 0 clamp(3.5rem,8vw,6rem)}
.hx-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,3.5rem);align-items:center}
.hx h1{max-width:16ch;margin-bottom:var(--s-5)}
.hx .lead{color:#B9CCCA;max-width:34rem}
.hx .btn-row{margin-top:var(--s-6)}
.pills{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin-top:var(--s-6)}
.pills li{font-size:.88rem;padding:.45rem .9rem;border-radius:999px;background:var(--white);border:1px solid var(--line);color:#B9CCCA}
.board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.board-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.board-card--wide{grid-column:span 2}
.board-top{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap}
.board-title{font:600 1rem/1.3 var(--f-display)}
.live{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--odra)}
.live i{width:8px;height:8px;border-radius:50%;background:var(--odra);box-shadow:0 0 0 0 rgba(94,209,191,.6);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(94,209,191,.55)}70%{box-shadow:0 0 0 9px rgba(94,209,191,0)}100%{box-shadow:0 0 0 0 rgba(94,209,191,0)}}
.board-k{font-weight:600}
.board-ok{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--odra);line-height:1.35}
.board-ok svg{flex:none}
.board-s{font-size:.82rem;color:#9DB5B3}
.meter{display:block;height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.meter i{display:block;width:72%;height:100%;background:var(--signal);border-radius:4px}
.board-card--light{background:#EAF2EF;border-color:#EAF2EF;color:#0A1820;flex-direction:row;align-items:flex-start;gap:14px}
.board-card--light svg{flex:none}
.board-card--light div{display:flex;flex-direction:column;gap:4px;min-width:0}
.board-label{font-size:.82rem;font-weight:600;color:#1F6B66}
.board-q{font-size:.95rem;line-height:1.45}
.board-src{font-size:.76rem;color:#4A615F}
@media (max-width:980px){.hx-grid{grid-template-columns:1fr}.hx h1{max-width:20ch}}
@media (max-width:480px){.board{grid-template-columns:1fr}.board-card--wide{grid-column:auto}}

/* References strip */
.strip{background:var(--deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.strip-row{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 2.6rem;padding-block:1.4rem}
.strip-k{font-size:.88rem;color:#9DB5B3}
.strip-v{font:600 1.06rem/1.3 var(--f-display);color:#D5E3E0}
.strip-more{margin-left:auto;font-size:.92rem;font-weight:600}

/* Pillars bento */
.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--s-4) var(--s-7);margin-bottom:var(--s-7)}
.head-row h2{margin:0;max-width:20ch}
.head-row p{margin:0;color:#B9CCCA;font-size:1.125rem;max-width:26rem}
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pillar{background:var(--white);border:1px solid var(--line);border-radius:26px;padding:28px;display:flex;flex-direction:column;gap:20px;min-width:0}
.pillar--accent{border-color:#2C6F68;background:linear-gradient(180deg,#123039,#102631 60%)}
.pillar-body h3{font-size:1.55rem;margin:0 0 var(--s-2)}
.pillar-body p{margin:0;color:#B9CCCA}
.pillar-body .tag{margin-bottom:var(--s-2)}
.svc-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.svc-chips a{display:block;font-size:.88rem;padding:.5rem .85rem;border-radius:999px;background:var(--ink-2);border:1px solid var(--ink-3);color:var(--ink);text-decoration:none}
.svc-chips a:hover{border-color:var(--odra);color:var(--odra)}
@media (max-width:980px){.bento{grid-template-columns:1fr 1fr}.pillar--accent{grid-column:span 2}}
@media (max-width:680px){.bento{grid-template-columns:1fr}.pillar--accent{grid-column:auto}}

/* Zigzag features */
.zig{display:grid;gap:clamp(3.5rem,8vw,6rem)}
.zig-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,5vw,3.5rem);align-items:center}
.zig-row--flip .zig-art{order:2}
.zig-copy h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:var(--s-5)}
.dots{list-style:none;display:grid;gap:12px;margin-bottom:var(--s-5);color:#D5E3E0;font-size:1.06rem}
.dots li{display:flex;gap:12px;align-items:baseline}
.dots li::before{content:"";flex:none;width:8px;height:8px;border-radius:2px;background:var(--signal);transform:translateY(-2px)}
.dots--mint li::before{background:var(--odra)}
@media (max-width:860px){.zig-row{grid-template-columns:1fr}.zig-row--flip .zig-art{order:0}}

/* Process timeline (a real sequence) */
.timeline{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--ink-3);margin-top:calc(var(--s-7) + 22px)}
.timeline li{padding:0 var(--s-5) 0 0;display:flex;flex-direction:column;gap:10px}
.tl-n{width:44px;height:44px;margin-top:-23px;border-radius:50%;background:var(--odra);color:var(--on-accent);font:700 1rem var(--f-display);display:grid;place-items:center}
.timeline li:first-child .tl-n{background:var(--signal)}
.timeline h3{font-size:1.2rem;margin:var(--s-2) 0 0}
.timeline p{margin:0;color:#B9CCCA;font-size:.98rem}
@media (max-width:860px){.timeline{grid-template-columns:1fr;border-top:0;border-left:2px solid var(--ink-3);margin:var(--s-6) 0 0 22px;gap:var(--s-6)}.timeline li{padding:0 0 0 var(--s-6);position:relative}.tl-n{position:absolute;left:-23px;top:0;margin:0}.timeline h3{margin-top:.55rem}}

/* Sector cards */
.sector-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:var(--s-6)}
.sector-card{display:flex;gap:20px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:22px;padding:22px;text-decoration:none;color:var(--ink);min-width:0}
.sector-card svg{flex:none;width:76px;height:76px}
.sector-card strong{display:block;font:600 1.2rem/1.25 var(--f-display);margin-bottom:6px}
.sector-card > span{min-width:0}
.sector-card > span > span{display:block;font-size:.92rem;color:#B9CCCA;line-height:1.45}
.sector-card:hover{border-color:var(--odra);color:var(--ink)}
.sector-card:hover strong{color:var(--odra)}
@media (max-width:980px){.sector-cards{grid-template-columns:1fr}}

/* Team band */
.team-b{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,3.5rem);align-items:center}
.team-b h2{margin-bottom:var(--s-5)}
.team-b blockquote{margin:0 0 var(--s-4);font-size:1.18rem;line-height:1.55;color:var(--muted);max-width:36rem}
.team-b-cite{font-weight:600;font-size:.98rem}
.team-b-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.team-b-photos figure{margin:0;display:flex;flex-direction:column;gap:10px}
.team-b-photos figure:nth-child(2){padding-top:48px}
.team-b-photos img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:22px}
.team-b-photos figcaption{font-size:.9rem;color:var(--muted);line-height:1.4}
.team-b-photos strong{display:block;color:var(--ink)}
@media (max-width:860px){.team-b{grid-template-columns:1fr}}

/* Closing CTA pair */
.cta-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cta-amber,.cta-card{border-radius:var(--r-lg);padding:clamp(1.6rem,4vw,2.5rem);display:flex;flex-direction:column;gap:16px;min-width:0}
.cta-amber{background:var(--signal);color:var(--on-accent)}
.cta-amber h2,.cta-card h2{font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.12;margin:0}
.cta-amber p,.cta-card p{margin:0;font-size:1.06rem}
.cta-amber .btn{align-self:flex-start;margin-top:auto}
.cta-card{background:var(--white);border:1px solid var(--line)}
.cta-card p{color:#B9CCCA}
.cta-links{display:grid;gap:12px}
.cta-link{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);padding:1rem 1.35rem;border-radius:16px;background:var(--ink-2);border:1px solid var(--ink-3);color:var(--ink);font-weight:600;font-size:1.06rem;text-decoration:none;min-width:0;overflow-wrap:anywhere}
.cta-link span{color:#9DB5B3;font-size:.86rem;font-weight:500;flex:none}
.cta-link:hover{border-color:var(--odra);color:var(--ink)}
.cta-link--primary{background:var(--signal);border-color:var(--signal);color:var(--on-accent);font-weight:700}
.cta-link--primary span{color:var(--on-accent);font-size:1.1rem}
.cta-link--primary:hover{background:var(--signal-hover);border-color:var(--signal-hover);color:var(--on-accent)}
@media (max-width:860px){.cta-pair{grid-template-columns:1fr}}

/* Service pages: illustration under the intro heading */
.intro-side h2{margin-bottom:var(--s-6)}
.intro-art{max-width:34rem}
.intro-art .ill-pillar{background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);padding:12px}
.nav a.btn{border-radius:999px}
.nav > ul > li > a,.nav button.nav-trigger,.header-actions .btn{white-space:nowrap}
.mega a{white-space:normal}
@media (max-width:1360px) and (min-width:1161px){.nav .header-phone{display:none}}

h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
.split > *,.page-hero-grid > *{min-width:0}
.facts{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}
.facts dd,.facts dt{min-width:0;overflow-wrap:anywhere}
@media (max-width:480px){h1{font-size:clamp(1.9rem,8.4vw,2.3rem)}}
@media (min-width:1161px){html[lang="de"] .nav .header-phone{display:none}}
@media (max-width:1160px){.mega,.mega--narrow{position:static;transform:none;width:auto;background:transparent}}
.em-at::before{content:"@"}
