@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-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:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-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+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:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-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:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-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+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:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-latin-800-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:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/barlow-condensed-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-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:"Barlow";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/barlow-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+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:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-latin-500-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:"Barlow";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/barlow-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-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:"Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-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+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:"Doto";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/doto-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF}
@font-face{font-family:"Barlow Condensed Fallback";src:local("Arial Narrow"),local("Roboto Condensed");size-adjust:98%;ascent-override:100%;descent-override:22%}
@font-face{font-family:"Barlow Condensed Fallback Arial";src:local("Arial"),local("Roboto");size-adjust:81%;ascent-override:100%;descent-override:22%}
@font-face{font-family:"Barlow Fallback";src:local("Arial"),local("Roboto");size-adjust:96%;ascent-override:100%;descent-override:20%}

:root{
  --asphalt:#26282A;--asphalt-2:#1C1E20;--asphalt-3:#34383D;--beton:#C7C8C3;--kreide:#EEEEEA;--bitumen:#141516;--orange:#EE6A1F;
  --kernlicht:#7DF0FF;--kernlicht-glow:#22D3EE;--fenster:#FFD58A;--fenster-glow:#FFB547;--kuli:#1E5BD8;
  --sand:#CDB98C;--erde:#5A4A3A;--erde-base:#201C19;
  --wasser:#1E5BD8;--wasser-hell:#9DB8F2;--kanal:#8B5A2B;--kanal-core:#141516;
  --muted-on-dark:#A6A9AC;--muted-on-light:#4C4F52;--line-on-dark:rgba(238,238,234,.16);--line-on-light:rgba(38,40,42,.20);
  --f1:#E2001A;--f2:#2EA84A;--f3:#1E5BD8;--f4:#FFD400;--f5:#F4F6F8;--f6:#8C939D;--f7:#8B5A2B;--f8:#7B3FB5;--f9:#22C4C4;--f10:#111111;--f11:#FF7A00;--f12:#F48FB1;
  --ink:var(--kreide);--ink-muted:var(--muted-on-dark);--bg:var(--asphalt);--focus:var(--orange);--line:var(--line-on-dark);
  --call-bg:var(--kreide);--call-ink:var(--asphalt);--wa-bg:var(--orange);--wa-ink:var(--bitumen);--tick:var(--orange);

  --font-head:"Barlow Condensed","Barlow Condensed Fallback","Barlow Condensed Fallback Arial",sans-serif;
  --font-body:"Barlow","Barlow Fallback",system-ui,sans-serif;
  --font-num:"Doto",var(--font-head);
  --t-display:clamp(3rem,1.4rem + 6vw,7rem);
  --t-h2:clamp(2.4rem,1.4rem + 4.2vw,5.5rem);
  --t-chapter:clamp(2rem,1.2rem + 3.4vw,4.25rem);
  --t-num:clamp(2.75rem,2rem + 3vw,5rem);
  --t-h3:1.5rem;
  --t-lead:clamp(1.125rem,1rem + .45vw,1.375rem);
  --t-body:1.0625rem;
  --t-small:.875rem;

  --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;
  --section-y:clamp(4.5rem,3rem + 6vw,9rem);
  --section-pad:clamp(72px,9vw,152px);
  --margin:clamp(16px,4vw,64px);
  --gutter:24px;
  --header-h:60px;--strip-h:16px;
  --bar-h:calc(56px + env(safe-area-inset-bottom));
}
@media (max-width:767px){:root{--margin:max(16px,env(safe-area-inset-left),env(safe-area-inset-right));--gutter:12px;--t-h3:1.375rem;--t-h2:2rem}}
@media (min-width:1024px){:root{--header-h:72px}}

.theme-dark{--bg:var(--asphalt);--ink:var(--kreide);--ink-muted:var(--muted-on-dark);--focus:var(--orange);--line:var(--line-on-dark);--call-bg:var(--kreide);--call-ink:var(--asphalt);--wa-bg:var(--orange);--wa-ink:var(--bitumen);--tick:var(--orange)}
.theme-beton{--bg:var(--beton);--ink:var(--asphalt);--ink-muted:var(--muted-on-light);--focus:var(--asphalt);--line:var(--line-on-light);--call-bg:var(--asphalt);--call-ink:var(--kreide);--wa-bg:var(--orange);--wa-ink:var(--bitumen);--tick:var(--asphalt)}
.theme-light{--bg:var(--kreide);--ink:var(--asphalt);--ink-muted:var(--muted-on-light);--focus:var(--asphalt);--line:var(--line-on-light);--call-bg:var(--asphalt);--call-ink:var(--kreide);--wa-bg:var(--orange);--wa-ink:var(--bitumen);--tick:var(--asphalt)}
.theme-orange{--bg:var(--orange);--ink:var(--bitumen);--ink-muted:rgba(20,21,22,.86);--focus:var(--bitumen);--line:rgba(20,21,22,.28);--call-bg:var(--kreide);--call-ink:var(--bitumen);--wa-bg:var(--bitumen);--wa-ink:var(--kreide);--tick:var(--bitumen)}

html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}
.lenis.lenis-smooth iframe{pointer-events:none}
.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px);background:var(--asphalt-2)}
@media (prefers-reduced-motion:no-preference){html:not(.lenis){scroll-behavior:smooth}}
/* Z JS (motion-ok) zawsze auto: ScrollTrigger po każdym refresh wpisuje zapamiętane scroll-behavior inline, a natywne smooth kończyło przewijanie do fokusu za krótko (Lenis i dotyk). Płynny skok do kotwic robi motion.js (initAnchors). */
html.motion-ok{scroll-behavior:auto}
/* Telefon: fokus z klawiatury i skoki nie chowają się pod stałym paskiem kontaktu (WCAG 2.4.11). */
@media (max-width:767px){html{scroll-padding-bottom:calc(var(--bar-h) + 16px)}}
body{margin:0;background:var(--asphalt);color:var(--kreide);font:400 var(--t-body)/1.55 var(--font-body);hyphens:auto;hyphenate-limit-chars:14 6 6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
:where(h1,h2,h3,h4,p,ul,ol,figure){margin:0}
ul,ol{padding:0;list-style:none}
img,svg,picture{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.1;hyphens:manual;overflow-wrap:break-word;text-wrap:balance}
p{max-width:64ch;text-wrap:pretty}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
::selection{background:var(--orange);color:var(--bitumen)}

.wrap{width:min(100% - 2*var(--margin),1440px);margin-inline:auto}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip-link{position:absolute;left:var(--margin);top:calc(var(--header-h) + 12px);z-index:100;padding:12px 18px;border-radius:999px;background:var(--kreide);color:var(--asphalt);font-weight:600;text-decoration:none;--focus:var(--orange)}
.skip-link:not(:focus){width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link--inline{top:calc(var(--header-h) + 28px)}

.h-display{font-weight:800;font-size:var(--t-display);line-height:.9;letter-spacing:-.01em}
.h2{font-weight:800;font-size:var(--t-h2);line-height:.95;letter-spacing:-.005em}
.h-chapter{font-weight:700;font-size:var(--t-chapter);line-height:1}
.lead{font-size:var(--t-lead);line-height:1.45;max-width:46ch;hyphens:manual;text-wrap:pretty}
.note{font:500 var(--t-small)/1.4 var(--font-body);color:var(--ink-muted)}
.ico{width:20px;height:20px;flex:none}

.btn{--b-bg:transparent;--b-ink:currentColor;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:2px solid transparent;border-radius:999px;background:var(--b-bg);color:var(--b-ink);font:600 1rem/1 var(--font-body);letter-spacing:.01em;text-decoration:none;white-space:nowrap;transition:background-color .15s,color .15s,border-color .15s}
.btn:hover{background:color-mix(in srgb,var(--b-bg) 88%,white)}
.btn:active{transform:translateY(1px)}
.btn--call{--b-bg:var(--call-bg);--b-ink:var(--call-ink)}
.btn--wa{--b-bg:var(--wa-bg);--b-ink:var(--wa-ink)}
.btn--mail{background:transparent;border-color:currentColor;color:inherit}
.btn--mail:hover{background:color-mix(in srgb,currentColor 10%,transparent)}
.btn--accent{--b-bg:var(--orange);--b-ink:var(--bitumen)}
.btn--dark{--b-bg:var(--asphalt);--b-ink:var(--kreide)}
.theme-orange .btn--accent{--b-bg:var(--bitumen);--b-ink:var(--kreide)}
.btn--sm{min-height:40px;padding:0 16px;gap:8px;font-size:.9375rem}
.btn--sm .ico{width:18px;height:18px}
.btn__num{font-weight:500;font-variant-numeric:tabular-nums;opacity:.82}
.link-cta{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:700 1.25rem/1.2 var(--font-head);color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.link-cta:hover{text-decoration-thickness:3px}
.link-cta .ico{transition:transform .2s}
.link-cta:hover .ico,.link-cta:focus-visible .ico{transform:translateX(4px)}
.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags li{padding:4px 10px;border:1px solid color-mix(in srgb,currentColor 35%,transparent);border-radius:999px;font:500 .8125rem/1.3 var(--font-body)}
.tube-marker{display:inline-block;flex:none;width:32px;height:8px;border-radius:4px;background:var(--tube);border:1px solid rgba(20,21,22,.35)}

.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);background:var(--asphalt-2);color:var(--kreide);--ink:var(--kreide);--ink-muted:var(--muted-on-dark);--focus:var(--orange)}
.site-header.is-stuck{box-shadow:0 1px 0 var(--line-on-dark)}
.site-header__bar{height:100%;display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-right:auto;flex:none}
.logo-mark{width:54px;height:54px;flex:none}
.logo-text{display:flex;flex-direction:column;font:800 1.5rem/1 var(--font-head);letter-spacing:.01em}
.logo-text em{margin-top:3px;font:500 .75rem/1 var(--font-body);font-style:normal;letter-spacing:.02em;color:var(--ink-muted)}
@media (max-width:719px){.logo-mark{width:44px;height:44px}.logo-text{font-size:1.25rem}.logo-text em{display:none}.brand{gap:10px}}
.site-nav__list{display:flex;align-items:center;gap:4px}
.site-nav__list>li>a,.site-nav__sub-toggle{display:flex;align-items:center;gap:4px;min-height:40px;padding:10px 12px;font:500 1rem/1 var(--font-body);text-decoration:none;color:var(--kreide);border-radius:2px}
.site-nav__list>li>a:hover,.site-nav__list>li>a.is-current,.site-nav__list>li>a[aria-current="page"],.site-nav__sub-toggle:hover,.site-nav__has-sub:has([aria-current="page"]) .site-nav__sub-toggle{box-shadow:inset 0 -2px var(--orange)}
.ico--chev{width:18px;height:18px;transition:transform .2s}
.site-nav__sub-toggle[aria-expanded="true"] .ico--chev{transform:rotate(180deg)}
.site-nav__sub-label{display:none}
.site-nav__sub a{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;font:500 1rem/1.2 var(--font-body);color:var(--kreide);text-decoration:none;border-radius:2px}
.site-nav__sub a[aria-current="page"],.site-nav__sub a.is-current{color:var(--orange)}
.site-nav__sub .ico-illu{--s:20px;color:var(--muted-on-dark)}
.site-nav__contact{display:none}
.site-nav__contact-title{font:600 .8125rem/1.2 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-on-dark)}
.lang-switch{display:flex;gap:2px}
.lang-switch button{min-width:44px;height:44px;padding:0 6px;border-radius:999px;font:600 .8125rem/1 var(--font-body);letter-spacing:.04em;color:var(--muted-on-dark)}
.lang-switch button:hover{color:var(--kreide)}
.lang-switch button[aria-pressed="true"],.lang-switch button.is-active{background:var(--kreide);color:var(--asphalt)}
/* < 360 px: węższe przyciski języka (36 px, WCAG 2.5.8 ≥ 24 px), żeby menu mieściło się z marginesem 16 px.
   Musi stać po regule bazowej .lang-switch button, inaczej min-width 44px ją nadpisuje. */
@media (max-width:359px){.site-header__bar{gap:6px}.brand{gap:8px}.lang-switch button{min-width:36px;padding:0 4px}}
.header-cta{display:none}
.nav-toggle{position:relative;width:44px;height:44px;flex:none;border-radius:999px}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{position:absolute;left:12px;width:20px;height:2px;background:var(--kreide);border-radius:1px;transition:transform .2s,opacity .2s}
.nav-toggle__bars{top:21px}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";left:0}
.nav-toggle__bars::before{top:-7px}
.nav-toggle__bars::after{top:7px}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars{background:transparent}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1023px){
  .site-nav{position:fixed;left:0;right:0;top:var(--header-h);bottom:0;display:none;flex-direction:column;justify-content:space-between;gap:32px;padding:32px var(--margin) calc(24px + env(safe-area-inset-bottom));background:var(--asphalt-2);overflow-y:auto}
  .site-nav.is-open{display:flex}
  .site-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .site-nav__list>li>a{min-height:56px;padding:12px 0;font:700 1.875rem/1 var(--font-head);border-bottom:1px solid var(--line-on-dark);border-radius:0}
  .site-nav__list>li>a:hover,.site-nav__list>li>a.is-current,.site-nav__list>li>a[aria-current="page"]{box-shadow:none;color:var(--orange)}
  .site-nav__sub-toggle{display:none}
  .site-nav__sub-label{display:block;padding:20px 0 4px;font:600 .8125rem/1.2 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--muted-on-dark)}
  .site-nav__sub{display:grid;padding-bottom:10px;border-bottom:1px solid var(--line-on-dark)}
  .site-nav__sub a{padding:8px 0;font-size:1.125rem;font-weight:600}
  .site-nav__contact{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .site-nav__contact-title,.site-nav__contact .btn--call{grid-column:1/-1}
  .site-nav__contact .btn{min-height:56px}
  .site-nav__contact .btn--call{justify-content:flex-start}
  .site-nav__contact .btn__num{margin-left:auto}
}
.menu-open,.menu-open body{overflow:hidden}
@media (min-width:768px){.header-cta{display:inline-flex}}
@media (min-width:1024px){
  .site-header__bar{gap:16px}
  .nav-toggle{display:none}
  .lang-switch button{min-width:44px;height:44px}
  .site-nav__has-sub{position:relative}
  .site-nav__sub{position:absolute;left:0;top:100%;z-index:2;display:grid;min-width:290px;padding:8px;background:var(--asphalt-2);border:1px solid var(--line-on-dark);border-radius:4px;box-shadow:0 16px 40px rgba(0,0,0,.4);visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .15s,transform .15s,visibility 0s .15s}
  .site-nav__has-sub:not(.is-dismissed):hover .site-nav__sub,.site-nav__has-sub.is-open .site-nav__sub,.site-nav__sub-toggle[aria-expanded="true"]~.site-nav__sub,.site-nav__has-sub:not(.is-dismissed) .site-nav__sub:focus-within,.no-js .site-nav__has-sub:focus-within .site-nav__sub{visibility:visible;opacity:1;transform:none;transition:opacity .15s,transform .15s}
  .site-nav__sub li:first-child{margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--line-on-dark)}
  .site-nav__sub a:hover{background:rgba(238,238,234,.08)}
}
@media (min-width:1024px) and (max-width:1279px){.logo-text em{display:none}.site-nav__list>li>a,.site-nav__sub-toggle{padding-inline:9px}.site-header__bar{gap:10px}}
.no-js .lang-switch,.no-js .nav-toggle{display:none}

.cable-strip{position:fixed;z-index:40;top:var(--header-h);left:0;right:0;height:16px;contain:strict;opacity:0;visibility:hidden;pointer-events:none;background:#141516 linear-gradient(to bottom,#141516 0 3px,#28292A 3px 4px,#141516 4px 11px,#28292A 11px 12px,#141516 12px);transition:opacity .3s,visibility .3s}
.cable-strip.is-visible{opacity:1;visibility:visible}
.cable-strip__print{font:600 .75rem/16px var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:rgba(238,238,234,.82);white-space:nowrap;transform:translate3d(var(--strip-dx,0),var(--strip-dy,0),0);will-change:transform}
@media (min-width:1024px){
  .cable-strip{top:72px;bottom:0;left:auto;right:0;width:24px;height:auto;background:#141516 linear-gradient(to right,#141516 0 5px,#28292A 5px 6px,#141516 6px 17px,#28292A 17px 18px,#141516 18px)}
  .cable-strip__print{writing-mode:vertical-rl;line-height:24px}
}
.no-js .cable-strip{display:none}
.route-nodes{display:none}
@media (min-width:1024px) and (pointer:fine){
  .route-nodes{position:fixed;z-index:41;right:0;top:50%;width:24px;display:flex;flex-direction:column;gap:12px;padding:8px 0;background:#141516;transform:translateY(-50%);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
  .route-nodes.is-visible,.skip-link--inline:focus ~ .route-nodes,.route-nodes:focus-within{opacity:1;visibility:visible}
  .route-nodes button{position:relative;width:24px;height:24px;border-radius:50%}
  .route-nodes button::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--tube);box-shadow:0 0 0 1.5px var(--kreide);transition:transform .2s}
  .route-nodes button:hover::before{transform:scale(1.2)}
  .route-nodes button.is-active::before{width:14px;height:14px;margin:-7px 0 0 -7px;box-shadow:0 0 0 2px #141516,0 0 0 3.5px var(--kreide)}
}
.no-js .route-nodes{display:none}

.mobile-bar{display:none}
@media (max-width:767px){
  .mobile-bar{position:fixed;z-index:45;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;height:var(--bar-h);padding-bottom:env(safe-area-inset-bottom);background:var(--asphalt-2);box-shadow:0 -2px 0 var(--bitumen);transition:transform .2s,visibility 0s;--focus:var(--kreide)}
  .mobile-bar .btn{min-width:0;min-height:56px;padding:0 6px;gap:6px;border-radius:0;border:0;font-size:.9375rem;white-space:normal;text-align:center;line-height:1.1}
  .mobile-bar .btn:focus-visible{outline-offset:-4px}
  .mobile-bar .btn--call{--focus:var(--asphalt)}
  .mobile-bar .btn--wa{--focus:var(--bitumen)}
  .mobile-bar.is-hidden{transform:translateY(110%);visibility:hidden;transition:transform .2s,visibility 0s .2s}
}

.section{position:relative;z-index:1;padding-block:var(--section-pad);background:var(--bg);color:var(--ink)}
.section__head{display:grid;gap:20px;max-width:52rem}
.section__head .lead{color:var(--ink-muted)}

.lichtweg{position:relative}
.lw-stage{display:none}
/* Tor sceny = cała wysokość #lichtweg; płótno jest sticky w torze, więc po ostatnim rozdziale odjeżdża ze stroną
   (wcześniej sticky z ujemnym marginesem zostawało w kadrze nad #ablauf). */
.motion-ok .lw-stage{display:block;position:absolute;inset:0;z-index:0;background:var(--scene-bg,var(--asphalt))}
.lw-scene{position:absolute;inset:0}
.motion-ok .lw-scene{position:sticky;inset:auto;top:0;height:100svh}
.lw-scene canvas{display:block;width:100%;height:100%}
/* Desktop, faza włókien: nakładka w kolorze tła chowa płaszcz kabla pod kolumną tekstu (scene.js --lane-op, --lane-x). */
.scene-on .lw-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,var(--scene-bg,var(--asphalt)) var(--lane-x,0px),transparent calc(var(--lane-x,0px) + 64px));opacity:var(--lane-op,0)}
.lw-block{position:relative;z-index:1}
#lichtweg[data-stage=dark]{--stage-ink:var(--kreide);--stage-bg:var(--asphalt);--stage-muted:var(--muted-on-dark);--stage-focus:var(--orange)}
#lichtweg[data-stage=orange]{--stage-ink:var(--bitumen);--stage-bg:var(--orange);--stage-muted:rgba(20,21,22,.92);--stage-focus:var(--bitumen)}
#lichtweg[data-stage=light]{--stage-ink:var(--asphalt);--stage-bg:var(--kreide);--stage-muted:var(--muted-on-light);--stage-focus:var(--asphalt)}
.hero,.chapter{background:var(--bg);color:var(--ink)}
.motion-ok .chapter,.motion-ok .hero{min-height:100svh}
.motion-ok .chapter{display:grid;align-content:end;padding-bottom:max(10svh,calc(56px + env(safe-area-inset-bottom) + 16px))}
@media (min-width:768px){.motion-ok .chapter{padding-bottom:10svh}}
html:not(.scene-on) .chapter{background:var(--bg);color:var(--ink)}
.scene-on #lichtweg .lw-block{--ink:var(--stage-ink);--ink-muted:var(--stage-muted);--focus:var(--stage-focus);background:transparent;color:var(--stage-ink)}
/* Podkład pod tekstem rozdziału w kolorze tła sceny (--scene-bg z scene.js, w błysku łuku zmieszany z bielą):
   obiekty 3D przechodzą „za” tekstem, a nie przez niego. Krawędź to maska gradientowa (32 px), bez box-shadow,
   więc nie powstaje widoczna karta, gdy tło płótna i podkład chwilowo się różnią. W tunelu (orange) osobny kolor, niżej. */
.scene-on #lichtweg{--scrim-mask:linear-gradient(to right,transparent,#000 32px,#000 calc(100% - 32px),transparent),linear-gradient(to bottom,transparent,#000 32px,#000 calc(100% - 32px),transparent)}
.scene-on #lichtweg .chapter__copy,.scene-on #lichtweg .chapter__photo figcaption{position:relative;isolation:isolate}
.scene-on #lichtweg [data-chapter="1"] .chapter__photo{opacity:var(--fig1,1)}.scene-on #lichtweg [data-chapter="3"] .chapter__photo{opacity:var(--fig3,1)}.scene-on #lichtweg [data-chapter="4"] .chapter__photo{opacity:var(--fig4,1)}
.scene-on #lichtweg .chapter__copy::before,.scene-on #lichtweg .chapter__photo figcaption::before{content:"";position:absolute;inset:-36px -40px;z-index:-1;background:var(--scene-bg,var(--stage-bg));-webkit-mask:var(--scrim-mask);mask:var(--scrim-mask);-webkit-mask-composite:source-in;mask-composite:intersect;opacity:var(--scrim-op,1);pointer-events:none}
/* Podkład sięga do krawędzi ekranu po stronie tekstu: poziome włókna nie zostawiają kikutów przy krawędzi. */
.scene-on #lichtweg .chapter__copy::before{left:-50vw}
/* Podpis zdjęcia na desktopie bez podkładu (dawał „belkę” na kablu: ciemną na jasnym płaszczu, pomarańczową na czarnym w tunelu);
   czytelność daje miękki cień w kolorze tła sceny (w tunelu pomarańczowa poświata wokół liter). */
@media (min-width:1024px){.scene-on #lichtweg .chapter__photo figcaption::before{content:none}.scene-on #lichtweg .chapter__photo figcaption{--sb:var(--scene-bg,var(--stage-bg));text-shadow:0 0 1px var(--sb),0 0 2px var(--sb),0 0 3px var(--sb),0 0 4px var(--sb),0 0 6px var(--sb),0 0 8px var(--sb),0 0 12px var(--sb),0 0 16px var(--sb)}}
@media (max-width:767px){
  /* Telefon: jeden wspólny podkład pod całą treścią rozdziału (tekst + zdjęcie) na .chapter__inner. Przy niskim ekranie
     .chapter__copy ma display:contents (bez pudełka), więc podkład na nim pozycjonował się względem całego bloku i zakrywał scenę.
     Podkład ma pełną szerokość ekranu (inset = margines strony, bez wychodzenia poza viewport) i wtapia się tylko u góry i u dołu. */
  .scene-on #lichtweg .chapter__inner{position:relative;isolation:isolate}
  .scene-on #lichtweg .chapter__copy::before,.scene-on #lichtweg .chapter__photo figcaption::before{content:none}
  .scene-on #lichtweg .chapter__inner::before{content:"";position:absolute;inset:-36px calc(-1*var(--margin));z-index:-1;background:var(--scene-bg,var(--stage-bg));-webkit-mask:linear-gradient(to bottom,transparent,#000 32px,#000 calc(100% - 32px),transparent);mask:linear-gradient(to bottom,transparent,#000 32px,#000 calc(100% - 32px),transparent);opacity:var(--scrim-op,1);pointer-events:none}
  .scene-on #lichtweg[data-stage=orange] .chapter__inner::before{background:rgba(238,106,31,.94)}
}
/* Wylot z tuby (scene.js --copy-op): tekst i miniatura gasną na czas przejścia kręgu przez kolumnę; land = jak w scene.js. */
@media (min-width:768px) and (min-aspect-ratio:1/1){.scene-on #lichtweg .chapter__copy,.scene-on #lichtweg .chapter__photo{opacity:var(--copy-op,1)}}
/* Tunel: ściany rury przy krawędziach kadru są ciemnordzawe, więc tekst 02 dostaje półprzezroczysty pomarańczowy podkład
   (żebra prześwitują lekko; kontrast bitumen ≥ 4,5:1). Na telefonie mocniejszy, bo górna ściana jest tam najciemniejsza. */
.scene-on #lichtweg[data-stage=orange] .chapter__copy::before,.scene-on #lichtweg[data-stage=orange] .chapter__photo figcaption::before{opacity:var(--scrim-op,1);background:rgba(238,106,31,.94)}
/* Desktop: podkład ma tę samą geometrię na każdym etapie (zmiana inset przy wejściu i wyjściu z pomarańczu dawała CLS);
   na ciemnym i jasnym maska odtwarza mniejszy podkład (-36/-40 px, wtapianie 32 px). */
@media (min-width:1024px){.scene-on #lichtweg .chapter__copy::before{inset:-100px -104px -100px -50vw;-webkit-mask:linear-gradient(to right,transparent,#000 32px,#000 calc(100% - 96px),transparent calc(100% - 64px)),linear-gradient(to bottom,transparent 64px,#000 96px,#000 calc(100% - 96px),transparent calc(100% - 64px));mask:linear-gradient(to right,transparent,#000 32px,#000 calc(100% - 96px),transparent calc(100% - 64px)),linear-gradient(to bottom,transparent 64px,#000 96px,#000 calc(100% - 96px),transparent calc(100% - 64px));-webkit-mask-composite:source-in;mask-composite:intersect}}
@media (min-width:1024px){.scene-on #lichtweg[data-stage=orange] .chapter__copy::before{inset:-100px -104px -100px -50vw;-webkit-mask:linear-gradient(to right,transparent,#000 96px,#000 calc(100% - 96px),transparent),linear-gradient(to bottom,transparent,#000 96px,#000 calc(100% - 96px),transparent);mask:linear-gradient(to right,transparent,#000 96px,#000 calc(100% - 96px),transparent),linear-gradient(to bottom,transparent,#000 96px,#000 calc(100% - 96px),transparent);-webkit-mask-composite:source-in;mask-composite:intersect}}
@media (max-width:1023px){
  /* Do prawej krawędzi ekranu, ale nie dalej (−50vw dawało poziomy scroll w Safari < 16 bez overflow:clip). */
  .scene-on #lichtweg .chapter__copy::before{right:calc(100% - 100vw + var(--margin))}
  .scene-on #lichtweg[data-stage=orange] .chapter__copy::before,.scene-on #lichtweg[data-stage=orange] .chapter__photo figcaption::before{opacity:var(--scrim-op,1);background:rgba(238,106,31,.94)}
}
.scene-on #heroBundle{opacity:var(--bundle-fade,1)}
.scene-on #heroMains{opacity:calc(.75*var(--bundle-fade,1))}
/* Pas gruntu gaśnie razem z okręgiem: kabel 3D rośnie pod rysunkiem, więc nie może go przykrywać ciemny grunt. */
.scene-on .hero-ground{opacity:var(--bundle-fade,1)}
/* Etykiety rysunku gasną z tej samej krzywej (inaczej „Graben” zostawał na pierścieniu kabla 3D). */
.scene-on .hero-label{opacity:var(--bundle-fade,1)}
/* Chwila startu sceny (klasa na 0,35 s z motion.js): tła rozdziałów i okrąg hero przechodzą płynnie, płótno wchodzi tak samo (scene.js). */
.scene-in #lichtweg .lw-block{transition:background-color .3s}
.scene-in #heroBundle,.scene-in #heroMains,.scene-in .hero-ground,.scene-in .hero-label{transition:opacity .3s}
html:not(.motion-ok) .chapter{padding-block:var(--section-y)}
.strecke{position:relative}
main{overflow-x:clip}

.hero{padding-top:calc(var(--header-h) + clamp(28px,6svh,72px));padding-bottom:clamp(24px,5svh,56px)}
.hero__grid{display:grid;gap:28px;align-content:start}
.hero__copy{position:relative;z-index:1;display:grid;gap:20px;justify-items:start}
.hero__copy .lead{color:var(--ink)}
.hero__cta{display:none;grid-auto-flow:column;grid-auto-columns:1fr;gap:12px;margin-top:8px}
.hero__cta .btn{min-width:12rem}
.hero__cta .link-cta{justify-self:start}
.chips.hero__chips{display:none}
@media (min-width:768px){.hero__cta{display:grid;grid-template-columns:repeat(2,minmax(12rem,max-content));grid-auto-flow:row}.chips.hero__chips{display:flex;max-width:28rem}}
.hero-art{position:relative;margin:0;aspect-ratio:3/2;width:100%;transform-origin:50% 87.5%}
.hero-art__svg{width:100%;height:100%;overflow:visible}
.hero-label{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-100%);padding-bottom:4px;font:600 .8125rem/1.1 var(--font-body);letter-spacing:.04em;color:var(--muted-on-dark);white-space:nowrap;pointer-events:none}
.hero-label--start{transform:translate(0,-100%)}
#heroPulse{opacity:0}
.hero-arm .hero-art:not(.is-lit) .hero-window{opacity:.1}
.hero-arm .hero-art:not(.is-lit) #heroTrace,.hero-arm .hero-art:not(.is-lit) #heroTraceGlow{stroke-dasharray:1;stroke-dashoffset:1}
.hero-arm .hero-art:not(.is-lit) #heroPulse{opacity:0}
.hero-arm .hero-art:not(.is-lit) #heroCabinetLamp{opacity:.2}
@media (max-width:767px){
  .hero-label{font-size:12px;letter-spacing:.02em}
  .hero-art{width:auto;margin-inline:calc(-1*var(--margin))}
  /* Kadr rysunku na telefonie: viewBox 395–1045 × 105–768, tylko szafa, wykop i dom (bez lewego budynku i sąsiada),
     skala ok. 0,6 przy 390 px. Ślad światła grubszy, żeby po skalowaniu miał ok. 3 px (poświata ok. 8 px). */
  .hero-art{aspect-ratio:650/663;overflow:hidden;transform-origin:31.54% 89.74%}
  .hero-art__svg{position:absolute;left:-60.769%;top:-15.837%;width:184.615%;max-width:none;height:120.664%}
  #heroTrace{stroke-width:5}
  #heroTraceGlow{stroke-width:14}
  .hero-label[data-i18n="hero.lbl.cabinet"]{--x:3.08%!important;--y:41.48%!important;transform:translate(0,-100%)}
  .hero-label[data-i18n="hero.lbl.trench"]{--x:43.85%!important;--y:78.28%!important}
  .hero-label[data-i18n="hero.lbl.entry"]{--x:56.92%!important;--y:63.95%!important}
  .hero-label[data-i18n="hero.lbl.home"]{--x:60%!important;--y:6.79%!important;transform:translate(-100%,-100%)}
  .hero__grid{gap:14px}
  .hero{padding-top:calc(var(--header-h) + clamp(16px,3.5svh,40px))}
  .motion-ok .hero{display:flex;flex-direction:column;padding-bottom:calc(var(--bar-h) + 12px)}
  .motion-ok .hero__grid{flex:1;display:flex;flex-direction:column}
  .motion-ok .hero-art{margin-block:auto}
}
/* Telefon do ok. 900 px wysokości (360×740, 390×844, 412×839): okrąg „Detail” nie może wchodzić pod dolną belkę; ciaśniejszy lead i górny odstęp. */
@media (max-width:767px) and (max-height:900px){
  .hero{padding-top:calc(var(--header-h) + 10px)}
  .hero__copy{gap:12px}
  .hero__copy .lead{font-size:1rem;line-height:1.4}
}
/* Telefon ze sceną: hero ma dokładnie wysokość ekranu, a rysunek zajmuje miejsce między tekstem a dolną belką (naturalnie
   pełna szerokość, przy braku miejsca mniejszy z proporcji 650/663), więc okrąg „Detail” jest nad belką od pierwszej klatki. */
@media (max-width:767px){
  .motion-ok .hero{height:100svh;min-height:0;padding-bottom:calc(var(--bar-h) + 8px)}
  .motion-ok .hero__grid{min-height:0;gap:10px}
  .motion-ok .hero-art{flex:1 1 0;min-height:180px;max-height:calc(100vw * 663 / 650);width:auto;align-self:center;margin:auto}
}
@media (min-width:1024px){
  .hero__grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto 1fr;column-gap:var(--gutter);row-gap:0}
  .hero__grid{min-height:calc(100svh - var(--header-h) - clamp(28px,6svh,72px) - clamp(24px,5svh,56px))}
  .hero__copy{grid-column:1/8;grid-row:1}
  .hero__copy .lead{max-width:38ch}
  .hero-art{grid-column:6/13;grid-row:1/3;align-self:end;justify-self:end;width:min(calc(100% + var(--margin)),105svh);margin-right:calc(-1*var(--margin))}
}
@media (min-width:1280px){.hero-art{grid-column:5/13}}
@media (min-width:1024px) and (max-width:1279px){.hero__cta{grid-template-columns:auto;justify-items:start}.chips.hero__chips{max-width:24rem}}

.chapter__inner{display:grid;gap:24px}
.chapter__copy{display:grid;gap:18px;align-content:end}
.chapter__label{display:flex;align-items:center;gap:14px;font:700 1.375rem/1 var(--font-head);letter-spacing:.01em}
.chapter__num{font:700 var(--t-num)/1 var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.chapter__list{display:grid;max-width:34rem;border-top:1px solid color-mix(in srgb,currentColor 24%,transparent)}
.chapter__list li{padding:10px 0;border-bottom:1px solid color-mix(in srgb,currentColor 24%,transparent);font-weight:500}
.chapter__photo{margin:0}
.chapter__photo .illu{border-radius:2px}
.chapter__photo figcaption{margin-top:8px;font:500 var(--t-small)/1.4 var(--font-body);color:var(--ink-muted)}
html:not(.motion-ok) .chapter__photo{max-width:30rem}
@media (min-width:1024px){
  html:not(.motion-ok) .chapter__inner{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:center}
  html:not(.motion-ok) .chapter__copy{grid-column:1/7}
  html:not(.motion-ok) .chapter__photo{grid-column:8/12;max-width:none}
}
@media (max-width:767px){
  .motion-ok .chapter__inner{gap:14px}
  .motion-ok .chapter__copy{gap:12px}
  .motion-ok .chapter__num{font-size:2.75rem}
  .motion-ok .h-chapter{font-size:clamp(1.75rem,1.1rem + 3.2vw,2.25rem)}
  .motion-ok .chapter__list li{padding:6px 0;font-size:1rem;line-height:1.4;hyphens:manual}
  .motion-ok .chapter__photo{display:flex;align-items:flex-end;gap:12px}
  .motion-ok .chapter__photo .illu{flex:none;width:104px}
  .motion-ok .chapter__photo figcaption{margin:0}
}
@media (max-width:767px) and (max-height:739px){
  .motion-ok .chapter__inner{grid-template-columns:minmax(0,1fr) 104px;column-gap:16px;align-items:end}
  .motion-ok .chapter__copy{display:contents}
  .motion-ok .chapter__label,.motion-ok .h-chapter{grid-column:1/-1}
  .motion-ok .chapter__list{grid-column:1}
  .motion-ok .chapter__photo{grid-column:2;display:block}
  .motion-ok .chapter__photo figcaption{margin-top:6px;font-size:.75rem;line-height:1.25;hyphens:none;overflow-wrap:break-word}
}
@media (min-width:768px){
  .motion-ok .chapter__inner{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:end}
  .motion-ok .chapter__copy{grid-column:1/7}
  .motion-ok .chapter__photo{grid-column:9/13;justify-self:end;width:clamp(180px,20vw,320px)}
}
/* Desktop: scena 3D zajmuje prawą część kadru (kabel, tuba, wachlarz, pion), więc karta detalu stoi pod tekstem w lewej kolumnie
   jako miniatura z podpisem obok, poza drogą kabla (wcześniej kabel i wachlarz przechodziły pod kartą: dwie grafiki na sobie). */
@media (min-width:1024px){
  .motion-ok .chapter__copy{grid-column:1/6}
  .motion-ok .chapter__photo{grid-column:1/6;grid-row:2;justify-self:start;width:auto;display:flex;align-items:flex-end;gap:16px}
  .motion-ok .chapter__photo .illu{flex:none;width:clamp(112px,9vw,136px)}
  .motion-ok .chapter__photo figcaption{margin:0;max-width:24ch}
}

.otdr{position:relative;margin:56px 0 0;aspect-ratio:2.6/1;color:var(--ink-muted);background-image:linear-gradient(rgba(238,238,234,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(238,238,234,.06) 1px,transparent 1px);background-size:10% 25%;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
#otdrSvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.otdr-label{position:absolute;left:var(--x);top:0;transform:translateX(-50%);font:600 .75rem/1 var(--font-body);letter-spacing:.03em;color:var(--kreide);white-space:nowrap}
.otdr-tick{position:absolute;left:var(--x);top:1.25rem;width:1px;height:calc(var(--y) - 1.25rem);background:rgba(238,238,234,.42)}
.otdr-node{position:absolute;left:var(--x);top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--tube);box-shadow:0 0 0 2px var(--asphalt),0 0 0 3.5px var(--kreide);opacity:0}
.otdr-axis{position:absolute;font:500 .75rem/1 var(--font-body);letter-spacing:.04em;color:var(--ink-muted)}
.otdr-axis--y{left:6px;bottom:8px;writing-mode:vertical-rl;transform:rotate(180deg)}
.otdr-axis--x{right:0;bottom:-8px;transform:translateY(100%)}
.steps{display:grid;gap:28px;margin-top:56px;position:relative;padding-left:34px}
.steps::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--line)}
.step{position:relative;display:grid;gap:6px;align-content:start}
.step::before{content:"";position:absolute;left:-34px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--tube);box-shadow:0 0 0 3px var(--asphalt)}
.step__num{font:700 .875rem/1 var(--font-head);letter-spacing:.08em;color:var(--ink-muted)}
.step h3{font-size:var(--t-h3)}
.step p{font-size:1rem;color:var(--ink-muted)}
@media (min-width:768px){
  .otdr-label{font-size:.8125rem}
  .otdr-tick{top:1.5rem;height:calc(var(--y) - 1.5rem)}
}
@media (min-width:1024px){
  /* Po morphu (motion.js: --g = siatka i osie, --node-q = węzły): oś pomiaru gaśnie, a od każdego węzła
     schodzi cienka kreska do kolorowej belki kroku (węzeł stoi na środku kolumny, tekst od lewej). */
  .otdr{aspect-ratio:5/1;margin-top:72px;background-image:linear-gradient(rgb(238 238 234/calc(.06*var(--g,1))) 1px,transparent 1px),linear-gradient(90deg,rgb(238 238 234/calc(.06*var(--g,1))) 1px,transparent 1px);border-color:color-mix(in srgb,var(--line) calc(var(--g,1)*100%),transparent)}
  .steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding-left:0;margin-top:64px;container-type:inline-size}
  .steps::before{display:none}
  .step{padding:18px 20px 0 0;border-top:2px solid var(--tube)}
  .step::before{left:50%;top:auto;bottom:calc(100% + 2px);width:2px;height:calc(10cqw + 57px);margin-left:-1px;border-radius:0;box-shadow:none;background:linear-gradient(color-mix(in srgb,var(--tube) 35%,transparent),var(--tube));opacity:var(--node-q,0)}
}

.warum__grid{display:grid;gap:40px}
.warum__intro{display:grid;gap:24px;align-content:start;justify-items:start}
.warum__art{width:100%;max-width:280px;margin-top:16px}
.protocol{--ink:var(--asphalt);--ink-muted:var(--muted-on-light);--focus:var(--asphalt);background:var(--kreide);color:var(--asphalt);border:1px solid var(--line-on-light);border-radius:4px;padding:22px 20px 26px}
.protocol__head{max-width:none;padding-bottom:14px;border-bottom:2px solid var(--asphalt);font:700 1.125rem/1.2 var(--font-head);letter-spacing:.06em;text-transform:uppercase}
.protocol__row{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--line-on-light)}
.protocol__row h3{font-size:var(--t-h3)}
.protocol__row p{margin-top:4px;color:var(--muted-on-light)}
.protocol__box{position:relative;width:30px;height:30px;margin-top:2px;border:1.5px solid var(--asphalt);border-radius:2px}
.protocol__box svg{position:absolute;left:-2px;top:-10px;width:40px;height:35px;overflow:visible}
#protocol.is-armed [data-tick]{stroke-dasharray:1;stroke-dashoffset:1}
#protocol.is-done [data-tick]{stroke-dashoffset:0}
.protocol__sign{display:flex;align-items:flex-end;gap:16px;margin-top:28px;font:500 var(--t-small)/1.3 var(--font-body);color:var(--muted-on-light)}
.protocol__line{flex:1;min-width:6rem;height:2.25em;border-bottom:1px solid var(--asphalt)}
@media (min-width:768px){
  .warum__art{max-width:26rem}
  .protocol{padding:32px 36px 36px}
}
@media (min-width:1024px){
  .warum__grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:start}
  .warum__intro{grid-column:1/6;position:sticky;top:120px}
  .protocol{grid-column:6/13}
}

.vergleich__grid{display:grid;gap:36px}
.vergleich__head{display:grid;gap:20px;align-content:start}
.vergleich__head .lead{color:var(--ink-muted)}
.vergleich__art{display:grid;gap:12px;justify-items:center}
.ba{--focus:var(--orange);position:relative;aspect-ratio:3/4;overflow:hidden;touch-action:pan-y;width:min(100%,60svh);margin-inline:auto;user-select:none;-webkit-user-select:none}
.ba + .note{text-align:center}
.ba__layer{position:relative;margin:0;border-radius:2px;overflow:hidden;background:var(--asphalt)}
.ba__layer .illu{border-radius:0}
.ba.is-ready{border-radius:2px;background:var(--asphalt-2)}
.ba.is-ready .ba__layer{position:absolute;inset:0;margin:0}
.ba.is-ready .ba__clip{position:absolute;inset:0;overflow:hidden;transform:translate3d(calc(var(--x)*1%),0,0)}
.ba.is-ready .ba__inner{position:absolute;inset:0;transform:translate3d(calc(var(--x)*-1%),0,0)}
.ba__rail{position:absolute;inset:0;pointer-events:none;transform:translate3d(calc(var(--x)*1%),0,0)}
.ba__front{position:absolute;left:-1.5px;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,#E2001A 0 8.333%,#2EA84A 0 16.667%,#1E5BD8 0 25%,#FFD400 0 33.333%,#F4F6F8 0 41.667%,#8C939D 0 50%,#8B5A2B 0 58.333%,#7B3FB5 0 66.667%,#22C4C4 0 75%,#111111 0 83.333%,#FF7A00 0 91.667%,#F48FB1 0 100%)}
.ba__handle{pointer-events:auto;position:absolute;left:-24px;top:50%;width:48px;height:48px;margin-top:-24px;border-radius:999px;background:var(--kreide);touch-action:none;cursor:ew-resize;box-shadow:0 0 0 3px rgba(20,21,22,.35)}
.ba__grip{position:absolute;left:50%;top:50%;width:12px;height:16px;margin:-8px 0 0 -6px;border-inline:2px solid var(--asphalt)}
.ba__grip::after{content:"";position:absolute;left:3px;top:0;bottom:0;width:2px;background:var(--asphalt)}
.ba__tag{position:absolute;top:12px;left:12px;z-index:1;padding:6px 10px;border-radius:2px;background:var(--asphalt-2);color:var(--kreide);font:600 .875rem/1.1 var(--font-body);max-width:calc(50% - 24px)}
.ba__tag--after{left:auto;right:12px;text-align:right}
.no-js .vergleich__head .lead{display:none}
.ba:not(.is-ready){display:grid;grid-template-columns:1fr 1fr;gap:12px;aspect-ratio:auto;width:100%}
.ba:not(.is-ready) .ba__layer{aspect-ratio:3/4}
.ba:not(.is-ready) .ba__rail{display:none}
@media (max-width:479px){.ba:not(.is-ready){grid-template-columns:1fr}}
@media (min-width:1024px){
  .vergleich__grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:center}
  .vergleich__head{grid-column:1/5}
  .vergleich__art{grid-column:6/12}
}

.projects{border-top:1px solid var(--line)}
.project{display:grid;gap:10px;padding:24px 0 28px;border-bottom:1px solid var(--line)}
.project__region{font:700 1.125rem/1.1 var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.project h3{font-size:var(--t-h3)}
.project .tags{margin-top:6px}

.kontakt__grid{display:grid}
.contact-tiles{display:grid;gap:12px;margin-top:40px}
.tile{--t-bg:transparent;display:flex;flex-direction:column;gap:8px;min-height:150px;padding:24px;border:2px solid transparent;border-radius:4px;background:var(--t-bg);color:var(--t-ink,var(--asphalt));text-decoration:none;transition:background-color .15s}
.tile:hover{background:color-mix(in srgb,var(--t-bg) 88%,white)}
.tile--call{--t-bg:var(--asphalt);--t-ink:var(--kreide);--focus:var(--asphalt)}
.tile--wa{--t-bg:var(--orange);--t-ink:var(--bitumen)}
.tile--mail{border-color:var(--asphalt)}
.tile--mail:hover{background:rgba(238,238,234,.35)}
.tile__label{font:600 var(--t-small)/1.2 var(--font-body);letter-spacing:.06em;text-transform:uppercase;opacity:.86}
.tile__value{font:800 clamp(1.5rem,1.1rem + 1vw,2.125rem)/1.05 var(--font-head);font-variant-numeric:tabular-nums;letter-spacing:.005em;overflow-wrap:anywhere;hyphens:none}
.tile__action{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:20px;font:600 1rem/1 var(--font-body)}
.contact-help{display:grid;gap:16px;align-content:start;margin-top:40px;padding:24px;border:1px solid var(--line);border-radius:4px}
.contact-help h3{font-size:var(--t-h3)}
.kontakt__hours{margin-top:32px;font:700 1.375rem/1.2 var(--font-head)}
.kontakt .note{margin-top:8px}
@media (min-width:600px){.contact-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media (min-width:768px){.contact-tiles{margin-top:56px}.tile{min-height:200px;padding:28px}.contact-help{padding:28px 32px}}
@media (min-width:1024px){
  .kontakt__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto auto auto 1fr;column-gap:var(--gutter)}
  .kontakt__grid>.section__head,.contact-tiles{grid-column:1/-1}
  .contact-help{grid-column:1;grid-row:3/5}
  .kontakt__hours{grid-column:2;grid-row:3;margin-top:40px;padding-left:clamp(0px,3vw,48px)}
  .kontakt .note{grid-column:2;grid-row:4;padding-left:clamp(0px,3vw,48px)}
}
@media (min-width:1200px){.contact-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.tile__value{font-size:clamp(1.5rem,.4rem + 1.3vw,2rem)}}

.site-footer{position:relative;z-index:1;padding:var(--s-8) 0 var(--s-6);background:var(--asphalt-2);color:var(--kreide);--ink:var(--kreide);--ink-muted:var(--muted-on-dark);--focus:var(--orange)}
/* Miejsce na dolną belkę w stopce, nie w body: pod stopką nie zostaje pas w innym kolorze. */
@media (max-width:767px){.site-footer{padding-bottom:calc(var(--s-6) + var(--bar-h))}}
.footer__grid{display:grid;gap:40px}
.footer__brand{display:grid;gap:20px;align-content:start}
.footer-logo .logo-mark{width:120px;height:120px}
#footerLogo.is-armed .logo-mark g>circle{opacity:.25}
.footer__brand p{max-width:40ch;color:var(--muted-on-dark);font-size:1rem}
.footer__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}
.footer__h{margin-bottom:14px;font:700 .875rem/1.2 var(--font-head);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-on-dark)}
.site-footer ul{display:grid;gap:2px}
.site-footer li{color:var(--muted-on-dark);font-size:1rem}
.site-footer li a{display:inline-flex;align-items:center;min-height:44px;color:var(--kreide);text-decoration:none;font-weight:500}
.site-footer li a:hover{text-decoration:underline;text-underline-offset:4px}
/* Nazwa aplikacji nie dzieli się w środku (KIEROW-NIK.AI): łamanie tylko na spacji. */
[data-i18n="global.footer.app"]{hyphens:manual}
.site-footer li a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.site-footer .footer__contact a{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding-block:6px}
.footer__label{font:500 .8125rem/1.2 var(--font-body);color:var(--muted-on-dark)}
.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 32px;margin-top:48px;padding-top:20px;border-top:1px solid var(--line-on-dark);font:500 var(--t-small)/1.4 var(--font-body);color:var(--muted-on-dark)}
.footer__bottom p{max-width:none}
.footer__webteam{display:inline-flex;align-items:center;min-height:44px;color:var(--kreide);font-weight:600;text-underline-offset:4px}
@media (min-width:768px){.footer__nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1280px){.footer__grid{grid-template-columns:minmax(0,2fr) minmax(0,5fr);column-gap:var(--gutter)}.footer-logo .logo-mark{width:160px;height:160px}}

.wrap .wrap{width:100%}
:where(.section,.cta-band,.e404) :where(.wrap:not([class*="__grid"]):not(.split):not(.duo))>:where(*+*){margin-top:clamp(24px,3vw,40px)}
.section__head+*{margin-top:clamp(32px,4.5vw,64px)}
.section__head .lead{max-width:60ch}

.eyebrow{display:flex;align-items:center;gap:10px;max-width:none;font:600 .875rem/1.25 var(--font-head);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}
.eyebrow::before{content:"";flex:none;width:28px;height:8px;border-radius:4px;background:var(--tube,var(--orange));border:1px solid rgba(20,21,22,.35)}
.theme-orange .eyebrow::before{background:var(--tube,var(--bitumen))}
@media (max-width:767px){.eyebrow{font-size:.8125rem;letter-spacing:.1em}}

.ico-illu{width:var(--s,40px);height:var(--s,40px);flex:none}

.page-hero{position:relative;z-index:1;padding:calc(var(--header-h) + clamp(32px,6vw,88px)) 0 clamp(48px,7vw,112px);background:var(--bg);color:var(--ink)}
.page-hero__grid{display:grid;gap:clamp(32px,5vw,56px)}
.page-hero__copy{display:grid;gap:20px;justify-items:start;align-content:start;min-width:0}
.page-hero .h-display{font-size:clamp(2.5rem,1.5rem + 4vw,5.5rem);line-height:.92}
.page-hero .lead{color:var(--ink)}
.page-hero .btn-row{margin-top:8px}
.page-hero__art{min-width:0}
/* Telefon: grafika hero zaraz pod leadem (nad CTA i chipami), żeby grała na pierwszym ekranie; CTA są też w dolnym pasku. */
@media (max-width:767px){
  .page-hero__grid{gap:20px}
  .page-hero__copy{display:contents}
  .page-hero__copy>*{justify-self:start;min-width:0}
  .page-hero__copy>.h-display,.page-hero__copy>.lead{justify-self:stretch}
  .page-hero__art{order:1}
  .page-hero__copy>.lead~*{order:2}
  .page-hero .btn-row{margin-top:0}
}
@media (min-width:1024px){
  .page-hero__grid{grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:center}
  .page-hero__copy{grid-column:1/7}
  .page-hero__art{grid-column:7/13}
}

.split{display:grid;gap:clamp(32px,5vw,56px);align-items:center}
.split__copy,.split__art{min-width:0}
.split__copy>*+*{margin-top:24px}
.split__copy>.section__head+*{margin-top:32px}
.split__copy .h2{font-size:var(--t-chapter);line-height:1}
.split__copy>.link-cta,.split__copy>.btn{justify-self:start}
.split__art>.ico-illu{margin-inline:auto}
.split__art:has(>.ico-illu:only-child){display:grid;place-items:center;aspect-ratio:1;width:min(100%,160px);border:1px solid var(--line);border-radius:4px;background:rgba(238,238,234,.03)}
.split__art>.ico-illu:only-child{width:72px;height:72px}
@media (min-width:1024px){.split__art:has(>.ico-illu:only-child){width:min(100%,320px);margin-inline:auto}.split__art>.ico-illu:only-child{width:128px;height:128px}}
.split+.split{margin-top:clamp(56px,8vw,128px)}
@media (max-width:1023px){.split__copy{order:-1}}
@media (min-width:768px){.split__art .illu,.page-hero__art .illu{width:min(100%,calc(72svh * (var(--ar))));margin-inline:auto}}
.split__art .illu--detail{width:min(100%,24rem);margin-inline:auto}
@media (max-width:767px){.split__art .illu--detail{width:min(100%,240px)}}
/* Telefon z web-browser.svg (websites): kadr ciasno na obrysie telefonu, bez okna przeglądarki w tle; na desktopie większy. */
.split__art .illu--fix{width:min(100%,24rem,calc(70svh * (var(--ar-m))));margin-inline:auto}
.split__art .illu--fix::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 2px #7A7B7A;pointer-events:none}
@media (max-width:767px){.split__art .illu--fix{width:min(100%,220px)}}
@media (min-width:1024px){
  .split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(40px,5vw,96px)}
  .split__copy{grid-column:1;grid-row:1}
  .split__art{grid-column:2;grid-row:1}
  .split--rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
  .split--rev .split__art{grid-column:1}
  .split--rev .split__copy{grid-column:2}
}

.checklist{display:grid;gap:10px}
.checklist li{position:relative;padding-left:22px}
@media (min-width:768px){.checklist--cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gutter)}}
.checklist li::before{content:"";position:absolute;left:0;top:calc(.775em - 4px);width:8px;height:8px;background:var(--tube,var(--tick))}
@media (min-width:768px){
  .checklist.checklist--inline{display:flex;flex-wrap:wrap;gap:4px 0}
  .checklist.checklist--inline li{padding-left:0}
  .checklist.checklist--inline li::before{content:none}
  .checklist.checklist--inline li+li::before{content:"·";position:static;display:inline-block;width:auto;height:auto;margin:0 .55em;background:none;color:var(--ink-muted)}
}

.numbered{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:32px var(--gutter);counter-reset:num}
.numbered>li{counter-increment:num;display:grid;gap:8px;align-content:start;padding-top:16px;border-top:2px solid color-mix(in srgb,currentColor 35%,transparent)}
.numbered>li::before{content:counter(num,decimal-leading-zero);font:800 calc(var(--t-num)*.6)/1 var(--font-head);font-variant-numeric:tabular-nums;color:var(--ink-muted)}
.numbered h3{font-size:var(--t-h3)}
.numbered p{color:var(--ink-muted)}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.card{display:flex;flex-direction:column;gap:12px;padding:24px;border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--ink) 4%,transparent)}
.card h3{font-size:var(--t-h3)}
.card p{color:var(--ink-muted)}
.card .link-cta{margin-top:auto}

.services{border-top:1px solid var(--line)}
.service{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:16px;row-gap:12px;align-items:center;padding:24px 0 28px 24px;border-bottom:1px solid var(--line)}
.service::before{content:"";position:absolute;left:0;top:24px;bottom:28px;width:8px;border-radius:4px;background:var(--tube);border:1px solid rgba(20,21,22,.35);transition:background-color .2s,box-shadow .2s}
.service .ico-illu{--s:40px;color:var(--ink);transition:transform .2s}
.service__body{display:contents}
.service h3{font-size:var(--t-h3)}
.service__body p,.service__body .checklist,.service__link{grid-column:1/-1}
.service__body p{color:var(--ink-muted)}
.service .checklist li::before{background:var(--tick)}
.service__link{justify-self:start}
.service:hover::before,.service:focus-within::before{background:var(--kernlicht);box-shadow:0 0 0 2px rgba(34,211,238,.35),0 0 14px rgba(34,211,238,.6)}
.service:hover .ico-illu,.service:focus-within .ico-illu{transform:translateX(4px)}
@media (min-width:768px){
  .service{grid-template-columns:56px minmax(0,1fr) 12rem;column-gap:24px;align-items:start;padding:32px 0 32px 32px}
  .service::before{top:32px;bottom:32px}
  .service .ico-illu{--s:56px;grid-row:1/4}
  .service h3,.service__body p,.service__body .checklist{grid-column:2}
  .service__link{grid-column:3;grid-row:1/4;align-self:center;justify-self:end}
}
@media (min-width:1024px){
  .service{grid-template-columns:56px minmax(0,3fr) minmax(0,6fr) 14rem}
  .service .ico-illu{grid-row:1/3}
  .service h3{grid-column:2;grid-row:1/3}
  .service__body p{grid-column:3;grid-row:1}
  .service__body .checklist{grid-column:3;grid-row:2}
  .service__link{grid-column:4;grid-row:1/3}
}

.chips,.jumps{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:6px 14px;border:1px solid color-mix(in srgb,currentColor 40%,transparent);border-radius:999px;font:500 .9375rem/1.2 var(--font-body);color:var(--ink);text-decoration:none}
a.chip{min-height:44px;transition:background-color .15s,border-color .15s}
a.chip:hover{border-color:currentColor;background:color-mix(in srgb,currentColor 8%,transparent)}
.chip .ico-illu{--s:20px}

.faq{max-width:56rem;border-top:1px solid var(--line)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;padding:18px 0;font:700 1.25rem/1.25 var(--font-head);list-style:none;cursor:pointer}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border:1.5px solid currentColor;border-radius:50%;font:600 1.25rem/1 var(--font-body)}
.faq__item[open] summary::after{content:"−"}
.faq__item summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.faq__a{padding:0 48px 22px 0}
.faq__a p{color:var(--ink-muted)}

.cta-band{position:relative;z-index:1;padding-block:clamp(56px,7vw,112px);background:var(--bg);color:var(--ink)}
.cta-band .lead{max-width:52ch}

.jobs{display:grid;gap:clamp(40px,5vw,64px)}
.job-group__title{margin-bottom:16px;font:700 1.125rem/1.2 var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
.jobs__list{display:grid;gap:16px}
.job{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--ink) 4%,transparent)}
.job__title{font-size:var(--t-h3);line-height:1.15}
.job p{color:var(--ink-muted)}
.job__meta{font:600 var(--t-small)/1.4 var(--font-body)}
.job .btn{align-self:flex-start;margin-top:auto}
.job--open{border:2px solid var(--fenster)}
@media (min-width:768px){.jobs__list{grid-template-columns:repeat(2,minmax(0,1fr))}}

.boards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
@media (max-width:767px){.board figcaption{font-size:.9375rem}}
.board{margin:0}
.board figcaption{margin-top:10px;font:600 1rem/1.35 var(--font-body)}
@media (min-width:1024px){.boards{grid-template-columns:repeat(3,minmax(0,1fr))}}

.markets__lists{display:grid;gap:32px}
.markets__lists h3{margin-bottom:14px;font:700 1.125rem/1.2 var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}
@media (min-width:768px){.markets__lists{grid-template-columns:repeat(2,minmax(0,1fr))}}

.duo{display:grid}
.duo__item{display:grid;gap:20px;align-content:start}
.duo__item+.duo__item{margin-top:48px;padding-top:48px;border-top:1px solid var(--line)}
.h2--sm{font-size:var(--t-chapter);line-height:1}
@media (min-width:768px){
  .duo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .duo__item{padding-right:clamp(24px,4vw,64px)}
  .duo__item+.duo__item{margin-top:0;padding:0 0 0 clamp(24px,4vw,64px);border-top:0;border-left:1px solid var(--line)}
}

.e404{background:var(--bg);color:var(--ink)}
.e404>:first-child:not(.kontakt){padding-top:calc(var(--header-h) + clamp(40px,7vw,96px));padding-bottom:var(--section-pad)}
#e404Home{--b-bg:var(--asphalt-3);--b-ink:var(--kreide);transition:background-color .4s,color .4s}
#e404Home.is-lit,html:not(.motion-ok) #e404Home{--b-bg:var(--orange);--b-ink:var(--bitumen)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

@media print{
  .lw-stage,.cable-strip,.route-nodes,.mobile-bar,.nav-toggle,.lang-switch,.header-cta,.hero__cta,.hero__chips,.skip-link,.site-nav{display:none!important}
  html,body{background:#fff;color:#000}
  body{padding:0}
  .site-header{position:static;background:#fff;color:#000;height:auto;padding:12px 0}
  .section,.hero,.chapter,.page-hero,.cta-band,.site-footer,.protocol{background:#fff!important;color:#000!important;--ink:#000;--ink-muted:#333}
  .motion-ok .chapter,.motion-ok .hero{min-height:0}
  .chapter{padding-block:24px!important}
  .ba{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:auto}
  .ba.is-ready .ba__layer,.ba.is-ready .ba__clip,.ba.is-ready .ba__inner{position:relative;transform:none;opacity:1}
  .ba__rail{display:none}
  .faq__a{display:block}
  a[href^="tel:"]::after,a[href^="mailto:"]::after{content:""}
  .chapter,.project,.service,.card,.job,.board,.protocol__row,.step{break-inside:avoid}
}
