/* czcionki lokalne (10.11): Geist, Geist Mono, Syne, OFL; latin + latin-ext; bez połączeń z Google */
/* Geist italic latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonty/geist-italic-latin-ext-a831c9.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Geist italic latin */
@font-face {
  font-family: 'Geist';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonty/geist-italic-latin-64addf.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;
}
/* Geist italic latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonty/geist-italic-latin-ext-a831c9.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Geist italic latin */
@font-face {
  font-family: 'Geist';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(fonty/geist-italic-latin-64addf.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;
}
/* Geist normal latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonty/geist-normal-latin-ext-001175.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Geist normal latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonty/geist-normal-latin-98bbbc.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;
}
/* Geist normal latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonty/geist-normal-latin-ext-001175.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Geist normal latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonty/geist-normal-latin-98bbbc.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;
}
/* Geist normal latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonty/geist-normal-latin-ext-001175.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Geist normal latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonty/geist-normal-latin-98bbbc.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;
}
/* Geist normal latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonty/geist-normal-latin-ext-001175.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Geist normal latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonty/geist-normal-latin-98bbbc.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;
}
/* Geist Mono normal latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonty/geist-mono-normal-latin-ext-447454.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Geist Mono normal latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonty/geist-mono-normal-latin-013b2f.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;
}
/* Geist Mono normal latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonty/geist-mono-normal-latin-ext-447454.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Geist Mono normal latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonty/geist-mono-normal-latin-013b2f.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;
}
/* Syne normal latin-ext */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonty/syne-normal-latin-ext-f2eba9.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Syne normal latin */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonty/syne-normal-latin-c37e2f.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;
}
/* Syne normal latin-ext */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonty/syne-normal-latin-ext-f2eba9.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Syne normal latin */
@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonty/syne-normal-latin-c37e2f.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;
}

/* ═════════════════════════ TOKENY ═════════════════════════ */
:root{
  --paper:#F4F4F2; --card:#FBFBFA; --ink:#0E0F11; --panel:#17191C; --panel-2:#1F2125;
  --grey:#8B8B8B; --grey-d:#7D8087; --muted:#5E6167;
  --line:rgba(14,15,17,.12); --line-d:rgba(244,244,242,.09);
  --accent:#FF4A1F; --accent-2:#FF6A45; --accent-t:#FF4A1F;
  --m:32px; --g:16px; --nav:72px; --fh:100vh;
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--ink);font:400 16px/1.5 var(--sans);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* strona leży na stopce jak kurtyna */
.page{position:relative;z-index:1;background:var(--paper);margin-bottom:var(--fh);box-shadow:0 30px 60px rgba(0,0,0,.35)}

/* siatka 12 kolumn */
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);padding-inline:var(--m)}
.lines{position:absolute;inset:0;pointer-events:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  padding-inline:calc(var(--m) - var(--g) / 2);z-index:0}
.lines i{border-left:1px solid var(--line)}
.lines i:last-child{border-right:1px solid var(--line)}
.dark .lines i{border-color:var(--line-d)}

/* etykiety */
.mono{font:500 12px/1.25 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:10px;vertical-align:1px}
.idx{font:500 13px/1 var(--mono);color:var(--grey)}
.idx b{font-weight:500;color:var(--ink)}
.dark .idx b{color:var(--paper)}

/* pasek sekcji */
.strip{position:relative;z-index:2}
.strip .row{align-items:end;padding-bottom:14px}
.strip .l{grid-column:1 / span 4}
.strip .c{grid-column:5 / span 4;text-align:center}
.strip .r{grid-column:9 / span 4;text-align:right}
.strip .rule{position:relative;height:1px;margin-inline:calc(var(--m) - var(--g) / 2);background:var(--line)}
.dark .strip .rule{background:var(--line-d)}
.strip .x{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.strip .x span{position:relative}
.strip .x span::before,.strip .x span:last-child::after{content:"";position:absolute;top:-5px;width:11px;height:11px;
  background:linear-gradient(currentColor,currentColor) center/1px 100% no-repeat,linear-gradient(currentColor,currentColor) center/100% 1px no-repeat}
.strip .x span::before{left:-5px}
.strip .x span:last-child::after{right:-5px}

/* typografia sekcji (jak xzero: wersaliki, jedna linia w akcencie) */
.t2{font:700 58px/1 var(--sans);letter-spacing:-.03em;text-transform:uppercase}
.t2 .a{color:var(--accent-t)}
.lead{font:500 34px/1.12 var(--sans);letter-spacing:-.032em;color:var(--grey);text-wrap:pretty}
.lead b{font-weight:500;color:var(--ink)}
.dark .lead b{color:var(--paper)}
.body{color:var(--muted);font-size:16px;line-height:1.55}
.dark .body{color:var(--grey-d)}

/* gigantyczne słowa z głębią */
.giant-stage{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;overflow:hidden;z-index:0}
.giant{font:700 200px/.8 var(--sans);letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap;
  padding:.06em .02em .12em;background:linear-gradient(180deg,#0E0F11 30%,#9C9C9A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 34px 26px rgba(14,15,17,.22))}

/* przyciski */
.pill{display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 20px;border-radius:999px;
  background:var(--accent);color:var(--ink);font:500 15px/1 var(--sans);letter-spacing:-.01em;white-space:nowrap;transition:background-color .25s ease,transform .25s ease}
.pill:hover{background:var(--accent-2)}
.pill.paper{background:var(--paper);color:var(--ink)}
.pill.paper:hover{background:#fff}
.pill.ink{background:var(--ink);color:var(--paper)}
.ghost{display:inline-flex;align-items:center;gap:12px;height:44px;padding:0 20px;border-radius:999px;border:1px solid currentColor;
  font:500 15px/1 var(--sans);letter-spacing:-.01em;white-space:nowrap;transition:background-color .25s ease,color .25s ease}
.ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.dark .ghost{border-color:rgba(244,244,242,.3)}
.dark .ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.ar{width:10px;height:10px;flex:none}

/* ZNACZNIKI ZAPCHAJDZIUR (przełącznik w lewym dolnym rogu) */
.ph{position:relative}
.ph::after{content:"Do podmiany · " attr(data-swap);position:absolute;left:12px;top:12px;z-index:5;max-width:calc(100% - 24px);
  padding:6px 9px;border-radius:6px;background:rgba(14,15,17,.82);color:#fff;font:500 10px/1.3 var(--mono);letter-spacing:.03em;text-transform:uppercase;
  border:1px dashed rgba(255,255,255,.5);pointer-events:none}
.tbd{border-bottom:1px dashed #FF4A1F;background:rgba(255,74,31,.08);padding:0 .12em;border-radius:2px}
.no-ph .ph::after{display:none}
.no-ph .tbd{border-bottom:0;background:none;padding:0}
.no-ph /* STATUS RECENZJI (tylko podgląd): zielona kropka = zaakceptowane, czerwona = do uwag */
.st-kr{position:absolute;right:14px;top:14px;z-index:4;width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 3px rgba(255,255,255,.92),0 2px 10px rgba(0,0,0,.3);pointer-events:none}
.st-kr.ok,.st-pill.ok i{background:#16A34A}
.st-kr.do,.st-pill.do i{background:#DC2626}
.st-pill{position:fixed;right:16px;bottom:56px;z-index:60;display:flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:999px;
  background:var(--ink);color:var(--paper);border:1px solid rgba(255,255,255,.18);font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.03em;pointer-events:none}
.st-pill i{width:9px;height:9px;border-radius:50%}
.no-ph .st-kr,.no-ph .st-pill{display:none}

/* ═════════════════════════ NAWIGACJA ═════════════════════════ */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;height:var(--nav);color:var(--paper);
  transition:color .25s ease,background-color .25s ease,border-color .25s ease;border-bottom:1px solid transparent}
.nav[data-theme="light"]{color:var(--ink);background:rgba(244,244,242,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
/* nad ciemnymi sekcjami też przydymione tło — inaczej przez menu przebija treść pod spodem */
.nav[data-theme="dark"]{background:rgba(14,15,17,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--line-d)}
.nav .grid{height:100%;align-items:center}
.nav .logo{grid-column:1 / span 3;justify-self:start;display:block;height:18px}
.nav .logo svg{height:18px;width:auto;fill:currentColor}
.nav .links{grid-column:4 / span 5;display:flex;gap:30px;font:500 14px/1 var(--sans);letter-spacing:-.01em}
.nav .links a{position:relative;padding:8px 0}
.nav .links sup{font:500 9px/1 var(--mono);opacity:.5;margin-left:3px;vertical-align:7px}
.nav .links a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav .links a:hover::after{transform:scaleX(1)}
.nav .fam{grid-column:10 / span 2;justify-self:start;display:flex;align-items:center;gap:10px;font:500 14px/1 var(--sans);letter-spacing:-.01em;padding:8px 0}
.pl{width:9px;height:9px;position:relative;transition:transform .3s ease;flex:none}
.pl::before,.pl::after{content:"";position:absolute;background:currentColor}
.pl::before{left:4px;top:0;width:1px;height:9px}
.pl::after{top:4px;left:0;height:1px;width:9px}
.nav .fam[aria-expanded="true"] .pl{transform:rotate(45deg)}
.nav .right{grid-column:12 / span 1;justify-self:end}
.nav .pill{height:40px;font-size:14px;padding:0 18px}

.family{position:absolute;top:var(--nav);left:0;right:0;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);display:none}
.family.open{display:block}
.family .wrap{padding-block:12px 20px}
.family .rowf{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:baseline;padding:22px 0;border-top:1px solid var(--line)}
.family .rowf:first-child{border-top:0}
.family .i{grid-column:1 / span 3}
.family .nm{grid-column:4 / span 3;font:500 32px/1 var(--sans);letter-spacing:-.035em}
.family .ds{grid-column:7 / span 3;color:var(--muted);font-size:15px}
.family .dm{grid-column:10 / span 3;text-align:right}
.family a.rowf:hover .nm{color:var(--accent-t)}
.family .here{color:var(--grey)}

/* ═════════════════════════ (00) HERO ═════════════════════════ */
#hero{position:relative;height:100vh;height:100svh;background:var(--ink);color:var(--paper)}
.js:not(.rm) #hero{height:320vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--ink);display:flex;flex-direction:column}
.reel{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.12) brightness(.92)}
.dim{position:absolute;inset:0;background:var(--ink);opacity:.45;pointer-events:none}
.knock{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.scrim{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;
  background:linear-gradient(to bottom,rgba(14,15,17,.62),rgba(14,15,17,0) 24%,rgba(14,15,17,0) 62%,rgba(14,15,17,.7))}
.grain{position:absolute;inset:-50%;z-index:2;pointer-events:none;opacity:.07;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.stage .lines{z-index:2}
.stage > .strip{margin-top:calc(var(--nav) + 18px)}
.hero-body{position:relative;z-index:3;flex:1;display:flex;align-items:center;padding-block:28px}
.hero-body .grid{width:100%;align-items:end}
.when{grid-column:1 / span 3;font:400 30px/1.15 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.when .d{color:var(--grey-d)}
.statement{grid-column:7 / span 6;font:500 44px/1.04 var(--sans);letter-spacing:-.038em;text-wrap:balance}
.statement em{font-style:normal;color:var(--grey-d)}
.hero-sub{grid-column:7 / span 3;margin-top:28px;color:var(--grey-d);font-size:15px;line-height:1.5;max-width:34ch}
.hero-cta{grid-column:10 / span 3;justify-self:end;align-self:end}
.logo-slot{position:relative;z-index:0;margin:0 var(--m) var(--m);aspect-ratio:231/36;flex:none}
.hint{position:absolute;z-index:3;right:var(--m);bottom:calc(var(--m) + 8px);transform:translateY(100%);padding-top:12px;color:var(--grey-d)}
.reel-ui{position:absolute;z-index:4;left:var(--m);right:var(--m);bottom:var(--m);display:flex;justify-content:space-between;align-items:end;opacity:0;pointer-events:none}
.reel-ui.on{pointer-events:auto}
.reel-ui .t{font:500 44px/1 var(--sans);letter-spacing:-.04em}
.reel-ui .t small{display:block;margin-bottom:12px}
.sound{display:inline-flex;align-items:center;gap:10px}
.bars{display:flex;gap:2px;align-items:end;height:12px}
.bars i{width:2px;background:currentColor;height:4px}
.sound[aria-pressed="true"] .bars i{animation:eq 1s ease-in-out infinite}
.sound[aria-pressed="true"] .bars i:nth-child(2){animation-delay:.2s}
.sound[aria-pressed="true"] .bars i:nth-child(3){animation-delay:.4s}
@keyframes eq{0%,100%{height:3px}50%{height:12px}}

/* ═════════════════════════ SEKCJE — wspólne ═════════════════════════ */
.section{position:relative;padding:120px 0 150px;background:var(--paper)}
.section.dark{background:var(--ink);color:var(--paper)}
.section > :where(*:not(.lines):not(.giant-stage)){position:relative;z-index:1}
.head{margin-top:72px;align-items:end}
.head .t2{grid-column:1 / span 6}
.head .side{grid-column:7 / span 6}
.head .lead{grid-column:7 / span 6}
.mcard.ph::after{left:auto;right:12px}
.plan.ph::after{left:auto;right:16px;top:16px}

/* (01) STUDIO */
.about .lead{grid-column:7 / span 6;align-self:start}
.stats{margin-top:120px}
.stat{grid-column:span 3;padding-bottom:20px;border-bottom:1px dashed rgba(14,15,17,.28)}
.stat .n{font:600 76px/1 var(--sans);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.stat .n sup{font-size:.42em;vertical-align:.95em;margin-left:2px;color:var(--accent-t)}
.stat p{margin-top:18px;color:var(--muted);font-size:15px}
.quote-row{margin-top:96px;align-items:center}
.quote{grid-column:2 / span 5;display:grid;gap:22px}
.quote blockquote{font:italic 400 22px/1.35 var(--sans);letter-spacing:-.02em;color:var(--grey)}
.quote blockquote b{font-weight:500;color:var(--ink)}
.who{display:flex;align-items:center;gap:14px}
.faces{display:flex}
.faces img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2px solid var(--paper);filter:grayscale(1)}
.faces img + img{margin-left:-14px}
.who b{display:block;font-weight:500;font-size:16px;letter-spacing:-.01em}
.who span{color:var(--grey);font-size:14px}
.quote-row .cta{grid-column:7 / span 3}

/* (02) KLIENCI */
.clients{margin-top:88px;row-gap:var(--g)}
.client{grid-column:span 4;height:232px;border-radius:12px;background:var(--card);display:grid;place-items:center;
  box-shadow:0 1px 0 rgba(14,15,17,.04),0 12px 30px -18px rgba(14,15,17,.18);transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}
.client img{max-width:46%;max-height:44%;object-fit:contain;filter:grayscale(1) contrast(1.1);mix-blend-mode:multiply;opacity:.85;transition:filter .35s ease,opacity .35s ease}
.client:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(14,15,17,.04),0 24px 40px -22px rgba(14,15,17,.28)}
.client:hover img{filter:none;opacity:1}
.more-row{margin-top:56px;align-items:center}
.more-row p{grid-column:2 / span 3;color:var(--grey);font-size:15px}
.more-row p b{color:var(--ink);font-weight:500}
.more-row .ghost{grid-column:5 / span 3;justify-self:center}

/* (03) REALIZACJE */
#realizacje{padding-bottom:0}
.case{position:sticky;top:0;height:100vh;height:100svh;z-index:2;background:var(--ink);color:var(--paper);overflow:hidden;
  border-radius:24px 24px 0 0;transform-origin:50% 0%;--cover:0}
.case::after{content:"";position:absolute;inset:0;background:#000;opacity:calc(var(--cover) * .55);pointer-events:none}
.case .grid{height:100%;align-content:center;align-items:center;padding-top:calc(var(--nav) + 10px);padding-bottom:40px}
.case .info{grid-column:1 / span 5;display:grid;gap:22px;align-content:start}
.case h3{font:700 96px/.9 var(--sans);letter-spacing:-.045em;text-transform:uppercase}
.case .sub{font:500 30px/1.12 var(--sans);letter-spacing:-.03em}
.case .tags{display:flex;gap:6px;flex-wrap:wrap}
.case .tags span{padding:7px 10px;border:1px solid rgba(244,244,242,.18);border-radius:6px;font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.03em}
.case dl{display:grid;gap:0;margin-top:6px}
.case dl div{display:grid;grid-template-columns:110px 1fr;padding:11px 0;border-top:1px solid var(--line-d);font-size:15px}
.case dt{color:var(--grey-d)}
.case .res{font:500 18px/1.4 var(--sans);letter-spacing:-.015em;color:var(--grey-d)}
.case .res b{color:var(--paper);font-weight:500}
.case .shot{grid-column:6 / span 7;position:relative;border-radius:14px;overflow:hidden;aspect-ratio:16/11;background:var(--panel)}
.case .shot video{display:block;width:100%;height:100%;object-fit:cover}
.case .shot img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.case:hover .shot img{transform:scale(1.03)}
.case .count{position:absolute;right:var(--m);top:calc(var(--nav) + 22px);color:var(--grey-d)}
.after-cases{background:var(--paper);position:relative;z-index:3;padding:64px 0 0}
.after-cases .grid{align-items:center}
.after-cases p{grid-column:2 / span 4;color:var(--grey);font-size:15px}
.after-cases p b{color:var(--ink);font-weight:500}
.after-cases .ghost{grid-column:7 / span 3;justify-self:start}

/* (04) SPOKO LAB */
#lab{padding-bottom:40px}
.lab-track{position:relative;height:280vh}
.js.rm .lab-track{height:auto}
.lab-pin{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;overflow:hidden}
.lab-pin .giant{position:absolute;filter:drop-shadow(0 34px 26px rgba(14,15,17,.22)) blur(var(--blur,0px))}
.tiles{position:relative;width:min(1080px,78vw);aspect-ratio:2.16/1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.tile{position:relative;overflow:hidden;background:var(--card);border-radius:12px;box-shadow:0 30px 60px -30px rgba(14,15,17,.35);will-change:transform}
.tile.ph::after{top:auto;left:auto;bottom:12px;right:12px}
.tile .scene{position:absolute;width:200%;height:200%;background:#F6F6F4}
.tile:nth-child(1) .scene{left:0;top:0}
.tile:nth-child(2) .scene{left:-100%;top:0}
.tile:nth-child(3) .scene{left:0;top:-100%}
.tile:nth-child(4) .scene{left:-100%;top:-100%}
.scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}   /* jedno zdjęcie dwóch rąk (pomarańcz zostaje, bez filtra szarości) */
.tile .tx{position:absolute;left:20px;right:20px;z-index:2;font-size:14px;line-height:1.4;color:var(--muted)}
.tile .tx b{display:block;color:var(--ink);font-weight:500;font-size:15px;margin-bottom:2px}
.tile:nth-child(-n+2) .tx{top:18px}
.tile:nth-child(n+3) .tx{bottom:18px}
.tile .tx::before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-bottom:10px}
.lab-foot{margin-top:24px;align-items:end}
.lab-foot .lead{grid-column:1 / span 7}
.lab-foot .ghost{grid-column:10 / span 3;justify-self:end}

/* (05) USŁUGI */
.svc{margin-top:88px}
.svc-box{grid-column:1 / -1;background:var(--card);border-radius:20px;padding:8px 32px;box-shadow:0 1px 0 rgba(14,15,17,.04),0 20px 50px -34px rgba(14,15,17,.3)}
.svc details{border-top:1px solid var(--line)}
.svc details:first-child{border-top:0}
.svc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:16px;padding:28px 0}
.svc summary::-webkit-details-marker{display:none}
.svc summary h3{font:500 46px/1.05 var(--sans);letter-spacing:-.04em;transition:color .25s ease}
.svc summary:hover h3{color:var(--accent-t)}
.svc .tog{width:52px;height:52px;border-radius:50%;background:var(--paper);display:grid;place-items:center;transition:background-color .25s ease}
.svc .tog .pl{width:13px;height:13px}
.svc .tog .pl::before{left:6px;height:13px}
.svc .tog .pl::after{top:6px;width:13px}
.svc details[open] .tog .pl{transform:rotate(45deg)}
.svc details[open] .tog{background:var(--ink);color:var(--paper)}
.svc .inner{display:grid;grid-template-columns:72px repeat(2,minmax(0,1fr));gap:16px 32px;padding:0 0 36px}
.svc .inner .body{grid-column:2;max-width:42ch}
.svc .inner ul{grid-column:3;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.svc .inner li{display:flex;gap:10px;align-items:baseline;font-size:15px}
.svc .inner li::before{content:"+";font-family:var(--mono);color:var(--accent-t)}
.svc .inner .lbl{grid-column:3;color:var(--grey)}
.svc .inner a.go{grid-column:2;justify-self:start;margin-top:8px;font-weight:500;border-bottom:1px solid var(--ink);padding-bottom:4px;display:inline-flex;gap:8px;align-items:center}

/* (06) METODA */
.method{margin-top:88px}
.mcard{grid-column:span 3;position:relative;aspect-ratio:327/523;border-radius:14px;overflow:hidden;padding:26px;display:flex;flex-direction:column;
  background:var(--card);box-shadow:0 1px 0 rgba(14,15,17,.04),0 20px 50px -34px rgba(14,15,17,.3)}
.mcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);opacity:.16;mix-blend-mode:multiply;transition:opacity .5s ease}
.mcard:hover img{opacity:.3}
.mcard > *:not(img){position:relative;z-index:1}
.mcard h3{margin-top:22px;font:500 46px/1 var(--sans);letter-spacing:-.045em}
.mcard p{margin-top:auto;font-size:15px;line-height:1.5;color:var(--muted)}
.mcard small{margin-top:16px;display:block;font:italic 400 13px/1.4 var(--sans);color:var(--grey)}
.mcard.acc{background:var(--accent);color:var(--paper)}
.mcard.acc img{opacity:.42;mix-blend-mode:multiply}
.mcard.acc p,.mcard.acc small{color:rgba(14,15,17,.85)}
.mcard.acc .idx,.mcard.acc .idx b{color:var(--ink)}
.mcard.ink{background:var(--ink);color:var(--paper)}
.mcard.ink img{opacity:.5;mix-blend-mode:luminosity}
.mcard.ink p{color:#C9CBCF}.mcard.ink small{color:var(--grey-d)}
.mcard.ink .idx b{color:var(--paper)}

/* (07) RODZINA */
.famlist{margin-top:72px}
.famlist a{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:center;padding:30px 0;border-top:1px solid var(--line-d);position:relative}
.famlist a:last-child{border-bottom:1px solid var(--line-d)}
.famlist .i{grid-column:1 / span 1}
.famlist .nm{grid-column:2 / span 5;font:600 72px/1 var(--sans);letter-spacing:-.05em;transition:color .3s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.famlist .nm span{color:var(--grey-d);font-weight:500}
.famlist .ds{grid-column:7 / span 3;color:var(--grey-d);font-size:15px;max-width:30ch}
.famlist .dm{grid-column:10 / span 3;justify-self:end;display:flex;align-items:center;gap:14px}
.famlist .dm .c{width:44px;height:44px;border-radius:50%;border:1px solid rgba(244,244,242,.25);display:grid;place-items:center;transition:background-color .3s ease,border-color .3s ease,color .3s ease}
.famlist a:hover .nm{color:var(--accent-t);transform:translateX(12px)}
.famlist a:hover .dm .c{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.peek{position:fixed;left:0;top:0;z-index:40;width:340px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;pointer-events:none;opacity:0;
  transform:translate(-50%,-50%) scale(.85);transition:opacity .25s ease;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);background:var(--panel)}
.peek.on{opacity:1}
.peek [hidden]{display:none !important}
.peek img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.peek .phbox{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;color:var(--grey-d);
  background:repeating-linear-gradient(135deg,#17191C 0 12px,#1C1E22 12px 24px)}

/* (08) SPOKO SITES */
.sites{margin-top:72px;align-items:start}
.sites .copy{grid-column:1 / span 5;display:grid;gap:28px}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:8px}
.feat div{padding:16px 0;border-top:1px solid var(--line)}
.feat b{display:block;font-weight:500;font-size:15px;letter-spacing:-.01em;margin-bottom:4px}
.feat span{font-size:14px;color:var(--muted);line-height:1.45}
.dash{grid-column:7 / span 6;background:var(--ink);color:var(--paper);border-radius:20px;padding:28px;display:grid;gap:22px;
  box-shadow:0 50px 90px -50px rgba(14,15,17,.7)}
.dash .top{display:flex;justify-content:space-between;align-items:center;color:var(--grey-d)}
.dash .ok{display:inline-flex;align-items:center;gap:8px;color:var(--paper)}
.dash .ok i{width:8px;height:8px;border-radius:50%;background:#7CE38B;box-shadow:0 0 0 4px rgba(124,227,139,.15)}
.dash .grade{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:18px 0;border-top:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.dash .g{font:700 150px/.8 var(--sans);letter-spacing:-.06em;color:var(--accent-t)}
.dash .scale{display:flex;gap:6px}
.dash .scale span{flex:1;height:36px;border-radius:6px;background:var(--panel-2);display:grid;place-items:center;font:500 13px/1 var(--mono);color:var(--grey-d)}
.dash .scale span.on{background:var(--accent);color:var(--ink)}
.dash .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dash .kpi{background:var(--panel);border-radius:12px;padding:16px}
.dash .kpi b{display:block;font:600 30px/1 var(--sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.dash .kpi span{display:block;margin-top:10px;color:var(--grey-d);font-size:12.5px}
.up{display:flex;gap:3px;align-items:end;height:40px}
.up i{flex:1;height:100%;border-radius:2px;background:#3A3D43}
.up i.bad{background:var(--accent);height:62%}
.log{display:grid;gap:0;font:400 12.5px/1.4 var(--mono);color:var(--grey-d)}
.log div{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:9px 0;border-top:1px solid var(--line-d)}
.log div b{font-weight:500;color:var(--paper)}
.log em{font-style:normal;color:var(--accent-t)}

/* (09) OPINIE */
#opinie{padding-bottom:0}
.op-track{position:relative}
.op-cards{position:relative;z-index:2;margin-top:-62vh;padding-bottom:30vh;display:grid;justify-items:center;gap:22vh}
.opcard{width:min(480px,86vw);background:var(--card);border-radius:14px;padding:30px;min-height:430px;display:flex;flex-direction:column;
  box-shadow:0 1px 0 rgba(14,15,17,.04),0 40px 80px -40px rgba(14,15,17,.45)}
.opcard:nth-child(1){transform:rotate(-2.5deg) translateX(-14%)}
.opcard:nth-child(2){transform:rotate(2deg) translateX(16%)}
.opcard:nth-child(3){transform:rotate(-1.2deg) translateX(-4%)}
.opcard blockquote{margin-top:22px;font:italic 500 27px/1.22 var(--sans);letter-spacing:-.025em}
.opcard .who{margin-top:auto;padding-top:28px}
.opcard .who{justify-content:space-between}
.opcard .who img.lg{width:auto;height:40px;border-radius:0;object-fit:contain;filter:grayscale(1)}
.opcard .who img{width:44px;height:44px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.who .ph::after{display:none}
.who .ph img{outline:1px dashed var(--accent);outline-offset:3px}
.no-ph .who .ph img{outline:0}

/* (10) WSPÓŁPRACA */
.plans{margin-top:88px;row-gap:var(--g)}
.plan{grid-column:span 6;position:relative;border-radius:20px;overflow:hidden;min-height:560px;padding:32px;display:flex;flex-direction:column}
.plan img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.plan.acc{background:var(--accent);color:var(--ink)}
.plan.acc img{mix-blend-mode:multiply;opacity:.55}
.plan.ink{background:var(--ink);color:var(--paper)}
.plan.ink img{mix-blend-mode:luminosity;opacity:.38}
.plan > *:not(img){position:relative;z-index:1}
.plan .price{margin-top:18px;font:600 64px/1 var(--sans);letter-spacing:-.05em}
.plan .price small{font:500 16px/1 var(--sans);letter-spacing:0;margin-left:6px;opacity:.8}
.plan ul{margin:auto 0 0;padding:0;list-style:none;display:grid;gap:9px;max-width:38ch}
.plan li{display:flex;gap:10px;font-size:15px}
.plan li::before{content:"+";font-family:var(--mono)}
.plan .bot{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:28px}
.plan .bot p{font:italic 400 13px/1.4 var(--sans);opacity:.8;max-width:34ch}
.plan.ink .body{color:#C9CBCF;margin-top:auto;max-width:40ch;font-size:16px}

/* (11) FAQ */
.faq{margin-top:88px;align-items:start}
.faq .side{grid-column:1 / span 4;position:sticky;top:calc(var(--nav) + 40px);display:grid;gap:24px}
.faq .cats{grid-column:5 / span 8;display:grid;gap:40px}
.faq h3{font:500 24px/1.2 var(--sans);letter-spacing:-.03em;padding-bottom:16px;border-bottom:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;font:500 18px/1.35 var(--sans);letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--accent-t)}
.faq details[open] summary .pl{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;max-width:62ch;color:var(--muted)}

/* (12) NOTATKI */
.notes{margin-top:88px;align-items:start}
.feat-post{grid-column:1 / span 6;display:grid;gap:20px}
.feat-post .im{border-radius:14px;overflow:hidden;aspect-ratio:16/10;background:var(--card)}
.feat-post img,.post img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.feat-post:hover img,.post:hover img{transform:scale(1.03);filter:none}
.feat-post h3{font:500 34px/1.1 var(--sans);letter-spacing:-.035em;max-width:22ch}
.meta{display:flex;gap:12px;color:var(--grey)}
.posts{grid-column:7 / span 6;display:grid}
.post{display:grid;grid-template-columns:200px 1fr;gap:22px;padding:22px 0;border-top:1px solid var(--line);align-items:start}
.post:first-child{border-top:0;padding-top:0}
.post .im{border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:var(--card)}
.post h3{font:500 20px/1.25 var(--sans);letter-spacing:-.02em;margin-top:10px}
.post:hover h3,.feat-post:hover h3{color:var(--accent-t)}

/* (13) CTA */
.cta-sec{position:relative;background:var(--accent);color:var(--paper);overflow:hidden;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;padding:120px 0 64px}
.cta-sec .lines i{border-color:rgba(14,15,17,.12)}
.cta-sec .strip{color:var(--ink)}
.cta-sec .strip .rule{background:rgba(14,15,17,.2)}
.cta-sec .portrait{position:absolute;right:0;bottom:0;height:92%;width:52%;z-index:0}
.cta-sec .portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 30%);mask-image:linear-gradient(to right,transparent,#000 30%)}
.cta-sec .grid.big{margin-top:auto;align-items:end;position:relative;z-index:2}
.cta-sec h2{grid-column:1 / span 8;font:700 112px/.9 var(--sans);letter-spacing:-.05em;text-transform:uppercase}
.cta-sec h2 .k{color:var(--ink)}
.cta-sec .sub{grid-column:1 / span 5;margin-top:36px;font:500 22px/1.3 var(--sans);letter-spacing:-.02em;color:var(--ink)}
.cta-sec .act{grid-column:1 / span 6;margin-top:44px;display:flex;gap:16px;align-items:center}
.cta-sec .act .note{color:var(--ink);font-size:14px;max-width:24ch}

/* ═════════════════════════ (14) STOPKA — kurtyna ═════════════════════════ */
.foot{position:fixed;left:0;right:0;bottom:0;z-index:0;height:100vh;height:100svh;background:var(--ink);color:var(--paper);display:flex;flex-direction:column;overflow:hidden}
.foot .lines{z-index:0}
.foot > *{position:relative;z-index:1}
.foot .top{padding-top:calc(var(--nav) + 40px);row-gap:48px}
.foot .tag{grid-column:1 / span 5;font:500 38px/1.08 var(--sans);letter-spacing:-.035em;color:var(--grey-d)}
.foot .tag b{color:var(--paper);font-weight:500}
.foot .time{grid-column:1 / span 4;font:500 34px/1.12 var(--sans);letter-spacing:-.03em;color:var(--accent-t);font-variant-numeric:tabular-nums}
.foot nav{display:grid;gap:10px;align-content:start}
.foot nav h4{margin-bottom:8px;color:var(--grey-d)}
.foot nav a{font-size:15px;display:inline-flex;gap:8px;align-items:center;width:max-content}
.foot nav a:hover{color:var(--accent-t)}
.foot .n1{grid-column:7 / span 2}.foot .n2{grid-column:9 / span 2}.foot .n3{grid-column:11 / span 2}
.foot .contact{grid-column:7 / span 6;display:grid;gap:6px}
.foot .contact a.big{font:500 44px/1.05 var(--sans);letter-spacing:-.04em;width:max-content}
.foot .contact a.big:hover{color:var(--accent-t)}
.foot .contact a.ph2{font:500 26px/1.1 var(--sans);letter-spacing:-.03em;color:var(--grey-d);width:max-content}
.foot .contact a.ph2:hover{color:var(--paper)}
.foot .co{grid-column:1 / span 5;color:var(--grey-d)}
.foot .mega{margin-top:auto;padding:0 var(--m)}
.foot .mega svg{width:100%;height:auto;overflow:visible}
.foot .legal{display:flex;justify-content:space-between;gap:24px;padding:18px var(--m) 22px;color:var(--grey-d)}
.foot .legal nav{display:flex;gap:24px}
.foot .legal a:hover{color:var(--paper)}

/* ═════════════════════════ WĄSKIE EKRANY ═════════════════════════ */
@media (max-width:1180px){
  .t2{font-size:46px}.lead{font-size:28px}
  .case h3{font-size:72px}
  .famlist .nm{font-size:56px}
  .cta-sec h2{font-size:84px}
}
@media (max-width:1100px){
  .nav .links{display:none}
  .nav .fam{display:none}
  .nav .right{grid-column:6 / span 7}
  .statement{grid-column:5 / span 8;font-size:40px}
  .hero-sub{grid-column:5 / span 5}
}
@media (max-width:860px){
  :root{--m:16px;--g:12px;--nav:60px}
  .strip .c{display:none}
  .strip .l{grid-column:1 / span 7}.strip .r{grid-column:8 / span 5}
  .when{grid-column:1 / -1;font-size:22px;order:3;margin-top:28px}
  .statement{grid-column:1 / -1;font-size:32px}
  .hero-sub{grid-column:1 / span 10}
  .hero-cta,.hint{display:none}
  .reel-ui .t{font-size:28px}
  .section{padding:88px 0 100px}
  .t2{font-size:36px}.lead{font-size:24px}
  .head .t2,.head .side,.about .lead{grid-column:1 / -1}
  .head .side,.about .lead{margin-top:28px}
  .head .lead{grid-column:1 / -1;margin-top:28px}
  .stat{grid-column:span 6;margin-bottom:24px}.stat .n{font-size:52px}
  .quote,.quote-row .cta{grid-column:1 / -1}.quote-row .cta{margin-top:28px}
  .client{grid-column:span 6;height:150px}
  .more-row p,.more-row .ghost,.after-cases p,.after-cases .ghost{grid-column:1 / -1;justify-self:start;margin-top:12px}
  .case h3{font-size:48px}.case .sub{font-size:22px}
  .case .info,.case .shot{grid-column:1 / -1}.case .shot{aspect-ratio:16/10}
  .case .grid{align-content:start;row-gap:24px}
  .case dl{display:none}
  .tiles{width:92vw}
  .tile .tx{font-size:11px;left:12px;right:12px}.tile .tx b{font-size:12px}
  .lab-foot .lead,.lab-foot .ghost{grid-column:1 / -1;justify-self:start;margin-top:16px}
  .svc-box{padding:4px 18px}
  .svc summary{grid-template-columns:36px 1fr auto}.svc summary h3{font-size:26px}
  .svc .tog{width:40px;height:40px}
  .svc .inner{grid-template-columns:1fr}.svc .inner > *{grid-column:1 !important}
  .svc .inner ul{grid-template-columns:1fr}
  .mcard{grid-column:span 12;aspect-ratio:auto;min-height:340px;margin-bottom:12px}
  .famlist .i,.famlist .ds{display:none}
  .famlist .nm{grid-column:1 / span 9;font-size:36px}.famlist .dm{grid-column:10 / span 3}.famlist .dm .mono{display:none}
  .sites .copy,.dash{grid-column:1 / -1}.dash{margin-top:40px}.dash .g{font-size:100px}
  .dash .kpis{grid-template-columns:1fr 1fr}
  .feat{grid-template-columns:1fr}
  .opcard:nth-child(n){transform:none}
  .plan{grid-column:span 12;min-height:480px}
  .faq .side,.faq .cats{grid-column:1 / -1;position:static}.faq .cats{margin-top:40px}
  .feat-post,.posts{grid-column:1 / -1}.posts{margin-top:40px}
  .post{grid-template-columns:120px 1fr}
  .cta-sec h2{grid-column:1 / -1;font-size:52px}.cta-sec .sub,.cta-sec .act{grid-column:1 / -1}
  .cta-sec .portrait{width:100%;height:55%;opacity:.7}
  .foot .tag,.foot .time,.foot .contact,.foot .co{grid-column:1 / -1}
  .foot .n1,.foot .n2,.foot .n3{grid-column:span 4}
  .foot .tag{font-size:26px}.foot .contact a.big{font-size:28px}
  .foot .legal{flex-direction:column}
}

/* ═════════════════════════ MENU ROZWIJANE ═════════════════════════ */
.nav .links{gap:26px;align-items:center}
.nav .mi{display:flex;align-items:center;gap:2px;position:relative}
.nav .mi > a{position:relative;padding:8px 0}
.nav .mi > a[aria-current="page"]::after{transform:scaleX(1)}
.nav .mi > a[aria-current="page"] sup{opacity:1;color:var(--accent-t)}
.chev{width:18px;height:22px;display:grid;place-items:center;opacity:.6;transition:opacity .2s ease}
.chev:hover,.chev[aria-expanded="true"]{opacity:1}
.chev::before{content:"";width:5px;height:5px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s ease}
.chev[aria-expanded="true"]::before{transform:translateY(2px) rotate(225deg)}
.nav[data-menu="open"]{color:var(--ink);background:var(--paper);border-bottom-color:var(--line)}
.mega{position:absolute;top:var(--nav);left:0;right:0;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);display:none;
  box-shadow:0 50px 90px -50px rgba(14,15,17,.45)}
.mega.open{display:block;animation:mmIn .22s ease both}
@keyframes mmIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mega .grid{padding-block:36px 40px;align-items:start}
.mega .lead-col{grid-column:1 / span 3;display:grid;gap:16px;align-content:start}
.mega .lead-col p{color:var(--muted);font-size:15px;max-width:30ch}
.mega .lead-col a{font-weight:500;display:inline-flex;gap:8px;align-items:center;width:max-content;border-bottom:1px solid currentColor;padding-bottom:3px}
.mega .lead-col a:hover{color:var(--accent-t)}
.mega .body-col{grid-column:4 / -1}
.mm-cases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--g)}
.mm-case{display:grid;gap:10px}
.mm-case .im{aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--card)}
.mm-case img,.mm-case video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.mm-case:hover img,.mm-case:hover video{transform:scale(1.05)}
.mm-case b{font:600 20px/1 var(--sans);letter-spacing:-.03em;text-transform:uppercase}
.mm-case span{color:var(--muted);font-size:13.5px;line-height:1.35}
.mm-case:hover b{color:var(--accent-t)}
.mm-list{display:grid;grid-template-columns:1fr 1fr;column-gap:32px}
.mm-list a{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;padding:14px 0;border-top:1px solid var(--line)}
.mm-list a b{font:500 20px/1.15 var(--sans);letter-spacing:-.025em}
.mm-list a span.d{grid-column:1 / span 2;color:var(--muted);font-size:13.5px;margin-top:2px}
.mm-list a em{font-style:normal;font:500 11px/1 var(--mono);text-transform:uppercase;color:var(--accent-t);grid-row:1}
.mm-list a:hover b{color:var(--accent-t)}
.mm-big{display:grid;grid-template-columns:2fr 1fr;gap:32px;align-items:start}
.mm-big .rows a{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-top:1px solid var(--line)}
.mm-big .rows a b{font:500 32px/1 var(--sans);letter-spacing:-.04em}
.mm-big .rows a:hover b{color:var(--accent-t)}
.mm-big .rows a sup{font:500 11px/1 var(--mono);color:var(--grey);margin-left:6px;vertical-align:14px}
.mm-big figure{border-radius:12px;overflow:hidden;aspect-ratio:4/5;background:var(--card)}
.mm-big figure img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06)}
.mm-fig{position:relative}
.mm-fig img{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .45s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.mm-fig img.on{opacity:1;transform:none}
.mm-big .rows a.on b{color:var(--accent-t)}

/* ═════════════════════════ PODSTRONY — wspólne ═════════════════════════ */
.phero{position:relative;background:var(--paper);padding:calc(var(--nav) + 18px) 0 64px}
.phero > *:not(.lines){position:relative;z-index:1}
.strip a{border-bottom:1px solid currentColor}
.strip a:hover{color:var(--accent-t)}
.gword{padding:56px var(--m) 0;position:relative;z-index:1}
.gword .giant{display:inline-block;text-align:left}
.dark .giant,[data-dark] .giant{background:linear-gradient(180deg,#F4F4F2 30%,#5F6268 100%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 34px 26px rgba(0,0,0,.45))}
.intro{margin-top:44px;align-items:end;row-gap:28px}
.intro .lead{grid-column:1 / span 7}
.intro .filters{grid-column:8 / span 5;justify-content:flex-end}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button{height:38px;padding:0 15px;border-radius:999px;border:1px solid var(--line);font:500 14px/1 var(--sans);color:var(--muted);transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.filters button sup{font:500 9px/1 var(--mono);margin-left:4px;vertical-align:6px}
.filters button:hover{border-color:var(--ink);color:var(--ink)}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tags-l span,.tags.light span{padding:7px 10px;border:1px solid var(--line);border-radius:6px;font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.tags-l{display:flex;gap:6px;flex-wrap:wrap}
ul.plus{margin:0;padding:0;list-style:none;display:grid;gap:12px}
ul.plus li{display:flex;gap:12px;align-items:baseline;font-size:18px;letter-spacing:-.01em}
ul.plus li::before{content:"+";font-family:var(--mono);color:var(--accent-t)}

/* pas CTA */
.cta-band{position:relative;background:var(--ink);color:var(--paper);padding:140px 0 120px;overflow:hidden}
.cta-band::before{content:"";position:absolute;right:-12vw;top:-30%;width:58vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,74,31,.55),rgba(255,74,31,0) 62%);filter:blur(10px);pointer-events:none}
.cta-band .grid{position:relative;z-index:1}
.cta-band h2{grid-column:1 / span 9;font:700 104px/.9 var(--sans);letter-spacing:-.05em;text-transform:uppercase}
.cta-band .sub{grid-column:1 / span 5;margin-top:32px;font:500 22px/1.3 var(--sans);letter-spacing:-.02em;color:var(--grey-d)}
.cta-band .act{grid-column:1 / -1;margin-top:44px;display:flex;gap:14px;flex-wrap:wrap}

/* ═════════════════════════ REALIZACJE — lista ═════════════════════════ */
.works{row-gap:88px;align-items:start}
.work{grid-column:span 6;display:grid;gap:16px;align-content:start}
.work[hidden]{display:none}
.work:nth-child(even){margin-top:140px}
.work .im{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--card)}
.work .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.work:hover .im img{transform:scale(1.04)}
.work .arw{position:absolute;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;
  opacity:0;transform:scale(.7);transition:opacity .3s ease,transform .4s cubic-bezier(.2,.7,.2,1)}
.work:hover .arw{opacity:1;transform:scale(1)}
.work .row1{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:6px}
.work h2{font:700 44px/.95 var(--sans);letter-spacing:-.045em;text-transform:uppercase}
.work:hover h2{color:var(--accent-t)}
.work .yr{font:500 12px/1 var(--mono);color:var(--grey);white-space:nowrap}
.work > p{color:var(--muted);font-size:17px;letter-spacing:-.01em}
.work .soon{font-size:13px}
.cta-card .im{background:var(--accent);display:grid;place-items:center}
.cta-card .ctx{display:grid;gap:8px;text-align:center;color:var(--ink)}
.cta-card .ctx b{font:700 64px/.9 var(--sans);letter-spacing:-.05em;text-transform:uppercase}
.cta-card .ctx span:last-child{font:500 22px/1 var(--sans);letter-spacing:-.02em}
.cta-card .arw{opacity:1;transform:none;background:var(--ink);color:var(--paper)}

/* ═════════════════════════ CASE ═════════════════════════ */
.chero{position:relative;background:var(--ink);color:var(--paper);padding:calc(var(--nav) + 18px) 0 0}
.chero > *:not(.lines){position:relative;z-index:1}
.chero .intro .sub{grid-column:1 / span 7;font:500 34px/1.1 var(--sans);letter-spacing:-.032em}
.chero .intro .tags{grid-column:9 / span 4;justify-self:end;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.chero .tags span{padding:7px 10px;border:1px solid rgba(244,244,242,.2);border-radius:6px;font:500 11px/1 var(--mono);text-transform:uppercase;letter-spacing:.03em}
.cmeta{margin:56px 0 0}
.cmeta div{grid-column:span 3;border-top:1px solid var(--line-d);padding-top:14px}
.cmeta dt{color:var(--grey-d)}
.cmeta dd{margin-top:8px;font-size:17px}
.cover{margin:64px var(--m) 0;border-radius:20px 20px 0 0;overflow:hidden;aspect-ratio:21/9;background:var(--panel)}
.cover img{width:100%;height:100%;object-fit:cover}
.story{margin-top:96px}
.srow{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;border-top:1px solid var(--line);padding:26px 0 64px;align-items:start}
.srow h3{grid-column:1 / span 3;font:500 16px/1.4 var(--sans)}
.srow .big,.srow ul{grid-column:4 / span 6}
.srow .big{font:500 26px/1.3 var(--sans);letter-spacing:-.025em;color:var(--grey)}
.srow .big b{color:var(--ink);font-weight:500}
.srow .n{grid-column:10 / span 3;justify-self:end;color:var(--grey)}
.gallery{margin-top:72px;row-gap:var(--g)}
.gallery figure{border-radius:12px;overflow:hidden;background:var(--card);cursor:zoom-in}
.gallery figure img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.gallery figure:hover img{transform:scale(1.025)}
.g12{grid-column:1 / -1;aspect-ratio:21/9}.g8{grid-column:span 8;aspect-ratio:16/10}.g6{grid-column:span 6;aspect-ratio:4/3}.g4{grid-column:span 4;aspect-ratio:4/5}
.g8 + .g4,.g4 + .g8{aspect-ratio:auto}
.phbox-l{display:grid;place-items:center;background:repeating-linear-gradient(135deg,#ECECEA 0 12px,#E4E4E1 12px 24px);color:var(--grey);cursor:default}
[data-dark] .phbox-l{background:repeating-linear-gradient(135deg,#1A1B1E 0 12px,#151618 12px 24px);color:var(--grey-d)}
.quote-big{margin-top:72px}
.quote-big blockquote{grid-column:2 / span 9;font:italic 500 44px/1.15 var(--sans);letter-spacing:-.035em}
.quote-big p{grid-column:2 / span 9;margin-top:28px;color:var(--grey)}
.nextcase{display:block;position:relative;background:var(--ink);color:var(--paper);padding:110px 0 80px;overflow:hidden}
.nextcase > *:not(.lines){position:relative;z-index:1}
.nextcase .lbl{grid-column:1 / span 6;color:var(--grey-d)}
.nextcase .yr{grid-column:7 / span 6;justify-self:end;color:var(--grey-d)}
.nextcase .gword{padding-top:24px}
.nextcase .t{grid-column:1 / span 8;margin-top:28px;font:500 28px/1.15 var(--sans);letter-spacing:-.03em;color:var(--grey-d)}
.nextcase .c{grid-column:12;justify-self:end;margin-top:20px;width:64px;height:64px;border-radius:50%;border:1px solid rgba(244,244,242,.3);display:grid;place-items:center;transition:background-color .3s ease,border-color .3s ease,color .3s ease}
.nextcase:hover .c{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.nextcase:hover .giant{background:linear-gradient(180deg,#FF6A45 30%,#B8361A 100%);-webkit-background-clip:text;background-clip:text}

/* ═════════════════════════ PORTFOLIO ═════════════════════════ */
.pf{columns:3;column-gap:var(--g);padding-inline:var(--m)}
.pfi{display:block;break-inside:avoid;margin:0 0 56px}
.pfi[hidden]{display:none}
.pfi .im{display:block;position:relative;border-radius:14px;overflow:hidden;background:var(--card)}
.pfi img{width:100%;height:auto;display:block;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.pfi:hover img{transform:scale(1.035)}
.pfi .arw{position:absolute;right:16px;bottom:16px;width:52px;height:52px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;
  opacity:0;transform:scale(.7) rotate(-45deg);transition:opacity .35s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.pfi:hover .arw,.pfi:focus-visible .arw{opacity:1;transform:none}
.pfi .cap{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:16px 2px 0}
.pfi .cap .l{display:grid;gap:4px}
.pfi .cap b{font:500 22px/1.1 var(--sans);letter-spacing:-.03em;transition:color .3s ease}
.pfi:hover .cap b{color:var(--accent-t)}
.pfi .cap .t{font-size:14.5px;line-height:1.35;color:var(--muted)}
.pfi .cap .r{display:grid;gap:4px;justify-items:end;color:var(--grey);text-align:right;padding-top:5px}
.pfi .phb{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;padding:24px;color:var(--grey);
  background:repeating-linear-gradient(135deg,#ECECEA 0 12px,#E4E4E1 12px 24px)}
.pfi .phb.tall{aspect-ratio:4/5}

/* podgląd na pełnym ekranie */
.lb{position:fixed;inset:0;z-index:80;background:rgba(10,11,13,.94);display:none;align-items:center;justify-content:center;padding:64px}
.lb.open{display:flex}
.lb img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.lb .cap{position:absolute;left:24px;bottom:22px;color:var(--paper)}
.lb .cap b{display:block;font:500 18px/1.2 var(--sans);letter-spacing:-.02em}
.lb .cap span{color:var(--grey-d)}
.lb button{position:absolute;color:var(--paper);width:52px;height:52px;border-radius:50%;border:1px solid rgba(244,244,242,.25);display:grid;place-items:center;font:500 18px/1 var(--sans)}
.lb button:hover{background:var(--paper);color:var(--ink)}
.lb .x{top:20px;right:20px}.lb .pv{left:20px;top:50%;margin-top:-26px}.lb .nx{right:20px;top:50%;margin-top:-26px}
.lb .cnt{position:absolute;right:24px;bottom:26px;color:var(--grey-d)}

/* ═════════════════════════ USŁUGI ═════════════════════════ */
.svc-page{margin-top:24px;align-items:start}
.svc-index{grid-column:1 / span 3;position:sticky;top:calc(var(--nav) + 28px);display:grid}
.svc-index a{display:grid;grid-template-columns:36px 1fr;gap:8px;padding:11px 0;border-top:1px solid var(--line);font-size:15px;color:var(--muted);transition:color .2s ease}
.svc-index a .idx{font-size:11px;padding-top:3px}
.svc-index a:hover,.svc-index a.on{color:var(--ink)}
.svc-index a.on .idx b{color:var(--accent-t)}
.svc-blocks{grid-column:4 / -1}
.sblock{padding:8px 0 96px;margin-bottom:88px;border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--nav) + 24px)}
.sblock:last-child{border-bottom:0;margin-bottom:0}
.sblock .top{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.sblock h2{margin-top:14px;font:600 72px/.95 var(--sans);letter-spacing:-.05em}
.sblock .lead{margin-top:28px;max-width:30em}
.sblock .cols{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));column-gap:var(--g);margin-top:48px;row-gap:40px}
.sblock .cols > div{grid-column:span 4}
.sblock .cols > div + div{grid-column:6 / span 4}
.sblock h3{margin-bottom:16px;color:var(--grey)}
.sblock .steps3{display:grid;gap:0}
.sblock .steps3 p{display:grid;grid-template-columns:40px 1fr;padding:12px 0;border-top:1px solid var(--line);font-size:16px}
.sblock .steps3 p > span:first-child{font:500 12px/1.6 var(--mono);color:var(--grey)}
.sblock .steps3 p > span + span{color:var(--muted)}
.rel{grid-column:1 / -1;display:grid;grid-template-columns:200px 1fr auto;gap:22px;align-items:center;padding:16px;border-radius:14px;background:var(--card);
  box-shadow:0 1px 0 rgba(14,15,17,.04),0 20px 40px -30px rgba(14,15,17,.3);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.rel:hover{transform:translateY(-3px)}
.rel .im{aspect-ratio:16/10;border-radius:9px;overflow:hidden;background:var(--paper)}
.rel .im img{width:100%;height:100%;object-fit:cover}
.rel b{display:block;font:600 24px/1.05 var(--sans);letter-spacing:-.035em}
.rel span.m{color:var(--grey)}
.rel .c{width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center}
.rel.brand{background:var(--ink);color:var(--paper)}
.rel.brand .c{background:var(--accent);color:var(--ink)}
.rel.brand .im{display:grid;place-items:center;background:var(--panel)}
.rel.brand .im svg{width:70%;fill:var(--paper)}
.steps{margin-top:72px;row-gap:var(--g)}
.step{grid-column:span 4;background:var(--card);border-radius:16px;padding:28px;min-height:300px;display:flex;flex-direction:column;
  box-shadow:0 1px 0 rgba(14,15,17,.04),0 20px 50px -34px rgba(14,15,17,.3)}
.step .num{font:700 96px/.8 var(--sans);letter-spacing:-.06em;color:var(--accent-t)}
.step h3{margin-top:auto;font:500 32px/1 var(--sans);letter-spacing:-.04em}
.step p{margin-top:12px;color:var(--muted)}
.step.ink{background:var(--ink);color:var(--paper)}.step.ink p{color:var(--grey-d)}

/* ═════════════════════════ STUDIO ═════════════════════════ */
.story2{margin-top:72px;align-items:start}
.story2 .col1{grid-column:1 / span 5}
.story2 .col2{grid-column:7 / span 6;display:grid;gap:22px}
.story2 .col2 p{font-size:19px;line-height:1.6;color:#2B2D31}
.story2 figure{border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:var(--card)}
.story2 figure img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06)}
.team{margin-top:72px;row-gap:56px}
.person{grid-column:span 6;display:grid;gap:18px}
.person .im{border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:var(--card)}
.person .im img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;filter:grayscale(1) contrast(1.08);transition:filter .6s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.person:hover .im img{filter:none;transform:scale(1.02)}
.person .row1{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.person h3{font:700 48px/.95 var(--sans);letter-spacing:-.045em;text-transform:uppercase}
.person .row1 .role{color:var(--accent-t);display:block;grid-column:auto;padding:0;border:0}
.person p{color:var(--muted);font-size:16.5px;max-width:46ch}
.crew{grid-column:span 3;display:grid;gap:12px}
.crew .phb{aspect-ratio:3/4;border-radius:14px;display:grid;place-items:center;text-align:center;padding:18px;background:repeating-linear-gradient(135deg,#ECECEA 0 12px,#E4E4E1 12px 24px);color:var(--grey)}
.crew b{font-weight:500}
.values{margin-top:72px;row-gap:40px}
.val{grid-column:span 3;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:12px;align-content:start}
.val h3{font:500 26px/1.1 var(--sans);letter-spacing:-.03em}
.val p{color:var(--muted);font-size:15.5px}

/* ═════════════════════════ NOTATKI / ARTYKUŁ ═════════════════════════ */
#posts{row-gap:64px;align-items:start}
.pcard{grid-column:span 4;display:grid;gap:14px;align-content:start}
.pcard[hidden]{display:none}
.pcard .im{border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--card)}
.pcard img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.pcard:hover img{transform:scale(1.03);filter:none}
.pcard h3{font:500 24px/1.15 var(--sans);letter-spacing:-.03em}
.pcard:hover h3{color:var(--accent-t)}
.pcard.feat{grid-column:1 / -1;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:end}
.pcard.feat .im{grid-column:1 / span 8;aspect-ratio:16/9}
.pcard.feat .meta{grid-column:9 / span 4;grid-row:1;align-self:start}
.pcard.feat h3{grid-column:9 / span 4;grid-row:1;font-size:42px;line-height:1.05;letter-spacing:-.04em}
.art-hero{padding-bottom:0}
.ahead{margin-top:64px;row-gap:28px}
.ahead .meta{grid-column:1 / -1}
.ahead h1{grid-column:1 / span 10;font:600 76px/.98 var(--sans);letter-spacing:-.05em;text-wrap:balance}
.ahead .who{grid-column:1 / -1}
.acover{margin-top:56px}
.acover div{grid-column:1 / -1;border-radius:20px;overflow:hidden;aspect-ratio:21/9;background:var(--card)}
.acover img{width:100%;height:100%;object-fit:cover}
.prose{grid-column:4 / span 6;font-size:19px;line-height:1.7;color:#2B2D31}
.prose h2{margin:56px 0 16px;font:600 32px/1.15 var(--sans);letter-spacing:-.035em;color:var(--ink)}
.prose h3{margin:36px 0 12px;font:600 22px/1.25 var(--sans);letter-spacing:-.02em;color:var(--ink)}
.prose p{margin:0 0 20px}
.prose ul{margin:0 0 24px;padding:0;list-style:none;display:grid;gap:12px}
.prose li{display:grid;grid-template-columns:22px 1fr;font-size:18px}
.prose li::before{content:"+";font-family:var(--mono);color:var(--accent-t)}
.prose b{font-weight:600;color:var(--ink)}
.prose > :first-child{margin-top:0}
.legaltext{font-size:17px}
.legaltext li{font-size:16px}
.authorbox{grid-column:4 / span 6;margin-top:56px;padding-top:28px;border-top:1px solid var(--ink);display:grid;grid-template-columns:72px 1fr;gap:20px;align-items:start}
.authorbox img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 18%;filter:grayscale(1)}
.authorbox b{display:block;font:500 20px/1.2 var(--sans);margin-top:4px}
.authorbox p{color:var(--muted);margin-top:6px;font-size:15px}
.authorbox .ghost{grid-column:2;justify-self:start}
.pn{grid-column:1 / -1;margin-top:96px;display:grid;grid-template-columns:1fr 1fr;gap:var(--g)}
.pn a{display:grid;gap:10px;padding:24px;border-radius:14px;background:var(--card);transition:background-color .3s ease,color .3s ease}
.pn a b{font:500 22px/1.2 var(--sans);letter-spacing:-.025em}
.pn a:hover{background:var(--ink);color:var(--paper)}
.pn .pn-next{text-align:right}

/* ═════════════════════════ KONTAKT ═════════════════════════ */
.cgrid{margin-top:24px;align-items:start}
.cinfo{grid-column:1 / span 5;display:grid;gap:40px}
.cinfo a.big{font:500 48px/1.02 var(--sans);letter-spacing:-.045em;width:max-content;max-width:100%}
.cinfo a.big:hover{color:var(--accent-t)}
.cinfo a.tel{font:500 30px/1 var(--sans);letter-spacing:-.035em;color:var(--grey)}
.cinfo a.tel:hover{color:var(--ink)}
.cinfo dl div{display:grid;grid-template-columns:120px 1fr;padding:12px 0;border-top:1px solid var(--line);font-size:15px}
.cinfo dt{color:var(--grey)}
.people{display:grid;grid-template-columns:1fr 1fr;gap:var(--g)}
.people div{display:grid;gap:10px}
.people img{aspect-ratio:1;border-radius:12px;object-fit:cover;object-position:50% 20%;filter:grayscale(1)}
.people b{font-weight:500}.people span{color:var(--grey);font-size:14px}
.formbox{grid-column:7 / span 6;background:var(--card);border-radius:20px;padding:36px;box-shadow:0 1px 0 rgba(14,15,17,.04),0 30px 60px -40px rgba(14,15,17,.35)}
.formbox h2{font:600 34px/1.05 var(--sans);letter-spacing:-.04em;margin-bottom:28px}
.fields2{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.field{display:grid;gap:6px;margin-bottom:22px}
.field label,.fgroup > span{color:var(--grey)}
.field input,.field textarea{font:400 17px/1.4 var(--sans);color:var(--ink);padding:10px 0 12px;border:0;border-bottom:1px solid rgba(14,15,17,.2);background:transparent;outline:none;border-radius:0;resize:vertical;transition:border-color .2s ease}
.field input:focus,.field textarea:focus{border-bottom-color:var(--ink)}
.field .msg{display:none;color:var(--accent-t);font-size:13px}
.err input,.err textarea{border-bottom-color:var(--accent)}
.err .msg{display:block}
.fgroup{display:grid;gap:12px;margin-bottom:26px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips button{height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(14,15,17,.16);font:500 14px/1 var(--sans);color:var(--muted);transition:all .2s ease}
.chips button:hover{border-color:var(--ink);color:var(--ink)}
.chips button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:var(--muted);margin:6px 0 26px}
.consent input{width:18px;height:18px;margin-top:1px;accent-color:var(--ink);flex:none}
.consent a{border-bottom:1px solid currentColor}
.consent.err{color:var(--accent-t)}
.fsub{display:flex;justify-content:space-between;align-items:center;gap:16px}
.fsub .note{font-size:12.5px;color:var(--grey);max-width:30ch}
.sent-msg{display:none;outline:none}
.sent .fields-all{display:none}
.sent .sent-msg{display:grid;gap:14px;padding:40px 0}
.sent-msg b{font:600 40px/1 var(--sans);letter-spacing:-.045em}
.mapph{grid-column:1 / -1;margin-top:96px;border-radius:20px;aspect-ratio:21/7;display:grid;place-items:center;text-align:center;color:var(--grey);
  background:radial-gradient(circle at 50% 50%,rgba(255,74,31,.25) 0 6px,transparent 7px),radial-gradient(rgba(14,15,17,.18) 1px,transparent 1.5px) 0 0/18px 18px,var(--card)}

/* ═════════════════════════ SPOKO SITES — strona ═════════════════════════ */
.packs{margin-top:72px;row-gap:var(--g)}
.pack{grid-column:span 4;background:var(--card);border-radius:18px;padding:30px;display:flex;flex-direction:column;gap:18px;min-height:520px;
  box-shadow:0 1px 0 rgba(14,15,17,.04),0 20px 50px -34px rgba(14,15,17,.3)}
.pack.ink{background:var(--ink);color:var(--paper)}
.pack.acc{background:var(--accent)}
.pack h3{font:600 40px/1 var(--sans);letter-spacing:-.045em}
.pack .pr{font:600 44px/1 var(--sans);letter-spacing:-.045em}
.pack .pr small{font:500 15px/1 var(--sans);letter-spacing:0;opacity:.75}
.pack ul{margin:0;padding:0;list-style:none;display:grid;gap:10px;margin-top:auto}
.pack li{display:flex;gap:10px;font-size:15px}
.pack li::before{content:"+";font-family:var(--mono);color:var(--accent-t)}
.pack.acc li::before{color:var(--ink)}
.pack.ink li{color:#C9CBCF}
.how{margin-top:72px}

/* ═════════════════════════ KARIERA ═════════════════════════ */
.roles{margin-top:56px}
.role{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:center;padding:28px 0;border-top:1px solid var(--line)}
.role:last-child{border-bottom:1px solid var(--line)}
.role .i{grid-column:1 / span 1}
.role b{grid-column:2 / span 5;font:600 44px/1 var(--sans);letter-spacing:-.045em}
.role span.d{grid-column:7 / span 3;color:var(--muted)}
.role .ghost{grid-column:10 / span 3;justify-self:end}

/* ═════════════════════════ PODSTRONY — wąskie ekrany ═════════════════════════ */
@media (max-width:1180px){
  .sblock h2{font-size:56px}.cta-band h2{font-size:76px}
  .ahead h1{font-size:56px}
}
@media (max-width:1100px){
  .mega{display:none !important}
  .chev{display:none}
}
@media (max-width:860px){
  .intro .lead,.intro .filters,.chero .intro .sub,.chero .intro .tags{grid-column:1 / -1;justify-content:flex-start;justify-self:start}
  .work,.work:nth-child(even){grid-column:1 / -1;margin-top:0}
  .work h2{font-size:32px}
  .cmeta div{grid-column:span 6;margin-bottom:12px}
  .cover{aspect-ratio:4/3}
  .srow h3,.srow .big,.srow ul,.srow .n{grid-column:1 / -1;justify-self:start}
  .srow .big{margin-top:12px;font-size:21px}
  .g8,.g6,.g4{grid-column:1 / -1;aspect-ratio:4/3}
  .g12{aspect-ratio:4/3}
  .quote-big blockquote{grid-column:1 / -1;font-size:28px}.quote-big p{grid-column:1 / -1}
  .nextcase .t{grid-column:1 / span 10;font-size:20px}
  .pf{columns:1}
  .lb{padding:16px}
  .svc-index{display:none}.svc-blocks{grid-column:1 / -1}
  .sblock h2{font-size:40px}
  .sblock .cols > div,.sblock .cols > div + div{grid-column:1 / -1}
  .rel{grid-template-columns:96px 1fr auto;gap:14px}
  .step{grid-column:1 / -1;min-height:220px}
  .story2 .col1,.story2 .col2{grid-column:1 / -1}.story2 .col2{margin-top:32px}
  .person{grid-column:1 / -1}.crew{grid-column:span 6}
  .person h3{font-size:32px}.person .row1{flex-wrap:wrap}
  .val{grid-column:span 6}
  .pcard,.pcard.feat{grid-column:1 / -1;display:grid;grid-template-columns:1fr}
  .pcard.feat .im,.pcard.feat .meta,.pcard.feat h3{grid-column:1;grid-row:auto}
  .pcard.feat h3{font-size:28px}
  .ahead h1{grid-column:1 / -1;font-size:38px}
  .prose,.authorbox{grid-column:1 / -1}
  .pn{grid-template-columns:1fr}.pn .pn-next{text-align:left}
  .cinfo,.formbox{grid-column:1 / -1}.formbox{margin-top:40px;padding:24px}
  .cinfo a.big{font-size:30px}
  .fields2{grid-template-columns:1fr}
  .mapph{aspect-ratio:4/3}
  .pack{grid-column:1 / -1;min-height:0}
  .role b{grid-column:1 / span 12;font-size:30px}.role .i,.role span.d{display:none}.role .ghost{grid-column:1 / -1;justify-self:start;margin-top:14px}
  .cta-band h2{font-size:48px;grid-column:1 / -1}.cta-band .sub{grid-column:1 / -1}
}
.case .case-go{justify-self:start;margin-top:4px;border-color:rgba(244,244,242,.3)}
.case .case-go:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.pack .ghost,.pack .pill{align-self:start}
.pack.acc .body,.pack.acc p{color:rgba(14,15,17,.85)}
.svc .inner a.go + a.go{margin-top:0}
.mm-list a b{grid-column:1;grid-row:1}
.mm-list a em{grid-column:2;grid-row:1;justify-self:end}
.mm-list a span.d{grid-column:1 / span 2;grid-row:2}

/* dłuższe teksty leżą na „papierze” — linie siatki nie przecinają liter */
.prose,.authorbox,.srow .big,.srow ul,.story2 .col2 p,.section:not(.dark):not([data-dark]) .head .lead{position:relative;z-index:1;background:var(--paper);box-shadow:0 0 0 22px var(--paper)}

/* ═════════════════════════ SPOKO SITES — barwy marki ═════════════════════════
   żółty #E7E61A + czerń, jak panel i ikona Spoko Sites. Żółty to znak, tło i podkreślenie — nigdy tekst na jasnym tle. */
[data-brand="sites"]{--accent:#E7E61A;--accent-2:#F3F15A;--accent-t:var(--ink)}
[data-brand="sites"] :is(.dark,[data-dark],.foot,.dash,.pack.ink,.step.ink,.amap,.nav[data-theme="dark"]){--accent-t:#E7E61A}
[data-brand="sites"] .t2 .a{color:var(--ink);background:var(--accent);padding:0 .08em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
[data-brand="sites"] .dot{background:var(--accent-t)}
[data-brand="sites"] :focus-visible{outline-color:var(--ink)}
[data-brand="sites"] .cta-band::before{background:radial-gradient(circle,rgba(231,230,26,.38),rgba(231,230,26,0) 62%)}
.nav[data-theme="yellow"]{color:var(--ink);background:rgba(231,230,26,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:rgba(14,15,17,.12)}
.nav[data-theme="yellow"] .pill{background:var(--ink);color:var(--paper)}

/* nagłówek: mieniący się żółty + wąż z ekranu „Panel się aktualizuje” */
.shero{position:relative;overflow:hidden;padding:calc(var(--nav) + 18px) 0 72px;color:var(--ink);
  background:#E7E61A linear-gradient(115deg,#E7E61A 0%,#F6F45E 22%,#DEDC12 45%,#F1EF44 68%,#E3E21A 85%,#F8F670 100%);
  background-size:320% 320%;animation:sites-tlo 16s ease-in-out infinite alternate}
@keyframes sites-tlo{0%{background-position:0% 30%}50%{background-position:100% 60%}100%{background-position:40% 100%}}
.rm .shero{animation:none}
.shero > *:not(.lines){position:relative;z-index:1}
.shero .lines i{border-color:rgba(14,15,17,.13)}
.shero .dot{background:var(--ink)}
.waz-stage{margin:22px 0 4px}
.waz{display:block;width:100%;height:156px;overflow:visible}
#waz-cialo{fill:none;stroke:#0A0A0A;stroke-width:38.3;stroke-linecap:butt}
#waz-zrenica{fill:#0A0A0A}
.shero .giant{background:linear-gradient(180deg,#0A0A0A 38%,#45440B 100%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 30px 24px rgba(70,68,0,.26))}
.shero .lead{color:rgba(14,15,17,.52)}
.shero .lead b{color:var(--ink)}
.shero .cta{grid-column:9 / span 4;justify-self:end;display:flex;gap:12px}
.shero .ghost{border-color:rgba(14,15,17,.35)}

/* mapa ataków: kropkowy świat (Natural Earth 110m), łuki do osłony strony */
.am-wrap{margin-top:56px}
.am-col{grid-column:1 / -1}
.amap{border-radius:20px;overflow:hidden;background:var(--ink);color:var(--paper)}
.am-top{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line-d);color:var(--grey-d)}
.am-top .l{display:flex;align-items:center;gap:10px;color:var(--paper)}
.am-top .r{justify-self:end}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:am-live 2s ease-out infinite}
@keyframes am-live{0%{box-shadow:0 0 0 0 rgba(231,230,26,.55)}100%{box-shadow:0 0 0 9px rgba(231,230,26,0)}}
.am-lg{display:flex;gap:22px}
.am-lg span{display:flex;align-items:center;gap:8px}
.am-lg i{width:8px;height:8px;border-radius:50%}
.am-lg .k-home{background:var(--accent)}
.am-lg .k-src{background:var(--paper)}
.am-lg .k-sh{width:12px;height:12px;border:1px dashed var(--accent);background:rgba(231,230,26,.12)}
.am-map{position:relative;aspect-ratio:240/91;background:radial-gradient(42% 70% at 52% 24%,rgba(231,230,26,.07),transparent 70%)}
.am-map svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.am-map .land{fill:none;stroke:rgba(244,244,242,.17);stroke-width:.58;stroke-linecap:round}
.am-map .pl{fill:none;stroke:var(--accent);stroke-opacity:.75;stroke-width:.58;stroke-linecap:round}
.am-map .arc{fill:none;stroke:rgba(244,244,242,.12);stroke-width:.14;transition:stroke .5s ease}
.am-map .arc.hot{stroke:rgba(231,230,26,.45)}
.am-map .comet{fill:none;stroke:var(--accent);stroke-width:.45;stroke-linecap:round}
.am-map .src{fill:#F4F4F2;fill-opacity:.8;transition:fill .3s ease,fill-opacity .3s ease}
.am-map .src.hot{fill:var(--accent);fill-opacity:1}
.am-map .sh{fill:rgba(231,230,26,.1);stroke:var(--accent);stroke-width:.16;stroke-dasharray:.6 .42}
.am-map .core{fill:var(--accent)}
.am-map .flash{fill:none;stroke:var(--accent);stroke-width:.35;opacity:0;transform-box:fill-box;transform-origin:center}
.am-map .flash.on{animation:am-flash .8s cubic-bezier(.2,.7,.2,1)}
@keyframes am-flash{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}
.am-foot{display:grid;grid-template-columns:1fr 1.25fr 1.5fr;border-top:1px solid var(--line-d)}
.am-foot > div{padding:22px 24px 26px;display:grid;gap:10px;align-content:start}
.am-foot > div + div{border-left:1px solid var(--line-d)}
.am-foot .mono{color:var(--grey-d)}
.am-foot .kpi b{font:600 64px/.9 var(--sans);letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.am-foot .sub{display:flex;align-items:center;gap:8px;color:var(--grey-d);font-size:14px}
.am-foot .sub i{width:8px;height:8px;border-radius:50%;background:#7CE38B}
.am-foot .last em{font-style:normal;color:var(--paper);margin-left:8px}
.am-foot .last b{font:500 28px/1.1 var(--sans);letter-spacing:-.03em}
.am-foot [data-am-type]{color:#C9CBCF;font-size:15px}
.am-foot ol{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.am-foot li{display:grid;grid-template-columns:150px 1fr 40px;align-items:center;gap:12px;font-size:14px;color:#C9CBCF}
.am-foot li i{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--accent) var(--w),rgba(244,244,242,.08) var(--w))}
.am-foot li b{font-weight:500;color:var(--paper);text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:860px){
  .waz{height:118px}.waz-stage{margin:24px 0 6px}
  .shero .cta{grid-column:1 / -1;justify-self:start}
  .am-top{grid-template-columns:1fr auto}.am-lg{display:none}
  .am-map{aspect-ratio:4/3}
  .am-map .land,.am-map .pl{stroke-width:.72}
  .am-foot{grid-template-columns:1fr}.am-foot > div + div{border-left:0;border-top:1px solid var(--line-d)}
  .am-foot li{grid-template-columns:128px 1fr 36px}
}

/* pierwszy ekran: lewitujące przedmioty 3D (assets/hero3d.js) — każdy odpowiada słowu ze zdania */
.hero3d{position:absolute;inset:0;z-index:3;pointer-events:none}
.hero3d canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity 1.4s ease}
.hero3d.ready canvas{opacity:1}
.statement .kw{transition:color .35s ease;text-decoration:underline 2px transparent;text-underline-offset:.14em;transition:color .35s ease,text-decoration-color .35s ease}
.statement.focus .kw:not(.on){color:var(--grey-d)}
.statement .kw.on{text-decoration-color:var(--accent)}

/* logo SPOKO w 3D zamiast napisu „Spoko®” (sekcja Studio) */
.logo3d{position:relative;display:block;width:min(100%,5.05em);aspect-ratio:231/36;margin-top:.12em}
.logo3d .lf{position:absolute;left:0;top:-.12em;white-space:nowrap}
.logo3d canvas{position:absolute;left:-14%;top:-90%;width:128%;height:280%;pointer-events:none;opacity:0;transition:opacity .9s ease;
  filter:drop-shadow(0 16px 14px rgba(14,15,17,.12))}
.logo3d.ready canvas{opacity:1}
.logo3d.ready .lf{visibility:hidden}
.how .step{grid-column:span 3}
@media (max-width:860px){
  .how .step{grid-column:1 / -1}
  /* pierwszy ekran na telefonie: treść niżej, u góry miejsce na przedmioty 3D */
  .hero-body{align-items:flex-end}
}

/* sygnet 3D w tle paska „Masz projekt?” — siedzi w środku poświaty */
.cta-mark{position:absolute;left:64vw;top:50%;width:38vw;max-width:620px;aspect-ratio:1;transform:translateY(-50%);pointer-events:none;z-index:0}
.cta-mark canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity 1.6s ease}
.cta-mark.ready canvas{opacity:.78}

/* film „To właśnie Spoko” (ze starej strony) */
.film-row{margin-top:80px}
.film{grid-column:1 / -1;position:relative;margin:0;border-radius:20px;overflow:hidden;background:#000;aspect-ratio:16/9}
.film video{display:block;width:100%;height:100%;object-fit:cover}
.film figcaption{position:absolute;left:20px;right:20px;bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--paper)}
.film .sound{height:36px;padding:0 14px;border-radius:999px;background:rgba(14,15,17,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--paper)}
@media (max-width:860px){
  .cta-mark{left:auto;right:-22vw;top:26%;width:80vw;opacity:.6}
  .film{aspect-ratio:9/16;max-height:86svh}
  .film figcaption .mono:first-child{display:none}
}

/* „Jesteśmy” szare (dwa tony jak w całej stronie), logo 3D w czerni na szerokość słowa nad nim */
.t2-logo .kick{display:block;color:#D3D3CF;font-size:min(2.1em,8.6vw);letter-spacing:-.035em;margin-bottom:.02em}
@media (max-width:860px){.t2-logo .kick{font-size:min(2.1em,16.5vw)}}
.t2-logo .logo3d{width:min(100%,5.2em);margin-top:0}

/* ═════════ znak Spoko Sites: ikona aplikacji + „Spoko Sites” (Syne, jak w panelu) ═════════ */
.ss-lock{display:inline-flex;align-items:center;gap:.42em;font:700 1em/1 'Syne',var(--sans);letter-spacing:-.025em;white-space:nowrap}
.ss-ico{width:1.9em;height:1.9em;flex:none;display:block;filter:drop-shadow(0 .2em .5em rgba(231,230,26,.18))}
.ss-word{color:var(--ink)}
.ss-word .y{text-decoration:underline .16em #E7E61A;text-underline-offset:.1em;text-decoration-skip-ink:none}
.dark .ss-word,.ss-banner .ss-word{color:var(--paper)}
.dark .ss-word .y,.ss-banner .ss-word .y{color:#E7E61A;text-decoration:none}
[data-brand="sites"]:is(.dark,[data-dark]){--accent-t:#E7E61A}

/* sekcja (08) na głównej: ciemna, w barwach Spoko Sites */
.sites-sec{position:relative;overflow:hidden}
.sites-sec::before{content:"";position:absolute;right:-14vw;top:-22%;width:62vw;aspect-ratio:1;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(231,230,26,.2),rgba(231,230,26,0) 60%)}
.ss-h{font-size:46px;margin-bottom:4px}
.dark .feat div{border-top-color:var(--line-d)}
.dark .feat b{color:var(--paper)}
.dark .feat span{color:var(--grey-d)}
.dark .dash{background:var(--panel);box-shadow:0 0 0 1px rgba(244,244,242,.06),0 40px 80px -40px rgba(0,0,0,.7)}
.dark .dash .kpi{background:var(--panel-2)}
.dark .dash .scale span{background:#2A2C31}
.dark .dash .scale span.on{background:var(--accent);color:var(--ink)}

/* mała mapa blokad w panelu (pod oceną bezpieczeństwa) */
.am-mini{display:grid;gap:10px}
.am-cap{display:flex;justify-content:space-between;gap:16px;color:var(--grey-d)}
.am-cap .lg{display:flex;gap:14px}
.am-cap .lg span{display:inline-flex;align-items:center;gap:6px}
.am-cap .lg i{width:7px;height:7px;border-radius:50%}
.am-cap .k-home{background:var(--accent)}
.am-cap .k-src{background:var(--paper)}
.am-mini .am-map{border-radius:12px;overflow:hidden;background:#0E0F12 radial-gradient(42% 70% at 52% 24%,rgba(231,230,26,.08),transparent 70%)}
.log .new{animation:log-in .6s cubic-bezier(.2,.7,.2,1)}
@keyframes log-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.log div b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* baner Spoko Sites w Usługach — widoczny, z ikoną aplikacji */
.ss-banner{grid-column:1 / -1;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;gap:22px 44px;align-items:center;
  padding:38px 40px;border-radius:20px;background:#0B0C0E;color:var(--paper);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.ss-banner::before{content:"";position:absolute;right:-8%;top:-80%;width:62%;aspect-ratio:1;border-radius:50%;z-index:-1;
  background:radial-gradient(circle,rgba(231,230,26,.26),rgba(231,230,26,0) 62%)}
.ss-banner:hover{transform:translateY(-3px)}
.ss-banner .ss-lock{font-size:44px}
.ss-banner .ss-txt{color:var(--grey-d);font-size:16px;line-height:1.5;max-width:46ch}
.ss-banner .ss-txt b{color:var(--paper);font-weight:500}
.ss-banner .ss-chips{grid-column:1 / 3;display:flex;gap:8px;flex-wrap:wrap}
.ss-banner .ss-chips span{padding:8px 12px;border-radius:999px;border:1px solid rgba(244,244,242,.14);color:#C9CBCF}
.ss-banner .pill{grid-column:3;grid-row:1 / span 2;align-self:center}
@media (max-width:860px){
  .ss-h{font-size:34px}
  .ss-banner{grid-template-columns:1fr;padding:28px 24px}
  .ss-banner .ss-lock{font-size:34px}
  .ss-banner .ss-chips,.ss-banner .pill{grid-column:1;grid-row:auto;justify-self:start}
  .am-cap .lg{display:none}
}

/* panel Spoko Sites: duża ocena + z czego się składa (kontrole audytu strony) */
.dash .grade{gap:28px;padding:22px 0 24px;align-items:start}
.dash .g{font-size:96px;line-height:.8;letter-spacing:-.06em}
.gchk{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;font:400 12px/1.35 var(--mono);color:#C9CBCF}
.gchk li{display:flex;gap:10px;align-items:flex-start}
.gchk li::before{content:"";flex:none;width:9px;height:5px;margin-top:3px;border-left:2px solid var(--accent-t);border-bottom:2px solid var(--accent-t);transform:rotate(-45deg)}
.dash .am-mini{padding-top:4px}
/* panel na stronie głównej: mieści się w wysokości kolumny z tekstem */
.sites .dash{gap:18px;padding:24px}
.sites .dash .am-map{width:100%;height:180px;aspect-ratio:auto}
.sites .dash .grade{padding:16px 0 18px}
.sites .dash .scale span{height:30px}
.sites .dash .gchk{margin-top:12px}
@media (max-width:860px){.dash .g{font-size:72px}.dash .grade{gap:20px}.gchk{grid-template-columns:1fr}}

/* ═════════ menu na telefon: przycisk w pasku + panel na cały ekran (papier jak inne panele menu) ═════════ */
.nav .right{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.mbtn{display:none;align-items:center;gap:10px;height:40px;padding:0 4px 0 14px;border:1px solid currentColor;border-radius:999px;
  background:none;color:inherit;font:500 14px/1 var(--sans);letter-spacing:-.01em;cursor:pointer}
.mb-i{position:relative;width:30px;height:30px;border-radius:50%;background:currentColor}
.mb-i i{position:absolute;left:9px;right:9px;height:1.5px;background:var(--paper);transition:transform .3s ease,top .3s ease}
.nav[data-theme="dark"] .mb-i i{background:var(--ink)}
.mb-i i:first-child{top:12px}.mb-i i:last-child{top:17px}
.mbtn[aria-expanded="true"] .mb-i i:first-child{top:14.25px;transform:rotate(45deg)}
.mbtn[aria-expanded="true"] .mb-i i:last-child{top:14.25px;transform:rotate(-45deg)}
.mmenu{position:fixed;inset:var(--nav) 0 0 0;z-index:49;display:flex;flex-direction:column;gap:36px;overflow-y:auto;
  padding:24px var(--m) calc(28px + env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.mmenu[hidden]{display:none}
.js:not(.rm) .mmenu:not([hidden]){animation:mm-in .22s ease both}
@keyframes mm-in{from{opacity:0}to{opacity:1}}
.mm-links{display:grid}
.mm-links a{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font:700 34px/1 var(--sans);letter-spacing:-.03em;text-transform:uppercase}
.mm-links sup{width:22px;font:500 11px/1 var(--mono);color:var(--grey);vertical-align:0}
.mm-links a[aria-current="page"]{color:var(--accent-t)}
.mm-fam{display:grid;gap:10px;font:500 17px/1.2 var(--sans)}
.mm-fam .mono{margin-bottom:4px;color:var(--grey)}
.mm-foot{display:grid;gap:14px;justify-items:start;margin-top:auto}
.mm-tel{font:600 22px/1 var(--sans);letter-spacing:-.02em}
.mm-mail{color:var(--muted)}
html.menu-lock{overflow:hidden}
@media (max-width:1100px){.mbtn{display:inline-flex}}
@media (max-width:560px){.nav .right > .pill{display:none}}

/* logo Spoko Art (tag „spoko” + „art”) — maska SVG, kolor z tekstu; układ jak w nagłówku spokoart.com */
.logo-art{--th:40px;display:inline-flex;align-items:flex-end;gap:calc(var(--th) * .157);line-height:1;vertical-align:bottom}
.logo-art .lt{display:block;height:var(--th);aspect-ratio:1535.6 / 724.8;background:currentColor;
  -webkit-mask:url(../media/spokoart-tag.svg) center / contain no-repeat;mask:url(../media/spokoart-tag.svg) center / contain no-repeat}
.logo-art .la{font:700 calc(var(--th) * .294)/1 var(--sans);letter-spacing:.04em;transform:translate(calc(var(--th) * -1),calc(var(--th) * -.216))}
.family .nm-logo{align-self:center;transition:color .3s ease}
.family .nm-logo .logo-art{--th:58px;margin:-10px 0}
.rel.brand .im .logo-art{--th:58px;color:var(--paper)}
@media (max-width:860px){.family .nm-logo .logo-art{--th:44px;margin:-6px 0}.rel.brand .im .logo-art{--th:40px}}

/* baner Spoko Art w Usługach — układ banera Spoko Sites, akcent Art (niebieski) */
.art-banner::before{background:radial-gradient(circle,rgba(61,139,217,.32),rgba(61,139,217,0) 62%)}
.art-banner .ss-lock{color:var(--paper)}
.art-banner .ss-lock .logo-art{--th:76px}
.art-banner .pill{background:#3D8BD9;color:#0A0A0B}
.art-banner:hover .pill{background:#5A9FE2}
@media (max-width:860px){.art-banner .ss-lock .logo-art{--th:56px}}

/* ── krótki formularz w bloku „Masz pomysł?” (strona główna) ── */
.cta-sec .qform{grid-column:1 / span 6;margin-top:40px;color:var(--ink)}
.cta-sec .q2{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.cta-sec .field label{color:rgba(14,15,17,.62)}
.cta-sec .field input{color:var(--ink);border-bottom-color:rgba(14,15,17,.34)}
.cta-sec .field input:focus{border-bottom-color:var(--ink)}
.cta-sec .field input::placeholder{color:rgba(14,15,17,.45)}
.cta-sec .field .msg{color:var(--ink);font-weight:600}
.cta-sec .err input{border-bottom:2px solid var(--ink)}
.cta-sec .fsub{justify-content:flex-start;margin-top:8px}
.cta-sec .fsub .note{color:var(--ink);font-size:14px;max-width:34ch}
.cta-sec .fsub .note a{border-bottom:1px solid currentColor}
.cta-sec .sent-msg{color:var(--ink);padding:8px 0 0}
.cta-sec .sent-msg .mono{color:var(--ink)}
.cta-sec .sent-msg p{color:var(--ink)}
@media (max-width:860px){
  .cta-sec .qform{grid-column:1 / -1;position:relative;margin-top:32px;padding:22px 20px 24px;border-radius:16px;background:var(--paper)}
  .cta-sec .qform .pill.paper{background:var(--ink);color:var(--paper)}
  .cta-sec .q2{grid-template-columns:1fr}
  .cta-sec .fsub{flex-direction:column;align-items:flex-start}
}

/* ── O nas: Spoko Studio Console (zrzuty w ramce okna przeglądarki) ── */
.con-shot{grid-column:1 / -1;margin:72px 0 0;border-radius:14px;overflow:hidden;background:var(--card);
  box-shadow:0 0 0 1px var(--line),0 40px 80px -50px rgba(14,15,17,.45)}
.con-bar{display:flex;align-items:center;gap:7px;height:38px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--paper)}
.con-bar i{width:10px;height:10px;border-radius:50%;background:rgba(14,15,17,.14)}
.con-bar .mono{margin-left:14px;color:var(--grey);font-size:11px}
.con-shot .phbox-l{display:grid;width:100%;aspect-ratio:16 / 9}
.con-shot img{display:block;width:100%;height:auto}
.con-shot .phbox-l .mono{font-size:12px}
.con-list{margin-top:64px;row-gap:44px}
.con-it{grid-column:span 4;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:10px;align-content:start}
.con-it h3{font:500 24px/1.1 var(--sans);letter-spacing:-.03em}
.con-it p{color:var(--muted);font-size:15.5px;line-height:1.5;max-width:38ch}
.con-duo{margin-top:24px}
.con-duo .con-shot{grid-column:span 6;margin-top:48px}
.con-shot.sm .phbox-l{aspect-ratio:4 / 3}
@media (max-width:1100px){.con-it{grid-column:span 6}}
@media (max-width:860px){
  .con-shot{margin-top:48px;border-radius:10px}
  .con-it,.con-duo .con-shot{grid-column:1 / -1}
  .con-list{margin-top:44px;row-gap:32px}
  .con-duo .con-shot{margin-top:24px}
}

/* ── Kariera: dla freelancerów + karta „Moje zarobki” (stoper tyka, reszta stoi) ── */
.fl{margin-top:64px;align-items:start}
.fl-lista{grid-column:1 / span 8;display:grid;grid-template-columns:1fr 1fr;gap:40px var(--g)}
.fl-lista .con-it{grid-column:auto}
.zarobki{grid-column:9 / span 4;position:sticky;top:calc(var(--nav, 72px) + 24px);background:var(--ink);color:var(--paper);border-radius:18px;padding:24px 24px 20px;
  box-shadow:0 40px 80px -50px rgba(14,15,17,.6)}
.z-hd{display:flex;justify-content:space-between;align-items:center}
.z-hd .mono{color:rgba(244,244,242,.6);font-size:11px}
.z-hd .z-m{color:var(--accent)}
.z-stoper{display:flex;align-items:center;gap:12px;margin-top:22px}
.z-kropka{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(255,90,40,.18)}
.z-czas{font:600 46px/1 var(--mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.z-co{margin-top:10px;font-size:13px;color:rgba(244,244,242,.6)}
.z-dane{margin:22px 0 0;display:grid}
.z-dane div{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-top:1px solid rgba(244,244,242,.1)}
.z-dane dt{font-size:13.5px;color:rgba(244,244,242,.7)}
.z-dane dd{margin:0;font-size:15px;font-weight:500}
.z-dane dd.plus{color:#4ADE80}
.z-stopka{margin-top:14px;padding-top:14px;border-top:1px solid rgba(244,244,242,.1);font-size:11px;color:rgba(244,244,242,.5)}
.fl-kto{margin-top:64px;row-gap:16px;align-items:center}
.fl-kto > .mono{grid-column:1 / -1;color:var(--grey)}
.fl-chips{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}
.fl-chips span{display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:999px;border:1px solid var(--line);font-size:14px;color:var(--ink)}
.fl-act{grid-column:1 / -1;display:flex;gap:14px;flex-wrap:wrap;margin-top:16px}
@media (max-width:1100px){
  .fl-lista{grid-column:1 / -1}
  .zarobki{grid-column:1 / span 6;position:static;margin-top:48px}
}
@media (max-width:860px){
  .fl-lista{grid-template-columns:1fr;gap:28px}
  .zarobki{grid-column:1 / -1}
  .z-czas{font-size:40px}
}

/* menu Usługi: Spoko Sites ze znakiem marki zamiast samej nazwy */
.mm-list a b .ss-lock{font-size:19px}
.mm-list a b .ss-ico{width:1.55em;height:1.55em}
.mm-list a:hover b .ss-word{color:var(--accent-t)}
.mm-list a em.em-logo{color:var(--ink);text-transform:none;grid-row:1 / span 2;align-self:center}   /* logo na środku wysokości wiersza */
.mm-list a em.em-logo .logo-art{--th:42px;display:flex}

/* ═════════════════════════ STRONA REALIZACJI — sekcje rozszerzone ═════════════════════════
   strona w akcji (laptop + telefon z przewijaną stroną klienta), przed/po, proces, księga znaku, kulisy */
.urz{margin-top:72px;align-items:end;row-gap:40px}
.laptop{grid-column:1 / span 9;position:relative}
.laptop .lid{position:relative;background:#141518;border-radius:clamp(10px,1.4vw,20px) clamp(10px,1.4vw,20px) 6px 6px;padding:2.4% 2.4% 3.2%;
  box-shadow:inset 0 0 0 1px #2b2d32,0 60px 90px -50px rgba(14,15,17,.55)}
.laptop .cam{position:absolute;top:1.1%;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#2c2f35}
.dev-scr{position:relative;overflow-y:auto;overflow-x:hidden;background:#fff;scrollbar-width:none;overscroll-behavior:contain;outline:none}
.dev-scr::-webkit-scrollbar{display:none}
.dev-scr img{display:block;width:100%;height:auto}
.dev-scr:focus-visible{box-shadow:0 0 0 3px var(--accent)}
.laptop .dev-scr{aspect-ratio:16 / 10;border-radius:3px}
.laptop .base{position:relative;height:clamp(12px,1.5vw,22px);margin:0 -6.5%;border-radius:2px 2px 22px 22px / 2px 2px 100% 100%;
  background:linear-gradient(180deg,#e2e3e6 0,#b9bbc0 70%,#8e9095 100%);box-shadow:0 30px 40px -24px rgba(14,15,17,.45)}
.laptop .base::before{content:"";position:absolute;left:50%;top:0;width:15%;height:42%;transform:translateX(-50%);border-radius:0 0 12px 12px;background:#a6a8ad}
.phone{grid-column:10 / span 3;justify-self:center;width:min(100%,300px);position:relative}
.phone .body{position:relative;background:#111214;border-radius:clamp(30px,3.2vw,46px);padding:10px;box-shadow:inset 0 0 0 2px #2b2d32,0 50px 80px -40px rgba(14,15,17,.55)}
.phone .dev-scr{aspect-ratio:9 / 19.5;border-radius:clamp(22px,2.5vw,36px)}
.phone .isl{position:absolute;z-index:2;top:20px;left:50%;width:30%;height:22px;transform:translateX(-50%);border-radius:20px;background:#000}
.urz-act{margin-top:44px;align-items:center;row-gap:16px}
.urz-act .act{grid-column:1 / span 8;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.urz-act .hint{grid-column:9 / span 4;justify-self:end;color:var(--grey)}
@media (max-width:860px){
  .laptop{grid-column:1 / -1}
  .phone{grid-column:1 / -1;width:62%}
  .urz-act .act,.urz-act .hint{grid-column:1 / -1;justify-self:start}
}

.ba-lista{margin-top:72px;row-gap:56px}
.ba-wiersz{grid-column:1 / -1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:center}
.ba-opis{grid-column:1 / span 4}
.ba-opis h3{font:500 28px/1.1 var(--sans);letter-spacing:-.03em}
.ba-opis p{margin-top:14px;color:var(--muted);font-size:16px;line-height:1.55;max-width:40ch}
.ba{grid-column:5 / span 8;position:relative;aspect-ratio:var(--ar,16 / 10);border-radius:16px;overflow:hidden;background:var(--card);
  box-shadow:0 1px 0 rgba(14,15,17,.04),0 30px 60px -40px rgba(14,15,17,.35);--p:50%;user-select:none}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--fit,cover)}
.ba .przed{clip-path:inset(0 calc(100% - var(--p)) 0 0)}
.ba .lin{position:absolute;top:0;bottom:0;left:var(--p);width:2px;margin-left:-1px;background:var(--paper);box-shadow:0 0 0 1px rgba(14,15,17,.15);pointer-events:none}
.ba .lin::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;
  background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E0F11' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center/20px no-repeat;
  box-shadow:0 8px 20px -6px rgba(14,15,17,.35)}
.ba .et{position:absolute;top:16px;padding:6px 10px;border-radius:999px;background:rgba(14,15,17,.72);color:var(--paper);pointer-events:none}
.ba .et.l{left:16px}.ba .et.r{right:16px}
.ba input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
@media (max-width:860px){.ba-opis,.ba{grid-column:1 / -1}.ba{margin-top:18px}}

.kroki{margin-top:72px;row-gap:40px}
.krok{grid-column:span 3;border-top:1px solid var(--line);padding-top:18px;display:grid;gap:10px;align-content:start}
.krok .n{color:var(--accent-t)}
.krok h3{font:500 22px/1.15 var(--sans);letter-spacing:-.03em}
.krok p{color:var(--muted);font-size:15px;line-height:1.55}
.krok.z-obr{grid-template-rows:auto auto 1fr auto}
.kk-obr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:14px;aspect-ratio:1 / 1.05}
.kk-obr img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:8px;background:var(--card)}
.kk-obr img.s2{grid-column:span 2}
@media (max-width:1100px){.krok{grid-column:span 6}}
@media (max-width:860px){.krok{grid-column:1 / -1}}
.obrazy{margin-top:48px;row-gap:var(--g)}
.obrazy figure{margin:0;border-radius:12px;overflow:hidden;background:var(--card);cursor:zoom-in}
.obrazy figure img{display:block;width:100%;height:100%;object-fit:cover}
.obrazy .o12{grid-column:1 / -1}.obrazy .o9{grid-column:span 9}.obrazy .o8{grid-column:span 8}.obrazy .o6{grid-column:span 6}.obrazy .o4{grid-column:span 4}.obrazy .o3{grid-column:span 3}
@media (max-width:860px){.obrazy .o9,.obrazy .o8,.obrazy .o6,.obrazy .o4,.obrazy .o3{grid-column:1 / -1}}

.ksiega{margin-top:56px}
.ksiega .pas{grid-column:1 / -1;display:flex;gap:var(--g);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;scrollbar-width:thin}
.ksiega figure{flex:0 0 min(78%,820px);margin:0;scroll-snap-align:start;border-radius:12px;overflow:hidden;background:var(--card);cursor:zoom-in;
  box-shadow:0 1px 0 rgba(14,15,17,.04),0 30px 60px -44px rgba(14,15,17,.35)}
.ksiega figure img{display:block;width:100%;height:auto}

.wideo{margin-top:56px}
.wideo video{grid-column:1 / -1;width:100%;border-radius:16px;background:#000;display:block}

.rolki{margin-top:var(--g);row-gap:var(--g)}
.rolka{grid-column:span 3;border-radius:16px;overflow:hidden;background:#000}
.rolka video{display:block;width:100%;aspect-ratio:9 / 16;object-fit:cover}
@media (max-width:860px){.rolka{grid-column:span 6}}

.obrazy{align-items:start}
.obrazy .dev-w{display:flex;justify-content:center;align-items:flex-start;padding:8px 0}
.obrazy .dev-w .laptop{width:88%}
.obrazy .dev-w.o12{grid-column:1 / -1}.obrazy .dev-w.o8{grid-column:span 8}.obrazy .dev-w.o6{grid-column:span 6}.obrazy .dev-w.o4{grid-column:span 4}
@media (max-width:860px){.obrazy .dev-w{grid-column:1 / -1 !important}}

.rolki.solo .rolka:first-child{grid-column:7 / span 3}
@media (max-width:860px){.rolki.solo .rolka:first-child{grid-column:auto / span 6}}

.intro .cta{flex-wrap:wrap}
/* podstawa laptopa na telefonie nie wystaje poza ekran (przy -6.5% wychodziła 7 px za krawędź) */
@media (max-width:860px){.laptop .base{margin:0 -4%}}
/* długi rok (np. znacznik do potwierdzenia) łamie się w karcie zamiast rozpychać ją poza ekran telefonu */
.work{min-width:0}.work .row1{min-width:0}.work .row1 .yr{white-space:normal;text-align:right;min-width:0;overflow-wrap:anywhere}
/* realizacja, która docelowo trafi na stronę innej marki Spoko (Events, Apps, Art) */
.brand-tag{position:absolute;left:12px;top:12px;z-index:2;background:var(--ink);color:var(--paper);font-size:11px;padding:6px 9px;border-radius:4px;letter-spacing:.04em}
.brand-tag.in{position:static;background:var(--accent);color:var(--ink)}

/* ═════════════════════════ MAKIETY (recenzja 8.11) ═════════════════════════
   posty FB/IG na telefonie i komputerze, relacje, rolki, poczta, stopka, film, wizytówka, księga z przewracanymi stronami */
.obrazy .mk-w{display:flex;justify-content:center;align-items:center;min-width:0;padding:6px 0;align-self:stretch}
.obrazy .mk-w.o12{grid-column:1 / -1}.obrazy .mk-w.o9{grid-column:span 9}.obrazy .mk-w.o8{grid-column:span 8}.obrazy .mk-w.o6{grid-column:span 6}.obrazy .mk-w.o4{grid-column:span 4}.obrazy .mk-w.o3{grid-column:span 3}
.mk-phone{width:min(100%,290px);grid-column:auto}
.mk-ekran{position:relative;aspect-ratio:9 / 19.5;border-radius:clamp(22px,2.5vw,36px);overflow:hidden;background:#fff;color:#16181c;display:flex;flex-direction:column}
.mk-status{display:flex;justify-content:space-between;align-items:center;padding:14px 22px 6px;font:600 12px/1 var(--sans)}
.mk-status span{width:46px;height:9px;border-radius:3px;background:#16181c}
.mk-app{display:flex;align-items:center;justify-content:space-between;padding:6px 14px 8px;border-bottom:1px solid #eceef1}
.mk-app b{font:700 17px/1 var(--sans);letter-spacing:-.02em}
.mk-app.fb b{color:#1b5fd1}
.mk-app span{width:54px;height:20px;border-radius:10px;background:#eef0f3}
.mk-post{background:#fff;color:#16181c;font:400 12px/1.3 var(--sans);min-width:0}
.mk-h{display:flex;align-items:center;gap:8px;padding:9px 12px}
.mk-h b{font-weight:600;font-size:12.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-h > span:not(.mk-av){display:grid;gap:4px;min-width:0;flex:1}
.mk-h > span:not(.mk-av) i{display:block;height:6px;width:48px;border-radius:3px;background:#e3e6ea}
.mk-h svg{margin-left:auto;width:18px;height:18px;fill:#5d6168;flex:none}
.mk-av{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--paper);font:600 10.5px/1 var(--sans);letter-spacing:.02em}
.mk-m{position:relative;background:#f2f3f5}
.mk-img{display:block;width:100%;height:auto;object-fit:cover}
.mk-sk{display:grid;gap:5px;padding:8px 12px}
.mk-sk i,.mk-licz i,.mk-nast i,.mk-bok i,.mk-kom i,.mk-temat i,.mk-foldery i,.mk-pole i,.mk-cialo i,.mk-tyt i,.mk-kanal span i,.mk-mail-h span i{display:block;height:6px;border-radius:3px;background:#e3e6ea}
.mk-licz{display:flex;justify-content:space-between;padding:8px 12px}.mk-licz i{width:22%}.mk-licz i+i{width:30%}
.mk-akcje{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #eceef1;margin:0 10px;padding:4px 0}
.mk-akcje span{display:grid;place-items:center;padding:5px 0}
.mk-akcje svg,.mk-ik svg,.mk-boczne svg{width:19px;height:19px;fill:none;stroke:#2b2e33;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.mk-ik{display:flex;align-items:center;gap:12px;padding:9px 12px 2px}.mk-ik span{flex:1}
.mk-post.ig .mk-sk{padding-top:6px}
.mk-nast{display:grid;gap:6px;padding:12px;border-top:6px solid #f0f2f5;margin-top:auto}.mk-nast i{width:60%}.mk-nast i+i{width:85%;height:40px;border-radius:6px;background:#f0f2f5}
/* pełny ekran — relacja i rolka */
.mk-phone.pelny .mk-ekran{background:#000}
.mk-full{position:relative;flex:1;min-height:0}
.mk-full .mk-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mk-paski{position:absolute;left:10px;right:10px;top:44px;display:flex;gap:4px}.mk-paski i{flex:1;height:2.5px;border-radius:2px;background:rgba(255,255,255,.45)}.mk-paski i:first-child{background:#fff}
.mk-kto{position:absolute;left:12px;top:56px;display:flex;align-items:center;gap:8px;color:#fff;font:600 12px/1 var(--sans);text-shadow:0 1px 3px rgba(0,0,0,.4)}
.mk-phone.pelny .mk-kto{top:auto;bottom:22px}
.mk-phone.pelny .mk-paski + .mk-kto{top:56px;bottom:auto}
.mk-kto .mk-av{width:26px;height:26px;box-shadow:0 0 0 2px #fff}
.mk-boczne{position:absolute;right:10px;bottom:70px;display:grid;gap:16px}.mk-boczne svg{stroke:#fff;width:24px;height:24px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}
/* okno przeglądarki */
.mk-okno{width:100%;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 30px 70px -30px rgba(14,15,17,.45),0 0 0 1px rgba(14,15,17,.08)}
.mk-pasek{display:flex;align-items:center;gap:6px;padding:9px 12px;background:#eceef1}
.mk-pasek span{width:10px;height:10px;border-radius:50%;background:#c9ccd2}
.mk-pasek em{margin-left:14px;flex:1;max-width:60%;font:500 11px/1 var(--mono);font-style:normal;color:#5d6168;background:#fff;border-radius:6px;padding:6px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-tresc{background:#f0f2f5}
.mk-fb-pc{display:grid;grid-template-columns:1fr minmax(0,2.2fr) 1fr;gap:14px;padding:16px 14px}
.mk-fb-pc .mk-post{border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.mk-bok{display:grid;gap:10px;align-content:start;padding-top:6px}.mk-bok i{height:8px}.mk-bok i:nth-child(2n){width:70%}
.mk-ig-pc{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);background:#fff;margin:18px;border-radius:6px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.mk-ig-pc .mk-m{display:grid;place-items:center;background:#0e0f11}
.mk-panel{display:flex;flex-direction:column;border-left:1px solid #eceef1;min-width:0}
.mk-panel .mk-h{border-bottom:1px solid #eceef1}
.mk-kom{flex:1;display:grid;gap:12px;align-content:start;padding:12px}
.mk-kom p{display:flex;align-items:center;gap:8px;margin:0}.mk-kom p .mk-av{width:22px;height:22px;font-size:9px;opacity:.8}.mk-kom p i{flex:1}
.mk-panel .mk-ik{border-top:1px solid #eceef1;padding:10px 12px}
/* poczta i stopka */
.mk-mail{display:grid;grid-template-columns:150px minmax(0,1fr);background:#fff;min-height:0}
.mk-foldery{display:grid;gap:12px;align-content:start;padding:18px 14px;background:#f6f7f9;border-right:1px solid #eceef1}.mk-foldery i:first-child{background:var(--accent);opacity:.75}
.mk-wiad{min-width:0;display:flex;flex-direction:column}
.mk-mail-h{display:flex;align-items:center;gap:10px;padding:14px 16px 8px;color:#16181c;font:400 12.5px/1.3 var(--sans)}
.mk-mail-h > span:not(.mk-av){display:grid;gap:5px;flex:1;min-width:0}.mk-mail-h > span i{width:120px}
.mk-mail-h em{font:500 11px/1 var(--mono);font-style:normal;color:#8a8e95}
.mk-temat{padding:0 16px 12px;border-bottom:1px solid #eceef1}.mk-temat i{height:9px;width:46%;background:#d5d9de}
.mk-list{aspect-ratio:4 / 3.2;background:#f6f7f9}
.mk-list img{max-width:640px;margin:0 auto}
.mk-poczta{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff}
.mk-poczta .mk-list{aspect-ratio:auto;flex:1;min-height:0}
.mk-nowa{background:#fff;padding:6px 18px 22px;color:#16181c}
.mk-pole{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #eceef1;font:500 12px/1 var(--sans);color:#8a8e95}.mk-pole i{flex:1;max-width:46%}
.mk-cialo{display:grid;gap:9px;padding:18px 0 20px}.mk-cialo i{height:7px;width:88%}
.mk-sygn{display:block;width:min(100%,520px);height:auto;border-top:1px solid #eceef1;padding-top:14px}
/* film */
.mk-film{width:100%;background:var(--panel);border-radius:14px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(14,15,17,.5)}
.mk-ekr video{display:block;width:100%;aspect-ratio:16 / 9;background:#000;object-fit:cover}
.mk-kanal{display:grid;gap:12px;padding:14px 16px 16px}
.mk-tyt i{height:10px;width:52%;background:#3a3d42}
.mk-kanal > div{display:flex;align-items:center;gap:10px;color:#f4f4f2;font:500 13px/1.2 var(--sans)}
.mk-kanal > div > span:not(.mk-av){display:grid;gap:5px;flex:1}.mk-kanal span i{width:90px;background:#3a3d42}
.mk-kanal .mk-av{background:var(--accent);color:var(--ink)}
.mk-kanal em{font-style:normal;font:600 12px/1 var(--sans);background:#f4f4f2;color:#0e0f11;border-radius:30px;padding:9px 14px}
/* wizytówka na blacie */
.mk-blat{width:100%;display:grid;place-items:center;padding:clamp(28px,5vw,70px) 0;border-radius:14px;background:radial-gradient(120% 90% at 30% 20%,#e9e7e1,#d4d1c8)}
.mk-karta{width:min(78%,640px);transform:perspective(1400px) rotateX(24deg) rotateZ(-7deg);box-shadow:0 2px 3px rgba(0,0,0,.18),0 40px 60px -26px rgba(0,0,0,.45);border-radius:6px;overflow:hidden}
.mk-karta img{display:block;width:100%;height:auto}
/* kartki A4 na blacie (ulotka, przewodnik): lekki obrót w 3D, cień na blacie, klik = podgląd */
.obrazy .mk-w:has(.mk-kartki){padding:0}
.mk-kartki{display:block;position:relative;aspect-ratio:1.46;padding:0;perspective:1600px;overflow:hidden}
.obrazy .mk-kartki figure{position:absolute;top:50%;left:50%;width:35%;margin:0;border-radius:2px;background:#fff;overflow:visible;
  box-shadow:0 1px 2px rgba(0,0,0,.14),0 34px 44px -22px rgba(0,0,0,.42);transition:transform .5s cubic-bezier(.3,.7,.2,1)}
.obrazy .mk-kartki figure img{display:block;width:100%;height:auto;object-fit:initial;border-radius:2px}
.obrazy .mk-kartki figure::after{content:"";position:absolute;inset:0;border-radius:2px;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.22),transparent 45%,rgba(0,0,0,.07))}
.obrazy .mk-kartki .k1{transform:translate(-96%,-50%) rotateX(20deg) rotateZ(-6deg)}
.obrazy .mk-kartki .k2{transform:translate(-4%,-47%) rotateX(20deg) rotateZ(5deg)}
.obrazy .mk-kartki .k1:hover{transform:translate(-96%,-53%) rotateX(14deg) rotateZ(-6deg)}
.obrazy .mk-kartki .k2:hover{transform:translate(-4%,-50%) rotateX(14deg) rotateZ(5deg)}
@media (max-width:860px){.obrazy .mk-kartki figure{width:38%}}
/* księga z przewracanymi stronami */
.flip{grid-column:1 / -1;outline:none}
.flip:not(.on){display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}
.flip:not(.on) img{flex:0 0 min(78%,720px);height:auto;scroll-snap-align:start;border-radius:6px}
.flip.on{display:grid;gap:18px;justify-items:center}
.flip-ks{position:relative;width:100%;perspective:2600px}
/* rozkładówka mieści się w oknie: pionowe strony A4 nie wychodzą poza ekran (recenzja 9.11) */
.flip.on:not(.flip-wnetrze) .flip-ks{width:min(100%,calc((100svh - 200px) * var(--r,1.414) * 2))}
.flip-ks::after{content:"";position:absolute;left:50%;top:2%;bottom:2%;width:6%;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(0,0,0,.14) 48%,rgba(0,0,0,.2) 50%,rgba(0,0,0,.14) 52%,transparent);pointer-events:none;z-index:900;opacity:var(--grzbiet,1)}
.flip.jedna .flip-ks::after{display:none}
.flip-lisc{position:absolute;top:0;bottom:0;left:50%;width:50%;transform-origin:left center;transform-style:preserve-3d;transition:transform .95s cubic-bezier(.55,.06,.25,1)}
.flip.jedna .flip-lisc{left:0;width:100%}
.flip-lisc.pr{transform:rotateY(-180deg)}
.flip-lisc > div{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#fff;overflow:hidden;
  box-shadow:0 1px 1px rgba(0,0,0,.08),0 24px 40px -22px rgba(0,0,0,.35)}
.flip-lisc > div img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.flip-lisc .tyl{transform:rotateY(180deg)}
.flip-lisc .przod::before{content:"";position:absolute;inset:0 auto 0 0;width:9%;background:linear-gradient(90deg,rgba(0,0,0,.12),transparent);pointer-events:none}
.flip-lisc .tyl::before{content:"";position:absolute;inset:0 0 0 auto;width:9%;background:linear-gradient(270deg,rgba(0,0,0,.12),transparent);pointer-events:none}
.flip.jedna .flip-lisc .przod::before{display:none}
.flip-lisc .pusta{background:linear-gradient(135deg,#f6f5f1,#ebe9e3)}
.flip-nav{display:flex;align-items:center;gap:14px}
.flip-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);font-size:18px;display:grid;place-items:center}
.flip-nav button:disabled{opacity:.35;cursor:default}
.flip-nav .mono{min-width:120px;text-align:center;color:var(--grey)}
@media (prefers-reduced-motion:reduce){.flip-lisc{transition:none}}
@media (max-width:860px){
  .obrazy .mk-w{grid-column:1 / -1 !important}
  .obrazy .mk-w.tel{grid-column:span 6 !important}
  .mk-fb-pc{grid-template-columns:minmax(0,1fr);padding:10px}.mk-fb-pc .mk-bok{display:none}
  .mk-ig-pc{grid-template-columns:minmax(0,1fr);margin:10px}.mk-panel .mk-kom{display:none}
  .mk-mail{grid-template-columns:minmax(0,1fr)}.mk-foldery{display:none}
  .mk-ekran{font-size:10px}
}
@media (max-width:520px){.obrazy .mk-w.tel{grid-column:1 / -1 !important}.mk-phone{width:min(100%,260px)}}
/* księga na telefonie: okładka → pełny ekran → „Obróć telefon” → rozkładówka poziomo */
.flip.tel{display:block}
.flip-okl{display:grid;gap:12px;justify-items:center;width:100%;border:0;background:none;padding:0;cursor:pointer}
.flip-okl img{width:min(100%,520px);height:auto;border-radius:4px;box-shadow:0 2px 3px rgba(0,0,0,.12),0 30px 50px -24px rgba(0,0,0,.45);transform:perspective(1200px) rotateY(-10deg)}
.flip-okl span{background:var(--ink);color:var(--paper);border-radius:30px;padding:11px 18px}
html.flip-otwarta,html.flip-otwarta body{overflow:hidden}
.flip-pelny{position:fixed;inset:0;z-index:3000;background:#0e0f11;color:#f4f4f2;display:grid;place-items:center;
  padding:max(14px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(14px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.flip-x{position:absolute;top:calc(12px + env(safe-area-inset-top,0px));right:calc(12px + env(safe-area-inset-right,0px));z-index:5;width:44px;height:44px;border-radius:50%;border:0;background:#f4f4f2;color:#0e0f11;font-size:18px}
.flip-obroc{display:grid;gap:10px;justify-items:center;text-align:center}
.flip-obroc svg{width:84px;height:84px;fill:none;stroke:#f4f4f2;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:flipObroc 2.4s ease-in-out infinite}
.flip-obroc b{font:600 20px/1.2 var(--sans)}.flip-obroc span{color:#a3a6ac;font-size:14px}
@keyframes flipObroc{0%,25%{transform:rotate(0)}55%,80%{transform:rotate(-90deg)}100%{transform:rotate(0)}}
.flip-pelny .flip-wnetrze{width:min(calc(100vw - 40px),calc((100vh - 76px) * var(--r,1.414) * 2));gap:10px}
.flip-pelny .flip-nav button{background:#1f2125;border-color:#34373c;color:#f4f4f2}
.flip-pelny .flip-nav .mono{color:#a3a6ac}
@media (orientation:portrait){.flip-pelny .flip-wnetrze{display:none}}
@media (orientation:landscape){.flip-pelny .flip-obroc{display:none}}
@media (prefers-reduced-motion:reduce){.flip-obroc svg{animation:none}}
.obrazy .dev-w.o3{grid-column:span 3}.obrazy .dev-w.o9{grid-column:span 9}
/* feed: wszystkie posty w jednym urządzeniu + „Pokaż wszystkie posty” → siatka */
.mk-feed{display:grid;gap:22px}
.mk-urz{align-items:center}
.mk-okno.feed .mk-tresc{aspect-ratio:16 / 10.5;display:flex;flex-direction:column;min-height:0}
.mk-okno.feed .mk-fb-pc{flex:1;min-height:0;padding-bottom:0}
.mk-okno.feed .mk-srodek{height:100%;overflow-y:auto;display:grid;gap:14px;align-content:start;padding-bottom:16px;background:transparent}
.mk-ekran .mk-przew{flex:1;min-height:0;overflow-y:auto}
.mk-ekran .mk-przew .mk-post + .mk-post{border-top:8px solid #f0f2f5}
.mk-relacje .mk-img{opacity:0;transition:opacity .5s ease}
.mk-relacje .mk-img.on{opacity:1}
.mk-relacje .mk-paski i{background:rgba(255,255,255,.4);position:relative;overflow:hidden}
.mk-relacje .mk-paski i::after{content:"";position:absolute;inset:0;transform-origin:left;transform:scaleX(var(--p,0));background:#fff}
.mk-feed-btn{display:flex;justify-content:center;padding-inline:var(--m)}
.mk-feed-btn .pill{border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:40px;padding:13px 22px;font:500 14px/1 var(--sans);cursor:pointer}
.mk-feed-btn .pill[aria-expanded="true"]{background:transparent;color:var(--ink)}
.mk-siatka{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-inline:var(--m)}
.mk-siatka figure{margin:0;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--card);cursor:zoom-in}
.mk-siatka img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:860px){.mk-siatka{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mk-okno.feed .mk-tresc{aspect-ratio:3 / 4}}
.mk-siatka[hidden]{display:none}
.flip-ks{transition:transform .95s cubic-bezier(.55,.06,.25,1)}
.wideo .mk-film{grid-column:1 / -1;max-width:1100px;justify-self:center}
.rolka.mk-w{background:none;aspect-ratio:auto;border-radius:0;overflow:visible;box-shadow:none}
.rolka.mk-w .mk-phone{width:min(100%,300px)}
.rolki .rolka.mk-w:only-child{grid-column:5 / span 4}
@media (max-width:860px){.rolki .rolka.mk-w:only-child{grid-column:1 / -1}}
/* obracane w 3D kartki księgi (i inne makiety) nie mogą rozpychać strony w bok — Firefox/Zen liczył je do szerokości (recenzja 8.11) */
.grid.ksiega,.obrazy,.wideo{overflow-x:clip}
.page{overflow-x:clip}
/* nagranie strony w ekranie laptopa / telefonu */
.dev-scr.ruch{overflow:hidden}
.dev-scr.ruch video{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;background:#fff}

/* księga — przewracanie: kartka w ruchu nad resztą, cień kartki przesuwa się po odsłanianej i zakrywanej stronie,
   kartka ciemnieje, gdy staje bokiem do światła. Czas i krzywa wspólne dla obrotu i cieni (90° ≈ połowa czasu). */
.flip{--obrot:1.1s;--krzywa:cubic-bezier(.42,.04,.36,1)}
.flip-lisc{transition:transform var(--obrot) var(--krzywa)}
.flip-ks{transition:transform var(--obrot) var(--krzywa)}
.flip-cien{position:absolute;top:0;bottom:0;width:50%;pointer-events:none;z-index:500;opacity:0}
.flip-cien.l{left:0;transform-origin:right center;background:linear-gradient(270deg,rgba(0,0,0,.55),rgba(0,0,0,.22) 35%,rgba(0,0,0,.05))}
.flip-cien.p{left:50%;transform-origin:left center;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.22) 35%,rgba(0,0,0,.05))}
.flip-cien.odslon{animation:flipOdslon var(--obrot) linear}
.flip-cien.zakryj{animation:flipZakryj var(--obrot) linear}
@keyframes flipOdslon{0%{opacity:.9;transform:scaleX(1)}25%{opacity:.85;transform:scaleX(.8)}50%{opacity:.55;transform:scaleX(.18)}62%,100%{opacity:0;transform:scaleX(0)}}
@keyframes flipZakryj{0%,42%{opacity:0;transform:scaleX(0)}55%{opacity:.5;transform:scaleX(.4)}68%{opacity:.75;transform:scaleX(.9)}80%,100%{opacity:0;transform:scaleX(1)}}
.flip-lisc > div::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.3) 65%,rgba(0,0,0,.42))}
.flip-lisc .tyl::after{background:linear-gradient(270deg,rgba(0,0,0,.08),rgba(0,0,0,.3) 65%,rgba(0,0,0,.42))}
.flip-lisc.naprzod .przod::after,.flip-lisc.wstecz .tyl::after{animation:flipCiemniej var(--obrot) linear}
.flip-lisc.naprzod .tyl::after,.flip-lisc.wstecz .przod::after{animation:flipJasniej var(--obrot) linear}
@keyframes flipCiemniej{0%{opacity:0}25%{opacity:.3}50%,100%{opacity:1}}
@keyframes flipJasniej{0%,48%{opacity:1}64%{opacity:.25}76%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.flip-cien,.flip-lisc > div::after{animation:none!important}.flip-lisc,.flip-ks{transition:none}}

/* blog — nowe wpisy: linki, listy numerowane, tabele, cytat */
.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px}
.prose a:hover{color:var(--accent-t)}
.prose ol{margin:0 0 24px;padding:0;list-style:none;counter-reset:krok;display:grid;gap:12px}
.prose ol li{counter-increment:krok;display:grid;grid-template-columns:34px 1fr;font-size:18px}
.prose ol li::before{content:counter(krok,decimal-leading-zero);font-family:var(--mono);font-size:14px;line-height:1.9;color:var(--accent-t)}
.prose .tab{margin:8px 0 28px;overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.prose table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.45}
.prose th,.prose td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.prose th{font:500 12px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--grey)}
.prose tr:last-child td{border-bottom:0}
.prose blockquote{margin:28px 0;padding:4px 0 4px 22px;border-left:3px solid var(--accent);font:500 22px/1.4 var(--sans);letter-spacing:-.02em;color:var(--ink)}
@media (max-width:700px){
  .prose .tab{border:0;background:none;overflow:visible}
  .prose table,.prose tbody,.prose tr,.prose td{display:block;width:100%}
  .prose thead{display:none}
  .prose tr{margin:0 0 12px;padding:6px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
  .prose td{padding:8px 0;border-bottom:1px solid var(--line)}
  .prose tr td:last-child{border-bottom:0}
  .prose td:first-child{font-weight:600;color:var(--ink)}
  .prose td[data-l]:not([data-l=""])::before{content:attr(data-l);display:block;margin-bottom:2px;font:500 11px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--grey)}
}

/* „Jak zaczynamy” — karty z podglądem etapu (wiadomość, spotkanie, plan), strzałki między krokami, jeden ruch przy wejściu */
.kroki .zk{position:relative;min-height:0;gap:0;padding:24px}
.zk-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.zk .num{font-size:72px}
.zk-kto{padding:6px 10px;border:1px solid var(--line);border-radius:30px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.zk.ink .zk-kto{border-color:#2c2f34;color:#a3a6ac}
.zk-viz{margin:26px 0 30px;height:188px;display:flex;align-items:center;justify-content:center}
.zk h3{margin-top:0}
.zk-wyn{display:flex;align-items:center;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.03em;color:var(--ink)}
.zk-wyn::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}
.zk.ink .zk-wyn{border-color:#2c2f34;color:var(--paper)}
/* strzałka między kartami */
.zk + .zk::before{content:"→";position:absolute;z-index:2;left:calc(var(--g) / -2 - 19px);top:118px;width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);font:500 15px/1 var(--mono);color:var(--ink)}
/* podglądy */
.kv{width:100%;max-width:300px;border-radius:12px;background:var(--paper);border:1px solid var(--line);font-size:12px;line-height:1.3;color:var(--ink);
  box-shadow:0 18px 30px -22px rgba(14,15,17,.35)}
.kv .mono{font-size:10px;letter-spacing:.04em;color:var(--grey)}
.kv-mail{position:relative;padding:0 0 46px}
.kv-bar{display:flex;align-items:center;gap:5px;padding:9px 12px;border-bottom:1px solid var(--line)}
.kv-bar i{width:7px;height:7px;border-radius:50%;background:var(--line)}
.kv-bar .mono{margin-left:8px}
.kv-row{display:grid;grid-template-columns:44px 1fr;gap:6px;padding:7px 12px;border-bottom:1px solid var(--line)}
.kv-row b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kv-txt{position:relative;display:grid;gap:7px;padding:12px 12px 0}
.kv-txt i{display:block;height:6px;width:var(--w);border-radius:3px;background:#dcdad4;transform-origin:left}
.kv-kursor{position:absolute;left:calc(12px + (100% - 24px) * .58 + 4px);bottom:-2.5px;width:1.5px;height:11px;background:var(--accent)}
.kv-btn{position:absolute;right:12px;bottom:11px;padding:5px 11px;border-radius:20px;background:var(--accent);color:#fff;font-weight:600;font-size:11px}
.kv-cal{padding:12px}
.kv-dni{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;text-align:center}
.kv-dni span{padding:7px 0;border-radius:7px;background:var(--card)}
.kv-dni span.on{background:var(--ink);color:var(--paper)}
.kv-slot{position:relative;margin-top:10px;padding:10px 12px 10px 14px;border-radius:9px;background:color-mix(in srgb,var(--accent) 12%,var(--paper));border-left:3px solid var(--accent);display:grid;gap:3px}
.kv-slot b{font-weight:600;font-size:13px}
.kv-osoby{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;gap:4px}
.kv-osoby i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:600 9px/1 var(--mono);font-style:normal;background:var(--paper);border:1.5px solid var(--ink);color:var(--ink)}
.kv-osoby i.s{background:var(--ink);color:var(--paper)}
.kv-gdzie{display:flex;gap:6px;margin-top:10px}
.kv-gdzie span{padding:5px 10px;border-radius:20px;border:1px solid var(--line)}
.kv-gdzie span.on{border-color:var(--ink);color:var(--ink)}
.kv-plan{padding:12px;background:#1b1d21;border-color:#2c2f34;color:var(--paper);box-shadow:0 18px 30px -22px rgba(0,0,0,.6)}
.kv-plan .mono{color:#8d9097}
.kv-plan-h{display:flex;justify-content:space-between;padding-bottom:9px;margin-bottom:6px;border-bottom:1px solid #2c2f34}
.kv-et{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:8px;padding:6px 0}
.kv-tor{position:relative;height:12px;border-radius:6px;background:#26292e}
.kv-tor i{position:absolute;top:0;bottom:0;left:var(--l);width:var(--w);border-radius:6px;background:var(--accent);transform-origin:left}
.kv-et:nth-child(3) .kv-tor i{background:color-mix(in srgb,var(--accent) 70%,#fff)}
.kv-et:nth-child(4) .kv-tor i{background:color-mix(in srgb,var(--accent) 45%,#fff)}
.kv-plan-f{display:flex;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid #2c2f34}
.kv-plan-f span{padding:4px 9px;border-radius:20px;border:1px solid #34373c;color:#c9cbd0}
/* jeden ruch przy wejściu: tekst się „pisze”, termin się zaznacza, etapy rosną — kolejno 01 → 02 → 03 */
@keyframes kvRosnij{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes kvMig{50%{opacity:0}}
@keyframes kvWejdz{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.js .kroki:not(.widac) .kv-txt i,.js .kroki:not(.widac) .kv-tor i{transform:scaleX(0)}
.js .kroki:not(.widac) .kv-slot{opacity:0}
.kroki.widac .kv-txt i{animation:kvRosnij .7s cubic-bezier(.3,.7,.2,1) both}
.kroki.widac .kv-txt i:nth-child(2){animation-delay:.18s}.kroki.widac .kv-txt i:nth-child(3){animation-delay:.36s}
.kroki.widac .kv-kursor{animation:kvMig 1.1s steps(1) 1s infinite}
.kroki.widac .kv-slot{animation:kvWejdz .6s .55s cubic-bezier(.3,.7,.2,1) both}
.kroki.widac .kv-tor i{animation:kvRosnij .8s cubic-bezier(.3,.7,.2,1) both}
.kroki.widac .kv-et:nth-child(2) .kv-tor i{animation-delay:.9s}.kroki.widac .kv-et:nth-child(3) .kv-tor i{animation-delay:1.05s}.kroki.widac .kv-et:nth-child(4) .kv-tor i{animation-delay:1.2s}
@media (prefers-reduced-motion:reduce){.kroki .kv-txt i,.kroki .kv-tor i,.kroki .kv-slot{animation:none!important;transform:none!important;opacity:1!important}.kroki .kv-kursor{animation:none!important}}
@media (max-width:860px){
  .zk + .zk::before{content:"↓";left:50%;top:calc(var(--g) / -2 - 19px);transform:translateX(-50%)}
  .zk-viz{height:auto;margin:22px 0 24px}
}

/* Studio — „Dołącz do ekipy”: karta z rolami (ciemna) i karta danych firmy z kopiowaniem */
.ekipa{margin-top:56px;row-gap:var(--g)}
.ek-karta{border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:24px;box-shadow:0 1px 0 rgba(14,15,17,.04),0 24px 60px -40px rgba(14,15,17,.35)}
.ek-ink{grid-column:span 7;background:var(--ink);color:var(--paper)}
.ek-firma{grid-column:span 5;background:var(--card)}
.ek-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--grey)}
.ek-ink .ek-top{color:#8d9097}
.ek-role{display:grid}
.ek-rola{display:grid;grid-template-columns:44px 1fr auto 40px;align-items:center;gap:12px;padding:16px 0;border-top:1px solid #2a2c31;color:var(--paper);transition:color .25s,padding .25s}
.ek-rola:last-child{border-bottom:1px solid #2a2c31}
.ek-rola .ek-n{font-size:12px;color:#6f7279}
.ek-rola b{font:500 clamp(24px,2.4vw,34px)/1.05 var(--sans);letter-spacing:-.035em}
.ek-rola .ek-d{color:#8d9097;font-size:14px;text-align:right}
.ek-ar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid #34373c;transition:background .25s,border-color .25s,transform .25s}
.ek-rola:hover{color:var(--accent);padding-left:6px}
.ek-rola:hover .ek-ar{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:rotate(-45deg)}
.ek-wart{display:flex;flex-wrap:wrap;gap:8px}
.ek-wart span{padding:7px 12px;border-radius:30px;border:1px solid #34373c;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#c9cbd0}
.ek-akcje{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}
.ek-ink .ghost{color:var(--paper)}
.ek-nazwa{display:grid;gap:2px}
.ek-nazwa b{font:600 clamp(30px,3vw,44px)/1 var(--sans);letter-spacing:-.04em}
.ek-nazwa span{color:var(--muted);font-size:18px}
.ek-adres{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:16px 18px;border-radius:12px;background:var(--paper);border:1px solid var(--line);font-size:17px;line-height:1.35;color:var(--ink);transition:border-color .25s}
.ek-adres .mono{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--accent-t);white-space:nowrap}
.ek-adres:hover{border-color:var(--ink)}
.ek-pola{display:grid;margin-top:auto}
.ek-pole{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.ek-pole .mono{font-size:12px;color:var(--grey)}
.ek-pole b{font:500 17px/1.2 var(--mono);letter-spacing:.02em}
.ek-kop{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:20px;border:1px solid var(--line);background:var(--paper);font:500 11px/1 var(--mono);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.ek-kop svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ek-kop:hover{border-color:var(--ink);color:var(--ink)}
.ek-kop.ok{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.ek-pole .ek-kop span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ek-pole .ek-kop.ok span{position:static;width:auto;height:auto;clip:auto}
@media (max-width:1100px){.ek-ink,.ek-firma{grid-column:1 / -1}}
@media (max-width:600px){
  .ek-karta{padding:22px}
  .ek-rola{grid-template-columns:36px 1fr 36px}
  .ek-rola .ek-d{display:none}
  .ek-top{flex-wrap:wrap}
}


/* ═════════ Realizacje = case studies (wiersze), Portfolio = archiwum obrazów (8.11) ═════════ */
.cases-list{display:grid;gap:120px;padding-inline:var(--m)}
.csr{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--g);align-items:center}
.csr .im{grid-column:1 / span 7;position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/11;background:var(--card)}
.csr .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.csr:hover .im img{transform:scale(1.03)}
.csr .arw{position:absolute;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;opacity:0;transform:scale(.8);transition:opacity .3s ease,transform .3s ease}
.csr:hover .arw{opacity:1;transform:scale(1)}
.csr .tx{grid-column:9 / span 4;display:grid;gap:14px;align-content:center}
.csr:nth-child(even) .im{grid-column:6 / span 7;grid-row:1}
.csr:nth-child(even) .tx{grid-column:1 / span 4;grid-row:1}
.csr .idx{color:var(--grey)}
.csr h2{font:700 52px/.92 var(--sans);letter-spacing:-.05em;text-transform:uppercase}
.csr:hover h2{color:var(--accent-t)}
.csr .t{font:500 21px/1.25 var(--sans);letter-spacing:-.02em}
.csr .ch{color:var(--muted);font-size:15.5px;line-height:1.55}
.csr .st{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.csr .st b{display:block;font:600 30px/1 var(--sans);letter-spacing:-.04em}
.csr .st span{display:block;margin-top:6px;font-size:12.5px;line-height:1.35;color:var(--grey)}
.csr .ghost{justify-self:start;margin-top:6px}
.intro .side.mono{white-space:nowrap;justify-self:end;align-self:end}
.intro .side.mono a{color:var(--ink);border-bottom:1px solid currentColor;white-space:nowrap}
.intro .side.mono a svg{display:inline-block;width:.8em;height:.8em;vertical-align:-1px;margin-left:4px}
.pf{column-gap:16px}
.pfi{margin:0 0 16px;position:relative}
.pfi .cap{position:absolute;left:0;right:0;bottom:0;display:grid;gap:4px;padding:40px 18px 16px;border-radius:0 0 14px 14px;
  background:linear-gradient(transparent,rgba(14,15,17,.72));color:var(--paper);opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}
.pfi .cap b{font:500 20px/1.1 var(--sans);letter-spacing:-.02em;color:var(--paper)}
.pfi .cap .mono{color:rgba(244,244,242,.75)}
.pfi:hover .cap,.pfi:focus-visible .cap{opacity:1;transform:none}
.pfi:hover .cap b{color:var(--paper)}
.pfi .arw{bottom:auto;top:16px}
@media (hover:none){.pfi .cap{opacity:1;transform:none}}
@media (max-width:860px){
  .cases-list{gap:64px}
  .csr .im,.csr .tx,.csr:nth-child(even) .im,.csr:nth-child(even) .tx{grid-column:1 / -1;grid-row:auto}
  .csr .tx{margin-top:20px}
  .csr h2{font-size:36px}
  .csr .st b{font-size:24px}
}

/* Realizacje: pełna lista klientów — 6 w rzędzie, mniejsze kafle */
.clients.wszyscy .client{grid-column:span 2;height:150px}
.clients.wszyscy .client img{max-width:72%;max-height:52%}
@media (max-width:860px){.clients.wszyscy .client{grid-column:span 4;height:96px}.clients.wszyscy .client img{max-width:80%}}

/* menu Portfolio: podgląd jako wideo albo telefon (8.11) */
.mm-fig video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);opacity:0;transform:scale(1.04);transition:opacity .45s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.mm-fig video.on{opacity:1;transform:none}
.mm-fig .tel{position:absolute;inset:0;display:grid;place-items:center;background:var(--card);opacity:0;transition:opacity .45s ease}
.mm-fig .tel.on{opacity:1}
.mm-fig .tel .ram{width:56%;aspect-ratio:9/19.2;border-radius:30px;background:#111214;padding:7px;box-shadow:0 30px 60px -30px rgba(14,15,17,.55),0 0 0 1px rgba(14,15,17,.08)}
.mm-fig .tel .ekran{position:relative;width:100%;height:100%;border-radius:24px;overflow:hidden;background:#fff}
.mm-fig .tel img{position:static;inset:auto;opacity:1;transform:none;display:block;width:100%;height:auto;object-fit:initial;filter:grayscale(1) contrast(1.04)}
.mm-fig .tel .tel-ekran{height:100%;object-fit:cover;object-position:top}
.mm-fig .tel-top{position:absolute;z-index:1;top:0;left:0;right:0;display:flex;align-items:center;gap:7px;padding:22px 10px 8px;background:rgba(255,255,255,.94);font:600 10px/1 var(--sans);color:#111}
.mm-fig .tel-top i{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#bbb,#666)}
.mm-fig .feed{display:grid;gap:8px;padding-top:46px;animation:mm-feed 26s linear infinite}
.mm-fig .tel:not(.on) .feed{animation-play-state:paused}
@keyframes mm-feed{to{transform:translateY(calc(-50% - 4px))}}
@media (prefers-reduced-motion:reduce){.mm-fig .feed{animation:none}}

/* menu Portfolio v2: pokaz zdjęć, okno aplikacji, telefon z wideo */
.mm-fig .pokaz{position:absolute;inset:0;opacity:0;transition:opacity .45s ease}
.mm-fig .pokaz.on{opacity:1}
.mm-fig .pokaz img,.mm-fig .pokaz-w img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:none;transition:opacity .9s ease}
.mm-fig .pokaz img.akt,.mm-fig .pokaz-w img.akt{opacity:1}
.mm-fig .okno{position:absolute;inset:0;display:grid;place-items:center;background:var(--card);opacity:0;transition:opacity .45s ease}
.mm-fig .okno.on{opacity:1}
.mm-fig .win{width:90%;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 30px 60px -30px rgba(14,15,17,.5),0 0 0 1px rgba(14,15,17,.08)}
.mm-fig .win .bar{display:flex;align-items:center;gap:5px;height:24px;padding:0 10px;background:#EDEDEA}
.mm-fig .win .bar i{width:7px;height:7px;border-radius:50%;background:#C8C8C4}
.mm-fig .win .bar span{margin-left:10px;font:500 9px/1 var(--mono);color:#8A8A86}
.mm-fig .win .scr{position:relative;aspect-ratio:16/11}
.mm-fig .win .scr img{object-position:left top}
.mm-fig .tel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;transform:none}

/* strzałka 45° w kółku zamiast „→” w tekście (8.11) */
.kolo{display:inline-grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;border:1px solid currentColor;vertical-align:middle;font-style:normal}
.kolo svg{width:8px;height:8px}
small .kolo{margin-right:9px;width:20px;height:20px;transform:translateY(-1px)}
a.go .kolo{margin-left:2px;transition:background .25s ease,color .25s ease}
a.go:hover .kolo{background:var(--ink);color:var(--paper);border-color:var(--ink)}
a.go{border-bottom:0 !important;padding-bottom:0 !important}

/* Studio, historia: czarno-białe zdjęcie z pomarańczowym telewizorem, kolor po najechaniu (8.11) */
.story2 figure.duo-kolor{position:relative}
.story2 figure.duo-kolor img{position:absolute;inset:0;filter:none}
.story2 figure.duo-kolor .kolor{opacity:0;transition:opacity .6s ease}
.story2 figure.duo-kolor:hover .kolor{opacity:1}

/* Studio, „Dołącz do ekipy”: zdjęcie zespołu i zachęta do ofert zamiast listy stanowisk (8.11) */
.ek-foto{margin:0;border-radius:12px;overflow:hidden;aspect-ratio:21/9;background:#1c1e22}
.ek-foto img{object-position:50% 40%}
.ek-foto img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);transition:filter .6s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.ek-ink:hover .ek-foto img{filter:none;transform:scale(1.02)}
.ek-tekst{display:grid;gap:12px}
.ek-tekst h3{font:500 34px/1.08 var(--sans);letter-spacing:-.035em;color:var(--paper)}
.ek-tekst p{color:#b4b7bd;font-size:16px;line-height:1.55;max-width:52ch}
@media (max-width:860px){.ek-tekst h3{font-size:26px}}
.ek-pole b a{color:inherit}
.ek-pole b a:hover{color:var(--accent-t)}

/* Studio, „Dane firmy” ciszej (8.11): bez kopiowania, lżejsza typografia, linia zamiast cienia */
.ek-firma{background:transparent;box-shadow:none;border:1px solid var(--line);gap:18px}
.ek-firma .ek-nazwa b{font-size:26px;letter-spacing:-.03em}
.ek-firma .ek-nazwa span{font-size:14px}
.ek-firma .ek-adres{padding:0;border:0;background:none;font-size:15px;color:var(--muted)}
.ek-firma .ek-adres .mono{font-size:11px}
.ek-firma .ek-pole{grid-template-columns:72px 1fr;padding:10px 0}
.ek-firma .ek-pole b{font:400 14.5px/1.3 var(--sans);letter-spacing:0;color:var(--muted)}
.ek-firma .ek-pole .mono{font-size:11px;color:var(--grey)}
.ek-firma{background:var(--paper);border:0;padding:28px 12px;align-self:start}
.ek-firma .ek-adres{justify-content:flex-start;gap:18px;align-items:baseline}
.ek-firma .ek-pola{margin-top:6px}

/* księga: zapowiedź otwarcia przy przewijaniu (8.11) — w trakcie bez przejść, żeby ruch szedł równo ze scrollem */
.flip.zapowiedz .flip-ks,.flip.zapowiedz .flip-lisc{transition:none}
.flip.zapowiedz .flip-ks{cursor:pointer}
.flip-podp{display:none;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey);opacity:calc((var(--zap,0) - .5) * 2);transition:opacity .3s}
.flip.zapowiedz .flip-podp{display:inline}
.flip.zapowiedz .flip-ks{perspective:2400px;perspective-origin:50% 50%}
.flip.zapowiedz .flip-lisc{pointer-events:none}
.flip.zapowiedz .flip-nav{position:relative;z-index:700}
.flip-ks + .flip-nav{margin-top:52px}

/* zapowiedź: okładka zgięta w łuk (paski) — 8.11 */
.flip-luk{position:absolute;top:0;bottom:0;left:50%;width:50%;transform-style:preserve-3d;z-index:650;pointer-events:none}
.flip-pasek{position:absolute;top:0;height:100%;left:calc(100% - 1px);width:100%;transform-origin:left center;transform-style:preserve-3d;background-repeat:no-repeat;background-color:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flip-luk > .flip-pasek{left:0}
.flip-pasek > i{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none}
/* brzegi zgiętej okładki bez schodków: krawędź obrazu wewnątrz paska (przezroczysta ramka), filtr tekstury wygładza ją jak antyaliasing */
.flip-pasek{top:-2px;height:calc(100% + 4px);border-top:2px solid transparent;border-bottom:2px solid transparent;background-clip:padding-box;box-sizing:border-box;outline:1px solid transparent;will-change:transform}
.flip-ks,.flip-lisc{outline:1px solid transparent}
/* skrzynka z newsletterem: własny pomarańczowy pasek przewijania (8.11) — zawsze widoczny, przeciągany */
.mk-ma-pasek{position:relative}
.mk-scroll{position:absolute;right:6px;width:6px;border-radius:6px;background:rgba(14,15,17,.12);z-index:3;cursor:pointer}
.mk-scroll > i{display:block;width:100%;border-radius:6px;background:var(--accent);box-shadow:0 0 0 1px rgba(255,255,255,.35);cursor:grab;transition:width .2s}
.mk-scroll:hover,.mk-scroll.ciag{width:8px;right:5px}
.mk-scroll.ciag > i{cursor:grabbing}

/* „Następna realizacja”: tekst po lewej, zajawka po prawej (8.11) */
.nextcase{padding:96px 0}
.nextcase .nc-uklad{align-items:center}
.nextcase .nc-tekst{grid-column:1 / span 5;display:grid;gap:18px;align-content:center}
.nextcase .nc-tekst > *{grid-column:1 / -1}
.nextcase .nc-tekst{grid-template-columns:minmax(0,1fr)}
.nextcase .nc-tekst .lbl{color:var(--grey-d);justify-self:start}
.nextcase .nc-nazwa{font:700 clamp(48px,6vw,96px)/.9 var(--sans);letter-spacing:-.05em;text-transform:uppercase;background:linear-gradient(180deg,#F4F4F2 30%,#7a7d83 100%);-webkit-background-clip:text;background-clip:text;color:transparent;transition:background .4s}
.nextcase:hover .nc-nazwa{background:linear-gradient(180deg,#FF6A45 30%,#B8361A 100%);-webkit-background-clip:text;background-clip:text}
.nextcase .nc-tekst .t{margin:0;font-size:22px;max-width:30ch}
.nextcase .nc-tekst .c{justify-self:start;margin:6px 0 0}
.nextcase .nc-zaj{grid-column:7 / span 6;margin:0;border-radius:14px;overflow:hidden;aspect-ratio:16 / 10;background:#17191c;box-shadow:0 0 0 1px rgba(244,244,242,.06),0 40px 80px -40px rgba(0,0,0,.7)}
.nextcase .nc-zaj img,.nextcase .nc-zaj video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0;filter:grayscale(1) contrast(1.05) brightness(.8);transform:scale(1.02);transition:filter .6s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.nextcase:hover .nc-zaj img,.nextcase:hover .nc-zaj video{filter:none;transform:none}
@media (max-width:860px){.nextcase{padding:64px 0}.nextcase .nc-tekst,.nextcase .nc-zaj{grid-column:1 / -1}.nextcase .nc-zaj{margin-top:24px}}

/* przycisk „Scroll” w skrzynce: okrągły, pomarańczowy, delikatnie pulsuje (8.11) */
.mk-scroll-btn{position:absolute;right:22px;z-index:4;width:64px;height:64px;border-radius:50%;border:0;padding:0;cursor:pointer;
  display:grid;place-items:center;align-content:center;gap:3px;background:var(--accent);color:#fff;
  box-shadow:0 10px 24px -8px rgba(255,74,31,.55);animation:mk-puls 2.4s ease-out infinite;transition:transform .25s ease}
.mk-scroll-btn span{font:600 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.mk-scroll-btn svg{width:12px;height:12px;transition:transform .3s ease}
.mk-scroll-btn:hover{transform:scale(1.06)}
.mk-scroll-btn.gora svg{transform:rotate(180deg)}
.mk-scroll-btn[hidden]{display:none}
@keyframes mk-puls{0%{box-shadow:0 10px 24px -8px rgba(255,74,31,.55),0 0 0 0 rgba(255,74,31,.45)}70%{box-shadow:0 10px 24px -8px rgba(255,74,31,.55),0 0 0 14px rgba(255,74,31,0)}100%{box-shadow:0 10px 24px -8px rgba(255,74,31,.55),0 0 0 0 rgba(255,74,31,0)}}
.mk-poczta .mk-scroll-btn{width:52px;height:52px;right:16px}
.mk-poczta .mk-scroll-btn span{font-size:9px}
@media (prefers-reduced-motion:reduce){.mk-scroll-btn{animation:none}}

/* karuzela w poście: plansze w poziomie (9.11) */
.mk-kar{position:relative;background:#000}
.mk-kar-pas{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;outline:none}
.mk-kar-pas::-webkit-scrollbar{display:none}
.mk-kar-pas.ciag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.mk-kar-pas img{flex:0 0 100%;width:100%;aspect-ratio:1;object-fit:cover;scroll-snap-align:start;display:block;pointer-events:none}
.mk-kar-licz{position:absolute;top:10px;right:10px;padding:4px 8px;border-radius:12px;background:rgba(18,19,22,.7);color:#fff;font-size:11px}
.mk-kar-n{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#16181c;font:600 18px/1 var(--sans);display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.mk-kar-n.pv{left:10px}.mk-kar-n.nx{right:10px}
.mk-kar-n[hidden]{display:none}
.mk-kar-kropki{position:absolute;left:0;right:0;bottom:-18px;display:flex;justify-content:center;gap:5px}
.mk-kar.fb .mk-kar-kropki{bottom:10px}
.mk-kar-kropki i{width:6px;height:6px;border-radius:50%;background:#c4c7cc;transition:background .2s}
.mk-kar.fb .mk-kar-kropki i{background:rgba(255,255,255,.55)}
.mk-kar-kropki i.on{background:var(--accent)}
.mk-post.ig .mk-m:has(.mk-kar){margin-bottom:22px}

/* przewijana strona w laptopie/telefonie z animowanym pierwszym ekranem (9.11) */
.strona-w{position:relative}
.strona-w > img{display:block;width:100%;height:auto}
.strona-w .ruch-hero{position:absolute;top:0;left:0;width:100%;height:auto;object-fit:cover;object-position:top;display:block;z-index:1}
.laptop .mk-scroll-btn{width:56px;height:56px}
.laptop .mk-scroll-btn span{font-size:9px}
.phone .mk-scroll-btn{width:48px;height:48px;right:14px}
.phone .mk-scroll-btn span{font-size:8px}

/* księga: jeden cień pod połową rozkładówki zamiast cienia na każdej kartce (9.11) */
.flip-lisc > div{box-shadow:none}
.flip-tlo{position:absolute;top:0;bottom:0;width:50%;background:#fff;opacity:0;transition:opacity .3s ease .5s;
  box-shadow:0 1px 2px rgba(0,0,0,.08),0 28px 44px -26px rgba(0,0,0,.38);pointer-events:none}
.flip-tlo.l{left:0}.flip-tlo.p{left:50%}
.flip-tlo.on{opacity:1}
.flip.jedna .flip-tlo{left:0;width:100%}
/* szew między animowanym pierwszym ekranem a zrzutem: łagodne przejście zamiast twardej linii */
/* strzałki karuzeli w kolorze Spoko (9.11) */
.mk-kar-n{background:var(--accent);color:#fff;box-shadow:0 4px 12px -2px rgba(255,74,31,.5);transition:transform .2s ease}
.mk-kar-n:hover{transform:translateY(-50%) scale(1.08)}

/* telefon: pasek stanu nad stroną (9.11) — obramowanie u góry ekranu w kolorze strony, napisy na nim */
.phone .strona-scr.z-paskiem{border-top:44px solid #fff;box-sizing:border-box}
.phone .tel-stan{position:absolute;z-index:1;top:10px;left:10px;right:10px;height:44px;display:flex;align-items:center;justify-content:space-between;
  padding:0 22px;color:#fff;font:600 11px/1 var(--sans);pointer-events:none}
.phone .tel-stan.jasny{color:#111}
.phone .tel-stan span{display:flex;gap:3px;align-items:center}
.phone .tel-stan span i{display:block;width:14px;height:7px;border-radius:2px;background:currentColor;opacity:.9}
.phone .tel-stan span i:nth-child(1),.phone .tel-stan span i:nth-child(2){width:9px;opacity:.7}

/* DRZEWO MARKI: marka matka u góry, marki córki pod nią połączone liniami */
.drzewo{margin:48px auto 0;max-width:1100px;display:flex;flex-direction:column;align-items:center}
.drzewo .dz-matka,.drzewo .dz-dziecko{background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:14px}
.drzewo .dz-matka{width:min(420px,100%);padding:32px 40px 18px}
.drzewo .dz-matka img{width:100%;height:auto}
.drzewo .dz-pien{width:1px;height:34px;background:var(--ink);opacity:.3}
.drzewo .dz-galezie{position:relative;width:100%;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:var(--g);padding-top:34px}
.drzewo .dz-galezie::before{content:"";position:absolute;top:0;left:calc(50% / var(--n));right:calc(50% / var(--n));height:1px;background:var(--ink);opacity:.3}
.drzewo .dz-dziecko{position:relative;padding:26px 22px 14px}
.drzewo .dz-dziecko::before{content:"";position:absolute;top:-35px;left:50%;width:1px;height:34px;background:var(--ink);opacity:.3}
.drzewo .dz-dziecko img{width:100%;height:48px;object-fit:contain}
.drzewo .dz-podpis{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:center}
@media (max-width:860px){
  .drzewo .dz-galezie{grid-template-columns:1fr 1fr}
  .drzewo .dz-galezie::before{left:25%;right:25%}
  .drzewo .dz-dziecko:nth-child(n+3)::before{display:none}
  .drzewo .dz-matka{padding:30px 28px 16px}
  .drzewo .dz-dziecko{padding:24px 16px 14px}
  .drzewo .dz-dziecko img{height:44px}
}

/* okruszki na stronie realizacji: skąd przyszedłem i strzałki do sąsiednich projektów (u góry w ciemnym nagłówku i na dole) */
.okruchy{display:flex;justify-content:space-between;align-items:center;gap:10px 24px;flex-wrap:wrap;padding:6px var(--m) 0;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}
.okr-sc{display:flex;flex-wrap:wrap;align-items:center;list-style:none;margin:0;padding:0;row-gap:4px}
.okr-sc li{display:flex;align-items:center}
.okr-sc li + li::before{content:"/";margin:0 10px;opacity:.35}
.okr-sc a{color:inherit;opacity:.6;transition:opacity .2s}
.okr-sc a:hover,.okr-sc a:focus-visible{opacity:1}
.okr-sc [aria-current]{opacity:1}
.okr-pn{display:flex;align-items:center;gap:10px}
.okr-pn a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:inherit;font-size:15px;letter-spacing:0;border:1px solid color-mix(in srgb,currentColor 28%,transparent);transition:background .2s,color .2s,border-color .2s}
.okr-pn a:hover,.okr-pn a:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff}
.okr-n{min-width:64px;text-align:center;opacity:.6}
.okr-dol{position:relative;background:var(--paper);color:var(--ink);padding:30px 0}
@media (max-width:860px){.okruchy{font-size:10.5px}.okr-pn a{width:32px;height:32px}.okr-n{min-width:52px}}

/* proces z 6 krokami: 3 w rzędzie, niższe kolaże (Fraszek Group) */
@media (min-width:1101px){.kroki.k3 .krok{grid-column:span 4}.kroki.k3 .kk-obr{aspect-ratio:1 / .78}}
/* dokument do przewracania obok filmu */
.ksiega-film{margin-top:48px;align-items:center;row-gap:28px}
.ksiega-film .kf-ks{grid-column:1 / span 6;min-width:0}
.ksiega-film .kf-film{grid-column:7 / -1;margin:0;display:grid;gap:12px}
.ksiega-film .kf-film video{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:12px;background:#0e0f11}
.ksiega-film .kf-film figcaption{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
@media (max-width:860px){.ksiega-film .kf-ks,.ksiega-film .kf-film{grid-column:1 / -1}}

/* boczne menu rozdziałów (długie realizacje): zwinięte same numery, po najechaniu nazwy; aktywny rozdział w akcencie */
.rozdz{position:fixed;left:12px;top:50%;transform:translateY(-50%);z-index:60;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.rozdz.on{opacity:1;visibility:visible}
.rozdz ol{list-style:none;margin:0;padding:6px;display:grid;gap:1px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px -16px rgba(0,0,0,.28)}
.rozdz a{display:flex;align-items:center;padding:7px 8px;border-radius:8px;color:var(--ink);white-space:nowrap;transition:background .2s}
.rozdz a:hover,.rozdz a:focus-visible{background:var(--card)}
.rozdz .n{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.rozdz .t{display:inline-block;max-width:0;opacity:0;overflow:hidden;font:500 14px/1.2 var(--sans);letter-spacing:-.01em;transition:max-width .35s cubic-bezier(.3,.7,.2,1),opacity .2s,margin .35s}
.rozdz:hover .t,.rozdz:focus-within .t{max-width:280px;opacity:1;margin-left:10px}
.rozdz a.akt .n{color:var(--accent-t)}
.rozdz a.akt{background:var(--card)}
@media (max-width:1100px){.rozdz{display:none}}
@media (prefers-reduced-motion:reduce){.rozdz,.rozdz .t{transition:none}}

/* sprawiedliwe rzędy: równa wysokość w rzędzie, pełne proporcje zdjęć (szerokość ∝ proporcji) */
.obrazy.wiersze{row-gap:var(--g)}
.obrazy.wiersze .wiersz{grid-column:1 / -1;display:flex;gap:var(--g)}
.obrazy.wiersze .wiersz figure{flex:var(--r) 1 0;min-width:0;aspect-ratio:var(--r)}
@media (max-width:860px){.obrazy.wiersze .wiersz{flex-wrap:wrap}.obrazy.wiersze .wiersz figure{flex:1 1 calc(50% - var(--g))}.obrazy.wiersze .wiersz figure:only-child,.obrazy.wiersze .wiersz figure:nth-child(3):last-child{flex-basis:100%}}
.gallery.wiersze .wiersz{grid-column:1 / -1;display:flex;gap:var(--g)}
.gallery.wiersze .wiersz figure{flex:var(--r) 1 0;min-width:0;aspect-ratio:var(--r)}
@media (max-width:860px){.gallery.wiersze .wiersz{flex-wrap:wrap}.gallery.wiersze .wiersz figure{flex:1 1 calc(50% - var(--g))}.gallery.wiersze .wiersz figure:nth-child(3):last-child{flex-basis:100%}}

/* film grający sam bez dźwięku + przycisk „Włącz dźwięk” */
.wd-wrap{position:relative;min-width:0}
.wideo > .wd-wrap{grid-column:1 / -1}
.wd-dzwiek{position:absolute;left:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:9px;padding:11px 16px 11px 13px;border:0;border-radius:40px;
  background:rgba(14,15,17,.78);color:#fff;font:500 13.5px/1 var(--sans);letter-spacing:-.01em;cursor:pointer;transition:background .2s,transform .2s}
.wd-dzwiek:hover,.wd-dzwiek:focus-visible{background:var(--accent);transform:translateY(-1px)}
.wd-dzwiek svg{width:17px;height:17px;flex:none}
.wd-wrap.z-dzwiekiem .wd-dzwiek{display:none}

/* galeria bento: 4 kolumny, duże kafle 2×2 (portfolio jak na stronie Movement) */
.grid.gallery.bento{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense}
.gallery.bento figure{grid-column:auto;aspect-ratio:1.4}
.gallery.bento figure.duzy{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
@media (max-width:860px){.grid.gallery.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
.obrazy + .obrazy.wiersze{margin-top:var(--g)}

/* wyszukiwarka */
.szukaj-btn{-webkit-appearance:none;appearance:none;box-sizing:border-box;flex:none;width:40px;height:40px;min-width:40px;min-height:40px;aspect-ratio:1 / 1;padding:0;margin:0;line-height:0;border-radius:50%;border:1px solid var(--line);background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s}
.szukaj-btn:hover,.szukaj-btn:focus-visible{background:var(--card);border-color:transparent}
.szukaj-btn svg{display:block;width:18px;height:18px}
.nav[data-theme="dark"] .szukaj-btn{border-color:rgba(244,244,242,.22)}
.nav[data-theme="dark"] .szukaj-btn:hover{background:rgba(244,244,242,.1)}
html.sz-otwarta,html.sz-otwarta body{overflow:hidden}
.szukaj{position:fixed;inset:0;z-index:3500;background:rgba(14,15,17,.45);display:flex;justify-content:center;align-items:flex-start;padding:calc(var(--nav) + 16px) var(--m) 24px}
.szukaj[hidden]{display:none}
.sz-okno{width:min(760px,100%);max-height:calc(100vh - var(--nav) - 48px);display:flex;flex-direction:column;background:var(--paper);color:var(--ink);border-radius:16px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);overflow:hidden}
.sz-pole{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.sz-pole svg{width:20px;height:20px;flex:none;color:var(--muted)}
.sz-pole input{flex:1;min-width:0;border:0;background:none;font:500 20px/1.2 var(--sans);letter-spacing:-.02em;color:inherit;outline:none}
.sz-pole input::-webkit-search-cancel-button{display:none}
.sz-x{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:6px 9px;font:500 11px/1 var(--mono);color:var(--muted);cursor:pointer}
.sz-lista{overflow-y:auto;padding:8px}
.sz-w{display:flex;align-items:center;gap:14px;padding:10px;border-radius:10px;color:inherit}
.sz-w.akt,.sz-w:hover{background:var(--card)}
.sz-im{flex:none;width:76px;aspect-ratio:4 / 3;border-radius:6px;overflow:hidden;background:var(--card)}
.sz-im img{width:100%;height:100%;object-fit:cover;display:block}
.sz-bez{background:linear-gradient(135deg,var(--card),var(--line))}
.sz-tx{display:grid;gap:3px;min-width:0}
.sz-tx b{font:600 16px/1.2 var(--sans);letter-spacing:-.02em}
.sz-r{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-t)}
.sz-s{font-size:13.5px;line-height:1.35;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sz-pusto{padding:18px 12px;color:var(--muted);font-size:15px;line-height:1.5}
.sz-pusto a{color:var(--accent-t);text-decoration:underline}
@media (max-width:860px){.szukaj-btn{width:38px;height:38px;min-width:38px;min-height:38px}.sz-im{width:60px}.sz-pole input{font-size:17px}.szukaj{padding-top:calc(var(--nav) + 8px)}}
/* listy przewijane w makietach telefonu (feed, poczta, relacje): bez promienia ekranu, rogi przycina sam ekran */
.mk-ekran .dev-scr{border-radius:0;aspect-ratio:auto}

/* film w makiecie posta (ig-tel / fb-tel) zachowuje własne proporcje, bez wymuszonego 9:16 rolki */
.rolka.mk-w .mk-post video.mk-img{aspect-ratio:auto}

/* przełącznik języka PL | EN (10.11): kółko jak lupa, skrót języka mono */
.lang-sw{box-sizing:border-box;flex:none;height:40px;min-width:40px;padding:0 10px;border-radius:999px;border:1px solid var(--line);color:inherit;display:inline-grid;place-items:center;font:500 11px/1 var(--mono, "Geist Mono", monospace);letter-spacing:.08em;text-decoration:none;transition:background .2s,border-color .2s}
.lang-sw:hover{background:rgba(0,0,0,.05)}
.nav[data-theme="dark"] .lang-sw{border-color:rgba(244,244,242,.22)}
.nav[data-theme="dark"] .lang-sw:hover{background:rgba(255,255,255,.08)}
.nav .right .lang-sw{margin-right:8px}
@media (max-width:860px){.nav .right .lang-sw{height:38px;min-width:38px}}

/* strony filarowe usług (10.11): pozostałe usługi pod blogiem */
.filar-inne .filar-linki{grid-column:5 / -1;display:flex;flex-wrap:wrap;gap:10px}
@media (max-width:860px){.filar-inne .filar-linki{grid-column:1 / -1;margin-top:12px}}
.svc-more{margin-top:28px}
.e404 .more-row{margin-top:40px}
.e404 .g404{font-size:clamp(120px,min(24vw,34vh),340px)!important;line-height:.9}

/* zgody na cookies i GA4 (assets/zgody.js, 10.11) — „Akceptuję” i „Odrzucam” tak samo widoczne */
.zgody{position:fixed;left:16px;bottom:16px;z-index:95;width:min(430px,calc(100vw - 32px));background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:20px 20px 18px;
  box-shadow:0 1px 2px rgba(14,15,17,.06),0 4px 8px -2px rgba(14,15,17,.06),0 12px 24px -6px rgba(14,15,17,.1),0 28px 48px -12px rgba(14,15,17,.14),0 48px 80px -24px rgba(14,15,17,.16)}
.zgody[hidden]{display:none}
.zg-nad{display:flex;align-items:center;gap:8px;color:var(--grey);font-size:12px;margin-bottom:10px}
.zg-nad::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.zg-tx{font-size:15px;line-height:1.45}
.zg-tx a{text-decoration:underline;text-underline-offset:2px}
.zg-ust{display:grid;gap:12px;margin-top:16px}
.zg-ust[hidden]{display:none}
.zg-kat{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;color:var(--grey-d,var(--grey))}
.zg-kat b{display:block;font-weight:600;color:var(--ink)}
.zg-kat input{margin-top:3px;width:16px;height:16px;accent-color:var(--accent);flex:none}
.zg-przyciski{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.zg-b{height:40px;padding:0 20px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font:500 14px/1 var(--sans);cursor:pointer;transition:background .2s ease}
.zg-b:hover,.zg-b:focus-visible{background:var(--accent)}
.zg-b[hidden],.zg-l[hidden]{display:none}
.zg-l{height:40px;padding:0 6px;border:0;background:none;color:var(--ink);font:500 14px/1 var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media (max-width:600px){.zgody{left:8px;right:8px;bottom:8px;width:auto;padding:16px}}

/* mobile (10.11): opisy przy nagłówkach z kolumną wpisaną w znaczniku (strona główna) pod nagłówkiem, nie w wąskiej kolumnie */
@media (max-width:860px){.head .side[style],.head .lead[style]{grid-column:1 / -1 !important;margin-top:24px}}

/* mobile (10.11): cele dotyku min. 44 px i tekst min. 12 px na telefonie (audyt _tools/mobile/audyt.mjs); wygląd bez zmian */
@media (max-width:860px){
  .nav .right .lang-sw,.nav .right .szukaj-btn{width:44px;height:44px;min-width:44px;min-height:44px;padding:0}
  .lang-sw{font-size:12px}
  .nav .logo{height:auto;padding:13px 0;margin:-13px 0}
  .okruchy{font-size:12px}
  .okr-sc a{display:inline-flex;align-items:center;min-height:44px}
  .okr-pn a{width:44px;height:44px}
  .foot nav{gap:0}
  .foot nav a{min-height:44px}
  .filters button,.chips button{height:44px}
  .filters button sup{font-size:10px}
  .ek-pole b a,.cinfo a.big,.cinfo a.tel{display:inline-flex;align-items:center;min-height:44px}
  .svc a.go{position:relative}
  .svc a.go::before{content:"";position:absolute;left:-6px;right:-6px;top:-12px;bottom:-8px}   /* obszar dotyku bez przesuwania podkreślenia */
  .wd-dzwiek,.sound{min-height:44px}
  .zk-kto,.case .tags span,.chero .tags span,.brand-tag,.ek-wart span,.svc-index a .idx,.zarobki .mono,.z-stopka{font-size:12px}
}

/* mobile (10.11): Spoko Lab — wyższe kafle, tekst nad i pod dłońmi zamiast na nich */
@media (max-width:860px){.tiles{width:92vw;aspect-ratio:1 / 1.25}.tile .tx{font-size:13px;left:14px;right:14px}.tile .tx b{font-size:14px}}

/* mobile (10.11): linia obok wstępu (np. „Wszystkie prace · Portfolio”) pod wstępem, z łamaniem — wcześniej uciekała za lewą krawędź */
@media (max-width:860px){.intro .side.mono{grid-column:1 / -1;justify-self:start;white-space:normal;margin-top:18px}}

/* mobile (10.11): długie słowa w nagłówkach (ZAINTERESOWAŁ, POROZMAWIAĆ, PRZYGOTOWUJEMY) mieszczą się od 360 px */
@media (max-width:860px){.t2{font-size:min(36px,9.6vw)}.cta-band h2{font-size:min(48px,11.4vw)}}

/* przycisk zmiany zgód po decyzji (assets/zgody.js, 10.11) */
.zg-fab{position:fixed;left:16px;bottom:16px;z-index:94;width:44px;height:44px;border-radius:50%;border:1px solid rgba(244,244,242,.14);background:var(--ink);color:var(--paper);
  display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px -6px rgba(14,15,17,.45);transition:background .2s ease,transform .2s ease}
.zg-fab svg{width:20px;height:20px}
.zg-fab:hover,.zg-fab:focus-visible{background:var(--accent);transform:translateY(-1px)}
.zg-fab[hidden]{display:none}
@media (max-width:600px){.zg-fab{left:10px;bottom:10px;width:40px;height:40px}.zg-fab svg{width:18px;height:18px}}

/* mobile (10.11): stopka i formularz — cele dotyku, etykiety */
@media (max-width:860px){
  .foot .contact a.big,.foot .contact a.ph2{display:inline-flex;align-items:center;min-height:44px}
  .consent input{width:22px;height:22px}
  .fsub .note a,.consent span a,.formbox .note a{position:relative}
  .fsub .note a::before,.consent span a::before,.formbox .note a::before{content:"";position:absolute;left:-4px;right:-4px;top:-12px;bottom:-12px}   /* obszar dotyku bez odsuwania podkreślenia */
  .ek-pole span.mono,.dz-podpis{font-size:12px}
}

/* mobile (10.11): cena „od 2 900 zł” w jednym wierszu na telefonie */
@media (max-width:860px){.plan .price{font-size:min(64px,13vw)}}
@media (max-width:860px){.plan .price small{display:block;margin:10px 0 0;white-space:nowrap}}
/* przycisk zgód nie przykrywa otwartego menu ani wyszukiwarki (10.11) */
.mmenu:not([hidden]) ~ .zg-fab,.sz-otwarta .zg-fab{display:none}

/* wyszukiwarka na ekranach dotykowych: krzyżyk 44 px zamiast „Esc” (10.11) */
.sz-x.sz-x-dotyk{width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:50%;color:var(--ink);flex:none}
.sz-x.sz-x-dotyk svg{width:20px;height:20px}
/* film: bez czarnej obwódki przy zaokrągleniu w Safari (10.11) */
.film{background:transparent;isolation:isolate}
.film video{border-radius:inherit}

/* uwagi z telefonu 10.11: film na środku, większe loga, odstęp pod „Wszystkie realizacje”, menu mniejsze, „Zobacz case” pomarańczowy */
.case .case-go{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.case .case-go:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--ink)}
@media (max-width:860px){
  .film{width:min(100%, calc(86svh * 9 / 16));max-height:none;justify-self:center}
  .client img{max-width:70%;max-height:50%}
  .after-cases{padding-bottom:64px}
  .mm-links a{font-size:26px;padding:12px 0}
}

/* CTA na telefonie: zdjęcie w treści między opisem a formularzem, formularz lekko na nie nachodzi (10.11) */
.cta-sec .portrait-m{display:none}
@media (max-width:860px){
  .cta-sec .portrait{display:none}
  .cta-sec .portrait-m{display:block;grid-column:1 / -1;margin:24px calc(-1 * var(--m)) 0;height:min(112vw,560px)}
  .cta-sec .portrait-m img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply;
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 80%,transparent)}
  .cta-sec .portrait-m + .qform{margin-top:-96px}
}

/* pasek: „Rodzina Spoko” w jednej grupie z EN, lupą i „Napisz do nas”, żeby nie nachodziły na siebie (10.11) */
@media (min-width:1101px){
  .nav .right{grid-column:9 / span 4}
  .nav .right .fam{margin-right:14px}
}
@media (min-width:1101px) and (max-width:1279px){.nav .right .fam{display:none}}   /* za mało miejsca, Rodzina Spoko jest też w stopce */
.nav .right .fam{white-space:nowrap;flex:none}

/* menu na telefonie: język w prawej kolumnie obok Rodziny Spoko, w pasku już bez przełącznika (10.11) */
.mm-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.mm-lang{display:grid;gap:10px;justify-items:end;text-align:right;font:500 17px/1.2 var(--sans)}
.mm-lang .mono{margin-bottom:4px;color:var(--grey)}
.mm-lang a{color:var(--muted)}
.mm-lang a:hover{color:var(--ink)}
.mm-lang .on{display:inline-flex;align-items:center;gap:8px}
.mm-lang .on::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}
@media (max-width:1100px){.nav .right .lang-sw{display:none}}
/* menu na tablecie: kolumna języka obok Rodziny Spoko zamiast przy prawej krawędzi szerokiego ekranu */
@media (min-width:640px){.mm-row{justify-content:flex-start;gap:clamp(72px,14vw,160px)}.mm-lang{justify-items:start;text-align:left}}

/* tablet w poziomie 861–1100 px: nagłówek w prawej połowie jak na komputerze, lewa zostaje dla przedmiotów 3D (10.11) */
@media (min-width:861px) and (max-width:1100px) and (orientation:landscape){
  .statement{grid-column:7 / span 6;font-size:34px}
  .hero-sub{grid-column:7 / span 3}
}

/* tablet (10.11): nagłówki kart Metody skalują się do szerokości karty (Projektujemy nie wychodzi poza kartę),
   baner Spoko Sites w kolumnie usług układa się w pionie, przycisk nie wystaje za ekran */
.mcard{container-type:inline-size}
.mcard h3{font-size:min(46px, 17cqi)}
@media (max-width:1100px){
  .sblock .ss-banner{grid-template-columns:1fr;padding:28px 24px}
  .sblock .ss-banner .ss-chips,.sblock .ss-banner .pill{grid-column:1;grid-row:auto;justify-self:start}
}
/* mega menu: karty realizacji od góry, dłuższy opis nie podnosi tytułu (10.11) */
.mm-case{align-content:start}

/* telefon w poziomie (niski ekran do 1100 px): tekst w prawej połowie, przedmioty 3D w lewej, mniejsze logo, bez zegara (10.11) */
@media (max-width:1100px) and (orientation:landscape) and (max-height:520px){
  #hero .hero-body{align-items:center;padding-block:12px}
  #hero .statement{grid-column:6 / -1;font-size:clamp(20px, 6.4vh, 28px)}
  #hero .hero-sub{grid-column:6 / -1;margin-top:10px;font-size:13px}
  #hero .when,#hero .hero-cta{display:none}
  #hero .logo-slot{width:min(calc(100% - 2 * var(--m)), calc(19svh * 231 / 36))}
}
/* menu na niskim ekranie w poziomie (telefon obrócony): dwie kolumny, mniejsze pozycje, całe menu bez przewijania (10.11) */
@media (orientation:landscape) and (max-height:520px) and (max-width:1100px){
  .mmenu{gap:22px;padding-top:14px}
  .mm-links{grid-template-columns:1fr 1fr;column-gap:var(--g)}
  .mm-links a{font-size:22px;padding:10px 0}
}

/* niski ekran (telefon w poziomie, mały laptop): karty realizacji jedna pod drugą w pełnej wysokości, bez przykrywania i ucinania (10.11) */
@media (max-height:640px){
  .case{position:relative;height:auto;overflow:visible}
  .case .grid{height:auto;padding-top:calc(var(--nav) + 24px);padding-bottom:56px}
  .case + .case{border-top:1px solid var(--line-d)}
}
/* karta realizacji 1181–1440 px: tytuł skaluje się z szerokością, żeby SUPERNOVA nie rozpychała kolumny pod zdjęcie (10.11) */
.case h3{font-size:min(96px, 6.5vw)}
.case .info{min-width:0}
@media (max-width:1180px){.case h3{font-size:min(72px, 6.5vw)}}
@media (max-width:860px){.case h3{font-size:48px}}

/* wąskie i nietypowe ekrany (10.11): adres mailowy na Kontakcie skaluje się do kolumny (nie rozpycha zdjęć pod formularz),
   pola formularza nie wychodzą poza kartę, karty kroków i wartości mieszczą nagłówki, baner Spoko Sites na 320 px */
.cinfo{min-width:0;container-type:inline-size}
.cinfo a.big{font-size:min(48px, 9.4cqi)}
.formbox{min-width:0;container-type:inline-size}
.fields2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.fields2 input,.fields2 select{min-width:0;width:100%}
@container (max-width:440px){.fields2{grid-template-columns:minmax(0,1fr)}}
.step{container-type:inline-size}
.step h3{font-size:min(32px, 13cqi)}
@media (max-width:420px){.val{grid-column:1 / -1}}
.ss-banner{grid-template-columns:minmax(0,auto) minmax(0,1fr) auto}
@media (max-width:860px){.ss-banner{grid-template-columns:minmax(0,1fr)}}
@media (max-width:360px){.ss-banner .ss-lock{font-size:28px}.ss-banner{padding:24px 18px}}

/* formularze: pole-pułapka poza ekranem (ludzie go nie widzą, automaty wypełniają), komunikat po nieudanej wysyłce (10.11) */
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-kom{margin-top:14px;padding:12px 14px;border-radius:10px;background:rgba(255,74,31,.1);color:var(--ink);font-size:14px;line-height:1.45}
.form-kom a{border-bottom:1px solid currentColor}
.cta-sec .form-kom{background:rgba(14,15,17,.08)}
button[aria-busy="true"]{opacity:.7;cursor:progress}

/* Cloudflare Turnstile w formularzu: miejsce zarezerwowane, żeby formularz nie skakał, gdy widżet się pojawi (10.11) */
.cf-ts{margin:0}.cf-ts.widoczny{margin:22px 0 6px}
.cf-ts iframe{max-width:100%}
