/* zwrotpodatkuwniemczech.pl v3 "Paragon". Wartości: DESIGN.md. Wzorce: Wise (kalkulator), Stripe (dwutonowy nagłówek), Starling (zakładki). */
:root{
  --ground:#EEF0EC;--band:#E3E7E1;--paper:#FBFCFA;--ink:#151816;--ink-2:#2A302C;--muted:#4A514C;--soft:#5F6661;
  --line:#CDD2CC;--line-2:#DDE1DB;--deep:#0A3F2D;--accent:#0E7A55;--accent-hover:#0B6347;--tint:#D5EADF;--on-dark:rgba(255,255,255,.82);
  --gutter:72px;--ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--ground);color:var(--ink);font:400 18px/1.55 'Schibsted Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--accent);color:var(--paper)}
a{color:var(--ink);text-underline-offset:4px;text-decoration-thickness:1px}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent;font:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media (hover:hover){a:hover{color:var(--accent)}}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.035em;text-wrap:balance}
p{margin:0;text-wrap:pretty}
img{max-width:100%;height:auto;display:block}
.wrap{width:100%;max-width:1440px;margin:0 auto;padding-inline:var(--gutter)}
.tab{font-variant-numeric:tabular-nums;white-space:nowrap}
.accent{color:var(--accent)}
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--ink);color:var(--paper);padding:10px 16px;text-decoration:none}
.skip:focus{top:12px}

/* nav: papierowy pasek z wyraźnym odcięciem od tła (linia + cień), przyklejony u góry */
.nav{position:sticky;top:0;z-index:21;background:rgba(251,252,250,.92);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 10px 24px -20px rgba(21,40,30,.45)}
.nav::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--accent)}
.nav-in{height:76px;display:flex;align-items:center;gap:40px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.brand-logo{width:38px;height:38px;object-fit:contain;flex:none}
.brand-txt{display:flex;flex-direction:column;font-weight:700;font-size:18px;line-height:1.05;letter-spacing:-.02em;color:var(--ink)}
.brand-txt span:last-child{color:var(--accent)}
.nav-links{display:flex;gap:4px;font-size:15px;font-weight:500;margin-left:auto}
.nav-links a{text-decoration:none;color:var(--ink-2);padding:10px 12px;position:relative;white-space:nowrap}
.nav-cta{white-space:nowrap}
.nav-links a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
@media (hover:hover){.nav-links a:hover{color:var(--ink)}.nav-links a:hover::after{transform:scaleX(1)}}

/* przyciski: jeden kształt (ostre rogi), stany hover/pressed/disabled/focus */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;background:var(--accent);color:var(--paper);border:0;text-decoration:none;font-weight:600;font-size:17px;cursor:pointer;transition:transform .18s var(--ease),background .18s,box-shadow .18s;touch-action:manipulation}
@media (hover:hover){.btn:hover{background:var(--accent-hover);color:var(--paper);box-shadow:0 8px 20px -10px rgba(9,92,64,.55)}}
.btn:active{transform:translateY(1px)}
.btn:disabled,.btn[aria-busy="true"]{background:#7FA898;cursor:progress;box-shadow:none}
.btn-sm{min-height:44px;padding:0 18px;font-size:15px}
.btn-block{width:100%}
.link{font-weight:500;font-size:17px}

/* hero */
.hero-bg{background:
  radial-gradient(60% 70% at 82% 38%,rgba(14,122,85,.13),transparent 70%),
  linear-gradient(180deg,var(--paper) 0,var(--ground) 62%)}
/* siatka 12 kolumn jako delikatne linie (Swiss Post / BVG): widoczny porządek, nie dekoracja */
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;top:0;bottom:0;left:var(--gutter);right:var(--gutter);z-index:-1;pointer-events:none;border-right:1px solid rgba(21,24,22,.05);
  background:repeating-linear-gradient(90deg,rgba(21,24,22,.05) 0 1px,transparent 1px calc((100% + 24px)/12));
  -webkit-mask:linear-gradient(180deg,#000 30%,transparent);mask:linear-gradient(180deg,#000 30%,transparent)}
.hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center;padding-top:72px;padding-bottom:88px}
.hero-copy{grid-column:1/span 7;display:flex;flex-direction:column;gap:26px;padding-right:24px}
.hero h1{font-size:clamp(44px,4.4vw,64px);line-height:1;letter-spacing:-.045em;font-weight:800}
.h1-big{color:var(--ink)}
.h1-soft{display:block;margin-top:14px;color:var(--soft);font-weight:600;font-size:.56em;line-height:1.12;letter-spacing:-.03em}
.hero-lead{font-size:20px;line-height:1.55;color:var(--muted);max-width:44ch}
.hero-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;border-top:1px solid var(--line);max-width:50ch}
.hero-points li{position:relative;padding:14px 0 14px 34px;border-bottom:1px solid var(--line);font-size:16px;line-height:1.5;color:var(--muted)}
.hero-points li::before{content:"";position:absolute;left:0;top:16px;width:20px;height:20px;background:var(--tint);border:1px solid rgba(14,122,85,.35)}
.hero-points li::after{content:"";position:absolute;left:6px;top:21px;width:8px;height:5px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.hero-points strong{color:var(--ink);font-weight:600}
.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;padding-top:4px}
.receipt-wrap{grid-column:8/span 5;position:relative;filter:drop-shadow(0 30px 44px rgba(21,40,30,.18)) drop-shadow(0 4px 10px rgba(21,40,30,.08))}
/* druga kartka pod paragonem: głębia bez dodatkowego koloru */
.receipt-wrap::before{content:"";position:absolute;inset:14px -10px 24px 10px;background:var(--tint);border:1px solid rgba(14,122,85,.18);transform:rotate(1.6deg);z-index:-1}
.receipt{margin:0;background:var(--paper);padding:30px 32px 46px;display:flex;flex-direction:column;gap:18px;border-top:4px solid var(--accent);background-image:linear-gradient(180deg,#fff,var(--paper) 30%);
  -webkit-mask:radial-gradient(circle 7px at 50% 100%,transparent 6.5px,#000 7px) bottom/18px 100% repeat-x;
  mask:radial-gradient(circle 7px at 50% 100%,transparent 6.5px,#000 7px) bottom/18px 100% repeat-x}
.r-head{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;font-size:15px;padding-bottom:14px;border-bottom:1px solid var(--line-2)}
.r-tag{white-space:nowrap;font:400 13px 'JetBrains Mono',monospace;color:#5A605B}
.r-label{font-size:15px;color:var(--muted)}
.amount-row{display:flex;align-items:baseline;gap:10px;border-bottom:1.5px solid var(--ink);padding-bottom:6px}
.r-label{margin-bottom:-8px}
.amount-row:focus-within{border-bottom-color:var(--accent)}
.amount{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);padding:0;font:700 58px/1.1 'Schibsted Grotesk',system-ui,sans-serif;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.amount:focus{outline:none}
.cur{font:600 30px 'Schibsted Grotesk',system-ui,sans-serif;color:var(--soft)}
.range{-webkit-appearance:none;appearance:none;width:100%;height:2px;margin:12px 0;background:linear-gradient(var(--accent),var(--accent)) 0/var(--fill,35%) 100% no-repeat,var(--line)}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--accent);border:4px solid var(--paper);box-shadow:0 0 0 1px var(--ink);cursor:grab}
.range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:4px solid var(--paper);box-shadow:0 0 0 1px var(--ink);cursor:grab}
.rows{margin:0;display:flex;flex-direction:column;gap:11px;font:400 15px 'JetBrains Mono',monospace;font-variant-numeric:tabular-nums}
.rows div{display:flex;justify-content:space-between;gap:16px}
.rows dt,.rows dd{margin:0}
.rows .muted{color:#5A605B}
.rows .muted dd span{text-decoration:line-through;text-decoration-color:rgba(90,96,91,.5)}
.rows .ours{color:var(--ink);font-weight:500;background:var(--tint);margin:0 -10px;padding:7px 10px}
.total{border-top:1px dashed var(--ink);padding-top:16px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.total span{white-space:nowrap;font-weight:600;font-size:17px}
.total strong{font-size:44px;font-weight:800;letter-spacing:-.04em;color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}
.r-note{font-size:14px;line-height:1.45;color:var(--muted);margin-top:-6px}
.r-foot{display:flex;justify-content:space-between;font:400 12px 'JetBrains Mono',monospace;color:var(--soft);letter-spacing:.02em;margin-top:-4px}
.r-foot span:last-child{color:var(--accent);font-weight:500}

/* fakty pod hero (Wise) */
.facts{list-style:none;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-top:0;padding-bottom:0;border-bottom:1px solid var(--line)}
.facts li{padding:26px 24px 26px 0}
.facts li+li{padding-left:24px;border-left:1px solid var(--line)}
.facts li{display:flex;gap:14px;align-items:flex-start}
.facts svg{flex:none;width:26px;height:26px;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-top:2px}
.facts span{display:flex;flex-direction:column;font-size:15px;color:var(--muted);line-height:1.4}
.facts strong{color:var(--ink);font-weight:600;font-size:17px}

/* zdanie z kwotami */
.statement{padding-top:112px;padding-bottom:96px}
.statement p{font-size:clamp(28px,3.6vw,50px);line-height:1.16;letter-spacing:-.03em;font-weight:500;max-width:1120px}
.statement .soft{color:#5A615C}
.photo-wide{margin:0 auto;padding-bottom:120px}
.photo-wide img{width:100%;aspect-ratio:16/9;object-fit:cover}

/* sytuacja: zakładki */
.situation{padding-bottom:120px}
.situation h2{font-size:clamp(34px,3.8vw,56px);line-height:1.02;letter-spacing:-.045em;margin-bottom:32px}
.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--ink)}
.tabs [role="tab"]{background:none;border:0;padding:16px 24px 18px;font-size:17px;font-weight:600;color:var(--muted);cursor:pointer;position:relative;text-align:left;min-height:56px}
.tabs [role="tab"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.tabs [role="tab"][aria-selected="true"]{color:var(--ink)}
.tabs [role="tab"][aria-selected="true"]::after{transform:scaleX(1)}
@media (hover:hover){.tabs [role="tab"]:hover{color:var(--ink)}}
.panel{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-top:40px;animation:panel-in .35s var(--ease)}
.panel[hidden]{display:none}
.panel-col:first-child{grid-column:1/span 6}
.panel-col:last-child{grid-column:8/span 5;background:var(--tint);padding:36px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.panel h3{font-size:24px;letter-spacing:-.02em;margin-bottom:16px}
.panel-col:last-child h3{margin-bottom:0}
.panel-col:last-child p{color:#24352C}
.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.checks li{padding-left:30px;position:relative}
.checks li::before{content:"";position:absolute;left:3px;top:.45em;width:12px;height:7px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
@keyframes panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* proces: oś wypełniana przy przewijaniu */
.process{background:var(--band);padding:112px 0}
.process h2{font-size:clamp(32px,3.6vw,52px);line-height:1.04;letter-spacing:-.04em;max-width:20ch;margin-bottom:64px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.steps li{position:relative;display:flex;flex-direction:column;gap:14px;padding-top:44px;transition:opacity .5s var(--ease)}
.steps li::before{content:"";position:absolute;top:0;left:0;width:22px;height:22px;border-radius:50%;background:var(--band);border:1.5px solid var(--ink);transition:background .4s var(--ease),border-color .4s var(--ease);z-index:1}
.steps li::after{content:"";position:absolute;top:11px;left:22px;right:-32px;height:1.5px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);transition-delay:inherit}
.steps li:last-child::after{display:none}
.steps li.done::before{background:var(--accent);border-color:var(--accent)}
.steps li.done::after{transform:scaleX(1)}
.steps h3{font-size:24px;letter-spacing:-.02em}
.steps p{font-size:16px;color:var(--muted)}

/* cena + FAQ */
.price{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start;padding-top:120px;padding-bottom:120px}
.price-copy{grid-column:1/span 5;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.price h2{font-size:clamp(32px,3.4vw,48px);line-height:1.04;letter-spacing:-.04em}
.price-num{font-size:clamp(72px,8vw,112px);line-height:.9;letter-spacing:-.06em;font-weight:800}
.price-copy .checks{font-size:17px}
.faq{grid-column:7/span 6;border-bottom:1px solid var(--ink)}
.faq-h{font-size:24px;letter-spacing:-.02em;margin-bottom:12px}
.faq details{border-top:1px solid var(--ink);padding:24px 0}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;font-size:20px;font-weight:600;letter-spacing:-.015em;min-height:28px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-weight:400;font-size:24px;line-height:1;transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details[open] p{animation:panel-in .3s var(--ease)}
.faq details p{margin-top:14px;font-size:17px;color:var(--muted);max-width:58ch}

/* formularz zgłoszenia (jedyny ciemny blok, świadomie) */
.start{background:var(--ink);color:var(--ground);padding:112px 0}
.start-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.start-copy{grid-column:1/span 5;display:flex;flex-direction:column;gap:20px;position:sticky;top:32px}
.start h2{font-size:clamp(36px,4vw,60px);line-height:1;letter-spacing:-.045em}
.start-copy p{color:var(--on-dark);max-width:38ch}
.lead,.lead-ok{grid-column:7/span 6}
.lead{display:flex;flex-direction:column;gap:22px}
.field{display:flex;flex-direction:column;gap:8px;border:0;margin:0;padding:0;min-width:0}
.field label,.field legend{font-size:15px;color:var(--on-dark);padding:0}
.opt{color:rgba(255,255,255,.66)}
.field input,.field select,.field textarea{width:100%;background:transparent;color:var(--paper);border:0;border-bottom:1.5px solid rgba(255,255,255,.38);padding:10px 0;font-size:18px;border-radius:0;transition:border-color .2s}
.field select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23C4CBC6' stroke-width='1.6'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") right 4px center no-repeat;padding-right:24px}
.field select option{color:var(--ink)}
.field textarea{resize:vertical;min-height:84px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:#5FD0A3}
.field input[aria-invalid="true"]{border-bottom-color:#FF8A80}
.err{font-size:14px;color:#FFB4AB}
.err:empty{display:none}
.years{flex-direction:row;flex-wrap:wrap;gap:10px}
.years legend{width:100%;margin-bottom:8px}
.years label{position:relative;cursor:pointer}
.years input{position:absolute;opacity:0;width:1px;height:1px}
.years span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1.5px solid rgba(255,255,255,.38);color:var(--on-dark);font-variant-numeric:tabular-nums;transition:background .15s,border-color .15s,color .15s}
.years input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.years input:focus-visible+span{outline:2px solid #5FD0A3;outline-offset:2px}
.consent label{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;cursor:pointer}
.consent input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--accent)}
.consent a{color:var(--paper)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{font-size:15px}
.form-status:empty{display:none}
.form-status.is-error{color:#FFB4AB}
.start .btn:focus-visible{outline-color:#5FD0A3}
.lead-ok{border:1.5px solid #5FD0A3;padding:36px;display:flex;flex-direction:column;gap:12px}
.lead-ok h3{font-size:28px}
.lead-ok p{color:var(--on-dark)}
.lead-ok:focus{outline:none}

/* stopka */
.foot{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:48px;padding-bottom:56px;font-size:14px;color:var(--muted)}
.foot-brand{font-weight:600;color:var(--ink)}
.foot a{color:var(--muted)}

/* menu mobilne */
.menu-btn{display:none;position:relative;width:44px;height:44px;margin-right:-10px;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation}
.menu-btn span{position:absolute;left:10px;width:24px;height:1.6px;background:var(--ink);transition:transform .2s var(--ease)}
.menu-btn span:first-child{top:17px}
.menu-btn span:last-child{top:25px}
.menu-btn[aria-expanded="true"] span:first-child,.menu-btn[aria-expanded="true"] span:last-child{top:21px}
.menu-btn[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}
.menu{position:fixed;inset:65px 0 0 0;z-index:20;background:var(--ground);padding:16px var(--gutter) calc(32px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:32px;overflow-y:auto;overscroll-behavior:contain;animation:menu-in .25s var(--ease)}
.menu[hidden]{display:none}
.menu nav{display:flex;flex-direction:column}
.menu nav a{padding:18px 0;border-bottom:1px solid var(--line);font-size:28px;font-weight:600;letter-spacing:-.03em;text-decoration:none}
.menu .btn{width:100%}
body.menu-open{overflow:hidden}
@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* wejścia sekcji: tylko gdy JS potwierdził, że ruch jest dozwolony */
.motion-ok [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.motion-ok [data-reveal].is-in{opacity:1;transform:none}
.motion-ok .steps li:not(.done){opacity:.45}

/* tablet i telefon */
@media (max-width:1180px){.nav-links,.nav-cta{display:none}.menu-btn{display:block;margin-left:auto}}
@media (max-width:980px){
  :root{--gutter:20px}
  body{font-size:16px}
  .nav-in{height:64px;gap:16px}.brand-logo{width:32px;height:32px}.brand-txt{font-size:16px}
  html{scroll-padding-top:72px}
  .nav-links,.nav-cta{display:none}
  .menu-btn{display:block}
  .hero{display:flex;flex-direction:column;align-items:stretch;gap:36px;padding-top:24px;padding-bottom:48px}
  .hero h1{font-size:40px}
  .hero::before{display:none}
  .h1-soft{margin-top:10px}
  .hero-lead{font-size:17px}
  .hero-copy{padding-right:0}
  .hero-points li{font-size:15px}
  .receipt-wrap::before{inset:12px -4px 20px 6px}
  .actions .btn{width:100%}
  .receipt{padding:26px 22px 38px;gap:16px;-webkit-mask-size:15px 100%;mask-size:15px 100%}
  .amount{font-size:44px}
  .rows{font-size:14px}
  .total strong{font-size:32px}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts li,.facts li+li{padding:18px 12px 18px 0;border-left:0}
  .facts li:nth-child(even){padding-left:14px;border-left:1px solid var(--line)}
  .facts li:nth-child(n+3){border-top:1px solid var(--line)}
  .facts strong{font-size:16px}.facts span{font-size:14px}
  .statement{padding-top:64px;padding-bottom:48px}
  .photo-wide{padding-bottom:64px}
  .situation{padding-bottom:64px}
  .situation h2{margin-bottom:20px}
  .tabs{grid-template-columns:1fr;gap:8px;border-bottom:0}
  .tabs [role="tab"]{display:flex;align-items:center;gap:12px;padding:14px 16px;font-size:16px;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);transition:border-color .2s,background .2s}
  .tabs [role="tab"]::after{display:none}
  .tabs [role="tab"]::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--soft);background:var(--paper);transition:box-shadow .2s,border-color .2s}
  .tabs [role="tab"][aria-selected="true"]{border-color:var(--accent);background:var(--tint)}
  .tabs [role="tab"][aria-selected="true"]::before{border-color:var(--accent);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 10px var(--accent)}
  .photo-wide{display:none}
  .statement p{font-size:24px;line-height:1.25}
  .years{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .years legend{grid-column:1/-1}
  .years span{display:flex;justify-content:center;padding:0}
  .panel{display:flex;flex-direction:column;gap:20px;padding-top:28px}
  .panel-col:last-child{padding:24px}
  .panel h3{font-size:20px}
  .panel .btn{width:100%}
  .process{padding:64px 0}
  .process h2{margin-bottom:32px}
  .steps{grid-template-columns:1fr;gap:28px;padding-left:40px}
  .steps li{padding-top:0}
  .steps li::before{left:-40px;top:2px;width:20px;height:20px}
  .steps li::after{left:-31px;top:22px;right:auto;bottom:-30px;width:1.5px;height:auto;transform:scaleY(0);transform-origin:top}
  .steps li.done::after{transform:scaleY(1)}
  .steps h3{font-size:20px}
  .price{display:flex;flex-direction:column;gap:48px;padding-top:64px;padding-bottom:64px}
  .price-copy .btn{width:100%}
  .faq summary{font-size:18px}
  .start{padding:64px 0}
  .start-in{display:flex;flex-direction:column;gap:32px}
  .start-copy{position:static}
  .lead-ok{padding:24px}
  .foot{flex-direction:column;gap:10px;padding-top:32px;padding-bottom:calc(40px + env(safe-area-inset-bottom))}
}

/* ===== v4 „premium”: ciemny las w hero i formularzu, szeryfowa kursywa jako drugi głos, ziarno, szkło ===== */
:root{--forest:#08170F;--forest-2:#0D2A1E;--mint:#9BE8C4;--mint-2:#45C690;--on-forest:rgba(255,255,255,.84);--on-forest-2:rgba(255,255,255,.72);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em}
h2 .serif,.faq-h .serif{color:var(--accent-hover);padding-right:.04em}
.statement .serif{font-size:1.12em;line-height:1}

/* hero: głęboka zieleń z miękkimi poświatami */
.hero-bg{position:relative;isolation:isolate;overflow:hidden;color:var(--paper);background:
  radial-gradient(55% 65% at 84% 30%,rgba(69,198,144,.30),transparent 62%),
  radial-gradient(40% 50% at 62% 105%,rgba(155,232,196,.16),transparent 70%),
  radial-gradient(60% 70% at 0% 0%,rgba(14,122,85,.40),transparent 60%),
  linear-gradient(165deg,var(--forest-2) 0%,var(--forest) 70%)}
.hero-bg::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--grain);opacity:.10;mix-blend-mode:overlay;pointer-events:none}
.hero::before{border-right-color:rgba(255,255,255,.05);background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px calc((100% + 24px)/12))}
.hero{padding-top:88px;padding-bottom:104px}
.hero h1,.hero .h1-big{color:#fff}
.receipt{color:var(--ink)}
.h1-big .serif{display:inline;font-size:1.1em;line-height:.95;letter-spacing:-.015em;padding-right:.06em;
  background:linear-gradient(100deg,#D2F6E4 0%,var(--mint) 35%,var(--mint-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.h1-soft{color:rgba(255,255,255,.78)}
.hero-lead{color:var(--on-forest)}
.hero-points{border-top-color:rgba(255,255,255,.12)}
.hero-points li{border-bottom-color:rgba(255,255,255,.12);color:var(--on-forest-2)}
.hero-points strong{color:#fff}
.hero-points li::before{background:rgba(155,232,196,.10);border-color:rgba(155,232,196,.38)}
.hero-points li::after{border-color:var(--mint)}
.btn-light{background:#F2F5F1;color:var(--forest);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 12px 30px -12px rgba(69,198,144,.55)}
@media (hover:hover){.btn-light:hover{background:#fff;color:var(--forest);box-shadow:0 1px 0 #fff inset,0 16px 36px -12px rgba(69,198,144,.75)}}
.btn-light::after,.btn-block::after{content:"";width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:4px;transition:transform .2s var(--ease)}
@media (hover:hover){.btn-light:hover::after,.btn-block:hover::after{transform:translateX(3px) rotate(45deg)}}
.link-light{color:#F2F5F1;text-decoration-color:rgba(242,245,241,.4)}
@media (hover:hover){.link-light:hover{color:var(--mint)}}
.hero :focus-visible{outline-color:var(--mint)}

/* paragon na ciemnym: biały papier, szklana kartka pod spodem, poświata */
.receipt-wrap{filter:drop-shadow(0 40px 60px rgba(0,0,0,.45)) drop-shadow(0 6px 14px rgba(0,0,0,.25))}
.receipt-wrap::before{inset:18px -16px 30px 14px;transform:rotate(2.2deg);background:linear-gradient(160deg,rgba(155,232,196,.22),rgba(155,232,196,.06));border:1px solid rgba(155,232,196,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.receipt-wrap::after{content:"";position:absolute;inset:-12% -10%;z-index:-2;background:radial-gradient(closest-side,rgba(69,198,144,.35),transparent);filter:blur(10px)}
.receipt{border-top-color:var(--mint-2)}
.total strong{background:linear-gradient(100deg,var(--accent),#14A56F);-webkit-background-clip:text;background-clip:text;color:transparent}

/* fakty na ciemnym */
.facts{border-bottom:0;border-top:1px solid rgba(255,255,255,.10)}
.facts li+li{border-left-color:rgba(255,255,255,.10)}
.facts span{color:var(--on-forest-2)}
.facts strong{color:#fff}
.facts svg{stroke:var(--mint)}

/* przejście z hero do jasnej strony */
.statement{position:relative}
.statement .accent{color:var(--accent)}

/* kroki: szeryfowe cyfry */
.step-n{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:44px;line-height:1;color:var(--accent-hover);margin-top:-6px}
.process{background:linear-gradient(180deg,var(--band),#DCE2DA);position:relative}

/* karta ceny jak drugi paragon */
.price-copy{background:var(--paper);padding:40px;border-top:4px solid var(--accent);box-shadow:0 30px 60px -36px rgba(21,40,30,.45),0 1px 0 rgba(21,40,30,.06)}
.price-num{background:linear-gradient(180deg,var(--ink),#2E4A3C);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.04em}
.price-num::after{content:" stałe";font:italic 400 .3em 'Instrument Serif',Georgia,serif;letter-spacing:0;color:var(--accent);-webkit-text-fill-color:var(--accent)}

/* formularz: ta sama zieleń co hero (klamra strony) */
.start{position:relative;isolation:isolate;overflow:hidden;background:
  radial-gradient(50% 60% at 90% 10%,rgba(69,198,144,.22),transparent 65%),
  radial-gradient(50% 60% at 0% 100%,rgba(14,122,85,.30),transparent 65%),
  linear-gradient(165deg,var(--forest-2),var(--forest))}
.start::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--grain);opacity:.10;mix-blend-mode:overlay;pointer-events:none}
.start h2 .serif{color:var(--mint)}
.lead{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);padding:36px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.lead .btn{background:#F2F5F1;color:var(--forest)}
@media (hover:hover){.lead .btn:hover{background:#fff;color:var(--forest)}}
.lead .btn:disabled,.lead .btn[aria-busy="true"]{background:#9DB0A6}
.years input:checked+span{background:var(--mint);border-color:var(--mint);color:var(--forest)}

/* sytuacja: lista na papierze, odpowiedź na ciemnej zieleni */
.panel-col:first-child{background:var(--paper);padding:36px;border:1px solid var(--line-2)}
.panel-col:last-child{position:relative;isolation:isolate;overflow:hidden;color:#F2F5F1;background:radial-gradient(80% 90% at 100% 0%,rgba(69,198,144,.28),transparent 60%),linear-gradient(165deg,var(--forest-2),var(--forest))}
.panel-col:last-child::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--grain);opacity:.10;mix-blend-mode:overlay}
.panel-col:last-child p{color:var(--on-forest)}
.panel-col:last-child .btn{background:#F2F5F1;color:var(--forest)}
@media (hover:hover){.panel-col:last-child .btn:hover{background:#fff;color:var(--forest)}}
.panel-col:last-child :focus-visible{outline-color:var(--mint)}
@media (max-width:980px){
  .hero{padding-top:40px;padding-bottom:56px}
  .h1-big .serif{font-size:1.06em}
  .receipt-wrap::before{inset:14px -6px 22px 8px}
  .facts li:nth-child(even){border-left-color:rgba(255,255,255,.10)}
  .facts li:nth-child(n+3){border-top-color:rgba(255,255,255,.10)}
  .price-copy{padding:28px 22px}
  .lead{padding:24px 18px}
  .step-n{font-size:34px}
  .panel-col:first-child{padding:24px}
  .faq,.price-copy{min-width:0;max-width:100%}
  .faq summary span,.faq summary{overflow-wrap:anywhere}
  .total{flex-wrap:wrap}
  .facts strong{overflow-wrap:anywhere}
}
.faq details p a{color:var(--accent-hover)}
/* oferta: cena kolejnego roku, gwarancja, wybór kanału kontaktu */
.price-next{font-size:17px;color:var(--muted);margin-top:-8px}
.price-next strong{color:var(--ink)}
.guarantee{position:relative;padding:16px 18px 16px 50px;background:var(--tint);border:1px solid rgba(14,122,85,.3);font-size:16px;line-height:1.5;color:#24352C}
.guarantee::before{content:"";position:absolute;left:18px;top:18px;width:18px;height:20px;background:var(--accent);clip-path:polygon(50% 0,100% 18%,100% 55%,50% 100%,0 55%,0 18%)}
.guarantee strong{color:var(--ink)}
@media (max-width:980px){.channel{grid-template-columns:repeat(3,minmax(0,1fr))}}
.faq summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
/* podstrony (artykuły) i 404 */
.article{max-width:calc(780px + 2*var(--gutter));padding-top:56px;padding-bottom:104px}
.crumbs{font-size:14px;color:var(--soft);margin-bottom:28px}
.crumbs a{color:var(--soft)}
.article h1{overflow-wrap:break-word;font-size:clamp(34px,4vw,54px);line-height:1.04;letter-spacing:-.045em;margin-bottom:20px}
.article-lead{font-size:20px;line-height:1.55;color:var(--muted);margin-bottom:12px}
.article h2{font-size:clamp(24px,2.4vw,30px);line-height:1.15;letter-spacing:-.03em;margin:48px 0 14px}
.article p{line-height:1.65;margin-bottom:14px}
.article p a,.article li a{color:var(--accent-hover)}
.article .checks{margin:6px 0 14px}
.steps-list{margin:6px 0 14px;padding-left:22px;display:flex;flex-direction:column;gap:14px;line-height:1.6}
.steps-list em{font-style:italic;color:var(--muted)}
.article-cta{margin-top:64px;padding:36px;position:relative;isolation:isolate;overflow:hidden;color:#fff;background:radial-gradient(70% 90% at 100% 0%,rgba(69,198,144,.28),transparent 60%),linear-gradient(165deg,var(--forest-2),var(--forest));display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.article-cta p{margin:0;color:var(--on-forest)}
.article-cta .article-cta-t{font-size:28px;font-weight:700;letter-spacing:-.03em;color:#fff}
.article-cta .btn{background:#F2F5F1;color:var(--forest)}
@media (hover:hover){.article-cta .btn:hover{background:#fff;color:var(--forest)}}
@media (max-width:980px){.article{padding-top:32px;padding-bottom:64px}.article-lead{font-size:18px}.article-cta{padding:24px}.article-cta .btn{width:100%}}
/* jedno CTA zaraz pod opisem, punkty niżej: przycisk zawsze nad zgięciem */
.hero-copy .actions{order:3}
.hero-copy .hero-points{order:4}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* atrybut hidden ma pierwszeństwo przed display:flex */
[hidden]{display:none!important}

/* stopka bez danych firmy: opis, nawigacja, prawa autorskie */
.foot{display:block;padding:0;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.foot-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-top:64px;padding-bottom:48px}
.foot-about{grid-column:1/span 5;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.foot-brand{font-weight:700;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.foot-about p{max-width:38ch;line-height:1.5}
.foot-col{grid-column:span 3;display:flex;flex-direction:column;gap:10px}
.foot-col:nth-of-type(1){grid-column:7/span 3}
.foot-h{font-size:13px;font-weight:600;color:var(--ink);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.foot-col a{color:var(--muted);text-decoration:none;padding:2px 0}
@media (hover:hover){.foot-col a:hover{color:var(--accent);text-decoration:underline}}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px;padding-bottom:calc(32px + env(safe-area-inset-bottom));border-top:1px solid var(--line);font-size:14px}
.foot-bottom a{color:var(--muted)}
@media (max-width:980px){
  .foot-grid{display:flex;flex-direction:column;gap:32px;padding-top:44px;padding-bottom:32px}
  .foot-col a{padding:8px 0}
}
.foot .btn{color:var(--paper)}
.foot .foot-brand{color:var(--ink)}
