/* Kierunek 1 — „Złota godzina”: ciepła czerń + jasne sekcje (rytm z Figmy C), pomarańcz KV, motyw aparatu */
.ap-k1 {
  --bg: #0b0a09; --bg2: #120f0c; --surface: #17130f;
  --ink: #ffffff; --muted: #cfc6bc; --dim: #8a8078;
  --accent: #d13900; --amber: #ffb070; --red: #e4002b; --cyan: #3fd0ff;
  --hair: rgba(255,255,255,.12);
  --light: #f6f4f1; --light2: #eeeae4; --ink-d: #121014; --muted-d: #4d4741; --hair-d: rgba(18,16,20,.12);
  --strip-bg: #d13900; --strip-ink: #160800; --logo: #fff; --focus: #ffb070;
}

/* header */
/* linia w środku headera: zewnętrzny cień leżał pod paskiem, poza tłem i blurem — przez 1px prześwitywała ostra strona */
.ap-k1 .ap-header.is-scrolled { background: rgba(11,10,9,.78); backdrop-filter: blur(16px) saturate(150%); -webkit-backdrop-filter: blur(16px) saturate(150%); box-shadow: inset 0 -1px 0 var(--hair); }
.ap-k1 .ap-header-link { color: #fff; border: 1px solid rgba(255,255,255,.28); }
.ap-k1 .ap-header-link:hover { background: var(--accent); border-color: var(--accent); }

/* typografia */
.ap-k1 .ap-kicker { font-size: 18px; font-weight: 600; color: var(--accent); margin-bottom: 20px; }
.ap-k1 .ap-hero-copy { container-type: inline-size; }
/* Typografia jak w K1: pisownia zdaniowa, rozmiar od szerokości kolumny. */
.ap-k1 .ap-h1 { font-size: clamp(36px, 12cqi, 100px); font-weight: 850; line-height: 1; letter-spacing: -.022em; text-transform: none; }
/* zapas na polskie znaki (kreska nad Ó, ogonki) — przycięcie linii jest potrzebne do wjazdu tekstu, więc dodajemy pole i kompensujemy marginesem */
.ap-k1 .ap-line { display: block; overflow: hidden; padding: .16em 0 .08em; margin: -.16em 0 -.08em; }
.ap-k1 .ap-line > span { display: block; }
.ap-k1 .ap-line--accent { color: var(--accent); }
.ap-k1 .ap-h2 { font-size: clamp(34px, 4.2vw, 60px); font-weight: 800; line-height: 1.04; letter-spacing: -.025em; }
.ap-k1 .ap-text { font-size: 18px; color: var(--muted); max-width: 580px; }
.ap-k1 .ap-text--small { font-size: 15.5px; }
.ap-k1 .ap-lead { font-size: 19px; color: var(--muted); max-width: 540px; margin: 30px 0 38px; }
.ap-k1 .ap-actions { display: flex; align-items: center; gap: 18px 30px; flex-wrap: wrap; }
.ap-k1 .ap-btn--primary { background: var(--accent); color: #fff; box-shadow: 0 12px 40px rgba(209,57,0,.34); }
.ap-k1 .ap-btn--primary:hover { box-shadow: 0 16px 50px rgba(209,57,0,.5); }
.ap-k1 .ap-link { color: #fff; }
.ap-ico { display: inline-block; flex: none; width: 40px; height: 40px; background: currentColor; color: var(--accent);
  -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.ap-ico--svg, .ap-ico--inline { background: none; -webkit-mask: none; mask: none; }
.ap-ico--inline svg { display: block; width: 100%; height: 100%; }
.ap-ico--svg svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }

/* sekcje jasne */
.ap-light { background: var(--light); color: var(--ink-d); }
.ap-light--alt { background: var(--light2); }
.ap-k1 .ap-light .ap-text { color: var(--muted-d); }
.ap-k1 .ap-light .ap-link { color: var(--ink-d); }

/* ===== 1. OTWARCIE ===== */
.ap-js .ap-hero-in { opacity: 0; }
.ap-k1 .ap-hero { position: relative; margin-top: -76px; padding: 120px 0 72px; min-height: max(760px, 100vh); display: flex; align-items: center; overflow: hidden; isolation: isolate;
  background: radial-gradient(120% 90% at 78% 58%, #2a1509 0%, #120c08 42%, var(--bg) 72%); }
/* siatka kadrowania z wizjera (canvas) */
.ap-vf { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.ap-k1 .ap-hero .ap-vf { z-index: -1; }
.ap-k1 .ap-hero-glow { position: absolute; z-index: -1; width: 70vw; height: 70vw; right: -12vw; top: 50%; transform: translateY(-50%);
  background: radial-gradient(circle, rgba(255,140,60,.34) 0%, rgba(209,57,0,.14) 30%, transparent 64%); pointer-events: none; will-change: transform; animation: ap-breathe 7s ease-in-out infinite; }
@keyframes ap-breathe { 0%, 100% { opacity: .85; } 50% { opacity: 1; } }
.ap-k1 .ap-hero-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .95fr); gap: 40px; align-items: center; }
.ap-k1 .ap-hero-media { position: relative; }
.ap-stage { position: relative; }
.ap-k1 .ap-cam { position: relative; width: min(100%, 720px); margin-left: auto; --fx: 26.5%; --fy: 68%; --fr: 52%; }
/* głębia ostrości: ostra warstwa widoczna tylko wokół punktu AF, pod nią ta sama klatka rozmyta */
.ap-cam-blur { position: absolute; inset: 0; width: 100%; height: auto; filter: blur(3.5px) brightness(.9) drop-shadow(0 30px 60px rgba(0,0,0,.55)); opacity: 0; }   /* bez transition: Safari + filtr + animacja opacity = białe pole */
/* is-ready: od końca ostrzenia cień aparatu daje ta warstwa (ostre zdjęcie jest wtedy bez filtra — patrz niżej) */
.ap-cam.is-ready .ap-cam-blur, .ap-cam.is-dof .ap-cam-blur { opacity: 1; }
.ap-cam.is-dof .ap-cam-img { -webkit-mask: radial-gradient(ellipse var(--fr) var(--fr) at var(--fx) var(--fy), #000 38%, rgba(0,0,0,.55) 68%, transparent 100%); mask: radial-gradient(ellipse var(--fr) var(--fr) at var(--fx) var(--fy), #000 38%, rgba(0,0,0,.55) 68%, transparent 100%); }
/* ostre zdjęcie bez stałego filtra: Safari rysował je jako białe pole (filtr po animacji, filtr + maska) —
   cień daje warstwa rozmyta pod spodem (.is-ready), filtr ma tylko na czas ostrzenia w otwarciu */
.ap-k1 .ap-cam-img { position: relative; width: 100%; height: auto; }
/* błysk światła przebiega po obudowie (maska = sylwetka aparatu) */
.ap-cam-sweep { position: absolute; inset: 0; pointer-events: none; mix-blend-mode: screen;
  -webkit-mask: url(img/a7rvi.webp) center / contain no-repeat; mask: url(img/a7rvi.webp) center / contain no-repeat;
  background: linear-gradient(105deg, transparent 45%, rgba(255,214,170,.32) 50%, transparent 55%) 0 0 / 300% 100% no-repeat;
  animation: ap-sweep 6.5s cubic-bezier(.6,0,.2,1) 2.4s infinite; }
@keyframes ap-sweep { 0% { background-position: 110% 0; } 38%, 100% { background-position: -10% 0; } }
/* rozbłysk na szkle obiektywu */
.ap-glint { position: absolute; left: 21%; top: 60%; width: 16%; aspect-ratio: 1; pointer-events: none; mix-blend-mode: screen; opacity: 0;
  background: radial-gradient(circle, rgba(255,255,255,.95) 0 3%, rgba(255,210,150,.55) 7%, transparent 32%),
              linear-gradient(90deg, transparent 0 46%, rgba(255,230,200,.8) 50%, transparent 54%) center / 100% 6% no-repeat,
              linear-gradient(0deg, transparent 0 46%, rgba(255,230,200,.7) 50%, transparent 54%) center / 6% 100% no-repeat;
  animation: ap-glint 6.5s ease-in-out 3.1s infinite; }
@keyframes ap-glint { 0%, 18%, 100% { opacity: 0; transform: scale(.4) rotate(0deg); } 8% { opacity: 1; transform: scale(1) rotate(25deg); } }
.ap-reflect { position: absolute; left: 12%; right: 4%; bottom: -3%; height: 10%; z-index: -1; border-radius: 50%;
  background: radial-gradient(50% 50% at 50% 50%, rgba(255,110,40,.45), transparent 70%); filter: blur(6px); animation: ap-breathe 5s ease-in-out infinite; }

.ap-k1 .ap-af { color: #fff; }
.ap-k1 .ap-af.is-locked { color: var(--accent); filter: drop-shadow(0 0 10px rgba(209,57,0,.8)); }

/* skala ekspozycji */
.ap-ev { position: relative; width: min(62%, 420px); margin: 26px 10% 0 auto; --ev: 0%; color: var(--dim); }
.ap-ev-scale { display: flex; justify-content: space-between; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ap-ev-scale span { width: 0; display: flex; justify-content: center; white-space: nowrap; }
.ap-ev-ticks { height: 12px; margin-top: 8px;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.45) 0 1px, transparent 1px 10%) 0 100% / 100% 7px no-repeat,
              repeating-linear-gradient(90deg, rgba(255,255,255,.8) 0 1.5px, transparent 1.5px 25%) 0 0 / calc(100% + 1.5px) 12px no-repeat; }
.ap-ev-marker { position: absolute; bottom: -12px; left: var(--ev); width: 2px; height: 26px; margin-left: -1px; background: var(--accent); box-shadow: 0 0 12px rgba(209,57,0,.9); }
.ap-ev-marker::after { content: ''; position: absolute; left: -5px; bottom: -8px; border: 6px solid transparent; border-bottom-color: var(--accent); }

/* ===== 2. PIĘĆ RZECZY ===== */
.ap-k1 .ap-five { position: relative; overflow-x: clip; padding: clamp(90px, 10vw, 140px) 0; background: linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%); }
.ap-k1 .ap-five-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.ap-k1 .ap-five-copy .ap-text { margin: 22px 0 32px; }
.ap-checks { display: grid; }
.ap-check { display: grid; grid-template-columns: 44px 1fr 30px; gap: 18px; align-items: start; padding: 15px 0; border-top: 1px solid var(--hair); opacity: .34; transition: opacity .5s ease; }
.ap-check:last-child { border-bottom: 1px solid var(--hair); }
.ap-check.is-on { opacity: 1; }
.ap-check .ap-ico { color: var(--dim); transition: color .5s ease; }
.ap-check.is-on .ap-ico { color: var(--accent); }
.ap-check-body { display: grid; gap: 4px; }
.ap-check-body strong { font-size: 21px; font-weight: 700; letter-spacing: -.01em; }
.ap-check-body span { font-size: 15.5px; color: var(--muted); line-height: 1.45; }
.ap-tick { width: 28px; height: 28px; margin-top: 2px; }
.ap-tick path { fill: none; stroke: var(--accent); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset .5s cubic-bezier(.6,0,.2,1) .1s; }
.ap-check.is-on .ap-tick path { stroke-dashoffset: 0; }

.ap-k1 .ap-five-media { position: relative; display: grid; justify-items: center; gap: 26px; }
/* pieczęć z 5 części: każdy odhaczony punkt zapala swój znaczek i łuk do następnego; przy 5/5 pierścień się domyka */
.ap-seal { position: relative; width: min(100%, 520px); aspect-ratio: 1; --p: 0; }
.ap-seal::before { content: ""; position: absolute; inset: 10%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,90,20,.2), rgba(255,90,20,0) 72%);
  opacity: calc(.25 + .35 * var(--p)); transition: opacity .6s ease, transform .9s ease; }
.ap-five-media.is-full .ap-seal::before { opacity: 1; transform: scale(1.18); transition-delay: .45s; }
.ap-seal-dial, .ap-seal-live { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.ap-seal-ticks { fill: none; stroke: rgba(255,255,255,.13); stroke-width: 1.2; }
.ap-seal-track path { fill: none; stroke: rgba(255,255,255,.1); stroke-width: 3; }
.ap-seal-live { filter: drop-shadow(0 0 6px rgba(209,57,0,.7)); }
.ap-seal-arc { fill: none; stroke: var(--accent); stroke-width: 3.5; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset .55s cubic-bezier(.6,0,.3,1); }
.ap-seal-arc.is-on { stroke-dashoffset: 0; }
.ap-seal-node { position: absolute; width: 12.5%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; transform: translate(-50%, -50%);
  background: #15110e; border: 1px solid rgba(255,255,255,.14); color: var(--dim);
  transition: color .45s ease, border-color .45s ease, box-shadow .45s ease, transform .5s cubic-bezier(.3,1.6,.5,1); }
.ap-seal-node .ap-ico { width: 54%; height: 54%; }
.ap-seal-node.is-on { color: var(--accent); border-color: rgba(209,57,0,.75); box-shadow: 0 0 0 5px rgba(209,57,0,.07), 0 0 26px rgba(209,57,0,.45); }
.ap-seal-node.is-hl { transform: translate(-50%, -50%) scale(1.14); }
.ap-seal-stamp { position: absolute; left: 50%; top: 50%; width: 50%; height: auto; transform: translate(-50%, -50%) rotate(-16deg) scale(.84);
  opacity: calc(.06 + .12 * var(--p)); filter: drop-shadow(0 0 0 rgba(255,90,20,0));
  transition: opacity .6s ease, transform .9s cubic-bezier(.3,1.5,.5,1), filter .8s ease; }
.ap-five-media.is-full .ap-seal-stamp { opacity: 1; transform: translate(-50%, -50%) rotate(-8deg) scale(1); filter: drop-shadow(0 0 30px rgba(255,90,20,.5)); transition-delay: .45s; }
.ap-seal-pulse { position: absolute; left: 50%; top: 50%; width: 80.8%; aspect-ratio: 1; border-radius: 50%; border: 2px solid var(--accent); opacity: 0; pointer-events: none; transform: translate(-50%, -50%); }
.ap-five-media.is-full .ap-seal-pulse { animation: ap-seal-pulse 1.2s cubic-bezier(.2,.7,.3,1) .5s both; }
@keyframes ap-seal-pulse { from { opacity: .9; transform: translate(-50%, -50%) scale(.62); } to { opacity: 0; transform: translate(-50%, -50%) scale(1.14); } }
.ap-seal-hud { display: flex; align-items: center; gap: 12px; margin: 0; padding: 9px 16px; border-radius: 999px; background: rgba(255,255,255,.05); border: 1px solid var(--hair);
  font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ap-seal-dots { display: flex; gap: 5px; }
.ap-seal-dots i { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.18); transition: background .4s ease, box-shadow .4s ease; }
.ap-seal-dots i.is-on { background: var(--accent); box-shadow: 0 0 8px var(--accent); }
.ap-seal-label { display: grid; }
.ap-seal-label > span { grid-area: 1 / 1; transition: opacity .4s ease; }
.ap-seal-count { color: var(--muted); }
.ap-seal-done { color: var(--accent); opacity: 0; white-space: nowrap; }
.ap-five-media.is-full .ap-seal-count { opacity: 0; }
.ap-five-media.is-full .ap-seal-done { opacity: 1; transition-delay: .45s; }

/* ===== 3. ORYGINALNY PRODUKT ===== */
.ap-split-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.ap-split-grid--rev .ap-split-media { order: -1; }
.ap-k1 .ap-orig-sec { padding: clamp(96px, 11vw, 150px) 0; }
.ap-split-copy .ap-h2 { margin-bottom: 22px; }
.ap-ticklist { display: grid; gap: 14px; margin: 30px 0; }
.ap-ticklist li { display: flex; align-items: center; gap: 16px; font-size: 18px; font-weight: 600; }
.ap-ticklist .ap-ico { width: 34px; height: 34px; }
.ap-maskphoto { position: relative; border-radius: 24px; overflow: hidden; --m: 100%; clip-path: inset(0 var(--m) 0 0 round 24px); }
.ap-maskphoto img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; transform: scale(1.12); transform-origin: 70% 50%; }

/* ===== 4. GWARANCJA — wlot w cyfrę 5 ===== */
.ap-k1 .ap-warranty { position: relative; overflow: hidden; background: #f4efe8; }
.ap-war-stage { position: relative; min-height: 100vh; display: flex; align-items: center; padding: 110px 0; }
.ap-k1 .ap-war-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; position: relative; z-index: 1; width: 100%; }
.ap-k1 .ap-war-copy .ap-h2 { margin-bottom: 22px; }
.ap-benefits { display: grid; gap: 14px; margin-top: 30px; }
.ap-benefits li { display: flex; align-items: center; gap: 16px; font-size: 17px; font-weight: 600; }
.ap-benefits .ap-ico { width: 32px; height: 32px; }
.ap-war-num { position: relative; justify-self: center; }
.ap-war-five { display: flex; align-items: flex-end; gap: .05em; font-size: clamp(200px, 24vw, 400px); line-height: .76; font-weight: 900; letter-spacing: -.06em; }
.ap-war-digit { display: block; padding: 0 .03em; color: transparent; transform-origin: 30% 32%;
  background: url(photo/grupa-sprzetu.webp) 50% 50% / cover no-repeat; -webkit-background-clip: text; background-clip: text; }
/* tarcza za cyfrą: kontur rysuje się po wjechaniu sekcji */
.ap-war-dwrap { position: relative; display: block; }
.ap-war-dwrap .ap-war-digit { position: relative; z-index: 1; }
.ap-war-five { position: relative; }
.ap-shield { position: absolute; left: 50%; top: 50%; width: 150%; height: 176%; transform: translate(-50%, -52%); overflow: visible; pointer-events: none; z-index: 0; }
.ap-war-lat { position: relative; z-index: 1; }
.ap-shield-fill { fill: rgba(209,57,0,.06); }
.ap-shield-line { fill: none; stroke-width: 2.4px; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: var(--sd, 1); }
.ap-shield-inner { fill: none; stroke: rgba(209,57,0,.16); stroke-width: 1px; vector-effect: non-scaling-stroke; }
.ap-war-lat { font-size: .2em; font-weight: 800; color: var(--accent); letter-spacing: -.02em; line-height: 1; padding-bottom: .1em; }
.ap-war-unit { font-size: 17px; font-weight: 500; color: var(--muted-d); max-width: 420px; margin-top: clamp(90px, 9.5vw, 150px); }
.ap-war-fade { position: absolute; inset: 0; background: var(--bg); opacity: 0; pointer-events: none; z-index: 2; }
.ap-war-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; }
.ap-war-mark { display: inline-block; width: 0; height: 0; vertical-align: baseline; }

/* ===== 5. AKTUALIZACJE ===== */
.ap-fw { position: relative; }
.ap-fw-card { position: relative; overflow: hidden; padding: clamp(96px, 11vw, 150px) 0; background: var(--bg); }
/* desktop z pinem: karta na ~80% szerokości nasuwa się na zdjęcie z cyfry 5; zdjęcie stoi w miejscu (fixed) i przechodzi w beż */
.ap-fw.is-overlap { margin-top: -38vh; z-index: 3; padding: 0 0 12vh;
  background: linear-gradient(180deg, var(--fw-from, #f4efe8) 0%, var(--fw-to, #f6f4f1) 100%); }
.ap-fw.is-overlap .ap-fw-card { width: min(88%, 1440px); margin: 0 auto; min-height: 0; display: flex; align-items: center; padding: 52px 0;
  border-radius: 32px; box-shadow: 0 40px 90px rgba(60,35,15,.28); }
.ap-k1 .ap-fw { --fw-from: #f4efe8; --fw-to: #f6f4f1; }
.ap-fw-bg { position: absolute; inset: 0; opacity: .22; background: url(photo/studio-laptop.webp) center / cover; filter: saturate(.6); }
.ap-fw-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, var(--bg) 8%, rgba(11,10,9,.6) 60%, var(--bg) 100%); }
.ap-fw .ap-split-grid { position: relative; width: 100%; }
.ap-screen { position: relative; max-width: 520px; padding: 26px 28px 30px; border-radius: 20px; background: #0f0d0b; border: 10px solid #1b1815;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 40px 90px rgba(0,0,0,.6), 0 0 80px rgba(255,90,20,.12); font-variant-numeric: tabular-nums; }
.ap-screen-top { display: flex; gap: 8px; font-size: 12px; font-weight: 600; letter-spacing: .06em; color: var(--dim); }
.ap-screen-title { font-size: 22px; font-weight: 700; margin: 16px 0 18px; }
/* licznik % pod prawym końcem paska; po zakończeniu świeci na pomarańczowo */
.ap-screen-pct { position: absolute; right: 0; top: -2px; font-size: 20px; font-weight: 700; letter-spacing: -.01em; color: var(--dim); transition: color .4s ease, text-shadow .4s ease; }
.ap-screen.is-done .ap-screen-pct { color: var(--accent); text-shadow: 0 0 18px rgba(209,57,0,.6); }
.ap-screen-bar { height: 8px; border-radius: 4px; background: rgba(255,255,255,.08); overflow: hidden; }
.ap-screen-bar i { display: block; height: 100%; width: var(--p, 0%); background: linear-gradient(90deg, var(--amber), var(--accent)); box-shadow: 0 0 14px rgba(209,57,0,.8); }
.ap-screen-status { position: relative; height: 22px; margin: 12px 0 22px; font-size: 14px; color: var(--muted); }
.ap-screen-status span { position: absolute; left: 0; top: 0; transition: opacity .4s ease; }
.ap-st-done { opacity: 0; color: var(--amber); }
.ap-screen.is-done .ap-st-run { opacity: 0; }
.ap-screen.is-done .ap-st-done { opacity: 1; }
.ap-screen-feats { display: flex; gap: 12px; }
.ap-screen-feats span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 12px; border: 1px solid rgba(209,57,0,.5); color: var(--accent);
  opacity: 0; transform: translateY(12px) scale(.8); transition: opacity .4s ease, transform .5s cubic-bezier(.3,1.6,.5,1); }
.ap-screen-feats svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ap-screen.is-done .ap-screen-feats span { opacity: 1; transform: none; }
.ap-screen.is-done .ap-screen-feats span:nth-child(2) { transition-delay: .12s; }
.ap-screen.is-done .ap-screen-feats span:nth-child(3) { transition-delay: .24s; }
.ap-screen.is-done .ap-screen-feats span:nth-child(4) { transition-delay: .36s; }
/* ekran aktualizacji siedzi w wyświetlaczu prawdziwego aparatu (tył α7 V); rozmiary liczone od szerokości aparatu (cqi) */
.ap-camback { position: relative; width: calc(100% + 110px); max-width: 640px; margin-left: -40px; container-type: inline-size; }
.ap-camback-img { display: block; width: 100%; height: auto; filter: drop-shadow(0 34px 50px rgba(0,0,0,.6)); }
.ap-camback .ap-screen { position: absolute; left: 11.4%; top: 38.9%; width: 52.9%; height: 58.7%; max-width: none; margin: 0; overflow: hidden;
  display: flex; flex-direction: column; justify-content: center; padding: 1.6cqi 2.4cqi; border: 3cqi solid #030303; border-radius: .5cqi;
  background: radial-gradient(90% 70% at 20% 0%, rgba(255,120,40,.1), transparent 60%) padding-box, #0b0a09 padding-box, #030303;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03); }
/* odblask na szkle */
.ap-camback .ap-screen::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(125deg, rgba(255,255,255,.07) 0%, transparent 38%); }
.ap-camback .ap-screen-top { font-size: 1.6cqi; }
.ap-camback .ap-screen-title { font-size: 2.6cqi; margin: 1.3cqi 0 1.6cqi; }
.ap-camback .ap-screen-bar { height: 1.1cqi; border-radius: .55cqi; }
.ap-camback .ap-screen-status { height: 3cqi; margin: 1.3cqi 0 1.9cqi; font-size: 1.8cqi; }
.ap-camback .ap-screen-pct { font-size: 2.5cqi; top: -.3cqi; }
.ap-camback .ap-screen-feats { gap: 1.6cqi; }
.ap-camback .ap-screen-feats span { width: 6cqi; height: 6cqi; border-radius: 1.2cqi; }
.ap-camback .ap-screen-feats svg { width: 3.2cqi; height: 3.2cqi; }

/* ===== 6. EKOSYSTEM ===== */
.ap-k1 .ap-eco { overflow: hidden; }
.ap-eco-pin { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 100px 0 80px; }
.ap-eco-head { margin-bottom: 44px; }
.ap-eco-head .ap-h2 { margin-bottom: 16px; max-width: 1100px; }
.ap-eco-rail { overflow: visible; }
.ap-eco-track { display: flex; gap: 22px; padding: 0 max(clamp(20px, 4vw, 56px), calc((100vw - 1376px) / 2 + 56px)); width: max-content; will-change: transform; }
.ap-eco-card { position: relative; margin: 0; width: clamp(260px, 28vw, 400px); aspect-ratio: 4 / 5; border-radius: 22px; overflow: hidden; background: #ddd; }
.ap-eco-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.ap-eco-card:hover img { transform: scale(1.06); }
.ap-eco-card::after { content: ''; position: absolute; inset: 55% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.6)); }
.ap-eco-card figcaption { position: absolute; left: 22px; bottom: 20px; z-index: 1; color: #fff; font-size: 26px; font-weight: 800; letter-spacing: -.02em; }
/* desktop z przypięciem: karty nie wyższe niż miejsce pod nagłówkiem — podpisy kategorii widoczne przez cały przejazd */
@media (min-width: 900px) {
  .ap-eco-pin { padding: 96px 0 40px; }
  .ap-eco-head { margin-bottom: 32px; }
  .ap-eco-card { aspect-ratio: auto; height: clamp(300px, calc(100vh - 420px), 500px); }
}

/* ===== 7. WIĘCEJ NIŻ SKLEP ===== */
.ap-k1 .ap-more { padding: clamp(96px, 11vw, 150px) 0; }
.ap-k1 .ap-more .ap-h2 { margin-bottom: 44px; max-width: none; text-wrap: initial; }
.ap-bento { display: grid; grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: auto auto; gap: 20px; }
.ap-tile { position: relative; display: grid; align-content: start; gap: 12px; padding: 30px; border-radius: 22px; background: #fff; box-shadow: 0 1px 0 var(--hair-d);
  transition: transform .35s ease, box-shadow .35s ease; }
.ap-tile:hover { transform: translateY(-6px); box-shadow: 0 24px 50px rgba(18,16,20,.12); }
.ap-tile h3 { font-size: 21px; font-weight: 750; letter-spacing: -.015em; line-height: 1.2; margin: 0; }
.ap-tile p { margin: 0; font-size: 15.5px; color: var(--muted-d); }
.ap-tile .ap-ico { width: 38px; height: 38px; margin-bottom: 6px; }
.ap-tile--big { grid-row: span 2; padding: 0; overflow: hidden; background: #111; color: #fff; align-content: end; min-height: 460px; }
.ap-tile--big img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ap-tile--big::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.75)); }
.ap-tile-body { position: relative; z-index: 1; padding: 30px; display: grid; gap: 10px; }
.ap-tile--big p { color: rgba(255,255,255,.82); }

/* ===== 8. PUDEŁKO ===== */
.ap-k1 .ap-box-sec { padding: clamp(96px, 11vw, 150px) 0; background: var(--bg2); }
.ap-k1 .ap-box-sec .ap-h2 { margin-bottom: 18px; }
.ap-box { margin: 40px 0 36px; padding: 24px; border-radius: 26px; background: #17130f; border: 1px solid var(--hair); }
.ap-box-toggle { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.ap-box-toggle button { font: 600 15px 'AP Inter', sans-serif; padding: 11px 20px; border-radius: 999px; border: 1px solid var(--hair); background: transparent; color: var(--muted); cursor: pointer; transition: background-color .25s, color .25s, border-color .25s; }
.ap-box-toggle button[aria-pressed="true"] { background: #fff; color: #121014; border-color: #fff; }
.ap-box-toggle button:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.ap-box-hint { font-size: 14px; color: var(--accent); margin-left: 8px; animation: ap-nudge 1.6s ease-in-out infinite; }
@keyframes ap-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-6px); } }
.ap-risks { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 40px; }
.ap-risks li { display: grid; gap: 6px; padding-left: 20px; border-left: 2px solid var(--accent); font-size: 15.5px; color: var(--muted); }
.ap-risks strong { color: #fff; font-size: 17px; }

/* ===== 9. TABELA ===== */
.ap-k1 .ap-table-sec { padding: clamp(96px, 11vw, 150px) 0; background: #fff; }
.ap-k1 .ap-table-sec .ap-h2 { margin-bottom: 36px; }
.ap-table-wrap { overflow-x: auto; border-radius: 20px; border: 1px solid var(--hair-d); }
.ap-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 15.5px; }
.ap-table th, .ap-table td { text-align: left; padding: 16px 20px; border-bottom: 1px solid var(--hair-d); vertical-align: top; }
.ap-table thead th { font-size: 14px; font-weight: 700; color: var(--muted-d); background: var(--light); }
.ap-table tbody th { font-weight: 700; width: 24%; }
.ap-table tbody tr { transition: background-color .25s ease; }
.ap-table tbody tr:hover { background: #fdf6f1; }
.ap-table .ap-col-auth { background: rgba(209,57,0,.05); font-weight: 600; }
.ap-table thead .ap-col-auth { background: var(--accent); color: #fff; }
.ap-table td { color: var(--muted-d); }
.ap-table td.ap-col-auth { color: var(--ink-d); }
.ap-yes, .ap-no { display: inline-block; width: 18px; height: 18px; margin: 0 10px -3px 0; border-radius: 50%; }
.ap-yes { background: var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat; }
.ap-no { border: 1.5px solid #b9b2aa; }
.ap-table tbody tr:last-child th, .ap-table tbody tr:last-child td { border-bottom: 0; }

/* ===== 10. GDZIE KUPIĆ ===== */
.ap-where-photo { position: relative; overflow: hidden; color: #fff; padding: clamp(90px, 10vw, 140px) 0 clamp(70px, 8vw, 110px);
  background: radial-gradient(40% 50% at 78% 30%, rgba(255,110,30,.32), transparent 70%),
              linear-gradient(90deg, rgba(11,10,9,.94) 0%, rgba(11,10,9,.8) 50%, rgba(30,12,2,.66) 100%),
              url(photo/tarasy.webp) center 60% / cover; }
.ap-k1 .ap-where-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 40px; align-items: center; }
.ap-k1 .ap-where-copy .ap-h2 { margin-bottom: 22px; }
.ap-k1 .ap-where-copy .ap-text { margin-bottom: 36px; }
.ap-stamp-zone { position: relative; display: grid; place-items: center; min-height: 360px; }
.ap-stamp { position: relative; width: min(340px, 66vw); height: auto; transform: rotate(-8deg); filter: drop-shadow(0 18px 30px rgba(0,0,0,.5)) drop-shadow(0 0 30px rgba(255,90,20,.35)); will-change: transform; }
.ap-stamp-ring { position: absolute; width: min(340px, 66vw); aspect-ratio: 1; border-radius: 50%; border: 3px solid var(--accent); opacity: 0; }
.ap-partners-label { font-size: 16px; font-weight: 600; color: var(--amber); margin: clamp(56px, 7vw, 90px) 0 20px; }
.ap-plogos { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; }
.ap-plogo { display: grid; place-items: center; height: 92px; padding: 16px 22px; border-radius: 16px; background: #fff; color: #121014; text-decoration: none;
  font-size: 17px; font-weight: 750; text-align: center; transition: transform .25s ease, box-shadow .25s ease; }
.ap-plogo img { max-width: 100%; max-height: 46px; width: auto; height: auto; object-fit: contain; }
.ap-plogo:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(209,57,0,.35); }
.ap-plogo--dark { background: #121014; }
.ap-plogo--sub { gap: 4px; align-content: center; }
.ap-plogo--sub img { max-height: 20px; }
.ap-plogo small { font-size: 12px; font-weight: 700; letter-spacing: .02em; color: #121014; }

/* ===== 11. FAQ ===== */
.ap-k1 .ap-faq { padding: clamp(96px, 11vw, 150px) 0; }
.ap-faq-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 48px; align-items: start; }
.ap-faq-list { display: grid; gap: 12px; }
.ap-faq-list details { border-radius: 16px; background: #fff; box-shadow: 0 1px 0 var(--hair-d); overflow: hidden; }
.ap-faq-list summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; padding: 20px 24px; font-size: 18px; font-weight: 700; }
.ap-faq-list summary::-webkit-details-marker { display: none; }
.ap-faq-list summary::after { content: '+'; flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--light); color: var(--accent); font-size: 20px; line-height: 1; transition: transform .3s ease; }
.ap-faq-list details[open] summary::after { transform: rotate(45deg); }
.ap-faq-list details.is-open summary::after { transform: rotate(45deg); }
.ap-faq-list details:not(.is-open)[data-anim] summary::after { transform: none; }
.ap-faq-list details p { padding: 0 24px 22px; font-size: 16px; color: var(--muted-d); margin: 0; }
.ap-faq-list summary:focus-visible { outline: 3px solid var(--accent); outline-offset: -3px; border-radius: 16px; }

.ap-k1 .ap-footer { background: var(--bg); color: var(--muted); border-top: 1px solid var(--hair); }

/* ===== MOBILE ===== */
@media (max-width: 1100px) {
  .ap-bento { grid-template-columns: 1fr 1fr; }
  .ap-tile--big { grid-column: span 2; grid-row: auto; min-height: 380px; }
}
@media (max-width: 899px) {
  .ap-k1 .ap-hero { padding: 100px 0 56px; min-height: 0; }
  .ap-k1 .ap-hero-grid, .ap-k1 .ap-five-grid, .ap-split-grid, .ap-k1 .ap-war-grid, .ap-k1 .ap-where-grid, .ap-faq-grid { grid-template-columns: 1fr; }
  .ap-k1 .ap-hero-media { order: -1; }
  .ap-k1 .ap-cam { width: 92%; margin: 0 auto; }
  .ap-k1 .ap-ev { margin: 18px auto 0; width: 80%; }
  .ap-k1 .ap-five-media { order: -1; }
  .ap-split-media, .ap-split-grid--rev .ap-split-media { order: -1; }
  .ap-war-stage { min-height: 0; padding: 90px 0; }
  /* tarcza nie może wchodzić na listę korzyści */
  .ap-war-num { margin-top: 96px; }
  .ap-camback { width: 100%; margin: 0 auto; }
  .ap-war-num { justify-self: start; }
  .ap-war-five { font-size: 60vw; }
  /* „5 lat” jako zwarta grupa na środku — tarcza (150% szerokości grupy) centruje się na cyfrze i „lat”, a nie na całej kolumnie */
  .ap-war-num { justify-self: stretch; }
  .ap-war-five { width: max-content; margin-inline: auto; }
  .ap-eco-pin { min-height: 0; padding: 90px 0; }
  .ap-eco-rail { overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 8px; }
  .ap-eco-card { scroll-snap-align: start; width: 72vw; }
  .ap-risks { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .ap-k1 .ap-hero { margin-top: -62px; padding-top: 84px; }
  .ap-k1 .ap-lead { font-size: 17px; margin: 22px 0 28px; }
  .ap-check { grid-template-columns: 36px 1fr 26px; gap: 14px; }
  .ap-check .ap-ico { width: 34px; height: 34px; }
  .ap-check-body strong { font-size: 18px; }
  .ap-bento { grid-template-columns: 1fr; }
  .ap-tile--big { grid-column: auto; }
  /* dopisek pod nazwą, nie na niej */
  /* tabela: pierwsza kolumna przyklejona, cień przy prawej krawędzi sygnalizuje przewijanie */
  .ap-table tbody th, .ap-table thead th:first-child { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 0 var(--hair-d); }
  .ap-table thead th:first-child { background: var(--light); }
  .ap-table-wrap { background: radial-gradient(farthest-side at 100% 50%, rgba(18,16,20,.2), transparent) right / 16px 100% no-repeat; }
  .ap-table { min-width: 620px; }
  .ap-plogos li:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 6px); }
  .ap-plogos { grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .ap-check { opacity: 1; }
  .ap-tick path { stroke-dashoffset: 0; transition: none; }
  .ap-cam-sweep, .ap-glint, .ap-hero-glow, .ap-reflect, .ap-box-hint { animation: none; }
  .ap-maskphoto { clip-path: none; }
  .ap-screen-feats span { opacity: 1; transform: none; }
  .ap-screen-bar i { width: 100%; }
}

/* K1: błysk światła wyłączony — głównym efektem jest głębia ostrości */
.ap-k1 .ap-cam-sweep { display: none; }

/* K1b — detal. Oddzielna kopia: wszystkie zmiany dotyczą wyłącznie tego wariantu. */
.ap-k1b { --bg: #0d0c0b; --bg2: #151310; --light: #f5f3ef; --light2: #eae6df; --hair: rgba(255,255,255,.13); }
.ap-k1b .ap-h2 { font-weight: 720; line-height: 1.08; text-wrap: balance; }
.ap-k1b .ap-kicker { display: flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.ap-k1b .ap-kicker::before { content: ''; width: 24px; height: 1px; background: currentColor; flex: none; }
.ap-k1b .ap-hero .ap-kicker { color: #bcb5ac; }
/* kicker 10–12 px na jasnym tle: #d13900 ma tam 3,9–4,4:1, a mały tekst potrzebuje 4,5:1 (WCAG AA) — odrobinę ciemniejszy odcień */
.ap-k1b .ap-light .ap-kicker { color: #be3300; }
.ap-k1b .ap-hero { min-height: max(760px, 100svh); background: radial-gradient(ellipse at 86% 58%, #302216 0%, #17130f 37%, #0d0c0b 72%); }
.ap-k1b .ap-hero-glow { animation: none; opacity: .52; }
.ap-k1b .ap-hero .ap-vf { opacity: .65; }
.ap-k1b .ap-lead { font-size: 18px; line-height: 1.65; max-width: 510px; }
.ap-k1b .ap-btn { border-radius: 7px; font-size: 15px; padding: 16px 23px; }
.ap-k1b .ap-btn--primary { color: #fff; box-shadow: 0 6px 20px rgba(209,57,0,.12); }
.ap-k1b .ap-btn--primary:hover { background: #e0561f; box-shadow: 0 8px 24px rgba(209,57,0,.18); transform: translateY(-1px); }
.ap-k1b .ap-btn:active { transform: translateY(1px); }
.ap-k1b .ap-header-link { border-radius: 7px; font-size: 13px; }
.ap-k1b .ap-header-link:hover { color: #170a04; }
.ap-k1b .ap-link { font-size: 14px; text-decoration-thickness: 1px; text-underline-offset: 7px; }
.ap-k1b .ap-af i { border-width: 0; }
.ap-k1b .ap-af i:nth-child(1) { border-width: 1.5px 0 0 1.5px; }
.ap-k1b .ap-af i:nth-child(2) { border-width: 1.5px 1.5px 0 0; }
.ap-k1b .ap-af i:nth-child(3) { border-width: 0 0 1.5px 1.5px; }
.ap-k1b .ap-af i:nth-child(4) { border-width: 0 1.5px 1.5px 0; }
.ap-k1b .ap-af.is-locked { filter: none; }
.ap-k1b .ap-cam-sweep, .ap-k1b .ap-glint { display: none; }
.ap-k1b .ap-reflect { animation: none; opacity: .55; }
.ap-k1b .ap-ev { opacity: .65; width: 55%; }
.ap-k1b .ap-ev-scale { font: 11px/1.4 ui-monospace, monospace; }
.ap-k1b .ap-ev-marker { box-shadow: none; }
.ap-k1b .ap-checks { margin: 0; padding: 0; list-style: none; }
.ap-k1b .ap-check { grid-template-columns: 26px 32px 1fr 24px; gap: 15px; padding: 22px 0; }
.ap-check-no { padding-top: 4px; font: 11px/1.6 ui-monospace, monospace; color: #9a9187; }
.ap-k1b .ap-check .ap-ico { width: 30px; height: 30px; }
.ap-k1b .ap-check-body strong { font-size: 19px; font-weight: 650; }
.ap-k1b .ap-check-body span { font-size: 15px; line-height: 1.6; }
.ap-k1b .ap-tick { width: 23px; height: 23px; }
.ap-k1b .ap-seal-live, .ap-k1b .ap-five-media.is-full .ap-seal-stamp { filter: none; }
.ap-k1b .ap-seal-node.is-on { box-shadow: 0 0 0 4px rgba(209,57,0,.045); }
.ap-k1b .ap-seal-hud { border-radius: 6px; font-size: 12px; background: transparent; padding: 12px 16px; }
.ap-k1b .ap-seal-dots i.is-on { box-shadow: none; }
/* Wide photograph gives the transition from dark to light a physical subject. */
.ap-detail { position: relative; height: clamp(330px, 39vw, 560px); overflow: hidden; margin: 0; background: #b4ada1; }
.ap-detail > img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 56%; filter: saturate(.78) contrast(1.04); }
.ap-detail::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(13,12,11,.64), transparent 40%); pointer-events: none; }
.ap-detail-frame { position: absolute; z-index: 1; inset: 28px; pointer-events: none; }
.ap-detail-frame i { position: absolute; width: 22px; height: 22px; border: 0 solid rgba(255,255,255,.65); }
.ap-detail-frame i:nth-child(1) { top: 0; left: 0; border-width: 1px 0 0 1px; }
.ap-detail-frame i:nth-child(2) { top: 0; right: 0; border-width: 1px 1px 0 0; }
.ap-detail-frame i:nth-child(3) { bottom: 0; left: 0; border-width: 0 0 1px 1px; }
.ap-detail-frame i:nth-child(4) { bottom: 0; right: 0; border-width: 0 1px 1px 0; }
.ap-detail figcaption { position: absolute; bottom: 42px; left: max(48px, calc((100% - 1264px) / 2)); right: max(48px, calc((100% - 1264px) / 2)); z-index: 2; display: flex; gap: 24px; align-items: center; justify-content: space-between; color: #fff; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.ap-detail figcaption b { margin-left: 14px; font-weight: 400; }
.ap-detail-ticks { margin-left: auto; width: 150px; height: 7px; opacity: .5; background: repeating-linear-gradient(90deg, #fff 0 1px, transparent 1px 10px); }
.ap-k1b .ap-maskphoto { border-radius: 10px; clip-path: inset(0 var(--m) 0 0 round 10px); }
.ap-k1b .ap-maskphoto img { filter: saturate(.8) contrast(1.04); object-position: 65% 50%; transform: scale(1.75); transform-origin: 65% 53%; }
.ap-k1b .ap-tile, .ap-k1b .ap-eco-card, .ap-k1b .ap-box, .ap-k1b .ap-table-wrap { border-radius: 10px; }
.ap-k1b .ap-tile { box-shadow: inset 0 0 0 1px rgba(40,30,20,.09); }
.ap-k1b .ap-tile:hover { transform: none; box-shadow: inset 0 0 0 1px rgba(40,30,20,.2); }
.ap-k1b .ap-tile h3 { font-weight: 650; }
.ap-k1b .ap-tile--big img, .ap-k1b .ap-eco-card img { filter: saturate(.8) contrast(1.04); }
/* Keep the firmware-to-ecosystem gap independent of viewport height. */
/* The photograph dissolves into the firmware stage, with no pale cutting edge. */
.ap-k1b .ap-fw.is-overlap { margin-top: calc(-100vh + 96px); padding-bottom: clamp(24px, 2.5vw, 40px); background: #100f0d; }
.ap-k1b .ap-fw.is-overlap::before { content: ''; position: absolute; left: 0; right: 0; bottom: 100%; height: clamp(160px, 22vh, 300px); background: linear-gradient(0deg, #100f0d, rgba(16,15,13,0)); pointer-events: none; }
.ap-k1b .ap-eco-pin { min-height: 0; justify-content: flex-start; padding-top: clamp(32px, 3.5vw, 56px); padding-bottom: clamp(24px, 2.5vw, 40px); }
.ap-k1b .ap-more { padding-top: clamp(32px, 3.5vw, 56px); }
.ap-k1b .ap-fw.is-overlap .ap-fw-card { border-radius: 0; box-shadow: none; background: #100f0d; }
.ap-k1b .ap-box { background: #191613; box-shadow: inset 0 1px 0 rgba(255,255,255,.07); }
.ap-k1b .ap-box-toggle button { border-radius: 5px; }
.ap-k1b .ap-box-hint { animation: none; }
.ap-k1b .ap-table thead .ap-col-auth { color: #fff; }
/* Studio surface keeps the partner marks and download action in the foreground. */
.ap-k1b .ap-where-photo { background: radial-gradient(ellipse at 76% 25%, #3b332a 0%, #211c17 32%, #12110f 70%); }
.ap-k1b .ap-where-grid { position: relative; padding-bottom: 64px; margin-bottom: 38px; }
.ap-k1b .ap-where-grid::after { content: ''; position: absolute; bottom: 0; left: clamp(20px, 4vw, 56px); right: clamp(20px, 4vw, 56px); height: 1px; background: rgba(255,255,255,.16); }
.ap-k1b .ap-stamp { width: min(280px, 65vw); transform: none; filter: drop-shadow(0 12px 18px rgba(0,0,0,.18)); }
.ap-k1b .ap-partners-label { color: #bdb5ab; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.ap-k1b .ap-plogo { border-radius: 6px; height: 96px; box-shadow: none; transition: transform .2s, box-shadow .2s; }
.ap-k1b .ap-plogo:hover { transform: translateY(-2px); box-shadow: inset 0 0 0 2px var(--accent); }
.ap-k1b .ap-plogo:focus-visible { outline: 3px solid var(--amber); outline-offset: 4px; }
.ap-k1b .ap-plogo img { max-width: 126px; max-height: 36px; }
.ap-k1b [data-partner="beiks"] img { max-width: 106px; }
.ap-k1b [data-partner="e-oko"] img { max-width: 100px; }
.ap-k1b [data-partner="x-kom"] img { max-width: 110px; }
.ap-k1b [data-partner="sony-center"] img { max-width: 120px; }
.ap-k1b .ap-plogo--sub img { max-height: 19px; }
.ap-k1b .ap-faq-list { gap: 0; border-top: 1px solid var(--hair-d); }
.ap-k1b .ap-faq-list details { border-radius: 0; background: transparent; box-shadow: none; border-bottom: 1px solid var(--hair-d); }
.ap-k1b .ap-faq-list summary { padding: 24px 0; font-weight: 600; }
.ap-k1b .ap-faq-list summary::after { border-radius: 0; background: transparent; }
.ap-k1b .ap-faq-list details p { padding: 0 42px 24px 0; line-height: 1.7; }
.ap-k1b .ap-switch { border-radius: 7px; padding: 4px; }
.ap-k1b .ap-switch a { border-radius: 4px; }
@media (max-width: 899px) {
  .ap-k1b .ap-hero { min-height: 0; }
  .ap-k1b .ap-hero-media { margin-bottom: 20px; }
  .ap-k1b .ap-five-media { order: 1; margin-top: 16px; }
  .ap-k1b .ap-ev { width: 58%; }
  .ap-detail { height: 380px; }
}
@media (max-width: 640px) {
  .ap-k1b .ap-check { grid-template-columns: 22px 26px 1fr 20px; gap: 10px; padding: 20px 0; }
  .ap-k1b .ap-check .ap-ico { width: 26px; height: 26px; }
  .ap-k1b .ap-check-body strong { font-size: 17px; }
  .ap-k1b .ap-check-body span { font-size: 14px; }
  .ap-k1b .ap-header-link { padding: 9px 10px; font-size: 11px; }
  .ap-k1b .ap-kicker { font-size: 10px; letter-spacing: .08em; }
  .ap-detail { height: 340px; }
  .ap-detail > img { object-position: 58% 55%; }
  .ap-detail-frame { inset: 16px; }
  .ap-detail figcaption { left: 28px; right: 28px; bottom: 28px; font-size: 9px; }
  .ap-detail-ticks { display: none; }
  .ap-k1b .ap-plogo { padding: 16px; }
  .ap-k1b .ap-plogo img { max-width: 100%; }
  .ap-k1b .ap-switch a { padding: 7px 10px; }
}
@media (max-width: 640px) {
  .ap-k1b .ap-cam { width: 76%; }
  .ap-k1b .ap-hero-media { margin-bottom: 8px; }
  .ap-k1b .ap-hero .ap-ev { display: none; }
}

/* A photographic set that opens into its parts. */
.ap-k1b .ap-box { padding: 0; overflow: hidden; background: #171512; border-color: rgba(255,255,255,.12); }
.ap-k1b .ap-box-toggle { position: relative; z-index: 2; padding: 24px 28px; margin: 0; border-bottom: 1px solid rgba(255,255,255,.09); }
.ap-k1b .ap-box-hint { margin-left: auto; color: #b4aca2; font-size: 13px; }
.ap-unbox { position: relative; isolation: isolate; display: grid; grid-template-columns: 1fr 2.1fr 1fr; grid-template-rows: 1fr 1fr; gap: 8px 32px; align-items: center; min-height: 570px; padding: 28px 44px 36px; }
.ap-unbox-light { position: absolute; z-index: -2; inset: 0; background: radial-gradient(ellipse at 49% 55%, rgba(194,105,47,.18), transparent 59%); transition: opacity .8s; }
.ap-unbox::after { content: ''; position: absolute; z-index: -1; left: 28%; right: 28%; bottom: 90px; height: 30px; border-radius: 50%; background: #070604; filter: blur(18px); }
.ap-unbox-camera { position: relative; grid-column: 2; grid-row: 1 / 3; margin: 0; z-index: 1; }
.ap-unbox-camera img { display: block; width: 100%; max-height: 430px; object-fit: contain; filter: drop-shadow(0 22px 20px rgba(0,0,0,.4)); transition: filter .7s; }
.ap-unbox-camera figcaption { text-align: center; margin-top: 14px; }
.ap-unbox-camera strong { font-size: 18px; }
.ap-unbox-number { font: 11px/1.5 ui-monospace, monospace; color: #a79a8e; margin-right: 9px; }
.ap-unbox-note { display: block; color: #c0b8af; font-size: 13px; line-height: 1.5; margin-top: 7px; min-height: 3em; }
.ap-unbox-item { position: relative; z-index: 1; text-align: left; }
.ap-unbox-item p { margin: 0; line-height: 1.4; }
.ap-unbox-item strong { font-size: 15px; font-weight: 600; }
.ap-unbox-accessory { grid-column: 1; grid-row: 1 / 3; }
.ap-unbox-manual { grid-column: 3; grid-row: 1; }
.ap-unbox-docs { grid-column: 3; grid-row: 2; }
.ap-unbox-object { width: 132px; height: 110px; margin: 0 auto 12px; transform: rotate(-7deg); transition: transform .7s, opacity .7s; }
.ap-unbox-manual .ap-unbox-object { transform: rotate(7deg); }
.ap-unbox-object svg { width: 100%; height: 100%; fill: none; stroke: #d8cec2; stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; overflow: visible; }
.ap-unbox-object .ap-object-fill { fill: #302a24; transition: fill .7s; }
.ap-unbox-object .ap-object-detail { fill: #211d19; }
.ap-unbox-object text { fill: #f0e9df; stroke: none; font: 600 14px sans-serif; }
.ap-unbox-check { display: grid; place-items: center; position: absolute; top: 90px; right: 15%; width: 24px; height: 24px; border: 1px solid #bcb1a2; border-radius: 50%; color: #e9e2d7; background: #27211b; font-size: 13px; transition: color .5s, border-color .5s, background .5s; }
.ap-unbox-lines { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; fill: none; stroke: rgba(219,174,129,.36); stroke-width: 1; }
.ap-unbox-lines path { stroke-dasharray: 1; stroke-dashoffset: 0; }
.ap-unbox-scan { position: absolute; z-index: 3; pointer-events: none; top: 0; bottom: 0; width: 9%; left: -10%; opacity: 0; border-right: 1px solid rgba(255,134,67,.8); background: linear-gradient(90deg, transparent, rgba(255,110,40,.13)); box-shadow: 12px 0 28px -18px #e0561f; }
.ap-unbox-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 28px; border-top: 1px solid rgba(255,255,255,.09); }
.ap-unbox-status { margin: 0; color: #ece5dc; font-size: 16px; font-weight: 600; }
.ap-unbox-footer > span { color: #a59c91; font-size: 11px; }
.ap-box[data-state="other"] .ap-unbox-light { opacity: .25; }
.ap-box[data-state="other"] .ap-unbox-camera img { filter: saturate(.3) drop-shadow(0 22px 20px rgba(0,0,0,.4)); }
.ap-box[data-state="other"] .ap-unbox-object { opacity: .42; transform: rotate(0deg) translateY(5px); }
.ap-box[data-state="other"] .ap-object-fill, .ap-box[data-state="other"] .ap-object-detail { fill: transparent; }
.ap-box[data-state="other"] .ap-unbox-note { color: #ffd0a8; }
/* stan „Autoryzowany partner Sony”: zielone potwierdzenie (jak w K3) */
.ap-box[data-state="auth"] .ap-unbox-check { color: #153122; background: #80dba4; border-color: #80dba4; font-weight: 800; box-shadow: 0 0 18px rgba(128,219,164,.28); }
.ap-box[data-state="auth"] .ap-unbox-note { color: #a0e4ba; }
.ap-box[data-state="other"] .ap-unbox-check { color: transparent; border-style: dashed; border-color: #857362; background: transparent; }
.ap-box[data-state="other"] .ap-unbox-check::after { content: '?'; position: absolute; color: #ffd0a8; }
@media (max-width: 1000px) {
  .ap-unbox { padding: 24px; gap: 12px 20px; grid-template-columns: 1fr 1.8fr 1fr; }
  .ap-k1b .ap-box-hint { flex-basis: 100%; margin: 6px 0 0; }
}
@media (max-width: 700px) {
  .ap-k1b .ap-box-toggle { padding: 18px 16px; gap: 8px; }
  .ap-k1b .ap-box-toggle button { padding: 10px 12px; font-size: 12px; }
  .ap-unbox { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto; min-height: 0; padding: 20px 16px 28px; gap: 24px 14px; }
  .ap-unbox-camera { grid-column: 1 / -1; grid-row: 1; width: 85%; max-width: 360px; justify-self: center; }
  .ap-unbox-camera img { max-height: 290px; }
  .ap-unbox-accessory { grid-column: 1; grid-row: 2; }
  .ap-unbox-manual { grid-column: 2; grid-row: 2; }
  .ap-unbox-docs { grid-column: 3; grid-row: 2; }
  .ap-unbox-item { align-self: start; }
  .ap-unbox-object { width: 100%; max-width: 110px; height: 85px; margin-bottom: 8px; }
  .ap-unbox-item .ap-unbox-number { display: block; margin-bottom: 4px; }
  .ap-unbox-item strong { font-size: 12px; }
  .ap-unbox-item .ap-unbox-note { font-size: 11px; }
  .ap-unbox-check { top: 62px; right: 0; width: 20px; height: 20px; }
  .ap-unbox-lines { display: none; }
  .ap-unbox-footer { padding: 18px 16px; flex-direction: column; align-items: flex-start; gap: 8px; }
  .ap-unbox-status { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .ap-unbox *, .ap-unbox-light { transition: none !important; }
  .ap-unbox-scan { display: none; }
}

.ap-k1b .ap-fw.is-overlap .ap-fw-bg { opacity: .12; mask-image: linear-gradient(0deg, transparent, #000 30%, #000 70%, transparent); }

/* Finale — the photographer, the next frame, one clear action. */
.ap-k1b .ap-close { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; min-height: clamp(680px, 55vw, 880px); padding: 88px 0; background: #10100f; }
.ap-close-photo { position: absolute; inset: 0 0 0 36%; z-index: -1; }
.ap-close-photo > img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 44%; filter: saturate(.85); }
/* rozmyta kopia do efektu ostrzenia (filtr statyczny — malowany raz, animowana tylko przezroczystość) */
.ap-close-photo > .ap-close-blur { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 44%; filter: blur(10px) saturate(.72); opacity: 0; pointer-events: none; }
/* ciemna nakładka na końcu wlotu w „5” (zamiast animowania koloru tła sceny) */
.ap-k1b .ap-war-fade { background: #100f0d; }
.ap-close-photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #10100f 0%, rgba(16,16,15,.72) 16%, rgba(16,16,15,.1) 52%), linear-gradient(0deg, rgba(16,16,15,.65), transparent 35%); }
.ap-close-copy { max-width: 580px; }
.ap-k1b .ap-close .ap-kicker { color: #c3b8a9; margin-bottom: 26px; }
.ap-k1b .ap-close h2 { font-size: clamp(44px, 4.4vw, 68px); font-weight: 780; line-height: 1.04; letter-spacing: -.035em; margin: 0 0 28px; text-wrap: initial; }
.ap-close h2 span { color: var(--accent); }
.ap-close-text { max-width: 430px; font-size: 18px; line-height: 1.6; color: #d0cbc4; margin-bottom: 30px; }
.ap-close .ap-btn { max-width: 100%; }
.ap-close-download { display: block; margin-top: 12px; color: #ada79e; font-size: 12px; }
.ap-close-trust { display: flex; align-items: center; gap: 18px; margin-top: 38px; }
.ap-close-trust img { width: 60px; height: 60px; object-fit: contain; }
.ap-close-trust p { font-size: 13px; line-height: 1.6; color: #c3bdb4; }
.ap-close-focus { position: absolute; z-index: 1; top: 37%; left: 7%; width: 44%; height: 34%; color: #fff; opacity: .3; pointer-events: none; }
.ap-close-focus i { position: absolute; width: 20px; height: 20px; border: 0 solid currentColor; }
.ap-close-focus i:nth-child(1) { left: 0; top: 0; border-width: 1px 0 0 1px; }
.ap-close-focus i:nth-child(2) { right: 0; top: 0; border-width: 1px 1px 0 0; }
.ap-close-focus i:nth-child(3) { left: 0; bottom: 0; border-width: 0 0 1px 1px; }
.ap-close-focus i:nth-child(4) { right: 0; bottom: 0; border-width: 0 1px 1px 0; }
.ap-close-focus span { position: absolute; bottom: -24px; right: 0; font: 10px/1.4 ui-monospace, monospace; letter-spacing: .12em; }
@media (max-width: 1100px) and (min-width: 701px) {
  .ap-close-copy { max-width: 48%; }
  .ap-k1b .ap-close h2 { font-size: 50px; }
  .ap-close .ap-btn { font-size: 13px; padding: 15px; }
}
@media (max-width: 700px) {
  .ap-k1b .ap-close { display: block; min-height: 0; padding: 0 0 56px; }
  .ap-close-photo { position: relative; inset: auto; height: clamp(340px, 95vw, 520px); width: 100%; overflow: hidden; }
  .ap-close-photo > img { object-position: center 43%; }
  .ap-close-photo::after { background: linear-gradient(0deg, #10100f, transparent 42%); }
  .ap-close-inner { margin-top: -20px; position: relative; }
  .ap-close-copy { max-width: 520px; }
  .ap-k1b .ap-close .ap-kicker { margin-bottom: 18px; }
  .ap-k1b .ap-close h2 { font-size: clamp(40px, 9.5vw, 62px); margin-bottom: 22px; }
  .ap-close-text { font-size: 16px; margin-bottom: 24px; }
  .ap-close .ap-btn { font-size: 13px; padding: 16px; }
  .ap-close-trust { margin-top: 28px; }
  .ap-close-focus { left: 5%; top: 38%; width: 47%; height: 31%; }
  /* przesłona nad kadrem fotografa (canvas rysuje k1.js) */
  .ap-iris-m { position: absolute; inset: 0; pointer-events: none; }
  .ap-iris-m canvas { display: block; width: 100%; height: 100%; }
}

/* Shared section rhythm; pinned scenes retain their own animation geometry. */
.ap-k1b { --section-space: clamp(64px, 7.2vw, 104px); }
.ap-k1b .ap-five, .ap-k1b .ap-orig-sec, .ap-k1b .ap-box-sec, .ap-k1b .ap-table-sec, .ap-k1b .ap-faq { padding-block: var(--section-space); }
.ap-k1b .ap-more { padding-bottom: var(--section-space); }
.ap-k1b .ap-fw:not(.is-overlap) .ap-fw-card { padding-block: var(--section-space); }
.ap-k1b .ap-where-photo { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.ap-k1b .ap-orig-sec .ap-h2 { text-wrap: initial; }
.ap-k1b .ap-partners-label { margin-top: 0; }
.ap-k1b .ap-where-grid { padding-bottom: 44px; margin-bottom: 32px; }
@media (max-width: 899px) {
  .ap-k1b .ap-war-stage { padding-block: 64px; }
  .ap-k1b .ap-stamp-zone { min-height: 220px; }
  .ap-k1b .ap-stamp { width: 210px; }
  .ap-k1b .ap-where-grid { gap: 28px; padding-bottom: 28px; margin-bottom: 28px; }
  .ap-k1b .ap-war-unit { margin-top: 56px; }
}
@media (max-width: 640px) {
  .ap-k1b .ap-check { grid-template-columns: 26px 1fr 20px; }
  .ap-k1b .ap-check-no { display: none; }
  .ap-k1b .ap-seal { width: min(100%, 300px); }
}
@media (prefers-reduced-motion: reduce) {
  .ap-k1b .ap-five * { transition: none; animation: none; }
}

/* ===== Wersja finalna K1 (uwagi Sony 30.09): „Pięć rzeczy” na jasnym tle, lista jak w K3, pieczęć z K1 ===== */
.ap-k1b .ap-five { background: linear-gradient(180deg, #f7f6f3 0%, #efece7 100%); color: var(--ink-d); }
.ap-k1b .ap-five .ap-kicker { color: var(--accent); }
.ap-k1b .ap-five .ap-h2 { color: var(--ink-d); }
.ap-k1b .ap-five .ap-text { color: var(--muted-d); }
.ap-k1b .ap-five .ap-check { grid-template-columns: 28px 32px 1fr; border-color: var(--hair-d); opacity: .4; }
.ap-k1b .ap-five .ap-check:last-child { border-bottom-color: var(--hair-d); }
.ap-k1b .ap-five .ap-check.is-on { opacity: 1; }
.ap-k1b .ap-five .ap-check-no { display: none; }
.ap-k1b .ap-five .ap-check .ap-ico { color: #b3aca4; }
.ap-k1b .ap-five .ap-check.is-on .ap-ico { color: var(--accent); }
.ap-k1b .ap-five .ap-check-body strong { color: var(--ink-d); }
.ap-k1b .ap-five .ap-check-body span { color: var(--muted-d); }
/* potwierdzenie po lewej: kółko, po odhaczeniu wypełnione pomarańczem z białym ptaszkiem (jak w K3) */
.ap-k1b .ap-five .ap-tick { order: -1; width: 26px; height: 26px; padding: 4px; margin-top: 1px; border: 2px solid #cbc4bb; border-radius: 50%;
  transition: background-color .35s ease, border-color .35s ease; }
.ap-k1b .ap-five .ap-tick path { stroke: #fff; stroke-width: 3.2; }
.ap-k1b .ap-five .ap-check.is-on .ap-tick { background: var(--accent); border-color: var(--accent); }
/* pieczęć na jasnym tle */
.ap-k1b .ap-five .ap-seal-ticks { stroke: rgba(18,16,20,.16); }
.ap-k1b .ap-five .ap-seal-track path { stroke: rgba(18,16,20,.1); }
.ap-k1b .ap-five .ap-seal::before { background: radial-gradient(closest-side, rgba(209,57,0,.12), rgba(209,57,0,0) 72%); }
.ap-k1b .ap-five .ap-seal-node { background: #fff; border-color: rgba(18,16,20,.12); color: #a39b92; box-shadow: 0 6px 18px rgba(18,16,20,.06); }
.ap-k1b .ap-five .ap-seal-node.is-on { color: var(--accent); border-color: rgba(209,57,0,.6); box-shadow: 0 0 0 4px rgba(209,57,0,.07), 0 8px 22px rgba(209,57,0,.14); }
.ap-k1b .ap-five .ap-seal-hud { border-color: var(--hair-d); color: var(--ink-d); }
.ap-k1b .ap-five .ap-seal-count { color: var(--muted-d); }
.ap-k1b .ap-five .ap-seal-dots i { background: rgba(18,16,20,.16); }
.ap-k1b .ap-five .ap-five-media.is-full .ap-seal-stamp { filter: drop-shadow(0 14px 26px rgba(18,16,20,.18)); }
@media (max-width: 640px) {
  .ap-k1b .ap-five .ap-check { grid-template-columns: 24px 26px 1fr; }
  .ap-k1b .ap-five .ap-tick { width: 22px; height: 22px; padding: 3px; }
}

/* ===== Zamknięcie na komputerze: 11-listkowa przysłona z hasłem w otworze (uwagi Sony 30.09) ===== */
.ap-iris { display: none; }
@media (min-width: 901px) {
  .ap-k1b .ap-close { min-height: max(760px, 100vh); padding: 0; justify-content: center;
    background: radial-gradient(circle at 50% 50%, #1b1714 0, #0c0b0a 34%, #0c0b0a 100%); }
  .ap-k1b .ap-close .ap-close-photo, .ap-k1b .ap-close .ap-close-focus { display: none; }
  .ap-iris { display: block; position: absolute; inset: 0; z-index: 0; pointer-events: none; }
  .ap-iris canvas { display: block; width: 100%; height: 100%; }
  .ap-k1b .ap-close .ap-close-inner { position: relative; z-index: 1; display: flex; justify-content: center; }
  .ap-k1b .ap-close .ap-close-copy { max-width: 520px; display: flex; flex-direction: column; align-items: center; text-align: center; }
  .ap-k1b .ap-close .ap-kicker { margin-bottom: 18px; }
  .ap-k1b .ap-close h2 { font-size: clamp(40px, 3.5vw, 54px); margin-bottom: 20px; }
  .ap-k1b .ap-close .ap-close-text { font-size: 16px; margin: 0 0 24px; max-width: 440px; }
  .ap-k1b .ap-close .ap-btn { font-size: 14px; padding: 15px 22px; }
  .ap-k1b .ap-close .ap-close-trust { margin-top: 20px; gap: 12px; text-align: left; }
  .ap-k1b .ap-close .ap-close-trust img { width: 46px; height: 46px; }
}
