/* Fonty hostowane lokalnie (fonts/) zamiast z fonts.googleapis.com — patrz TASK.md, Priorytet 1 pkt 5. */
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:500; font-display:swap; src:url('fonts/barlow-condensed-500-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:500; font-display:swap; src:url('fonts/barlow-condensed-500-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/barlow-condensed-600-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/barlow-condensed-600-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/barlow-condensed-700-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Barlow Condensed'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/barlow-condensed-700-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400 700; font-display:swap; src:url('fonts/dm-sans-latin-ext.woff2') format('woff2'); unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400 700; font-display:swap; src:url('fonts/dm-sans-latin.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root { --coal:#1d2029; --black:#111319; --red:#fa5a46; --paper:#f4f3f1; --white:#fff; --line:#deddd9; --text:#23232a; --muted:#666871; --max:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { margin:0; overflow-x:clip; color:var(--text); background:var(--white); font-family:"DM Sans",Arial,sans-serif; line-height:1.6; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
.wrap { width:min(var(--max),calc(100% - 52px)); margin:auto; }
.fire-type { font-family:"Barlow Condensed",Arial,sans-serif; font-weight:600; letter-spacing:0; line-height:.9; text-transform:uppercase; }
.eyebrow { margin:0 0 18px; color:var(--red); font-size:12px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.fire-button { display:inline-flex; align-items:center; gap:14px; padding:17px 22px; color:#fff; background:var(--red); border:1px solid var(--red); font-size:13px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; transition:.2s ease; }
.fire-button:hover { background:var(--coal); border-color:var(--coal); }
.fire-button span { display:inline-block; transition:transform .22s ease; }
.fire-button:hover span { transform:translateX(5px); }

.topbar { display:grid; grid-template-columns:38% 62%; min-height:117px; position:sticky; top:0; z-index:50; transition:box-shadow .25s ease; }
.topbar.is-stuck { box-shadow:0 8px 24px rgba(17,19,25,.16); }
.brand-box { display:flex; align-items:center; padding-left:max(26px,calc((100vw - var(--max))/2)); background:var(--white); }
.brand { display:inline-flex; align-items:center; color:var(--coal); font-family:"Barlow Condensed",Arial,sans-serif; font-size:30px; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
.brand-logo { display:block; width:96px; height:96px; object-fit:cover; }
.brand-word { display:inline-block; padding-left:15px; border-left:4px solid var(--red); }
.brand-symbol { width:42px; height:42px; position:relative; border:3px solid var(--coal); transform:rotate(45deg); }
.brand-symbol::after { content:""; position:absolute; width:13px; height:13px; top:11px; left:11px; background:var(--red); }
.nav-box { display:flex; align-items:center; justify-content:flex-end; gap:36px; padding-right:max(20px,calc((100vw - var(--max))/2)); color:var(--red); background:var(--white); position:relative; }
.nav-box::before { content:none; }
.fire-nav { display:flex; align-items:center; gap:30px; position:relative; z-index:1; font-family:"Barlow Condensed",Arial,sans-serif; font-size:18px; font-weight:600; text-transform:uppercase; }
.fire-nav a { border-bottom:2px solid transparent; padding:4px 0; transition:border-color .2s ease, color .2s ease; }
.fire-nav a:hover,.fire-nav a:first-child { border-bottom-color:var(--red); }
.mobile-toggle { display:none; }
a:focus-visible,button:focus-visible,summary:focus-visible,[role="button"]:focus-visible { outline:3px solid #111319; outline-offset:4px; }
.fire-button:focus-visible,.footer a:focus-visible { outline-color:#fff; }

.fire-hero { display:grid; grid-template-columns:57% 43%; min-height:560px; }
.hero-panel { display:flex; align-items:center; padding:84px max(26px,calc((100vw - var(--max))/2)); background:var(--coal); color:#fff; }
.hero-panel > div { max-width:620px; }
.hero-panel h1 { margin:0 0 25px; color:#fff; font-size:clamp(68px,8.1vw,126px); }
.hero-panel h1 span { color:var(--red); }
.hero-panel p { max-width:510px; margin:0 0 32px; color:rgba(255,255,255,.76); font-size:17px; }
.hero-photo { min-height:560px;  }

.intro-strip { padding:80px 0; background:var(--white); }
.intro-grid { display:grid; grid-template-columns:43% 1fr; gap:80px; align-items:start; }
.intro-grid h2 { margin:0; font-size:clamp(42px,5vw,70px); }
.intro-grid p { margin:0; max-width:620px; font-size:20px; line-height:1.65; }
.intro-grid strong { color:var(--red); }
.stats-rail { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.stat { min-height:170px; padding:27px 24px; border-right:1px solid var(--line); }
.stat:last-child { border-right:0; }
.stat b { display:block; margin-bottom:12px; color:var(--red); font-family:"Barlow Condensed",Arial,sans-serif; font-size:58px; font-weight:600; line-height:.8; }
.stat span { display:block; color:#55565e; font-size:13px; line-height:1.4; }

.image-story { display:grid; grid-template-columns:56% 44%; min-height:600px; background:var(--paper); }
.story-photo { min-height:600px; position:relative; overflow:hidden; }
.story-photo img { width:100%; height:100%; object-fit:cover; }
.story-stamp { position:absolute; bottom:0; right:0; width:175px; height:175px; padding:25px; background:var(--red); color:#fff; }
.story-stamp b { display:block; margin-bottom:8px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:38px; line-height:.85; }
.story-stamp span { font-size:12px; line-height:1.25; }
.story-copy { display:flex; align-items:center; padding:70px 13% 70px 16%; }
.story-copy h2 { margin:0 0 24px; font-size:clamp(48px,5.2vw,78px); }
.story-copy h2 span { color:var(--red); }
.story-copy p { max-width:420px; margin:0; color:#34353c; }
.story-points { list-style:none; padding:0; margin:25px 0 0; border-top:1px solid #c8c8c5; }
.story-points li { padding:11px 0; border-bottom:1px solid #c8c8c5; }
.story-points b { display:block; font-family:"Barlow Condensed",Arial,sans-serif; font-size:22px; font-weight:600; line-height:1; text-transform:uppercase; }
.story-points span { display:block; margin-top:4px; color:var(--muted); font-size:12px; line-height:1.45; }

.dark-block { padding:110px 0; background:var(--black); color:#fff; }
.block-heading { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:44px; align-items:stretch; margin-bottom:54px; }
.block-heading > div { align-self:center; }
.block-heading h2 { margin:0; font-size:clamp(52px,5.4vw,82px); }
.block-heading p { max-width:450px; margin:0 0 8px; color:rgba(255,255,255,.67); }
.nik-notice { display:grid; grid-template-columns:160px minmax(0,1fr); gap:28px; align-items:start; margin:0; padding:27px 30px 29px; background:var(--red); color:#fff; }
.nik-notice > span { padding-top:4px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:18px; font-weight:700; line-height:1; letter-spacing:.08em; text-transform:uppercase; }
.nik-notice strong { display:block; margin-bottom:9px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:30px; font-weight:600; line-height:1.05; text-transform:uppercase; }
.dark-block .nik-notice p { max-width:900px; margin:0; color:rgba(255,255,255,.86); font-size:14px; }
.dark-block .nik-notice p + p { margin-top:12px; }
.reason-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.25); }
.reason { min-height:268px; padding:28px 28px 20px 0; border-right:1px solid rgba(255,255,255,.25); }
.reason + .reason { padding-left:28px; }
.reason:last-child { border-right:0; }
.reason-no { display:block; margin-bottom:47px; color:var(--red); font-family:"Barlow Condensed",Arial,sans-serif; font-size:24px; }
.reason h3 { margin:0 0 12px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:32px; font-weight:600; line-height:1; text-transform:uppercase; }
.reason p { max-width:330px; margin:0; color:rgba(255,255,255,.64); font-size:14px; }

.system-section { padding:110px 0; background:#fff; }
.system-title { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:56px; }
.system-title h2 { margin:0; font-size:clamp(52px,5.4vw,82px); }
.system-layout { display:grid; grid-template-columns:1fr 1.05fr; gap:70px; align-items:center; }
.feature-list { border-top:1px solid var(--line); }
.feature-row { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:20px 14px; border-bottom:1px solid var(--line); cursor:pointer; transition:background .25s ease, transform .25s ease, box-shadow .25s ease; }
.feature-row:hover { background:var(--paper); transform:translateX(5px); }
.feature-row.is-active { background:var(--paper); box-shadow:inset 4px 0 0 var(--red); }
.feature-row:focus-visible { position:relative; z-index:2; background:var(--paper); outline-color:var(--red); }
.feature-num { color:var(--red); font-family:"Barlow Condensed",Arial,sans-serif; font-size:24px; }
.feature-row h3 { margin:2px 0 4px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:28px; font-weight:600; line-height:1; text-transform:uppercase; }
.feature-row p { margin:0; color:var(--muted); font-size:14px; }
.screen-stack { position:relative; padding:0 28px 28px 0; }
.screen-stack::after { content:""; position:absolute; z-index:0; top:28px; right:0; bottom:0; width:86%; background:var(--red); }
.screen-stack img { position:relative; z-index:1; width:100%; height:auto; border:1px solid #c7c7c4; box-shadow:0 18px 38px rgba(0,0,0,.12); transition:opacity .2s ease, transform .35s ease; }
.screen-stack img.is-changing { opacity:.28; transform:translateY(8px); }

.modules-section { display:grid; grid-template-columns:46% 54%; background:var(--paper); }
.modules-intro { display:flex; align-items:center; padding:85px max(26px,calc((100vw - var(--max))/2)); padding-right:70px; }
.modules-intro h2 { margin:0 0 22px; font-size:clamp(52px,5vw,78px); }
.modules-intro h2 span { display:block; white-space:nowrap; }
.modules-intro p { margin:0; color:#4f5056; }
.module-grid { display:grid; grid-template-columns:1fr; }
.module { min-height:0; display:grid; grid-template-columns:120px minmax(170px,220px) minmax(0,1fr); gap:24px; align-items:center; padding:25px 30px; background:var(--coal); color:#fff; border-left:1px solid rgba(255,255,255,.13); border-bottom:1px solid rgba(255,255,255,.13); transition:transform .26s ease, box-shadow .26s ease; }
.module:hover { position:relative; z-index:1; transform:translateX(5px); box-shadow:0 10px 22px rgba(17,19,25,.17); }
.module:nth-child(2),.module:nth-child(3) { background:#29303b; }
.module:nth-child(4) { background:var(--red); }
.module i { display:block; margin:0; color:#ff978b; font-family:"Barlow Condensed",Arial,sans-serif; font-size:18px; line-height:1.05; font-style:normal; }
.module:nth-child(4) i { color:#fff; }
.module h3 { margin:0; font-family:"Barlow Condensed",Arial,sans-serif; font-size:32px; font-weight:600; line-height:1; text-transform:uppercase; }
.module p { margin:0; color:rgba(255,255,255,.7); font-size:14px; }
.module:nth-child(4) p { color:rgba(255,255,255,.88); }

.scenario-section { padding:110px 0; background:var(--coal); color:#fff; }
.scenario-head { max-width:1000px; margin:0 0 58px; text-align:left; }
.scenario-head h2 { max-width:940px; margin:0 0 28px; font-size:clamp(52px,5.5vw,82px); }
.scenario-lead { display:block; max-width:850px; }
.scenario-head .scenario-lead p { margin:0; color:rgba(255,255,255,.7); }
.scenario-head .scenario-lead p + p { margin-top:18px; }
.scenario-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.scenario { min-height:350px; display:flex; flex-direction:column; padding:32px; background:#252a35; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); transition:background .25s ease, transform .25s ease, box-shadow .25s ease; }
.scenario:hover { background:#303644; transform:translateY(-4px); box-shadow:0 16px 32px rgba(0,0,0,.24); }
.scenario-no { display:block; margin-bottom:42px; color:var(--red); font-family:"Barlow Condensed",Arial,sans-serif; font-size:46px; font-weight:600; line-height:1; }
.scenario h3 { max-width:480px; margin:0 0 18px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:34px; font-weight:600; line-height:1; text-transform:uppercase; }
.scenario > p { flex:1; margin:0; color:rgba(255,255,255,.72); font-size:15px; }
.scenario small { display:block; margin-top:28px; padding-top:18px; color:#ff978b; border-top:1px solid rgba(255,255,255,.18); font-size:11px; font-weight:700; line-height:1.5; letter-spacing:.07em; text-transform:uppercase; }

.law-section { padding:110px 0; background:var(--paper); }
.law-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.law-layout h2 { margin:0 0 20px; font-size:clamp(54px,5.5vw,82px); }
.law-layout > div > p:not(.eyebrow) { margin:0; color:#55565e; }
.tick-list { list-style:none; padding:0; margin:30px 0 0; border-top:1px solid #bfc0bd; }
.tick-list li { display:grid; grid-template-columns:26px 1fr; gap:12px; padding:14px 0; border-bottom:1px solid #c8c8c5; font-size:14px; font-weight:600; }
.tick-list i { width:20px; height:20px; display:grid; place-items:center; background:var(--red); color:#fff; font-size:12px; font-style:normal; }
.law-items { border-top:1px solid #bfc0bd; }
.law-item { padding:23px 0; border-bottom:1px solid #c8c8c5; }
.law-item h3 { margin:0 0 8px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:29px; font-weight:600; line-height:1; text-transform:uppercase; }
.law-item p { margin:0; color:var(--muted); font-size:14px; }
.legal-sources { padding:25px 0 0; }
.legal-sources h3 { margin:0 0 12px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:22px; font-weight:600; line-height:1; text-transform:uppercase; }
.legal-sources ul { list-style:none; padding:0; margin:0; }
.legal-sources li + li { margin-top:8px; }
.legal-sources a { color:#55565e; font-size:12px; line-height:1.45; text-decoration:underline; text-decoration-color:rgba(250,90,70,.55); text-underline-offset:3px; }
.legal-sources a:hover { color:var(--text); text-decoration-color:var(--red); }

.roles-section { padding:110px 0; background:#fff; }
.roles-head { max-width:720px; margin-bottom:48px; }
.roles-head h2 { margin:0 0 15px; font-size:clamp(52px,5.5vw,82px); }
.roles-head p:last-child { margin:0; color:var(--muted); }
.roles-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.role-card { padding:30px; background:var(--coal); color:#fff; border-top:5px solid var(--red); transition:transform .26s ease, box-shadow .26s ease; }
.role-card:hover { transform:translateY(-4px); box-shadow:0 14px 28px rgba(17,19,25,.14); }
.role-card:nth-child(2) { background:var(--red); border-top-color:#111319; }
.role-card small { display:block; margin-bottom:26px; color:#ff9689; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.role-card:nth-child(2) small { color:#fff; }
.role-card h3 { margin:0 0 13px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:32px; font-weight:600; line-height:1; text-transform:uppercase; }
.role-card > p { min-height:124px; margin:0 0 21px; color:rgba(255,255,255,.72); font-size:14px; }
.role-card ul { list-style:none; padding:0; margin:0; border-top:1px solid rgba(255,255,255,.25); }
.role-card li { padding:9px 0 0 18px; color:rgba(255,255,255,.85); font-size:13px; position:relative; }
.role-card li::before { content:"+"; position:absolute; left:0; color:#ff978b; }
.role-card:nth-child(2) li::before { color:#fff; }

.faq-section { padding:110px 0; background:#e5e7e3; color:var(--text); }
.faq-intro { max-width:700px; margin-bottom:46px; }
.faq-intro h2 { margin:0 0 15px; font-size:clamp(54px,5.5vw,82px); }
.faq-intro p:last-child { margin:0; color:var(--muted); }
.faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:48px; }
.faq-list details { border-top:1px solid #bcbcb9; }
.faq-list details:nth-last-child(-n+2) { border-bottom:1px solid #bcbcb9; }
.faq-list summary { padding:20px 42px 20px 0; position:relative; cursor:pointer; list-style:none; font-family:"Barlow Condensed",Arial,sans-serif; font-size:27px; font-weight:600; line-height:1; text-transform:uppercase; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary { transition:color .22s ease; }
.faq-list summary:hover,.faq-list details[open] summary { color:var(--red); }
.faq-list summary::after { content:"+"; position:absolute; right:3px; top:14px; color:var(--red); font-size:32px; font-weight:400; transition:transform .25s ease; }
.faq-list details[open] summary::after { content:"−"; transform:rotate(180deg); }
.faq-list details p { margin:0; padding:0 0 21px; color:var(--muted); font-size:14px; }
.faq-list details[open] p { animation:faq-reveal .3s cubic-bezier(.2,.65,.25,1); }

.process { padding:110px 0; }
.process-head { display:block; margin-bottom:55px; }
.process-head h2 { margin:0; font-size:clamp(52px,5vw,82px); }
.process-head p { margin:20px 0 0; max-width:720px; color:var(--muted); }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--text); }
.process-item { padding:23px 23px 0 0; border-right:1px solid var(--line); }
.process-item + .process-item { padding-left:23px; }
.process-item:last-child { border-right:0; }
.process-no { display:block; margin-bottom:48px; color:var(--red); font-family:"Barlow Condensed",Arial,sans-serif; font-size:34px; }
.process-item h3 { margin:0 0 12px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:29px; font-weight:600; line-height:1; text-transform:uppercase; }
.process-item p { margin:0; color:var(--muted); font-size:14px; }

.people { display:grid; grid-template-columns:56% 44%; background:var(--coal); color:#fff; }
.people-photo { min-height:565px;  }
.people-copy { display:flex; align-items:center; padding:75px 14%; }
.people-copy h2 { margin:0 0 25px; font-size:clamp(54px,5.5vw,84px); }
.people-copy h2 span { color:var(--red); }
.people-copy p { margin:0 0 25px; color:rgba(255,255,255,.7); }
.person-lines { border-top:1px solid rgba(255,255,255,.23); }
.person-lines div { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.23); font-size:14px; font-weight:600; }

.contact-panel { padding:105px 0; background:#fff; color:var(--text); border-top:8px solid var(--red); }
.contact-inner { display:grid; grid-template-columns:1.1fr .9fr; gap:80px; align-items:start; }
.contact-panel .eyebrow { color:var(--red); }
.contact-panel h2 { margin:0; max-width:660px; font-size:clamp(58px,6vw,96px); }
.contact-panel p { max-width:560px; margin:20px 0 0; color:var(--muted); }
.contact-side { display:flex; flex-direction:column; align-items:flex-start; gap:20px; padding:32px 0 32px 44px; border-left:1px solid var(--line); }
.contact-side a { color:var(--text); font-family:"Barlow Condensed",Arial,sans-serif; font-size:32px; font-weight:600; border-bottom:2px solid var(--red); }
.contact-side small { color:var(--muted); }
.buy-options { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:30px; }
.buy-option { padding:18px; border:1px solid var(--line); background:var(--paper); transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.buy-option:hover { transform:translateY(-4px); border-color:rgba(250,90,70,.55); box-shadow:0 14px 28px rgba(17,19,25,.1); }
.buy-option small { display:block; margin-bottom:7px; color:var(--red); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.buy-option b { display:block; margin-bottom:7px; color:var(--text); font-family:"Barlow Condensed",Arial,sans-serif; font-size:25px; font-weight:600; line-height:1; text-transform:uppercase; }
.buy-option span { color:var(--muted); font-size:13px; line-height:1.45; }
.contact-form { display:block; padding:34px; background:#fff; border:1px solid var(--line); }
.contact-form .eyebrow { margin-bottom:10px; }
.contact-form h3 { margin:0 0 24px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:38px; font-weight:600; line-height:.95; text-transform:uppercase; }
.form-fields { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.form-field { display:flex; flex-direction:column; gap:6px; color:var(--text); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.form-field.is-wide { grid-column:1 / -1; }
.form-note { grid-column:1 / -1; margin:0; padding:11px 14px; border-left:4px solid var(--red); background:#f4f4f1; color:var(--muted); font-size:13px; line-height:1.5; }
.form-field input,.form-field textarea { width:100%; padding:12px; border:1px solid #c9c9c5; border-radius:0; background:#fff; color:var(--text); font:400 14px "DM Sans",Arial,sans-serif; resize:vertical; }
.form-field input:focus,.form-field textarea:focus { outline:2px solid rgba(250,90,70,.2); border-color:var(--red); }
.form-field.has-error input,.form-field.has-error textarea { border-color:#c0392b; }
.form-hp { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.form-consent { grid-column:1 / -1; flex-direction:row; align-items:flex-start; gap:10px; text-transform:none; letter-spacing:normal; font-size:13px; font-weight:400; color:var(--muted); }
.form-consent input { width:auto; margin-top:3px; accent-color:var(--red); }
.form-consent.has-error { color:#c0392b; }
.consent-toggle { padding:0; border:0; background:none; color:var(--red); font:inherit; text-decoration:underline; cursor:pointer; }
.consent-clause { grid-column:1 / -1; margin:0; padding:11px 14px; border-left:4px solid var(--line); background:#f4f4f1; color:var(--muted); font-size:12px; line-height:1.55; }
.form-status { grid-column:1 / -1; margin:0; padding:0; font-size:13px; line-height:1.5; display:none; }
.form-status.is-error { display:block; padding:11px 14px; border-left:4px solid #c0392b; background:#fdecea; color:#8a2a20; }
.form-status.is-pending { display:block; padding:11px 14px; border-left:4px solid #8a8f98; background:#f2f3f5; color:#3b3f45; }
.contact-form button[disabled] { opacity:.6; cursor:wait; }
.form-status.is-success { display:block; padding:11px 14px; border-left:4px solid #1c7a3c; background:#eaf6ee; color:#175c2e; }
.contact-form .fire-button { margin-top:20px; }
.contact-form .fire-button[disabled] { opacity:.6; cursor:not-allowed; }
.contact-form .fire-button[disabled]:hover { background:var(--red); border-color:var(--red); }
@media (max-width:780px) { .form-fields { grid-template-columns:1fr; } .form-field.is-wide { grid-column:auto; } .contact-form { padding:26px; } .contact-form h3 { font-size:34px; } }

.footer { padding:58px 0 24px; background:#14161b; color:#fff; }
.footer-grid { display:grid; grid-template-columns:1.8fr repeat(3,1fr); gap:30px; padding-bottom:42px; }
.footer .brand { color:#fff; }
.footer .brand-logo { width:112px; height:112px; }
.footer .brand-symbol { border-color:#fff; }
.footer p { max-width:340px; color:rgba(255,255,255,.56); font-size:14px; }
.footer h3 { margin:4px 0 14px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:19px; font-weight:600; text-transform:uppercase; }
.footer a:not(.brand) { display:block; width:max-content; margin:7px 0; color:rgba(255,255,255,.62); font-size:14px; transition:color .2s ease, translate .2s ease; }
.footer a:not(.brand):hover { color:#fff; translate:4px 0; }
.footer-bottom { padding-top:18px; border-top:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.4); font-size:12px; }

@media (hover:none) {
  .feature-row:hover,.module:hover,.scenario:hover,.role-card:hover,.buy-option:hover { transform:none; box-shadow:none; }
  .fire-button:hover span { transform:none; }
  .footer a:not(.brand):hover { translate:0; }
}

@keyframes faq-reveal { from { opacity:0; translate:0 -8px; } to { opacity:1; translate:0 0; } }

/* Motion system: restrained, one-time movement that guides attention. */
.has-motion .hero-panel .eyebrow,
.has-motion .hero-panel h1,
.has-motion .hero-panel > div > p:not(.eyebrow),
.has-motion .hero-panel .fire-button { opacity:0; translate:0 22px; transition:opacity .72s ease, translate .72s cubic-bezier(.2,.65,.25,1); }
.has-motion .hero-panel h1 { transition-delay:.09s; }
.has-motion .hero-panel > div > p:not(.eyebrow) { transition-delay:.18s; }
.has-motion .hero-panel .fire-button { transition-delay:.27s; }
.has-motion .hero-photo { opacity:.45; clip-path:inset(0 100% 0 0); scale:1.035; transition:clip-path 1.05s cubic-bezier(.2,.65,.25,1) .08s, opacity .8s ease .08s, scale 1.2s ease .08s; }
.has-motion body.page-ready .hero-panel .eyebrow,
.has-motion body.page-ready .hero-panel h1,
.has-motion body.page-ready .hero-panel > div > p:not(.eyebrow),
.has-motion body.page-ready .hero-panel .fire-button { opacity:1; translate:0 0; }
.has-motion body.page-ready .hero-photo { opacity:1; clip-path:inset(0 0 0 0); scale:1; }

.has-motion .motion-rise { opacity:0; translate:0 26px; transition:opacity .66s ease var(--motion-delay,0ms), translate .66s cubic-bezier(.2,.65,.25,1) var(--motion-delay,0ms); }
.has-motion .motion-rise.is-visible { opacity:1; translate:0 0; }
.has-motion .motion-card { opacity:0; translate:0 20px; transition:opacity .58s ease var(--motion-delay,0ms), translate .58s cubic-bezier(.2,.65,.25,1) var(--motion-delay,0ms), transform .28s ease, box-shadow .28s ease, background .25s ease; }
.has-motion .motion-card.is-visible { opacity:1; translate:0 0; }
.has-motion .motion-slide-right { opacity:0; translate:28px 0; transition:opacity .68s ease var(--motion-delay,0ms), translate .68s cubic-bezier(.2,.65,.25,1) var(--motion-delay,0ms); }
.has-motion .motion-slide-right.is-visible { opacity:1; translate:0 0; }
.has-motion .motion-mask { opacity:.35; clip-path:inset(0 100% 0 0); transition:clip-path .85s cubic-bezier(.2,.65,.25,1) var(--motion-delay,0ms), opacity .7s ease var(--motion-delay,0ms); }
.has-motion .motion-mask.is-visible { opacity:1; clip-path:inset(0 0 0 0); }

.has-motion .module-grid,.has-motion .process-grid { position:relative; }
.has-motion .module-grid::before { content:""; position:absolute; z-index:3; top:0; left:0; width:3px; height:100%; background:var(--red); transform:scaleY(0); transform-origin:top; transition:transform 1.1s cubic-bezier(.2,.65,.25,1); }
.has-motion .module-grid.is-progress-visible::before { transform:scaleY(1); }
.has-motion .process-grid { border-top-color:transparent; }
.has-motion .process-grid::before { content:""; position:absolute; top:0; left:0; width:100%; height:1px; background:var(--text); transform:scaleX(0); transform-origin:left; transition:transform 1s cubic-bezier(.2,.65,.25,1); }
.has-motion .process-grid.is-progress-visible::before { transform:scaleX(1); }

@media (max-width:780px) {
  .role-card:hover,.scenario:hover,.buy-option:hover { transform:none; box-shadow:none; }
  .has-motion .motion-rise,.has-motion .motion-card { translate:0 16px; }
  .has-motion .motion-rise.is-visible,.has-motion .motion-card.is-visible { translate:0 0; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }

@media (max-width:1050px) { .topbar{grid-template-columns:33% 67%}.fire-nav{gap:18px}.nav-box{gap:16px}.intro-grid,.block-heading,.system-layout,.people,.contact-inner{gap:48px}.modules-section{grid-template-columns:1fr}.modules-intro{padding:70px max(26px,calc((100vw - var(--max))/2));}.module{grid-template-columns:110px 200px minmax(0,1fr)}.hero-panel{padding-right:45px} }
@media (max-width:780px) { .wrap{width:min(var(--max),calc(100% - 32px))}.topbar{grid-template-columns:1fr;min-height:76px}.brand-box{min-height:76px;padding:0 16px}.brand-logo{width:70px;height:70px}.footer .brand-logo{width:100px;height:100px}.nav-box{position:absolute;z-index:5;top:76px;left:0;right:0;display:none;min-height:0;padding:18px 16px;background:#fff}.nav-box.open{display:block}.fire-nav{flex-direction:column;align-items:flex-start;gap:13px}.mobile-toggle{display:block;position:absolute;right:16px;top:17px;width:42px;height:42px;border:0;background:transparent;color:var(--coal);font-size:22px}.fire-hero,.image-story,.modules-section,.people{grid-template-columns:1fr}.hero-panel{min-height:485px;padding:70px 16px 55px}.hero-panel h1{font-size:72px}.hero-photo{min-height:330px}.intro-strip,.dark-block,.system-section,.process,.contact-panel,.scenario-section,.law-section,.roles-section,.faq-section{padding:72px 0}.intro-grid,.block-heading,.system-layout,.process-head,.contact-inner,.law-layout{grid-template-columns:1fr;gap:28px}.nik-notice{grid-template-columns:1fr;gap:12px;padding:22px 18px}.nik-notice strong{font-size:26px}.intro-grid p{font-size:18px}.stats-rail,.scenario-grid,.roles-grid,.buy-options,.faq-list{grid-template-columns:1fr}.stat{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid #bcbcb9}.story-photo{min-height:360px}.story-copy{padding:64px 16px}.reason-grid,.process-grid{grid-template-columns:1fr}.reason,.reason+.reason,.process-item,.process-item+.process-item{padding:25px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.25)}.reason-no,.process-no{margin-bottom:24px}.process-item{border-bottom-color:var(--line)}.module-grid{grid-template-columns:1fr}.module{min-height:0;grid-template-columns:1fr;gap:8px;padding:26px 16px}.module i{margin-bottom:10px}.module:hover{transform:none}.modules-intro{padding:65px 16px}.people-photo{min-height:360px}.people-copy{padding:70px 16px}.role-card > p{min-height:0}.contact-side{padding:28px 0;border-left:0;border-top:1px solid var(--line)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1} }
@media (max-width:780px) { .modules-intro h2{font-size:clamp(44px,15vw,64px)}.scenario{min-height:0;padding:26px 20px}.scenario-no{margin-bottom:24px} }
@media (max-width:780px) { .nav-box{padding-bottom:22px;box-shadow:0 16px 28px rgba(17,19,25,.16)}.fire-nav{align-items:stretch;gap:4px}.fire-nav a{min-height:44px;display:flex;align-items:center;padding:8px 0}.mobile-toggle{min-width:54px;width:auto;padding:0 6px;font-size:18px;font-weight:700;text-transform:uppercase} }
/* Sekcja Bezpieczeństwo danych: 6 kafelków w siatce 3 × 2 */
.security-block { border-top:1px solid rgba(255,255,255,.12); }
.security-grid .reason { min-height:230px; border-bottom:1px solid rgba(255,255,255,.25); }
.security-grid .reason:nth-child(3n+1) { padding-left:0; }
.security-grid .reason:nth-child(3n) { border-right:0; }
.security-grid .reason:nth-child(n+4) { padding-top:28px; }
.security-grid .reason:nth-last-child(-n+3) { border-bottom:0; }
.consent-clause p { margin:0 0 8px; }
.consent-clause p:last-child { margin-bottom:0; }
.faq-list details p a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
@media (max-width:780px) { .security-grid .reason, .security-grid .reason:nth-child(n) { min-height:0; padding:25px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.25); } .security-grid .reason:last-child { border-bottom:0; } }

/* ===== Przebudowa 9.10.2026 (audyt): kontrast WCAG AA, dostępność, nowe elementy ===== */
:root { --red-ink:#c8321f; }
html { scroll-padding-top:130px; }
.fire-type { line-height:1; }
.hero-panel h1 { line-height:.95; }
.skip-link { position:absolute; left:-999px; top:0; z-index:100; padding:12px 16px; background:#fff; color:var(--coal); font-weight:700; }
.skip-link:focus { left:16px; top:16px; }
/* Tekst czerwony na jasnym tle i białe napisy na czerwonym — ciemniejszy odcień (5,3:1) */
.eyebrow,.intro-grid strong,.buy-option small,.contact-panel .eyebrow,.consent-toggle { color:var(--red-ink); }
.dark-block .eyebrow,.hero-panel .eyebrow,.modules-section .eyebrow { color:var(--red); }
.fire-button { background:var(--red-ink); border-color:var(--red-ink); font-size:14px; }
.fire-button.is-ghost { background:transparent; border-color:rgba(255,255,255,.7); color:#fff; }
.fire-button.is-ghost:hover { background:#fff; border-color:#fff; color:var(--coal); }
.nik-notice,.story-stamp,.module:nth-child(4),.role-card:nth-child(2) { background:var(--red-ink); }
.nik-notice p,.module:nth-child(4) p,.role-card:nth-child(2) > p { color:#fff; }
.contact-form .fire-button[disabled]:hover { background:var(--red-ink); border-color:var(--red-ink); }
/* Nawigacja: grafit z czerwonym podkreśleniem, przycisk „Wersja testowa” */
.nav-box { color:var(--coal); }
.fire-nav a:first-child { border-bottom-color:transparent; }
.fire-nav a:hover { border-bottom-color:var(--red); }
.fire-nav a.nav-cta { padding:8px 16px; background:var(--red-ink); color:#fff; border-bottom:0; }
.fire-nav a.nav-cta:hover { background:var(--coal); }
.mobile-toggle { font:inherit; }
/* Fokus widoczny na ciemnym tle */
.dark-block :focus-visible,.hero-panel :focus-visible,.modules-section :focus-visible,.footer :focus-visible { outline-color:#fff; }
/* Hero: zrzut programu jako obraz, bez animacji pierwszego ekranu */
.hero-photo { width:100%; height:100%; min-height:560px; object-fit:cover; object-position:left center; background:none; }
.has-motion .hero-panel h1,.has-motion .hero-panel > div > p,.has-motion .hero-panel .fire-button,.has-motion .hero-photo { opacity:1; translate:none; clip-path:none; scale:none; transition:none; }
.hero-panel h1 .accent { color:var(--red); }
.hero-panel h1 .h1-kicker { display:block; margin-bottom:22px; color:rgba(255,255,255,.86); font-family:"DM Sans",Arial,sans-serif; font-size:15px; font-weight:700; letter-spacing:.08em; line-height:1.4; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-points { display:flex; flex-wrap:wrap; gap:8px 22px; margin:28px 0 0; padding:0; list-style:none; color:rgba(255,255,255,.86); font-size:14px; }
.hero-points li::before { content:"✓ "; color:var(--red); font-weight:700; }
/* Możliwości: przycisk w nagłówku funkcji, obraz pod opisem na telefonie */
.feature-row { cursor:pointer; }
.feature-btn { padding:0; border:0; background:none; color:inherit; font:inherit; text-transform:inherit; text-align:left; cursor:pointer; }
.feature-row p { font-size:15px; }
.feature-shot { display:none; }
.map-credit { margin:10px 0 0; color:var(--muted); font-size:12px; position:relative; z-index:1; }
.screen-stack { margin:0; }
/* Wdrożenie: pasek z wezwaniem do działania */
.cta-strip { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin-top:56px; padding:28px 32px; background:var(--coal); color:#fff; }
.cta-strip p { margin:0; font-size:18px; }
/* Bezpieczeństwo (skrót) */
.security-lead p { margin:0 0 24px; color:rgba(255,255,255,.8); font-size:17px; }
.reason p { color:rgba(255,255,255,.78); font-size:15px; }
/* Kontakt i formularz */
.contact-lines { margin:28px 0 0; padding:0; list-style:none; color:var(--muted); }
.contact-lines li { margin:6px 0; }
.contact-lines a { color:var(--text); font-weight:700; border-bottom:2px solid var(--red); }
.form-field input,.form-field textarea { border-color:#8a8b91; font-size:16px; }
.form-field input:focus,.form-field textarea:focus { outline:2px solid var(--red-ink); outline-offset:1px; border-color:var(--red-ink); }
.form-field .req { color:var(--red-ink); }
.field-error { color:#a3271a; font-size:13px; font-weight:400; text-transform:none; letter-spacing:normal; }
.field-error:empty { display:none; }
.form-topic { margin:0; padding:0; border:0; flex-direction:row; flex-wrap:wrap; gap:8px 20px; }
.form-topic legend { width:100%; margin-bottom:6px; padding:0; }
.form-topic label { display:flex; align-items:center; gap:6px; text-transform:none; letter-spacing:normal; font-weight:400; font-size:15px; }
.form-topic input { width:18px; height:18px; accent-color:var(--red-ink); }
.form-note.is-wide { grid-column:1 / -1; }
.contact-form > .consent-clause { margin-top:18px; border-left-color:var(--line); }
.consent-clause summary { cursor:pointer; color:var(--text); font-weight:700; }
.consent-clause[open] summary { margin-bottom:10px; }
/* Stopka: tytuły kolumn bez nagłówków */
.footer-title { margin:4px 0 14px; color:#fff; font-family:"Barlow Condensed",Arial,sans-serif; font-size:19px; font-weight:600; text-transform:uppercase; }
.footer p.footer-title { color:#fff; }
.footer-bottom { color:rgba(255,255,255,.6); }
/* Czytelność dłuższych tekstów */
.module p,.role-card p,.process-item p,.faq-list details p { font-size:15px; }
.faq-list summary { text-transform:none; }
/* Karty, których nie da się kliknąć, nie unoszą się */
.role-card:hover,.buy-option:hover,.module:hover { transform:none; box-shadow:none; }
@media (max-width:780px) {
  html { scroll-padding-top:90px; }
  .feature-shot { display:block; width:100%; height:auto; margin-top:14px; border:1px solid #c7c7c4; }
  .screen-stack { display:none; }
  .hero-photo { min-height:260px; max-height:340px; }
  .fire-nav a.nav-cta { justify-content:center; margin-top:8px; }
  .cta-strip { padding:22px 18px; }
}
@media print {
  .has-motion [class*="motion-"] { opacity:1 !important; translate:none !important; clip-path:none !important; }
  .topbar,.mobile-toggle,.skip-link,.contact-form { display:none; }
}
.faq-list summary { line-height:1.1; } .faq-list summary:hover,.faq-list details[open] summary { color:var(--red-ink); }

/* ===== Dopracowanie wizualne 9.10.2026 ===== */
/* Nagłówek: zrzut programu w ramce z czerwonym akcentem */
.fire-hero { grid-template-columns:52% 48%; min-height:620px; }
.hero-visual { display:flex; align-items:center; justify-content:center; padding:64px max(26px,calc((100vw - var(--max))/2)) 72px 56px; background:var(--black); overflow:hidden; }
.hero-frame { position:relative; width:100%; max-width:640px; margin:0; }
.hero-frame::after { content:""; position:absolute; z-index:0; top:26px; right:-26px; bottom:-26px; width:78%; background:var(--red); }
.hero-shot { position:relative; z-index:1; display:block; width:100%; height:auto; border:1px solid rgba(255,255,255,.16); box-shadow:0 28px 60px rgba(0,0,0,.5); }
.hero-panel h1 { font-size:clamp(64px,7.2vw,112px); }
.hero-points { display:grid; grid-template-columns:repeat(2,max-content); gap:8px 28px; }
/* Proporcje nagłówków sekcji */
.system-title h2,.block-heading h2,.roles-head h2,.faq-intro h2,.process-head h2,.modules-intro h2 { font-size:clamp(44px,4.4vw,68px); }
.contact-panel h2 { font-size:clamp(48px,5vw,80px); }
.block-heading { grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); align-items:center; }
.reason { min-height:0; padding-bottom:30px; }
.reason-no,.process-no { margin-bottom:20px; }
.process-no { font-size:28px; }
/* Możliwości: akordeon (opis tylko wybranej funkcji), ekran przyklejony przy przewijaniu */
.system-layout { align-items:start; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:56px; }
.screen-stack { position:sticky; top:150px; }
.feature-row { padding:18px 16px; }
.feature-row h3 { margin:2px 0 0; font-size:26px; }
.feature-row p { margin-top:10px; }
.js .feature-row:not(.is-active) p { display:none; }
.feature-row:not(.is-active) .feature-btn:hover { color:var(--red-ink); }
/* Formularz: etykieta i gwiazdka w jednym wierszu */
.form-field .label-text { display:block; }
@media (max-width:1050px) {
  .fire-hero { grid-template-columns:1fr; }
  .hero-visual { padding:48px 26px 64px; }
  .block-heading { grid-template-columns:1fr; }
}
@media (max-width:780px) {
  .js .feature-row:not(.is-active) p { display:block; }
  .screen-stack { position:static; }
  .hero-visual { padding:36px 16px 52px; }
  .hero-frame::after { top:16px; right:-12px; bottom:-16px; }
  .hero-points { grid-template-columns:1fr; }
  .system-title h2,.block-heading h2,.roles-head h2,.faq-intro h2,.process-head h2,.modules-intro h2 { font-size:clamp(36px,10vw,48px); }
  .hero-panel h1 { font-size:clamp(52px,15vw,72px); }
}
/* Poprawki po kontroli zrzutów */
.hero-visual { justify-content:flex-start; padding:72px 56px 80px 48px; }
.hero-frame { max-width:none; }
.screen-stack::after { bottom:84px; }
.map-credit { height:40px; margin-top:44px; overflow:hidden; }
@media (max-width:1050px) { .hero-visual { padding:48px 40px 64px 26px; } }
@media (max-width:780px) { .hero-visual { padding:36px 28px 52px 16px; } }
@media (max-width:780px) {
  .system-layout { grid-template-columns:1fr; gap:0; }
  .feature-row { grid-template-columns:34px 1fr; gap:10px; padding:18px 0 22px; }
  .feature-row.is-active { box-shadow:none; background:none; }
  .feature-row h3 { font-size:24px; }
}
/* Hero: zdjęcie terenu zamiast zrzutu programu (2026-10-14) */
.hero-visual.is-photo { position:relative; padding:0; background:var(--coal); }
.hero-visual.is-photo .hero-photo { position:absolute; inset:0; width:100%; height:100%; min-height:0; object-fit:cover; object-position:58% center; }
.hero-visual.is-photo::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg, var(--coal) 0, rgba(0,0,0,0) 18%); }
@media (max-width:1050px) {
  .hero-visual.is-photo { min-height:340px; padding:0; }
  .hero-visual.is-photo::after { background:linear-gradient(180deg, var(--coal) 0, rgba(0,0,0,0) 22%); }
}
@media (max-width:780px) { .hero-visual.is-photo { min-height:240px; padding:0; } }
/* SEO i treść 2026-10-14: wstęp w Możliwościach, sekcja „Zadania gminy i powiatu”, kontrast FAQ */
.system-lead { max-width:470px; margin:0; color:var(--muted); font-size:15px; }
.tasks-section { padding:110px 0; background:#fff; }
.tasks-head { max-width:820px; margin-bottom:50px; }
.tasks-head h2 { margin:0 0 18px; font-size:clamp(44px,4.4vw,68px); }
.tasks-head p:last-child { margin:0; color:var(--muted); }
.tasks-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--text); }
.task { display:flex; flex-direction:column; padding:26px 26px 30px 0; border-bottom:1px solid var(--line); }
.task:not(:nth-child(3n+1)) { padding-left:26px; border-left:1px solid var(--line); }
.task-no { display:block; margin-bottom:22px; color:var(--red-ink, #c8321f); font-family:"Barlow Condensed",Arial,sans-serif; font-size:30px; }
.task h3 { margin:0 0 12px; font-family:"Barlow Condensed",Arial,sans-serif; font-size:26px; font-weight:600; line-height:1.02; text-transform:uppercase; }
.task p { margin:0; color:var(--muted); font-size:14px; }
.task .task-basis { margin-top:auto; padding-top:16px; color:#55565e; font-size:12.5px; line-height:1.45; }
.tasks-note { max-width:820px; margin:28px 0 0; color:#55565e; font-size:13px; }
.faq-list details p { color:#5c5e66; }
@media (max-width:1050px) {
  .system-title { flex-direction:column; align-items:flex-start; }
  .tasks-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .task:not(:nth-child(3n+1)) { padding-left:0; border-left:0; }
  .task:nth-child(2n) { padding-left:26px; border-left:1px solid var(--line); }
}
@media (max-width:780px) {
  .tasks-section { padding:72px 0; }
  .tasks-head h2 { font-size:clamp(36px,10vw,48px); }
  .tasks-grid { grid-template-columns:1fr; }
  .task:nth-child(2n) { padding-left:0; border-left:0; }
}
/* Menu z pozycją „Strona główna”: jedna linia */
.fire-nav a { white-space:nowrap; }
@media (min-width:1051px) { .topbar { grid-template-columns:minmax(calc((100vw - var(--max))/2 + 150px),30%) minmax(0,1fr); } } /* na bardzo szerokich ekranach kolumna z logo rośnie, by logo nie chowało się pod menu */
@media (min-width:1051px) and (max-width:1300px) { .fire-nav { gap:20px; font-size:17px; } }
@media (min-width:781px) and (max-width:1050px) { .fire-nav { font-size:16px; gap:14px; } }
/* „Dlaczego urzędowi potrzebny jest TRIDOT”: 4 korzyści */
.reason-grid.is-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.reason-grid.is-four .reason h3 { font-size:28px; }
@media (max-width:1050px) {
  .reason-grid.is-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reason-grid.is-four .reason { padding-left:0; border-right:0; border-bottom:1px solid rgba(255,255,255,.25); }
  .reason-grid.is-four .reason:nth-child(2n) { padding-left:28px; border-left:1px solid rgba(255,255,255,.25); }
}
@media (max-width:780px) {
  .reason-grid.is-four { grid-template-columns:1fr; }
  .reason-grid.is-four .reason:nth-child(2n) { padding-left:0; border-left:0; }
}

/* 2026-10-28: „W skrócie” (definicja programu dla czytelników i robotów), adres w kontakcie, sekcja Finansowanie na telefonie */
.intro-strip { padding:90px 0; background:var(--paper); border-bottom:1px solid var(--line); }
.intro-grid h2 { font-size:clamp(44px,4.6vw,70px); }
.intro-grid > div > p { font-size:18px; }
.intro-grid > div > p + p { margin-top:16px; }
.summary-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 28px; margin:30px 0 0; padding:24px 0 0; border-top:1px solid #bfc0bd; }
.summary-list > div { margin:0; }
.summary-list dt { margin:0 0 6px; color:var(--red-ink); font-family:"Barlow Condensed",Arial,sans-serif; font-size:20px; font-weight:600; line-height:1; text-transform:uppercase; }
.intro-more { margin:26px 0 0; font-weight:600; }
.intro-more a { color:var(--ink); text-decoration:none; border-bottom:2px solid var(--red); }
.intro-more a:hover { color:var(--red); }
.summary-list dd { margin:0; color:var(--muted); font-size:14px; line-height:1.55; }
.law-layout > div > p:not(.eyebrow) { font-size:16px; line-height:1.6; }
.law-item p { font-size:14.5px; line-height:1.55; }
.legal-sources a { font-size:13px; }
.tick-list i { color:#fff; background:var(--red-ink); }
@media (max-width:1050px) {
  .law-layout { grid-template-columns:1fr; gap:48px; }
}
@media (max-width:780px) {
  .intro-strip { padding:64px 0; }
  .intro-grid { grid-template-columns:1fr; gap:28px; }
  .intro-grid h2 { font-size:clamp(36px,10vw,48px); }
  .summary-list { grid-template-columns:1fr; }
  .law-section { padding:72px 0; }
  .law-layout h2 { font-size:clamp(36px,10vw,48px); }
}
