/* Solutions 4 Biznes — ciemny, fluidalny, dynamiczny (telefon → monitor 4K) */
/* ---------- fonty (hostowane lokalnie, bez Google Fonts) ---------- */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/space-grotesk-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+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:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/space-grotesk-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:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-grotesk-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;}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/space-grotesk-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:'Space Grotesk';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/space-grotesk-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:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/space-grotesk-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:'IBM Plex Sans';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:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-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+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:'IBM Plex Sans';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:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/ibm-plex-sans-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;}
@font-face{font-family:'IBM Plex Sans';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:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-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:'IBM Plex Sans';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:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/ibm-plex-sans-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;}

:root, [data-theme="dark"]{
  --navy-950:#050F18; --navy-900:#071B2B; --navy-800:#0B2E45; --navy-700:#123B57;
  --teal-700:#0A6677; --teal-500:#128098; --sky-500:#29AAD2; --sky-300:#7CD3EE;
  --gold-500:#F0B90B; --gold-300:#F7D766;

  --bg:#050F18; --bg-2:#08182A; --surface:#0C2236; --surface-2:#10304A;
  --ink:#EAF2F6; --ink-soft:#B6C9D4; --muted:#8CA4B2;
  --line:rgba(255,255,255,0.12); --line-strong:rgba(255,255,255,0.22);
  --heading:#FFFFFF; --accent:#F0B90B; --eyebrow:#7CD3EE;
  --nav-bg:rgba(5,15,24,0.82); --glass:rgba(12,34,54,0.62);
  --outline-text:rgba(255,255,255,0.28);

  --gutter:clamp(20px,4.4vw,110px);
  --maxw:1560px;
  --radius:clamp(14px,1.1vw,22px);
  --radius-s:10px;
  --nav-h:clamp(64px,4.2vw,84px);
  --sec-y:clamp(56px,6.5vw,128px);

  --fs-hero:clamp(2.4rem,0.9rem + 5.6vw,8.2rem);
  --fs-h2:clamp(1.8rem,1rem + 2.2vw,3.6rem);
  --fs-h3:clamp(1.15rem,1rem + 0.45vw,1.6rem);
  --fs-lead:clamp(1rem,0.92rem + 0.3vw,1.3rem);
  --fs-body:clamp(0.95rem,0.9rem + 0.18vw,1.12rem);
  --fs-small:clamp(0.8rem,0.78rem + 0.1vw,0.95rem);
}
[data-theme="light"]{
  --bg:#F4F7F9; --bg-2:#E9EFF3; --surface:#FFFFFF; --surface-2:#F0F5F8;
  --ink:#101820; --ink-soft:#33414B; --muted:#56636C;
  --line:rgba(11,46,69,0.14); --line-strong:rgba(11,46,69,0.28);
  --heading:#0B2E45; --accent:#C99700; --eyebrow:#0A6677;
  --nav-bg:rgba(255,255,255,0.72); --glass:rgba(255,255,255,0.78);
  --outline-text:rgba(11,46,69,0.22);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--bg); color:var(--ink); font-family:'IBM Plex Sans',system-ui,sans-serif; font-size:var(--fs-body); line-height:1.6; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Space Grotesk',system-ui,sans-serif; margin:0; color:var(--heading); letter-spacing:-0.025em; line-height:1.04; text-wrap:balance;}
h1{font-size:var(--fs-hero); font-weight:700;}
h2{font-size:var(--fs-h2); font-weight:700;}
h3{font-size:var(--fs-h3); font-weight:600; letter-spacing:-0.015em; line-height:1.15;}
p{margin:0;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit;}
img{max-width:100%;}
em{font-style:normal; color:var(--accent);}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, label:focus-visible{outline:2px solid var(--sky-500); outline-offset:3px; border-radius:6px;}
.skip-link{position:absolute; left:-999px; top:0; background:var(--gold-500); color:#071B2B; font-weight:700; padding:12px 18px; z-index:999;}
.skip-link:focus{left:0;}

/* ---------- layout ---------- */
.page{width:100%; background:var(--bg); color:var(--ink); overflow-x:clip;}
.wrap{width:min(100% - 2*var(--gutter), var(--maxw)); margin-inline:auto;}
.section{padding-block:var(--sec-y); position:relative;}
.section--tight{padding-block:calc(var(--sec-y)*.6);}
.section--alt{background:var(--bg-2);}
.row{display:flex;} .col{display:flex; flex-direction:column;}
.eyebrow{display:inline-flex; align-items:center; gap:14px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:var(--fs-small); letter-spacing:0.16em; text-transform:uppercase; color:var(--eyebrow);}
.eyebrow::before{content:""; width:clamp(28px,3vw,56px); height:2px; background:var(--gold-500);}
.lead{font-size:var(--fs-lead); line-height:1.55; color:var(--ink-soft); max-width:62ch;}
.body-text{color:var(--ink-soft); max-width:60ch;}
.section-head{display:flex; flex-direction:column; gap:clamp(12px,1.2vw,20px); margin-bottom:clamp(28px,3vw,56px);}
.section-head h2{max-width:16ch;}
.section-head--wide h2{max-width:22ch;}
.section-head p{font-size:var(--fs-lead); color:var(--ink-soft); line-height:1.5; max-width:48ch; text-wrap:pretty;}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:clamp(46px,3vw,58px); padding:0 clamp(22px,1.8vw,34px); border-radius:100px; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(0.9rem,0.88rem + 0.12vw,1.05rem); border:1.5px solid transparent; cursor:pointer; white-space:nowrap; transition:transform .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;}
.btn svg{width:1.15em; height:1.15em; transition:transform .25s ease;}
.btn:hover svg{transform:translateX(4px);}
.btn--gold{background:var(--gold-500); color:#071B2B;}
.btn--gold:hover{background:var(--gold-300); transform:translateY(-2px); box-shadow:0 14px 36px rgba(240,185,11,0.35);}
.btn--ghost{background:rgba(255,255,255,0.06); color:#fff; border-color:rgba(255,255,255,0.4); backdrop-filter:blur(8px);}
.btn--ghost:hover{background:rgba(255,255,255,0.16); border-color:#fff; transform:translateY(-2px);}
.btn--sm{min-height:clamp(42px,2.8vw,56px); padding:0 clamp(18px,1.5vw,28px); font-size:clamp(0.88rem,0.85rem + 0.15vw,1.05rem);}
.btn:active{transform:scale(0.97);}
.link-arrow{display:inline-flex; align-items:center; gap:10px; font-family:'Space Grotesk',sans-serif; font-weight:700; color:var(--gold-500);}
.link-arrow svg{width:1.2em; height:1.2em; transition:transform .25s ease;}
a:hover .link-arrow svg, .link-arrow:hover svg{transform:translateX(6px);}

/* ---------- header ---------- */
header{display:contents;}
.topbar{background:var(--navy-950); color:#CFE3EC; font-size:var(--fs-small); position:relative; z-index:61;}
.topbar .wrap{display:flex; align-items:center; justify-content:space-between; min-height:clamp(38px,2.4vw,52px);}
.topbar__item{display:flex; align-items:center; gap:8px; font-weight:500;}
.topbar__divider{width:1px; height:14px; background:rgba(255,255,255,0.2);}
.navbar{position:sticky; top:0; z-index:60; height:var(--nav-h); background:var(--nav-bg); backdrop-filter:blur(18px) saturate(1.4); -webkit-backdrop-filter:blur(18px) saturate(1.4); border-bottom:1px solid var(--line); display:flex; align-items:center;}
.navbar .wrap{display:flex; align-items:center; justify-content:space-between;}
.navbar__brand img{height:calc(var(--nav-h) - 18px); width:auto; display:block;}
.navbar__brand .logo--dark{display:block;} .navbar__brand .logo--light{display:none;}
[data-theme="light"] .navbar__brand .logo--dark{display:none;} [data-theme="light"] .navbar__brand .logo--light{display:block;}
.navbar__links{display:flex; align-items:center; gap:clamp(4px,0.8vw,16px);}
.navlink{display:inline-flex; align-items:center; gap:6px; padding:10px clamp(12px,1.1vw,22px); border-radius:100px; font-weight:600; font-size:clamp(0.9rem,0.86rem + 0.15vw,1.05rem); color:var(--ink); background:none; border:0; cursor:pointer; transition:background-color .2s, color .2s;}
.navlink:hover{background:var(--line);}
.navlink.is-active{color:var(--gold-500);}
.navlink svg{width:1em; height:1em;}
.nav-item{position:relative;}
.dropdown{position:absolute; top:calc(100% + 12px); left:50%; transform:translate(-50%,8px); min-width:min(360px,80vw); background:var(--surface); border:1px solid var(--line-strong); border-radius:var(--radius); padding:10px; box-shadow:0 30px 80px rgba(0,0,0,0.5); opacity:0; visibility:hidden; transition:opacity .2s, transform .2s, visibility .2s;}
.nav-item:hover .dropdown, .nav-item:focus-within .dropdown{opacity:1; visibility:visible; transform:translate(-50%,0);}
.dropdown a{display:flex; flex-direction:column; gap:2px; padding:14px 18px; border-radius:calc(var(--radius) - 8px); font-weight:700; color:var(--heading);}
.dropdown a span{font-weight:400; font-size:0.85em; color:var(--muted);}
.dropdown a:hover{background:var(--line);}
.theme-toggle{width:clamp(42px,2.8vw,52px); height:clamp(42px,2.8vw,52px); border-radius:50%; border:1.5px solid var(--line-strong); background:transparent; color:var(--ink); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .25s, background-color .2s;}
.theme-toggle:hover{background:var(--line); transform:rotate(18deg);}
.theme-toggle svg{width:20px; height:20px;}
.nav-toggle-input{position:absolute; left:-9999px; top:-9999px;}
.nav-toggle-label{display:none; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; border:1.5px solid var(--line-strong); color:var(--ink); cursor:pointer; flex:none; margin-left:8px;}
.nav-toggle-label svg{width:22px; height:22px;}
.nav-toggle-label .icon-close{display:none;}
.nav-toggle-input:checked ~ .nav-toggle-label .icon-menu{display:none;}
.nav-toggle-input:checked ~ .nav-toggle-label .icon-close{display:block;}

/* ---------- hero ---------- */
.hero{position:relative; min-height:max(660px,100vh); min-height:max(660px,100svh); margin-top:calc(-1 * var(--nav-h)); display:flex; align-items:flex-end; overflow:hidden; isolation:isolate; background:var(--navy-950); color:#fff;}
.hero--sub{min-height:max(520px,78vh); min-height:max(520px,78svh);}
.hero--short{min-height:max(420px,56vh);}
.hero__media{position:absolute; inset:0; z-index:-3; overflow:hidden;}
.hero__media img{width:100%; height:100%; object-fit:cover; display:block; transform-origin:60% 50%;}
.hero__shade{position:absolute; inset:0; z-index:-2; background:
  linear-gradient(90deg, rgba(5,15,24,0.92) 0%, rgba(5,15,24,0.68) 38%, rgba(5,15,24,0.15) 78%),
  linear-gradient(0deg, rgba(5,15,24,0.95) 0%, rgba(5,15,24,0) 45%),
  linear-gradient(180deg, rgba(5,15,24,0.7) 0%, rgba(5,15,24,0) 22%);}
.hero__grid{position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.8; background-image:linear-gradient(rgba(255,255,255,0.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.035) 1px,transparent 1px); background-size:clamp(48px,4vw,88px) clamp(48px,4vw,88px); mask-image:linear-gradient(180deg,#000,transparent 85%); -webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);}
.hero__glow{position:absolute; z-index:-1; width:60vw; height:60vw; right:-15vw; top:-20vw; background:radial-gradient(circle, rgba(41,170,210,0.28), transparent 65%); pointer-events:none;}
.hero__inner{padding-top:calc(var(--nav-h) + clamp(48px,6vw,140px)); padding-bottom:clamp(100px,9vw,200px);}
.hero__content{display:flex; flex-direction:column; gap:clamp(18px,2.2vw,44px); max-width:min(100%,1180px);}
.hero h1{color:#fff; text-wrap:balance;}
.hero .lead{color:#D5E4EC; max-width:56ch; font-size:clamp(1.05rem,0.9rem + 0.55vw,1.65rem);}
.hero__actions{display:flex; flex-wrap:wrap; gap:clamp(12px,1.2vw,22px); margin-top:clamp(4px,1vw,16px);}
.crumb{display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:var(--fs-small); color:#9FC2D2; font-weight:500;}
.crumb svg{width:14px; height:14px;} .crumb a:hover{color:#fff;} .crumb b{color:#fff; font-weight:600;}
.hero__scroll{position:absolute; right:var(--gutter); bottom:clamp(28px,3vw,64px); display:flex; align-items:center; gap:14px; font-size:var(--fs-small); letter-spacing:.14em; text-transform:uppercase; color:#CFE3EC; writing-mode:vertical-rl;}
.hero__scroll::after{content:""; width:2px; height:clamp(48px,6vw,110px); background:linear-gradient(var(--gold-500),transparent);}

/* ---------- stats ---------- */
.stats{position:relative; z-index:5; margin-top:calc(-1 * clamp(60px,5vw,110px));}
.stats__grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--glass); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); border:1px solid var(--line-strong); border-radius:var(--radius); overflow:hidden; box-shadow:0 40px 100px rgba(0,0,0,0.45);}
.stat{padding:clamp(18px,1.8vw,36px); display:flex; flex-direction:column; gap:6px; border-right:1px solid var(--line);}
.stat:last-child{border-right:0;}
.stat__num{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(2rem,1.1rem + 2.4vw,3.8rem); line-height:1; color:var(--heading); display:flex; align-items:baseline; gap:.08em;}
.stat__num small{font-size:.5em; color:var(--gold-500);}
.stat__label{color:var(--ink-soft); font-size:var(--fs-small); max-width:26ch;}

/* ---------- marquee ---------- */
.marquee{overflow:hidden; border-block:1px solid var(--line); padding-block:clamp(14px,1.6vw,30px); background:var(--bg);}
.marquee__track{display:flex; width:max-content; animation:marquee 46s linear infinite;}
.marquee__group{display:flex; align-items:center; flex:none;}
.marquee__item{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(1.8rem,1rem + 2.8vw,4.4rem); line-height:1; letter-spacing:-0.03em; text-transform:uppercase; color:transparent; -webkit-text-stroke:1.5px var(--outline-text); padding-inline:clamp(18px,2vw,44px); white-space:nowrap;}
.marquee__item:nth-child(3n+1){color:var(--heading); -webkit-text-stroke:0;}
.marquee__dot{width:clamp(10px,1vw,20px); height:clamp(10px,1vw,20px); border-radius:50%; background:var(--gold-500); flex:none;}
@keyframes marquee{from{transform:translateX(0);} to{transform:translateX(-50%);}}
.marquee:hover .marquee__track{animation-play-state:paused;}

/* ---------- split / about ---------- */
.split{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(28px,4vw,90px); align-items:center;}
.split--rev > :first-child{order:2;}
.split__text{display:flex; flex-direction:column; gap:clamp(18px,2vw,36px);}
.photo-big{position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/5; box-shadow:0 50px 120px rgba(0,0,0,0.5);}
.photo-big--wide{aspect-ratio:16/11;}
.photo-big img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.photo-big__chips{position:absolute; left:clamp(14px,1.6vw,36px); right:clamp(14px,1.6vw,36px); bottom:clamp(14px,1.6vw,36px); display:flex; flex-direction:column; gap:10px;}
.chip-row{display:flex; align-items:center; gap:14px; padding:clamp(12px,1.1vw,22px) clamp(14px,1.4vw,28px); background:var(--glass); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border:1px solid var(--line-strong); border-radius:calc(var(--radius) - 6px); color:var(--heading); font-weight:600; font-size:var(--fs-small);}
.chip-row svg{width:clamp(20px,1.6vw,30px); height:clamp(20px,1.6vw,30px); flex:none; color:var(--gold-500);}
.kicker{font-family:'Space Grotesk',sans-serif; font-size:var(--fs-small); letter-spacing:.14em; text-transform:uppercase; color:var(--muted); font-weight:700;}

/* ---------- feature cards (atuty / korzyści) ---------- */
.features{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,1.6vw,32px);}
.feature{position:relative; padding:clamp(22px,2vw,40px); border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(160deg,var(--surface),var(--bg-2)); overflow:hidden; display:flex; flex-direction:column; gap:clamp(14px,1.4vw,26px); min-height:clamp(240px,17vw,340px); transition:transform .4s ease, border-color .3s ease;}
.feature:hover{transform:translateY(-8px); border-color:var(--gold-500);}
.feature__num{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(3rem,1.6rem + 3.4vw,5.2rem); line-height:.8; color:transparent; -webkit-text-stroke:1.5px var(--outline-text); transition:color .4s, -webkit-text-stroke-color .4s;}
.feature:hover .feature__num{color:var(--gold-500); -webkit-text-stroke-color:var(--gold-500);}
.feature p{color:var(--ink-soft);}
.feature__icon{width:clamp(48px,3.6vw,76px); height:clamp(48px,3.6vw,76px); border-radius:50%; background:rgba(240,185,11,0.14); color:var(--gold-500); display:flex; align-items:center; justify-content:center;}
.feature__icon svg{width:50%; height:50%;}
.feature .grow{display:none;}

/* ---------- panels (branże) ---------- */
.panels{display:flex; gap:clamp(10px,1vw,22px); height:clamp(460px,66vh,720px);}
.panel{position:relative; flex:1 1 0; min-width:0; border-radius:var(--radius); overflow:hidden; isolation:isolate; color:#fff; display:flex; align-items:flex-end; transition:flex-grow .7s cubic-bezier(.2,.8,.2,1);}
.panel__img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1.2s cubic-bezier(.2,.8,.2,1);}
.panel__shade{position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(5,15,24,0.94) 0%,rgba(5,15,24,0.45) 45%,rgba(5,15,24,0.05) 100%); transition:opacity .4s;}
.panel__body{padding:clamp(20px,2vw,40px); display:flex; flex-direction:column; gap:clamp(10px,1vw,20px); width:100%;}
.panel__idx{font-family:'Space Grotesk',sans-serif; font-weight:700; color:var(--gold-500); letter-spacing:.14em; font-size:var(--fs-small);}
.panel h3{color:#fff; font-size:clamp(1.5rem,1rem + 1.3vw,2.4rem); line-height:1;}
.panel p{color:#D5E4EC; max-width:40ch;}
@media (hover:hover) and (min-width:901px){
  .panels:hover .panel{flex-grow:.7;}
  .panels .panel:hover{flex-grow:1.9;}
  .panel:hover .panel__img{transform:scale(1.07);}
  .panel p, .panel .link-arrow{opacity:0; transform:translateY(14px); max-height:0; overflow:hidden; transition:opacity .4s ease .1s, transform .4s ease .1s, max-height .5s ease;}
  .panel:hover p, .panel:hover .link-arrow, .panel:focus-visible p, .panel:focus-visible .link-arrow{opacity:1; transform:none; max-height:260px;}
  .panel:first-child p, .panels:not(:hover) .panel:first-child .link-arrow{}
}

/* ---------- process ---------- */
.process{position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(16px,1.6vw,32px); padding-top:clamp(32px,3vw,60px);}
.process__line{position:absolute; left:0; right:0; top:0; height:2px; background:var(--line);}
.process__line::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--gold-500),var(--sky-500)); transform-origin:left; transform:scaleX(1);}
.step{position:relative; display:flex; flex-direction:column; gap:12px;}
.step::before{content:""; position:absolute; top:calc(-1 * clamp(32px,3vw,60px) - 6px); left:0; width:14px; height:14px; border-radius:50%; background:var(--gold-500); box-shadow:0 0 0 6px rgba(240,185,11,0.18);}
.step__num{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:var(--fs-small); color:var(--gold-500); letter-spacing:.14em;}
.step p{color:var(--ink-soft); font-size:var(--fs-body);}

/* ---------- bento (oferta podstron) ---------- */
.bento{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:clamp(200px,14vw,300px); gap:clamp(10px,1vw,20px);}
.cell{position:relative; border-radius:var(--radius); overflow:hidden; isolation:isolate; display:flex; align-items:flex-end; padding:clamp(18px,1.8vw,36px); border:1px solid var(--line); background:linear-gradient(160deg,var(--surface),var(--bg-2)); transition:transform .5s cubic-bezier(.2,.8,.2,1), border-color .3s;}
.cell:hover{transform:translateY(-6px); border-color:var(--gold-500);}
.cell--a{grid-column:span 7; grid-row:span 2;} .cell--b{grid-column:span 5;} .cell--c{grid-column:span 5;}
.cell--d{grid-column:span 4;} .cell--e{grid-column:span 4;} .cell--f{grid-column:span 4;}
.cell--wide{grid-column:span 6;}
.cell img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1.2s cubic-bezier(.2,.8,.2,1);}
.cell:hover img{transform:scale(1.06);}
.cell--photo::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(5,15,24,0.92) 0%,rgba(5,15,24,0.25) 55%,rgba(5,15,24,0) 100%);}
.cell__inner{display:flex; flex-direction:column; gap:10px; color:#fff;}
.cell h3{font-size:clamp(1.1rem,1rem + 0.6vw,1.7rem); color:#fff;}
.cell--text{align-items:flex-start; justify-content:space-between; flex-direction:column;}
.cell--text .cell__inner{margin-top:auto;}
.cell__idx{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(2.2rem,1.4rem + 2.2vw,3.8rem); line-height:.85; color:transparent; -webkit-text-stroke:1.5px var(--outline-text);}
.cell--text:hover .cell__idx{color:var(--gold-500); -webkit-text-stroke-color:var(--gold-500);}
.cell__tag{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:var(--fs-small); color:var(--gold-500); letter-spacing:.14em;}

/* ---------- materials list ---------- */
.mat-list{border-top:1px solid var(--line-strong);}
.mat{display:grid; grid-template-columns:clamp(44px,5vw,110px) minmax(0,1.3fr) minmax(0,1fr); gap:clamp(14px,2vw,48px); align-items:center; padding-block:clamp(18px,2vw,36px); border-bottom:1px solid var(--line); transition:padding .4s ease, background-color .3s ease;}
.mat:hover{background:linear-gradient(90deg,rgba(240,185,11,0.07),transparent); padding-left:clamp(10px,1.5vw,30px);}
.mat__idx{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(1.2rem,1rem + 0.9vw,2rem); color:var(--gold-500);}
.mat h3{font-size:clamp(1.15rem,1rem + 0.7vw,1.9rem);}
.mat p{color:var(--ink-soft); font-size:clamp(0.95rem,0.9rem + 0.2vw,1.12rem);}

/* ---------- full-bleed photo band (parallax) ---------- */
.band{position:relative; height:clamp(260px,34vw,560px); overflow:hidden; isolation:isolate; display:flex; align-items:center; color:#fff;}
.band img{position:absolute; left:0; top:-12%; width:100%; height:124%; object-fit:cover; z-index:-2;}
.band::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,15,24,0.82),rgba(5,15,24,0.25));}
.band__text{max-width:20ch;}
.band h2{color:#fff;}

/* ---------- swatches ---------- */
.swatches{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:clamp(8px,1vw,18px);}
.swatch{aspect-ratio:1/1.15; border-radius:clamp(10px,1vw,20px); border:1px solid rgba(255,255,255,0.18); transition:transform .35s cubic-bezier(.2,.8,.2,1);}
.swatch:hover{transform:translateY(-8px) rotate(-2deg);}
.glass-panel{background:var(--glass); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); border:1px solid var(--line-strong); border-radius:var(--radius); padding:clamp(20px,2vw,40px); display:flex; flex-direction:column; gap:clamp(14px,1.6vw,30px); color:var(--ink);}
.glass-panel small{color:var(--ink-soft); font-size:var(--fs-small);}
.on-photo{position:relative; isolation:isolate; overflow:hidden; color:#fff;}
.on-photo > img.bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2;}
.on-photo::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,15,24,0.9),rgba(5,15,24,0.5));}
.on-photo h2, .on-photo h3{color:#fff;} .on-photo .body-text, .on-photo .lead{color:#D5E4EC;}

/* ---------- big list (zastosowania / korzyści wiersze) ---------- */
.rows{border-top:1px solid var(--line-strong);}
.rowitem{display:grid; grid-template-columns:clamp(44px,5vw,110px) minmax(0,1fr) minmax(0,1.3fr); gap:clamp(14px,2vw,48px); padding-block:clamp(18px,2vw,40px); border-bottom:1px solid var(--line); align-items:start; transition:background-color .3s, padding .4s;}
.rowitem:hover{background:linear-gradient(90deg,rgba(240,185,11,0.07),transparent); padding-left:clamp(10px,1.5vw,30px);}
.rowitem__idx{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(1.2rem,1rem + 0.9vw,2rem); color:var(--gold-500);}
.rowitem h3{font-size:clamp(1.2rem,1rem + 0.8vw,2rem);}
.rowitem p{color:var(--ink-soft); font-size:clamp(0.95rem,0.9rem + 0.2vw,1.12rem);}

/* ---------- CTA ---------- */
.cta{position:relative; isolation:isolate; overflow:hidden; color:#fff; padding-block:clamp(72px,8vw,170px); text-align:left;}
.cta > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2;}
.cta::before{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(5,15,24,0.94) 0%,rgba(5,15,24,0.7) 55%,rgba(5,15,24,0.35) 100%);}
.cta__inner{display:flex; flex-direction:column; gap:clamp(18px,2.2vw,44px); align-items:flex-start;}
.cta h2{color:#fff; font-size:clamp(2rem,1rem + 3vw,4.6rem); max-width:16ch;}
.cta p{font-size:var(--fs-lead); color:#D5E4EC; max-width:46ch;}

/* ---------- contact ---------- */
.contact-grid{display:grid; grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr); gap:clamp(28px,4vw,90px); align-items:start;}
.info-list{display:flex; flex-direction:column; border-top:1px solid var(--line-strong);}
.info-row{display:flex; align-items:center; gap:clamp(14px,1.4vw,28px); padding-block:clamp(12px,1.1vw,22px); border-bottom:1px solid var(--line);}
.info-row__icon{width:clamp(40px,2.6vw,54px); height:clamp(40px,2.6vw,54px); border-radius:50%; background:rgba(240,185,11,0.14); color:var(--gold-500); display:flex; align-items:center; justify-content:center; flex:none;}
.info-row__icon svg{width:46%; height:46%;}
.info-row b{display:block; font-size:var(--fs-small); color:var(--muted); font-weight:600; letter-spacing:.06em; text-transform:uppercase;}
.info-row span{display:block; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(1rem,0.95rem + 0.3vw,1.3rem); color:var(--heading); line-height:1.25;}
.form-card{background:var(--surface); border:1px solid var(--line-strong); border-radius:var(--radius); padding:clamp(22px,2.4vw,48px); box-shadow:0 50px 120px rgba(0,0,0,0.35);}
.field{display:flex; flex-direction:column; gap:8px;}
.field label{font-size:var(--fs-small); font-weight:700; color:var(--ink-soft); letter-spacing:.04em;}
.field input, .field textarea{width:100%; background:var(--bg); border:1.5px solid var(--line-strong); border-radius:var(--radius-s); padding:clamp(14px,1.2vw,22px) clamp(14px,1.4vw,26px); font-size:var(--fs-body); font-family:inherit; color:var(--ink); resize:vertical; transition:border-color .2s, box-shadow .2s;}
.field input::placeholder, .field textarea::placeholder{color:var(--muted);}
.field input:focus, .field textarea:focus{outline:none; border-color:var(--gold-500); box-shadow:0 0 0 4px rgba(240,185,11,0.16);}
.form-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.2vw,24px);}
.file-drop{display:flex; align-items:center; gap:clamp(14px,1.4vw,28px); border:2px dashed var(--line-strong); border-radius:var(--radius-s); padding:clamp(16px,1.6vw,34px); background:var(--bg); cursor:pointer; transition:border-color .25s, background-color .25s;}
.file-drop:hover{border-color:var(--gold-500); background:rgba(240,185,11,0.05);}
.file-drop__icon{width:clamp(44px,3.4vw,70px); height:clamp(44px,3.4vw,70px); border-radius:50%; background:rgba(240,185,11,0.14); color:var(--gold-500); display:flex; align-items:center; justify-content:center; flex:none;}
.file-drop__icon svg{width:48%; height:48%;}
.file-drop b{display:block; color:var(--heading);} .file-drop small{color:var(--muted); font-size:var(--fs-small);}
.map{position:relative; height:clamp(300px,28vw,520px); border-radius:var(--radius); overflow:hidden; border:1px solid var(--line-strong); background:
  radial-gradient(circle at 50% 50%, rgba(41,170,210,0.22), transparent 45%),
  linear-gradient(rgba(255,255,255,0.05) 1px,transparent 1px) 0 0/clamp(40px,4vw,84px) clamp(40px,4vw,84px),
  linear-gradient(90deg,rgba(255,255,255,0.05) 1px,transparent 1px) 0 0/clamp(40px,4vw,84px) clamp(40px,4vw,84px),
  var(--surface); display:flex; align-items:center; justify-content:center;}
.map-pin{display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center;}
.map-pin__dot{position:relative; width:clamp(64px,5vw,110px); height:clamp(64px,5vw,110px); border-radius:50%; background:var(--gold-500); color:#071B2B; display:flex; align-items:center; justify-content:center;}
.map-pin__dot::before, .map-pin__dot::after{content:""; position:absolute; inset:0; border-radius:50%; border:2px solid var(--gold-500); opacity:0;}
.map-pin__dot svg{width:48%; height:48%;}
.map-pin b{background:var(--surface); border:1px solid var(--line-strong); padding:8px 20px; border-radius:100px; font-family:'Space Grotesk',sans-serif; color:var(--heading);}
.map-note{margin-top:14px; color:var(--muted); font-size:var(--fs-small);}

/* ---------- footer ---------- */
.footer{background:var(--navy-950); color:#B6C9D4; padding-top:clamp(48px,4vw,90px); border-top:1px solid var(--line);}
.footer__top{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:clamp(24px,3vw,90px); padding-bottom:clamp(32px,3.4vw,70px);}
.footer__logo-chip{display:inline-flex; background:#fff; padding:12px 18px; border-radius:16px; margin-bottom:22px;}
.footer__logo-chip img{height:clamp(60px,4vw,84px); width:auto; display:block;}
.footer p{max-width:36ch; color:#8CA4B2; font-size:var(--fs-small);}
.footer h4{font-size:var(--fs-small); letter-spacing:.14em; text-transform:uppercase; color:#fff; margin-bottom:18px;}
.footer__links{display:flex; flex-direction:column; gap:12px;}
.footer__links a{font-size:clamp(0.95rem,0.9rem + 0.2vw,1.2rem); color:#B6C9D4; transition:color .2s, transform .2s; width:fit-content;}
.footer__links a:hover{color:var(--gold-500); transform:translateX(4px);}
.footer__meta{font-size:var(--fs-small); line-height:1.9; color:#8CA4B2;}
.footer__bottom{display:flex; align-items:center; justify-content:space-between; gap:12px; padding-block:clamp(18px,1.8vw,34px); border-top:1px solid var(--line); font-size:var(--fs-small); color:#6F889A;}

/* ---------- scroll-driven motion (CSS only, progressive) ---------- */
@keyframes kb{from{transform:scale(1.04);} to{transform:scale(1.16) translate(-1.5%,-1%);}}
@keyframes rise{from{opacity:.3; transform:translateY(clamp(26px,3vw,70px));} to{opacity:1; transform:none;}}
@keyframes fadeout{from{opacity:1; transform:none;} to{opacity:0; transform:translateY(-70px);}}
@keyframes par{from{transform:translateY(-6%) scale(1.08);} to{transform:translateY(6%) scale(1.08);}}
@keyframes grow{from{transform:scaleX(0);} to{transform:scaleX(1);}}
@keyframes ping{0%{transform:scale(1); opacity:.7;} 100%{transform:scale(2.4); opacity:0;}}
@property --n{syntax:'<integer>'; inherits:false; initial-value:0;}
@keyframes count{from{--n:0;}}
.count{counter-reset:c var(--n);}
.count::after{content:counter(c);}

@media (prefers-reduced-motion: no-preference){
  .hero__media img{animation:kb 26s ease-in-out infinite alternate;}
  .map-pin__dot::before{animation:ping 2.6s ease-out infinite;} .map-pin__dot::after{animation:ping 2.6s ease-out 1.3s infinite;}
  @supports (animation-timeline: view()){
    .reveal{animation:rise linear both; animation-timeline:view(); animation-range:entry 0% entry 42%;}
    .reveal--d1{animation-range:entry 4% entry 48%;} .reveal--d2{animation-range:entry 8% entry 54%;} .reveal--d3{animation-range:entry 12% entry 60%;}
    .hero__content{animation:fadeout linear both; animation-timeline:view(); animation-range:exit 10% exit 70%;}
    .band img, .parallax{animation:par linear both; animation-timeline:view(); animation-range:cover 0% cover 100%;}
    .process__line::after{animation:grow linear both; animation-timeline:view(); animation-range:entry 30% cover 55%;}
    .count{animation:count linear both; animation-timeline:view(); animation-range:entry 10% entry 90%;}
  }
}

/* ---------- responsive ---------- */
@media (min-width:2200px){
  :root{--maxw:1760px;}
}
@media (max-width:1100px){
  .stats__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stat:nth-child(2){border-right:0;} .stat:nth-child(-n+2){border-bottom:1px solid var(--line);}
  .process{grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:clamp(40px,6vw,70px);}
  .footer__top{grid-template-columns:1fr 1fr;}
}
@media (max-width:900px){
  .navbar__links{position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:6px; padding:0 var(--gutter); background:var(--surface); border-bottom:1px solid var(--line-strong); max-height:0; opacity:0; visibility:hidden; overflow:hidden; transition:max-height .35s ease, opacity .25s ease, visibility .25s, padding .35s;}
  .nav-toggle-input:checked ~ .navbar__links{max-height:85vh; opacity:1; visibility:visible; padding-block:16px 24px; overflow-y:auto;}
  .nav-toggle-label{display:inline-flex;}
  .navlink{width:100%; justify-content:space-between; padding:14px 16px; font-size:1.1rem;}
  .nav-item{width:100%;}
  .dropdown{position:static; transform:none; opacity:1; visibility:visible; box-shadow:none; border:0; background:transparent; padding:0 0 0 12px; min-width:0;}
  .dropdown a{padding:10px 16px;}
  .navbar__cta{align-self:stretch;} .theme-toggle{align-self:flex-start; margin-left:8px;}
  .topbar .wrap > .row{display:none;}
  .split, .contact-grid{grid-template-columns:1fr;}
  .split--rev > :first-child{order:0;}
  .features{grid-template-columns:1fr;}
  .feature{min-height:0;}
  .panels{flex-direction:column; height:auto;}
  .panel{flex:none; height:clamp(340px,78vw,520px);}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:clamp(190px,46vw,320px);}
  .cell--a{grid-column:span 2; grid-row:span 2;} .cell--b,.cell--c,.cell--d,.cell--e,.cell--f,.cell--wide{grid-column:span 1;}
  .mat, .rowitem{grid-template-columns:clamp(44px,12vw,80px) minmax(0,1fr);}
  .mat p, .rowitem p{grid-column:2;}
  .form-grid{grid-template-columns:1fr;}
  .hero__scroll{display:none;}
  .hero__shade{background:linear-gradient(0deg,rgba(5,15,24,0.96) 0%,rgba(5,15,24,0.7) 55%,rgba(5,15,24,0.4) 100%), linear-gradient(180deg,rgba(5,15,24,0.7),rgba(5,15,24,0) 25%);}
  .swatches{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:560px){
  .stats__grid{grid-template-columns:1fr 1fr;}
  .stat{padding:18px;}
  .process{grid-template-columns:1fr;}
  .bento{grid-template-columns:1fr; grid-auto-rows:clamp(220px,62vw,340px);}
  .cell--a,.cell--b,.cell--c,.cell--d,.cell--e,.cell--f,.cell--wide{grid-column:span 1; grid-row:span 1;}
  .footer__top{grid-template-columns:1fr;}
  .footer__bottom{flex-direction:column; align-items:flex-start;}
  .hero__actions .btn{flex:1 1 100%;}
  .cta .btn{width:100%;}
  .swatches{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* ---------- uzupełnienia ---------- */
.rowitem--stack{grid-template-columns:clamp(44px,5vw,90px) minmax(0,1fr); gap:clamp(12px,1.6vw,34px); padding-block:clamp(20px,2.2vw,46px);}
.rowitem--stack p{grid-column:2;}
.cell--q{grid-column:span 3;}
.cell--full{grid-column:span 12; grid-auto-rows:auto;}
.cell--full.cell--text{flex-direction:row; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.cell--full.cell--text .cell__inner{margin-top:0;}
.cell--tall{grid-row:span 2;}
@media (max-width:900px){
  .cell--q{grid-column:span 1;} .cell--full{grid-column:span 2;}
}
@media (max-width:560px){ .cell--full{grid-column:span 1;} }
.tech-note{display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:6px;}
.tick{display:flex; align-items:center; gap:12px; color:var(--heading); font-weight:600;}
.tick svg{width:1.3em; height:1.3em; color:var(--gold-500); flex:none;}
.stats__grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:900px){
  .stats__grid--3{grid-template-columns:1fr;}
  .stats__grid--3 .stat{border-right:0; border-bottom:1px solid var(--line);}
  .stats__grid--3 .stat:last-child{border-bottom:0;}
}
@media (max-width:560px){ .step::before{display:none;} .process{padding-top:28px;} }

/* --- przełącznik motywu (eksport statyczny) --- */
.theme-toggle .icon-sun{display:inline-flex;} .theme-toggle .icon-moon{display:none;}
[data-theme="light"] .theme-toggle .icon-sun{display:none;} [data-theme="light"] .theme-toggle .icon-moon{display:inline-flex;}


/* ======================================================================
   Dodatki wersji produkcyjnej (PHP)
   ====================================================================== */
.sr-only{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.hp{position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden;}
.footer__h{font-size:var(--fs-small); letter-spacing:.14em; text-transform:uppercase; color:#fff; margin-bottom:18px; font-family:'Space Grotesk',system-ui,sans-serif; font-weight:700; line-height:1.2;}
.footer address{font-style:normal;}
.footer__meta a{color:#B6C9D4;} .footer__meta a:hover{color:var(--gold-500);}
.linkbtn{background:none; border:0; padding:0; font:inherit; font-size:clamp(0.95rem,0.9rem + 0.2vw,1.2rem); color:#B6C9D4; cursor:pointer; text-align:left; width:fit-content; transition:color .2s, transform .2s;}
.linkbtn:hover{color:var(--gold-500); transform:translateX(4px);}
.file-drop:focus-within{border-color:var(--gold-500);}
.form-status{min-height:1.4em; font-size:var(--fs-small); font-weight:600; color:var(--ink-soft);}
.form-status[data-state="ok"]{color:#4ADE9A;} .form-status[data-state="error"]{color:#FF8A80;}
[data-theme="light"] .form-status[data-state="ok"]{color:#0E7A4B;} [data-theme="light"] .form-status[data-state="error"]{color:#B3261E;}
.form-note{font-size:var(--fs-small); color:var(--muted);} .form-note a{color:var(--gold-500); text-decoration:underline;}
button[disabled]{opacity:.6; cursor:progress;}
.map iframe{display:block;}

/* zgoda na cookies */
.cookie{position:fixed; z-index:200; left:50%; bottom:clamp(12px,2vw,28px); transform:translateX(-50%); width:min(calc(100% - 24px), 920px); background:var(--surface); color:var(--ink); border:1px solid var(--line-strong); border-radius:var(--radius); padding:clamp(14px,1.4vw,22px) clamp(16px,1.8vw,28px); box-shadow:0 20px 60px rgba(0,0,0,.45); display:flex; gap:clamp(12px,2vw,28px); align-items:center; justify-content:space-between; font-size:var(--fs-small);}
.cookie[hidden]{display:none;}
.cookie p{max-width:62ch; color:var(--ink-soft);} .cookie a{color:var(--gold-500); text-decoration:underline;}
.cookie__actions{display:flex; gap:10px; flex:none;}
@media (max-width:640px){.cookie{flex-direction:column; align-items:stretch;} .cookie__actions .btn{flex:1;}}

/* strony tekstowe (polityka prywatności, 404) */
.page-title{padding-top:clamp(40px,5vw,110px);}
.page-title h1{font-size:clamp(2rem,1.2rem + 3vw,4.2rem); margin:18px 0 clamp(20px,2.4vw,44px);}
.page-title .crumb{display:flex; align-items:center; gap:8px; color:var(--muted); font-size:var(--fs-small);} .page-title .crumb svg{width:14px; height:14px;} .page-title .crumb b{color:var(--ink);}
.prose{max-width:78ch;} .prose h2{font-size:clamp(1.3rem,1.05rem + 0.9vw,2rem); margin:clamp(24px,2.6vw,44px) 0 12px;}
.prose p{color:var(--ink-soft); margin:0 0 1em; line-height:1.75;} .prose a{color:var(--gold-500); text-decoration:underline;}
.err404{min-height:62vh; display:flex; align-items:center;}
.err404 .code{font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(5rem,3rem + 12vw,14rem); line-height:.9; color:transparent; -webkit-text-stroke:2px var(--outline-text);}
.err404 h1{font-size:clamp(1.8rem,1.1rem + 2.4vw,3.6rem); margin:10px 0 14px;} .err404 p{color:var(--ink-soft); margin-bottom:28px; max-width:56ch;}
