/* =========================================================
   reklama360 — style v2 (lżejszy, wielostronicowy)
   Marka: limonka #aece00 + grafit #21201e
   Zasada: dużo powietrza, jasne tła, ciemny kolor tylko jako akcent
   ========================================================= */

:root{
  --ink:#21201e; --ink-2:#2c2b28; --ink-3:#4a4944;
  --lime:#aece00; --lime-hi:#c6e61e; --lime-lo:#7f9a00; --lime-soft:#f2f8d4;
  --paper:#f8f9f5; --paper-2:#f0f2ea; --white:#fff;
  --muted:#65635e; --hair:#e3e5db; --hair-2:#d3d6ca;
  --f-display:'Archivo','Arial Narrow',Impact,sans-serif;
  --f-body:'Instrument Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --wrap:1200px; --gut:clamp(20px,4.4vw,48px);
  --r:14px; --r-lg:26px;
  --shadow:0 1px 2px rgba(33,32,30,.04),0 24px 48px -30px rgba(33,32,30,.28);
  --shadow-lg:0 2px 4px rgba(33,32,30,.04),0 40px 70px -36px rgba(33,32,30,.38);
  --slant:polygon(0 0,100% 0,calc(100% - .28em) 100%,0 100%);
  --hdr:78px;
  --sec:clamp(80px,11vw,152px);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.7 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p,figure,dl,dd,blockquote{margin:0}
:focus-visible{outline:3px solid var(--lime-lo);outline-offset:3px;border-radius:4px}
.cta-band :focus-visible{outline-color:var(--lime)}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:#fff;padding:10px 14px;z-index:100;transition:top .2s;border-radius:8px}
.skip:focus{top:12px}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.mono{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.05em;text-transform:uppercase}
.muted{color:var(--muted)}

/* ---------- Typografia (lekka: sentence case, średnia waga) ---------- */
.h1,.h2,.h3,.h4,.brand-name,.foot-brand,.sv-body h3,.adv-list h3,.person h3,.case-tabs b,.calc-tabs button,.opt-body b,.price-big,.step-n,.cal-year,.cal-logo,.cal-m h4,.form-done h3,.feat h3,.qt-tile b,.case-info h3,.case-card .cc-b b,.price-card h3,.machines b,.prose h3{font-family:var(--f-display);font-stretch:68%;font-weight:760;letter-spacing:-.005em;text-transform:uppercase}
.h1{font-size:clamp(2.6rem,6vw,5.2rem);line-height:.96;max-width:14em;text-wrap:balance}
.h2{font-size:clamp(2.3rem,5vw,4.3rem);line-height:.97;max-width:16em;text-wrap:balance}
.h3{font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.02}
.h4{font-size:1.35rem;line-height:1.15}
.lead{font-size:clamp(1.1rem,1.5vw,1.25rem);line-height:1.65;max-width:36em;color:var(--ink-3)}
.eyebrow{display:inline-block;font-family:var(--f-mono);font-size:.74rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;background:var(--lime);color:var(--ink);padding:.42em 1.1em .42em .85em;clip-path:var(--slant);margin-bottom:1.3rem}
.eyebrow-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem 1rem;margin-bottom:1.3rem}
.eyebrow-row .eyebrow{margin:0}
.sec-dark .eyebrow,.sec-lime .eyebrow-ink{background:var(--lime);color:var(--ink)}
.sec-lime .eyebrow{background:var(--ink);color:var(--lime)}
.tag{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--lime);padding:.3em .8em;clip-path:var(--slant);display:inline-block;white-space:nowrap}

/* ---------- Przyciski ---------- */
.btn{--bg:var(--ink);--fg:#fff;display:inline-flex;align-items:center;gap:.6em;justify-content:center;padding:1em 1.6em;border:0;background:var(--bg);color:var(--fg);font-weight:650;font-size:1rem;line-height:1;text-decoration:none;border-radius:var(--r);position:relative;overflow:hidden;isolation:isolate;transition:color .3s var(--ease),transform .2s,box-shadow .3s}
.btn::before{content:"";position:absolute;inset:0;background:var(--lime);transform:translateX(-101%);transition:transform .5s var(--ease);z-index:-1;border-radius:inherit}
.btn:hover::before,.btn:focus-visible::before{transform:none}
.btn:hover{color:var(--ink)}
.btn:active{transform:translateY(1px)}
.btn .ico{width:1.1em;height:1.1em;transition:transform .3s var(--ease)}
.btn:hover .ico{transform:translateX(4px)}
.btn-lime{--bg:var(--lime);--fg:var(--ink)}
.btn-lime::before{background:var(--white)}
.btn-lime:hover{color:var(--ink)}
.btn-line{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-line::before{background:var(--ink)}
.btn-line:hover{color:#fff}
.btn-sm{padding:.75em 1.15em;font-size:.95rem}
.link-arrow{background:none;border:0;padding:.2em 0;font-weight:650;display:inline-flex;gap:.55em;align-items:center;border-bottom:2px solid var(--lime);color:inherit;text-decoration:none;transition:gap .25s var(--ease)}
.link-arrow::after{content:"→"}
.link-arrow:hover{gap:.9em}
.inline-link{background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;color:inherit;font:inherit}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,249,245,.9);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.site-header.is-stuck{border-color:var(--hair);box-shadow:0 10px 30px -24px rgba(0,0,0,.4)}
.header-in{display:flex;align-items:center;gap:clamp(14px,2vw,28px);height:var(--hdr)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand img{height:44px;width:auto}
.brand-name{font-size:1.65rem;line-height:1;text-transform:uppercase;font-weight:780}
.brand-name b{color:var(--lime-lo);font-weight:780}
.nav{display:flex;align-items:center;gap:clamp(10px,1.6vw,24px);margin-left:auto;font-weight:550;font-size:.97rem}
.nav>a,.nav-item>a{text-decoration:none;position:relative;padding:.5em 0;white-space:nowrap}
.nav>a::after,.nav-item>a::after{content:"";position:absolute;left:0;right:0;bottom:.15em;height:2px;background:var(--lime-lo);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav>a:hover::after,.nav-item>a:hover::after,.nav a.is-active::after{transform:scaleX(1)}
.nav-season i{font-style:normal;font-family:var(--f-mono);font-size:.6rem;background:var(--lime);padding:.2em .55em;margin-left:.35em;vertical-align:.12em;text-transform:uppercase;letter-spacing:.06em;clip-path:var(--slant)}
.nav-item{position:relative;display:flex;align-items:center}
.sub-toggle{background:none;border:0;padding:.4em .3em;margin-left:.1em;line-height:1;display:inline-grid;place-items:center}
.sub-toggle svg{width:12px;height:12px;transition:transform .3s}
.sub{position:absolute;top:100%;left:-24px;min-width:340px;padding:12px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg),0 0 0 1px var(--hair);display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .25s,transform .3s var(--ease),visibility .25s}
.nav-item:hover .sub,.nav-item:focus-within .sub,.nav-item.open .sub{opacity:1;visibility:visible;transform:none}
.nav-item:hover .sub-toggle svg,.nav-item.open .sub-toggle svg{transform:rotate(180deg)}
.sub a{display:block;padding:.65em .9em;border-radius:10px;text-decoration:none;font-weight:550;font-size:.96rem;line-height:1.3;transition:background .2s}
.sub a small{display:block;font-weight:400;color:var(--muted);font-size:.82rem}
.sub a:hover{background:var(--lime-soft)}
.sub .sub-all{margin-top:6px;border-top:1px solid var(--hair);border-radius:0 0 10px 10px;font-weight:700}
.header-cta{display:flex;align-items:center;gap:14px;flex:none}
.header-tel{text-decoration:none;font-weight:650;font-size:.98rem;line-height:1.1;white-space:nowrap}
.header-tel span{display:block;font-family:var(--f-mono);font-size:.6rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.burger{display:none;width:46px;height:46px;border:1.5px solid var(--ink);background:transparent;border-radius:12px;position:relative;margin-left:auto}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--ink);transition:transform .3s var(--ease),top .3s var(--ease)}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:26px}
.burger[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){top:21px;transform:rotate(-45deg)}

/* ---------- Sekcje ---------- */
.sec{padding:var(--sec) 0;position:relative}
.sec-tight{padding:clamp(56px,7vw,96px) 0}
.sec-white{background:var(--white)}
.sec-soft{background:var(--paper-2)}
.sec-lime{background:var(--lime-soft)}
.sec-head{margin-bottom:clamp(40px,5.5vw,76px)}
.sec-head .lead,.sec-head>p{margin-top:1.2rem}
.sec-split{display:flex;justify-content:space-between;align-items:flex-end;gap:clamp(24px,5vw,80px)}
.sec-split>p{max-width:28em;color:var(--muted);padding-bottom:.4rem}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s)}
.reveal.in{opacity:1;transform:none}

/* ---------- Hero (strona główna) ---------- */
.hero{padding:clamp(40px,6vw,88px) 0 clamp(48px,6vw,88px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(24px,5vw,72px);align-items:center}
.hero-title{font-family:var(--f-display);font-stretch:66%;font-weight:780;text-transform:uppercase;letter-spacing:-.005em;font-size:clamp(2.7rem,6.4vw,6.6rem);line-height:.92;margin:0 0 .3em}
.hero-title .line{display:block;overflow:hidden;padding:.1em 0 .02em;margin-top:-.1em}
.hero-title .line>span{display:block;transform:translateY(112%);transition:transform 1s var(--ease)}
.is-ready .hero-title .line>span{transform:none}
.hero-title .line:nth-child(2)>span{transition-delay:.12s}
.hero-title .line:nth-child(3)>span{transition-delay:.24s}
.hero-title mark{background:none;color:var(--ink);position:relative;display:inline-block;padding:0 .18em 0 .12em;margin-left:-.12em;z-index:0}
.hero-title mark::before{content:"";position:absolute;inset:.06em 0 .02em;background:var(--lime);clip-path:polygon(0 0,100% 0,calc(100% - .12em) 100%,0 100%);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease) .9s;z-index:-1}
.is-ready .hero-title mark::before{transform:scaleX(1)}
.hero .lead{margin-bottom:2.1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:2.2rem}
.quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.quick-label{color:var(--muted);margin-right:6px}
.quick a{box-shadow:inset 0 0 0 1.5px var(--hair-2);padding:.45em 1em;font-weight:600;font-size:.9rem;text-decoration:none;border-radius:99px;background:#fff;transition:box-shadow .25s,background .25s,color .25s}
.quick a:hover{background:var(--ink);color:#fff;box-shadow:none}
.quick .quick-hot{background:var(--lime);box-shadow:none}
.quick .quick-hot:hover{background:var(--ink)}
.hero-art{position:relative;display:grid;place-items:center;min-height:min(540px,58vw)}
.reg{position:absolute;width:126%;max-width:620px;left:50%;top:50%;translate:-50% -50%;color:var(--ink);opacity:.6;pointer-events:none}
.reg-spin{transform:rotate(var(--rot,0deg));transition:transform .15s linear}
.reg text{font-family:var(--f-mono);font-size:11px;fill:currentColor}
.frame{position:relative;width:min(100%,350px);aspect-ratio:405/512;margin:0;background:var(--ink);border-radius:26px;box-shadow:var(--shadow-lg)}
.frame img{width:100%;height:100%;object-fit:cover;border-radius:26px;opacity:0;transform:scale(1.05);transition:opacity 1s var(--ease) .4s,transform 1.4s var(--ease) .4s}
.is-ready .frame img{opacity:1;transform:none}
.crop{position:absolute;width:24px;height:24px;border:0 solid var(--ink);z-index:2;opacity:.7}
.crop-tl{left:-16px;top:-16px;border-width:1.5px 0 0 1.5px}.crop-tr{right:-16px;top:-16px;border-width:1.5px 1.5px 0 0}
.crop-bl{left:-16px;bottom:-16px;border-width:0 0 1.5px 1.5px}.crop-br{right:-16px;bottom:-16px;border-width:0 1.5px 1.5px 0}
.cmyk{position:absolute;left:calc(50% + min(200px,19vw));top:50%;translate:0 -50%;display:flex;flex-direction:column;gap:3px;z-index:2}
.cmyk i{width:14px;height:14px;display:block;border-radius:3px}
.floor{position:absolute;left:2%;bottom:7%;background:var(--ink);color:#fff;padding:.7em 1em;line-height:1.5;z-index:3;font-size:.68rem;border-radius:12px;box-shadow:var(--shadow);transform:rotate(-2deg)}
.floor span{color:var(--lime);margin-right:.6em}
.trust{display:flex;flex-wrap:wrap;gap:10px 30px;align-items:center;padding-block:clamp(44px,6vw,80px) clamp(36px,5vw,56px);color:var(--muted);font-weight:550;font-size:.95rem}
.trust .mono{color:var(--ink)}

/* ---------- Ticker (jasny) ---------- */
.ticker{overflow:hidden;background:var(--ink);color:#fff}
.ticker-track{display:flex;width:max-content;animation:tick 46s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker ul{display:flex;flex:none}
.ticker li{font-family:var(--f-display);font-stretch:68%;font-weight:760;text-transform:uppercase;font-size:1.45rem;padding:.75em 0;white-space:nowrap;color:#fff}
.ticker li::after{content:"";display:inline-block;width:.45em;height:.8em;background:var(--lime);margin:0 1.5em;transform:skewX(-16deg);vertical-align:-.05em}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- Zalety ---------- */
.adv{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(36px,7vw,120px);align-items:start}
.adv-head{position:sticky;top:calc(var(--hdr) + 32px)}
.adv-head .h2{margin-bottom:1.2rem}
.adv-head>p{margin-bottom:1.8rem;max-width:26em;color:var(--muted)}
.adv-list li{padding:1.9rem 0;border-top:1px solid var(--hair);display:grid;gap:.5rem;position:relative;isolation:isolate;transition:padding .35s var(--ease)}
.adv-list li::before{content:"";position:absolute;inset:0;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease);z-index:-1;clip-path:polygon(0 0,100% 0,calc(100% - 28px) 100%,0 100%)}
.adv-list li:hover,.adv-list li:focus-within{padding-left:1.4rem;padding-right:2.4rem}
.adv-list li:hover::before,.adv-list li:focus-within::before{transform:scaleX(1)}
.adv-list li:hover .spec{color:var(--ink)}
.adv-list li:last-child{border-bottom:1px solid var(--hair)}
.adv-list h3{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.1}
.adv-list p{max-width:36em;color:var(--ink-3)}
.spec{color:var(--muted);margin-top:.3rem}

/* ---------- Karty usług ---------- */
.sv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}
.sv-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;box-shadow:0 0 0 1px var(--hair);transition:box-shadow .35s var(--ease),transform .35s var(--ease)}
.sv-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg),0 0 0 1px var(--hair)}
.sv-ph{aspect-ratio:4/3;background:var(--paper-2);overflow:hidden;position:relative}
.sv-ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.sv-card:hover .sv-ph img{transform:scale(1.05)}
.sv-ph.contain img{object-fit:contain;padding:14px}
.sv-body{padding:1.3rem 1.4rem 1.5rem;display:grid;gap:.4rem;align-content:start;flex:1}
.sv-body h3{font-size:1.45rem;line-height:1.1}
.sv-body p{font-size:.95rem;color:var(--muted);line-height:1.55}
.sv-more{margin-top:.5rem;font-weight:650;font-size:.92rem;display:inline-flex;gap:.5em}
.sv-more::after{content:"→";transition:transform .25s var(--ease)}
.sv-card:hover .sv-more::after{transform:translateX(4px)}

/* ---------- Teaser wyceny / kalendarzy ---------- */
.quote-tease{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,100px);align-items:center}
.qt-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qt-tile{display:flex;flex-direction:column;gap:.35rem;padding:1.5rem;background:#fff;border-radius:var(--r-lg);text-decoration:none;box-shadow:0 0 0 1px var(--hair);transition:transform .3s var(--ease),box-shadow .3s}
.qt-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),0 0 0 1px var(--hair)}
.qt-tile b{font-size:1.6rem;line-height:1}
.qt-tile span{color:var(--muted);font-size:.9rem}
.qt-tile em{font-style:normal;font-weight:650;font-size:.9rem;margin-top:.5rem}
.qt-tile em::after{content:" →"}
.season{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,5vw,80px);align-items:center}
.season .h2{margin-bottom:1rem}
.season p{max-width:34em;color:var(--ink);margin-bottom:1.6rem}

/* ---------- Kalkulator ---------- */
.calc{border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;background:#fff}
.calc-tabs{display:flex;padding:10px;gap:6px;background:var(--paper-2);overflow-x:auto;scrollbar-width:none}
.calc-tabs::-webkit-scrollbar{display:none}
.calc-tabs button{flex:1 1 0;min-width:max-content;border:0;background:transparent;border-radius:var(--r);padding:.95em 1.2em;font-size:1.3rem;line-height:1;position:relative;transition:background .25s,box-shadow .25s}
.calc-tabs button:hover{background:rgba(255,255,255,.7)}
.calc-tabs button[aria-selected="true"]{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08),0 8px 18px -10px rgba(33,32,30,.35)}
.calc-tabs button[aria-selected="true"]::after{content:"";position:absolute;left:24%;right:24%;bottom:7px;height:4px;border-radius:4px;background:var(--lime)}
.calc-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.calc-controls{padding:clamp(22px,3vw,40px);display:grid;gap:1.8rem;align-content:start}
.fld>legend,.fld>.fld-l{font-family:var(--f-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.7rem;padding:0;display:block}
fieldset{border:0;margin:0;padding:0;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input,.seg input,.opt-card input,.opt-row input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;padding:.55em 1.15em;border:1.5px solid var(--hair);border-radius:999px;font-weight:650;cursor:pointer;min-width:3.6em;text-align:center;background:#fff;transition:background .2s,color .2s,border-color .2s}
.chip span:hover{border-color:var(--ink)}
.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--lime)}
.chip input:focus-visible+span,.opt-row input:focus-visible+span,.seg input:focus-visible+span,.opt-card input:focus-visible+.opt-body{outline:3px solid var(--lime-lo);outline-offset:2px}
.opt-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.opt-row label{position:relative;display:block}
.opt-row label>span{display:flex;justify-content:space-between;gap:12px;padding:.85em 1.05em;border:1.5px solid var(--hair);border-radius:var(--r);cursor:pointer;font-weight:550;transition:border-color .2s,background .2s}
.opt-row label>span small{font-family:var(--f-mono);font-size:.74rem;color:var(--muted);font-weight:400;white-space:nowrap}
.opt-row label>span:hover{border-color:var(--hair-2)}
.opt-row input:checked+span{background:var(--lime-soft);border-color:var(--lime-lo)}
.num-row{display:flex;gap:12px;flex-wrap:wrap}
.num{display:flex;align-items:center;border:1.5px solid var(--hair);border-radius:12px;background:#fff}
.num input{width:5.2em;border:0;padding:.7em .3em .7em .9em;font:650 1.1rem var(--f-body);background:transparent}
.num input:focus{outline:none}
.num:focus-within{border-color:var(--lime-lo);box-shadow:0 0 0 4px rgba(174,206,0,.28)}
.num span{padding:0 .9em 0 .2em;font-family:var(--f-mono);font-size:.8rem;color:var(--muted)}
.checks{display:grid;gap:10px}
.check-line,.check{display:flex;gap:.7em;align-items:flex-start;cursor:pointer;line-height:1.45}
.check-line input,.check input{width:20px;height:20px;margin:.12em 0 0;accent-color:var(--ink);flex:none}
.check-line small{font-family:var(--f-mono);font-size:.74rem;color:var(--muted);margin-left:.4em}
.ticket{margin:0 12px 12px 0;background:var(--ink);color:#fff;border-radius:20px;padding:clamp(24px,3vw,36px)}
.ticket-in{display:flex;flex-direction:column;gap:1.2rem;position:sticky;top:calc(var(--hdr) + 20px)}
.ticket-head{display:flex;justify-content:space-between;align-items:center;color:var(--lime)}
.ticket-head .mono{font-size:.7rem}
.ticket dl{display:grid;gap:.55rem;font-family:var(--f-mono);font-size:.82rem}
.ticket dl>div{display:flex;gap:.6em;align-items:baseline}
.ticket dt{order:0;color:#a7a69f;text-transform:uppercase;letter-spacing:.04em;font-size:.74rem;flex:none}
.ticket dl>div::after{content:"";order:1;flex:1;border-bottom:1px dotted #6a6962;transform:translateY(-3px);min-width:10px}
.ticket dd{order:2;text-align:right;color:#fff}
.price-wrap{padding-bottom:1.2rem;border-bottom:1px solid #46453f}
.price-big{font-size:clamp(3.4rem,6vw,5rem);line-height:.9;color:var(--lime);font-stretch:66%;font-weight:760}
.price-big small{font-size:.36em;margin-left:.25em;font-stretch:80%;color:#fff;font-weight:650}
.price-sub{font-family:var(--f-mono);font-size:.8rem;color:#c9c8c1;margin-top:.6rem;display:flex;justify-content:space-between;gap:1em;flex-wrap:wrap}
.price-sub b{color:#fff;font-weight:500}
.ticket .btn,.cal-price .btn{width:100%}
.ticket-note{font-size:.82rem;color:#a7a69f;line-height:1.5}
.ticket-note a{color:var(--lime)}
.price-pop{animation:pop .45s var(--ease)}
@keyframes pop{0%{transform:translateY(8px);opacity:.3}100%{transform:none;opacity:1}}

/* ---------- Kalendarze ---------- */
.cal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(22px,3vw,44px);align-items:start}
.cal-panel{background:#fff;padding:clamp(24px,3vw,40px);display:grid;gap:1.8rem;border-radius:var(--r-lg);box-shadow:var(--shadow)}
.cal-panel legend{font-family:var(--f-mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.8rem;padding:0}
.opt-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.opt-card{position:relative;display:block}
.opt-body{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:1.1em;border:1.5px solid var(--hair);border-radius:var(--r);background:#fff;cursor:pointer;transition:border-color .2s,background .2s}
.opt-body b{font-size:1.45rem;line-height:1.05}
.opt-body small{color:var(--muted);line-height:1.4;font-size:.86rem}
.opt-body:hover{border-color:var(--hair-2)}
.opt-card input:checked+.opt-body{background:var(--lime-soft);border-color:var(--lime-lo)}
.opt-card input:checked+.opt-body small{color:var(--ink-3)}
.badge-hot{position:absolute;top:-10px;right:12px;background:var(--ink);color:var(--lime);font:500 .62rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:.35em .9em;font-style:normal;border-radius:99px}
.seg{display:inline-flex;background:var(--paper-2);border-radius:999px;padding:4px;gap:2px}
.seg label{position:relative}
.seg span{display:block;padding:.55em 1.4em;font-weight:650;cursor:pointer;border-radius:999px;transition:background .2s,box-shadow .2s}
.seg input:checked+span{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.1),0 6px 14px -8px rgba(33,32,30,.4)}
.mini-faq{margin-top:.9rem;font-size:.92rem;color:var(--ink-3)}
.mini-faq summary{cursor:pointer;font-weight:650;display:inline-block;border-bottom:2px solid var(--lime)}
.mini-faq p{margin-top:.6rem;max-width:34em}
.qty-in{display:inline-flex;align-items:center;gap:.7em;margin-top:.9rem;font-size:.92rem}
.qty-in input{width:6em;padding:.5em .7em;border:1.5px solid var(--hair);border-radius:12px;font:650 1rem var(--f-body);background:#fff}
.cal-side{display:grid;gap:18px;position:sticky;top:calc(var(--hdr) + 16px)}
.cal-stage{background:var(--paper-2);border-radius:var(--r-lg);padding:clamp(26px,3vw,40px) 20px 18px;display:grid;justify-items:center;gap:20px;position:relative;overflow:hidden;min-height:520px;align-content:start}
.cal-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,#fff,transparent 70%)}
.cal-nav{display:flex;align-items:center;gap:14px;position:relative}
.cal-nav button{width:38px;height:38px;border:0;background:#fff;border-radius:50%;box-shadow:var(--shadow);font-size:1rem;transition:background .2s}
.cal-nav button:hover{background:var(--lime)}
.cal-nav .mono{min-width:11em;text-align:center;color:var(--muted)}
.cal{position:relative;width:min(100%,290px);background:#fff;color:var(--ink);box-shadow:0 30px 40px -20px rgba(33,32,30,.5),0 2px 0 #e6e6de;transform:rotate(-1.5deg);transition:transform .6s var(--ease),width .5s var(--ease)}
.cal:hover{transform:rotate(0)}
.cal--triple{width:min(100%,262px)}
.cal-head{position:relative;height:118px;background:var(--lime);display:flex;flex-direction:column;justify-content:space-between;padding:12px 14px;overflow:hidden}
.cal--triple .cal-head{height:130px}
.cal-head::before{content:"";position:absolute;right:-30px;top:-20px;width:120px;height:200px;background:var(--ink);transform:skewX(-16deg);opacity:.92}
.cal-logo{position:relative;font-size:1.1rem;line-height:1;text-transform:uppercase;border:1.5px dashed var(--ink);padding:.35em .6em;align-self:flex-start;background:rgba(255,255,255,.4)}
.cal-year{position:relative;font-size:3.4rem;line-height:.8;color:#fff;align-self:flex-end;font-stretch:62%;font-weight:800}
.cal--convex .cal-head{border-radius:14px 14px 4px 4px;box-shadow:inset 0 -10px 14px -6px rgba(0,0,0,.28),inset 0 8px 10px -4px rgba(255,255,255,.65),0 8px 12px -4px rgba(0,0,0,.4);background:linear-gradient(170deg,#d2f021,var(--lime) 55%,#93ad00)}
.cal--convex .cal-year{text-shadow:0 2px 3px rgba(0,0,0,.4)}
.cal-strip{height:22px;background:var(--ink);color:var(--lime);font:500 .58rem/22px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;overflow:hidden;white-space:nowrap}
.cal-m{padding:8px 12px 10px}
.cal-m h4{font-size:.95rem;line-height:1;text-transform:uppercase;margin-bottom:5px;display:flex;justify-content:space-between}
.cal-m h4 span{font-family:var(--f-mono);font-weight:400;font-size:.55rem;color:var(--muted);align-self:center}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);font:500 .68rem/1.7 var(--f-mono);text-align:center}
.cal-g b{font-weight:500;color:var(--muted);font-size:.58rem}
.cal-g .sun{color:#d11a2a}
.cal-window{height:20px;margin:0 12px 10px;border:1.5px dashed #c8c8c0;display:flex;align-items:center;justify-content:center;font:400 .5rem var(--f-mono);color:#999;text-transform:uppercase;letter-spacing:.06em}
.cal-swap{animation:swap .5s var(--ease)}
@keyframes swap{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:none}}
.cal-price{background:var(--ink);color:#fff;padding:clamp(22px,3vw,32px);display:grid;gap:1.1rem;border-radius:var(--r-lg)}
.ptable{width:100%;border-collapse:collapse;font-family:var(--f-mono);font-size:.8rem}
.ptable th,.ptable td{padding:.6em .5em;text-align:right;border-bottom:1px solid #3d3c37}
.ptable th:first-child,.ptable td:first-child{text-align:left}
.ptable thead th{color:#a7a69f;font-weight:400;text-transform:uppercase;font-size:.7rem}
.cal-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:clamp(36px,5vw,64px);counter-reset:cs}
.cal-steps li{padding-top:1.1rem;border-top:1px solid rgba(33,32,30,.2);display:grid;gap:.2rem;counter-increment:cs}
.cal-steps li::before{content:counter(cs) ".";font:800 1.2rem var(--f-display);font-stretch:68%}
.cal-steps b{font-size:1.05rem}
.cal-steps span{font-size:.95rem;color:var(--ink-3)}

/* ---------- Realizacje (case studies) ---------- */
.cases{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.9fr);gap:clamp(22px,3vw,52px);align-items:start}
.case-tabs{display:grid;gap:6px;position:sticky;top:calc(var(--hdr) + 16px)}
.case-tabs button{display:grid;gap:.2rem;text-align:left;padding:1rem 1.1rem;border:0;border-radius:var(--r);background:transparent;position:relative;transition:background .25s}
.case-tabs button b{font-size:1.45rem;line-height:1.05}
.case-tabs button span{font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.case-tabs button:hover{background:var(--paper-2)}
.case-tabs button[aria-selected="true"]{background:var(--ink)}
.case-tabs button[aria-selected="true"] b{color:#fff}
.case-tabs button[aria-selected="true"] span{color:var(--lime)}
.case[hidden]{display:none}
.case{display:grid;gap:20px}
.case-media{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:12px}
.case-main{position:relative;aspect-ratio:3/2;background:var(--ink);overflow:hidden;border-radius:var(--r-lg)}
.case-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case-main img.fade{animation:fadein .6s var(--ease)}
@keyframes fadein{from{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}
.case-main .crop{border-color:#fff;width:22px;height:22px;opacity:.85}
.case-main .crop-tl{left:14px;top:14px}.case-main .crop-tr{right:14px;top:14px}.case-main .crop-bl{left:14px;bottom:14px}.case-main .crop-br{right:14px;bottom:14px}
.case-thumbs{display:grid;gap:8px;align-content:start}
.case-thumbs button{padding:0;border:2px solid transparent;aspect-ratio:3/2;overflow:hidden;background:var(--ink);opacity:.6;border-radius:12px;transition:opacity .25s,border-color .25s}
.case-thumbs button img{width:100%;height:100%;object-fit:cover}
.case-thumbs button:hover{opacity:1}
.case-thumbs button[aria-current="true"]{opacity:1;border-color:var(--lime-lo)}
.case-info{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,3vw,44px);animation:swap .6s var(--ease)}
.case-info h3{font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1;margin-bottom:1.1rem}
.case-info dl{display:grid;gap:1.1rem}
.case-info dt{font-family:var(--f-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.2rem}
.case-info dd{color:var(--ink-3)}
.case-side{display:grid;gap:1.1rem;align-content:start;background:#fff;box-shadow:0 0 0 1px var(--hair);padding:1.4rem;border-radius:var(--r-lg)}
.case-side ul{display:flex;flex-wrap:wrap;gap:6px;margin-top:.5rem}
.case-side li{background:var(--paper-2);padding:.3em .85em;font-size:.88rem;font-weight:550;border-radius:99px}
.case-side .tech{font-family:var(--f-mono);font-size:.8rem}
.clients{margin-top:clamp(56px,7vw,100px)}
.clients>.mono{margin-bottom:1rem;color:var(--muted)}
.clients ul{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.clients li{background:#fff;aspect-ratio:2/1;display:grid;place-items:center;padding:14px 18px;border-radius:var(--r);box-shadow:0 0 0 1px var(--hair)}
.clients img{max-height:100%;width:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s}
.clients li:hover img{filter:none;opacity:1}
.case-card{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;text-decoration:none;background:#fff;box-shadow:0 0 0 1px var(--hair);transition:transform .35s var(--ease),box-shadow .35s}
.case-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg),0 0 0 1px var(--hair)}
.case-card .cc-ph{aspect-ratio:3/2;overflow:hidden;background:var(--ink)}
.case-card .cc-ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.case-card:hover .cc-ph img{transform:scale(1.05)}
.case-card .cc-b{padding:1.2rem 1.4rem 1.5rem;display:grid;gap:.3rem}
.case-card .cc-b span{font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.case-card .cc-b b{font-size:1.5rem;line-height:1.08}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}

/* ---------- Proces ---------- */
.steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;position:relative}
.steps::before,.steps::after{content:"";position:absolute;left:0;top:28px;height:2px;border-radius:2px}
.steps::before{right:0;background:var(--hair-2)}
.steps::after{width:var(--prog,0%);background:var(--lime);transition:width 1.6s var(--ease)}
.steps li{padding:0 20px 0 0;position:relative;opacity:.5;transition:opacity .6s}
.steps li.on{opacity:1}
.step-n{display:grid;place-items:center;width:58px;height:58px;background:#fff;box-shadow:0 0 0 2px var(--hair-2);border-radius:50%;font-size:1.7rem;margin-bottom:1.5rem;position:relative;z-index:1;transition:background .5s,box-shadow .5s;font-stretch:80%}
.steps li.on .step-n{background:var(--lime);box-shadow:0 0 0 2px var(--lime)}
.steps h3{font-weight:700;font-size:1.1rem;line-height:1.25;margin-bottom:.4rem}
.steps p{color:var(--muted);font-size:.95rem;line-height:1.55}

/* ---------- Eko / podział ---------- */
.split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(30px,6vw,96px);align-items:center}
.split-rev>:first-child{order:2}
.eko-logo{width:min(220px,60%);margin-bottom:1.4rem}
.split p{max-width:34em;color:var(--ink-3);margin-top:1.2rem}
.tick-list{display:grid;gap:.5rem;margin:1.4rem 0 1.8rem;font-weight:550}
.tick-list li{padding-left:1.5em;position:relative}
.tick-list li::before{content:"";position:absolute;left:0;top:.7em;width:.8em;height:3px;background:var(--lime-lo);border-radius:2px}
.eko-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.4vw,18px)}
.eko-grid img{width:100%;aspect-ratio:1;object-fit:contain;transition:transform .5s var(--ease)}
.eko-grid img:nth-child(even){transform:translateY(22px)}
.eko-grid img.in:hover{transform:translateY(-6px) rotate(-2deg)}

/* ---------- Zespół (slider) ---------- */
.team-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.team-bar .mono{color:var(--muted)}
.team-btns{display:flex;gap:8px}
.team-btns button{width:48px;height:48px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:1.1rem;transition:background .25s,color .25s,opacity .25s,transform .2s}
.team-btns button:hover{background:var(--lime);color:var(--ink)}
.team-btns button:active{transform:scale(.94)}
.team-btns button[disabled]{opacity:.25;pointer-events:none}
.team{--tg:clamp(14px,1.8vw,24px);display:flex;gap:var(--tg);overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;cursor:grab}
.team::-webkit-scrollbar{display:none}
.team.drag{cursor:grabbing;scroll-snap-type:none}
.team.drag *{user-select:none;pointer-events:none}
.team .person{flex:0 0 calc((100% - 3*var(--tg))/4);scroll-snap-align:start;min-width:0}
.person .ph{aspect-ratio:3/4;border-radius:22px;overflow:hidden;position:relative;margin-bottom:1.2rem;background:var(--paper-2)}
.person .ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.person:hover .ph img{transform:scale(1.04)}
.person h3{font-size:1.5rem;line-height:1.05}
.person .role{color:var(--muted);margin:.45rem 0 .7rem;display:block}
.person p:last-child{font-size:.95rem;color:var(--ink-3);line-height:1.6}
.ph-init{display:grid;place-items:center}
.ph-init span{font-family:var(--f-display);font-stretch:62%;font-weight:800;font-size:clamp(5rem,9vw,8rem);line-height:1;position:relative;z-index:1}
.ph-init::before{content:"";position:absolute;right:-18%;top:-10%;width:55%;height:130%;transform:skewX(-16deg);opacity:.9}
.person .ph-lime{background:var(--lime)}
.ph-lime span{color:var(--ink)}
.ph-lime::before{background:var(--lime-hi)}
.person .ph-ink{background:var(--ink)}
.ph-ink span{color:var(--lime)}
.ph-ink::before{background:var(--ink-3)}

/* ---------- UE ---------- */
.ue-cards{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,28px);margin-bottom:clamp(28px,4vw,48px)}
.ue-card{padding:clamp(24px,3vw,36px);display:grid;gap:1rem;align-content:start;background:#fff;border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--hair)}
.ue-card .mono{color:var(--muted)}
.ue-card h3{font-family:var(--f-body);font-stretch:100%;font-weight:700;font-size:1.2rem;line-height:1.35;letter-spacing:0}
.ue-card p{color:var(--ink-3);font-size:.98rem}
.ue-card .link-arrow{justify-self:start}
.ue-bar{width:100%;max-width:1000px;margin:0 auto;border-radius:14px}
.ue-note{display:flex;gap:clamp(18px,3vw,40px);align-items:center;flex-wrap:wrap;padding:clamp(20px,3vw,32px);background:#fff;border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--hair)}
.ue-note img{width:min(100%,480px);border-radius:10px}
.ue-note p{flex:1;min-width:240px;color:var(--ink-3);font-size:.98rem}

/* ---------- Strony podrzędne ---------- */
.crumbs{display:flex;flex-wrap:wrap;gap:.4em .7em;font-size:.88rem;color:var(--muted);margin-bottom:1.6rem}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs li+li::before{content:"/";margin-right:.7em;color:var(--hair-2)}
.page-hero{padding:clamp(44px,6vw,88px) 0 clamp(48px,6vw,88px)}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,6vw,96px);align-items:center}
.ph-grid .lead{margin:1.4rem 0 2rem}
.ph-actions{display:flex;flex-wrap:wrap;gap:12px}
.ph-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;background:var(--paper-2);box-shadow:var(--shadow-lg)}
.ph-img img{width:100%;height:100%;object-fit:cover}
.ph-img.contain img{object-fit:contain;padding:20px}
.ph-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2rem}
.ph-chips span{background:#fff;box-shadow:0 0 0 1px var(--hair);padding:.4em .9em;border-radius:99px;font-size:.9rem;font-weight:550}
.article{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(28px,6vw,100px);align-items:start}
.article-h{position:sticky;top:calc(var(--hdr) + 32px)}
.prose{font-size:1.06rem;color:var(--ink-3)}
.prose>*+*{margin-top:1.1em}
.prose h3{font-size:1.6rem;line-height:1.1;color:var(--ink);margin-top:1.8em}
.prose ul{display:grid;gap:.5rem}
.prose ul li{padding-left:1.4em;position:relative}
.prose ul li::before{content:"";position:absolute;left:0;top:.75em;width:.7em;height:2px;background:var(--lime-lo)}
.prose ol{list-style:decimal;padding-left:1.3em;display:grid;gap:.5rem}
.prose a{text-decoration-color:var(--lime-lo);text-underline-offset:3px}
.prose strong{color:var(--ink);font-weight:650}
.feat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.feat{background:#fff;border-radius:var(--r-lg);padding:1.8rem;box-shadow:0 0 0 1px var(--hair);display:grid;gap:.6rem;align-content:start}
.feat .mono{color:var(--lime-lo);font-weight:600}
.feat h3{font-size:1.5rem;line-height:1.08}
.feat p{color:var(--muted);font-size:.97rem;line-height:1.6}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px)}
.gallery figure{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;background:var(--ink)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gallery figure:hover img{transform:scale(1.05)}
.gallery.g2{grid-template-columns:repeat(2,1fr)}
.gallery.g4{grid-template-columns:repeat(4,1fr)}
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:#fff;border-radius:var(--r);box-shadow:0 0 0 1px var(--hair);transition:box-shadow .25s}
.faq details[open]{box-shadow:var(--shadow),0 0 0 1px var(--hair-2)}
.faq summary{list-style:none;cursor:pointer;padding:1.15rem 1.4rem;font-weight:650;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--lime-lo);transition:transform .3s var(--ease);flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details>div{padding:0 1.4rem 1.3rem;color:var(--ink-3);max-width:46em}
.price-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.price-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 0 0 1px var(--hair);display:flex;flex-direction:column}
.price-card .pc-ph{aspect-ratio:400/329;background:var(--paper-2);display:grid;place-items:center}
.price-card .pc-ph img{width:100%;height:100%;object-fit:contain}
.price-card .pc-b{padding:1.5rem 1.6rem 1.8rem;display:grid;gap:.7rem;align-content:start;flex:1}
.price-card h3{font-size:1.6rem;line-height:1.05}
.price-card .pc-p{font-family:var(--f-mono);font-size:.82rem;color:var(--lime-lo);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.price-card p{color:var(--muted);font-size:.95rem;line-height:1.6}
.price-card ul{display:grid;gap:.35rem;font-size:.93rem;color:var(--ink-3)}
.price-card li{padding-left:1.2em;position:relative}
.price-card li::before{content:"";position:absolute;left:0;top:.7em;width:.55em;height:2px;background:var(--lime-lo)}
.price-card .btn{margin-top:auto;justify-self:start}
.history{display:grid;gap:0;max-width:860px}
.history li{display:grid;grid-template-columns:90px 1fr;gap:clamp(14px,3vw,36px);padding:1.5rem 0;border-top:1px solid var(--hair)}
.history li:last-child{border-bottom:1px solid var(--hair)}
.history b{font-family:var(--f-display);font-stretch:68%;font-weight:800;font-size:2.2rem;line-height:1;color:var(--lime-lo)}
.history h3{font-size:1.2rem;font-weight:700;margin-bottom:.3rem;font-family:var(--f-body);font-stretch:100%;letter-spacing:0}
.history p{color:var(--ink-3);font-size:.98rem;max-width:44em}
.machines{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.6vw,20px)}
.machines li{background:#fff;border-radius:var(--r-lg);padding:1.4rem 1.5rem;box-shadow:0 0 0 1px var(--hair);display:grid;gap:.3rem;align-content:start}
.machines b{font-size:1.35rem;line-height:1.1}
.machines span{color:var(--muted);font-size:.9rem;line-height:1.5}
.docs-list{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.docs-list ul{display:grid;gap:.45rem}
.docs-list a{font-weight:600}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:1.4rem 0}
.facts>div{background:#fff;padding:1rem 1.2rem;border-radius:var(--r);box-shadow:0 0 0 1px var(--hair)}
.facts dt{font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.facts dd{font-weight:700}
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start}
.contact-list{display:grid;gap:1.3rem;margin:1.6rem 0 2rem}
.contact-list li{font-size:1.12rem;line-height:1.5}
.contact-list .mono{display:block;margin-bottom:.15rem;color:var(--lime-lo);font-weight:600}
.contact-list a{text-decoration-color:var(--lime-lo);text-underline-offset:4px}
.map{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/9;background:var(--paper-2)}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05);transition:filter .4s}
.map:hover iframe{filter:none}

/* ---------- CTA (jedyna ciemna „wyspa”) ---------- */
.cta-band{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:clamp(36px,6vw,80px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,5vw,72px);align-items:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;right:-6%;top:-20%;width:34%;height:150%;background:var(--ink-2);transform:skewX(-16deg)}
.cta-band>*{position:relative}
.cta-band .h2{font-size:clamp(2rem,3.8vw,3.1rem);margin-bottom:.9rem}
.cta-band p{color:#cfcec7;max-width:34em}
.cta-actions{display:grid;gap:12px;justify-items:stretch;min-width:240px}
.cta-actions .tel{text-align:center;font-weight:650;color:#fff;text-decoration:none;padding:.7em;border-radius:var(--r);box-shadow:inset 0 0 0 1.5px #55544e;transition:box-shadow .25s}
.cta-actions .tel:hover{box-shadow:inset 0 0 0 1.5px var(--lime)}

/* ---------- Formularz ---------- */
.form-card{background:#fff;padding:clamp(24px,3.2vw,44px);border-radius:var(--r-lg);box-shadow:var(--shadow-lg)}
.form{display:grid;gap:1.05rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:grid;gap:.4rem}
.field>span{font-family:var(--f-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.field i,.check i{color:#b3261e;font-style:normal}
.field input,.field select,.field textarea{width:100%;padding:.85em 1em;border:1.5px solid var(--hair);background:#fff;font:500 1rem var(--f-body);border-radius:12px;color:var(--ink);transition:box-shadow .2s,border-color .2s}
.field textarea{resize:vertical;min-height:120px}
.field select{appearance:none;-webkit-appearance:none;padding-right:2.4em;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2321201e' stroke-width='2'/%3E%3C/svg%3E") no-repeat right .95em center/12px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--lime-lo);box-shadow:0 0 0 4px rgba(174,206,0,.28)}
.field input:user-invalid,.field textarea:user-invalid{border-color:#b3261e}
.check{font-size:.9rem;color:var(--ink-3)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{padding:.85em 1em;font-size:.95rem;border-left:4px solid #b3261e;background:#fbe9e7;border-radius:12px}
.form-msg.ok{border-color:var(--lime-lo);background:var(--lime-soft)}
.form-msg a{font-weight:700}
.form-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.form-note{color:var(--muted);font-size:.7rem}
.form.is-sending .btn{opacity:.6;pointer-events:none}
.form-done{display:grid;gap:1rem;padding:1rem 0}
.form-done h3{font-size:2.3rem;line-height:1}
.form-done .tick{width:64px;height:64px;border-radius:50%;background:var(--lime);display:grid;place-items:center}
.form-done .tick svg{width:30px;stroke:var(--ink);stroke-width:3;fill:none;stroke-dasharray:30;stroke-dashoffset:30;animation:draw .6s .15s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}

/* ---------- Modale ---------- */
.modal{border:0;padding:0;background:var(--paper);color:var(--ink);width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);box-shadow:0 40px 90px -20px rgba(0,0,0,.5);overflow:auto;margin:auto;border-radius:var(--r-lg)}
.modal-wide{width:min(860px,calc(100vw - 24px))}
.modal::backdrop{background:rgba(33,32,30,.6);backdrop-filter:blur(4px)}
.modal[open]{animation:modal .45s var(--ease)}
@keyframes modal{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
.modal-in{padding:clamp(24px,4vw,44px);position:relative}
.modal-x{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;background:transparent;font-size:2rem;line-height:1;border-radius:50%;transition:background .2s}
.modal-x:hover{background:var(--lime)}
.modal .h3{margin-bottom:1rem;padding-right:2rem}
.modal .eyebrow{margin-bottom:.8rem}
.quote-summary{background:var(--ink);color:#fff;font-family:var(--f-mono);font-size:.8rem;padding:1rem 1.2rem;margin-bottom:1.3rem;display:grid;gap:.25rem;border-radius:14px;line-height:1.5}
.quote-summary b{color:var(--lime);font-weight:500;text-transform:uppercase;letter-spacing:.05em}
.modal .prose p,.modal .prose ul{max-width:none}

/* ---------- Stopka ---------- */
.footer{background:#161513;color:#d7d6cf;padding:clamp(56px,7vw,96px) 0 clamp(28px,8vw,104px)}
.foot-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1.2fr;gap:clamp(24px,4vw,56px);align-items:start}
.foot-brand{font-size:2.4rem;line-height:1;text-transform:uppercase;margin-bottom:1rem;font-weight:780;color:#fff}
.foot-brand b{color:var(--lime)}
.foot-small{font-size:.95rem;line-height:1.7;color:#d7d6cf}
.foot-small a{text-decoration:none}.foot-small a:hover{color:var(--lime)}
.footer h4{font-family:var(--f-mono);font-weight:500;font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;color:#9a9990;margin-bottom:1rem}
.footer nav{display:grid;gap:.55rem;justify-items:start}
.footer nav a,.footer nav button{text-decoration:none;background:none;border:0;padding:0;color:#d7d6cf;text-align:left;font-size:.97rem}
.footer nav a:hover,.footer nav button:hover{color:var(--lime)}
.foot-ue img{width:100%;max-width:520px;border-radius:10px}
.foot-ue p{font-size:.82rem;color:#9a9990;margin-top:.8rem;line-height:1.5}
.foot-ue a{color:#d7d6cf}
.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:clamp(36px,5vw,64px);padding-top:20px;font-size:.88rem;color:#9a9990;position:relative}
.foot-bottom::before{content:"";position:absolute;left:var(--gut);right:var(--gut);top:0;height:1px;background:#2c2b28}
.foot-bottom a{text-decoration:none}.foot-bottom a:hover{color:var(--lime)}

/* ---------- Elementy stałe ---------- */
.dial{position:fixed;left:clamp(12px,1.6vw,24px);bottom:clamp(12px,1.6vw,24px);width:64px;height:64px;z-index:40;background:var(--ink);border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.5);opacity:0;transform:scale(.7);transition:opacity .4s,transform .4s var(--ease),background .4s}
.dial.show{opacity:1;transform:none}
.dial svg{position:absolute;inset:0;transform:rotate(-90deg)}
.dial circle{fill:none;stroke-width:3.5}
.dial-track{stroke:#44433f}
.dial-bar{stroke:var(--lime);stroke-dasharray:169.65;stroke-dashoffset:169.65}
.dial span{font:500 .78rem var(--f-mono);color:#fff;position:relative}
.dial.full{background:var(--lime)}
.dial.full span{color:var(--ink)}
.dial.full .dial-track,.dial.full .dial-bar{stroke:var(--ink)}
.mobile-cta{display:none}

/* ---------- Responsywność ---------- */
@media (max-width:1180px){
  .header-tel span{display:none}
  .sv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .machines{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:2.6rem}
  .steps::before,.steps::after{display:none}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:1060px){
  .header-cta .header-tel{display:none}
}
@media (max-width:980px){
  :root{--hdr:68px}
  .burger{display:block}
  .header-cta{display:none}
  .nav{position:fixed;inset:var(--hdr) 0 auto 0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut) 28px;margin:0;transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .3s,transform .3s var(--ease),visibility .3s;font-size:1.15rem;max-height:calc(100dvh - var(--hdr));overflow:auto;box-shadow:0 30px 40px -20px rgba(0,0,0,.3)}
  .nav.open{opacity:1;transform:none;visibility:visible}
  .nav>a,.nav-item>a{padding:.85em 0;border-bottom:1px solid var(--hair);display:block}
  .nav-item{display:block;position:relative}
  .sub-toggle{position:absolute;right:0;top:.55em;width:44px;height:44px}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 8px 12px;min-width:0;display:none;border-radius:0;background:transparent}
  .nav-item.open .sub{display:grid}
  .nav-item:hover .sub{display:none}
  .nav-item.open:hover .sub{display:grid}
  .sub a{font-size:1rem;padding:.6em .5em}
  .sub a small{display:none}
  .hero-grid,.adv,.quote-tease,.split,.cal-grid,.cases,.ph-grid,.article,.contact-grid{grid-template-columns:1fr}
  .split-rev>:first-child{order:0}
  .adv-head,.cal-side,.case-tabs,.article-h{position:static}
  .case-tabs{grid-template-columns:1fr 1fr}
  .calc-body{grid-template-columns:1fr}
  .calc-tabs{display:grid;grid-template-columns:1fr 1fr}
  .ticket{margin:0 10px 10px}
  .ticket-in{position:static}
  .sec-split{flex-direction:column;align-items:flex-start}
  .sv-grid,.feat-grid,.price-cards,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team .person{flex-basis:calc((100% - 2*var(--tg))/3)}
  .hero-art{min-height:420px;margin-top:10px}
  .reg{width:min(520px,120%)}
  .hero-title{font-size:clamp(2.7rem,13.4vw,7rem)}
  .cta-band,.season{grid-template-columns:1fr}
  .dial{display:none}
  .mobile-cta{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:45;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(33,32,30,.96);backdrop-filter:blur(8px)}
  .mobile-cta .btn{padding:.85em 1em}
  .mobile-cta .btn-line{--fg:#fff;box-shadow:inset 0 0 0 1.5px #6d6c66}
  .mobile-cta .btn-line::before{background:#fff}
  .mobile-cta .btn-line:hover{color:var(--ink)}
  body{padding-bottom:70px}
}
@media (max-width:680px){
  body{font-size:1rem}
  .ue-cards,.docs-list,.facts,.row,.opt-cards,.cal-steps,.machines{grid-template-columns:1fr}
  .sv-grid,.feat-grid,.price-cards,.grid-3{grid-template-columns:1fr}
  .gallery,.gallery.g4{grid-template-columns:1fr 1fr}
  .clients ul{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:1fr 1fr}
  .case-info,.case-media{grid-template-columns:1fr}
  .case-thumbs{grid-template-columns:repeat(5,1fr)}
  .foot-grid{grid-template-columns:1fr}
  .hero-art{min-height:380px}
  .frame{width:min(78%,300px)}
  .cmyk{left:auto;right:4%}
  .floor{bottom:2%;left:0}
  .team .person{flex-basis:72%}
  .team{margin-right:calc(var(--gut)*-1);padding-right:var(--gut)}
  .history li{grid-template-columns:1fr;gap:.5rem}
}
@media (max-width:420px){
  .case-tabs{grid-template-columns:1fr}
  .brand-name{font-size:1.4rem}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.hero-title .line>span,.frame img{opacity:1!important;transform:none!important;transition:none!important}
  .hero-title mark::before{transform:none!important;transition:none!important}
  .ticker-track{animation:none}
  .ticker{overflow-x:auto}
  *{animation-duration:.01ms!important;animation-iteration-count:1!important}
  .reg-spin{transition:none}
}

/* ---------- uzupełnienia ---------- */
.sv-grid{grid-template-columns:repeat(var(--cols,4),minmax(0,1fr))}
.sv-ph.type,.ph-img.type{display:grid;place-items:center;background:var(--lime-soft)}
.sv-ph.type span{font-family:var(--f-display);font-stretch:62%;font-weight:800;font-size:4rem;color:var(--lime-lo);text-transform:lowercase}
.ph-img.type span{font-family:var(--f-display);font-stretch:62%;font-weight:800;font-size:clamp(6rem,14vw,11rem);color:var(--lime-lo);text-transform:lowercase;line-height:1}
.page-hero.sec-lime{background:var(--lime-soft)}
@media (max-width:1180px){.sv-grid{grid-template-columns:repeat(min(var(--cols,4),3),minmax(0,1fr))}}
@media (max-width:980px){.sv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.sv-grid{grid-template-columns:1fr}}

.season .season-cal{width:240px;margin:0 clamp(0px,3vw,48px) 0 0;transform:rotate(3deg)}
.season .season-cal:hover{transform:rotate(0)}
@media (max-width:980px){.season .season-cal{display:none}}
.ph-grid .h1{font-size:clamp(2.4rem,5vw,4.3rem)}


/* ---------- Ciemne sekcje (kontrast) ---------- */
.sec-dark{background:var(--ink);color:#fff}
.sec-dark :focus-visible{outline-color:var(--lime)}
.sec-dark .h2,.sec-dark .h3{color:#fff}
.sec-dark .lead,.sec-dark .sec-head>p,.sec-dark .sec-split>p{color:#c9c8c1}
.sec-dark .btn-line{--fg:#fff;box-shadow:inset 0 0 0 1.5px #6d6c66}
.sec-dark .btn-line::before{background:#fff}
.sec-dark .btn-line:hover{color:var(--ink)}
.sec-dark .btn-lime::before{background:#fff}
.sec-dark .link-arrow{color:#fff}
.sec-dark .cta-band{background:transparent;padding:0;border-radius:0;overflow:visible}
.sec-dark .cta-band::before{display:none}
.sec-dark .steps::before{background:#46453f}
.sec-dark .steps li .step-n{background:var(--ink-2);box-shadow:0 0 0 2px #46453f;color:#fff}
.sec-dark .steps li.on .step-n{background:var(--lime);box-shadow:0 0 0 2px var(--lime);color:var(--ink)}
.sec-dark .steps h3{color:#fff}
.sec-dark .steps p{color:#bdbcb5}
.footer{border-top:1px solid #2c2b28}

/* ---------- Kategorie oferty jako ikony (kompaktowo) ---------- */
.ic-grid{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:12px}
.ic-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem 1rem 1rem;background:#fff;border-radius:18px;text-decoration:none;box-shadow:0 0 0 1px var(--hair);transition:transform .3s var(--ease),box-shadow .3s,background .3s}
.ic-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),0 0 0 1px var(--hair)}
.ic{flex:none;width:54px;height:54px;border-radius:15px;background:var(--lime-soft);color:var(--ink);display:grid;place-items:center;transition:background .3s,color .3s,transform .4s var(--ease)}
.ic svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ic-card:hover .ic{background:var(--lime);transform:rotate(-6deg)}
.ic-t{display:grid;gap:.1rem;min-width:0;flex:1}
.ic-t b{font-family:var(--f-display);font-stretch:68%;font-weight:760;text-transform:uppercase;font-size:1.28rem;line-height:1.05;letter-spacing:-.005em}
.ic-t small{color:var(--muted);font-size:.86rem;line-height:1.35}
.ic-go{flex:none;color:var(--lime-lo);font-weight:700;transition:transform .3s var(--ease)}
.ic-card:hover .ic-go{transform:translateX(4px)}
.sec-dark .ic-card{background:var(--ink-2);box-shadow:0 0 0 1px #3a3935}
.sec-dark .ic-card:hover{background:#34332f;box-shadow:0 0 0 1px #55544e}
.sec-dark .ic{background:rgba(174,206,0,.14);color:var(--lime)}
.sec-dark .ic-card:hover .ic{background:var(--lime);color:var(--ink)}
.sec-dark .ic-t b{color:#fff}
.sec-dark .ic-t small{color:#b9b8b0}
.sec-dark .ic-go{color:var(--lime)}
.ic-group{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,2.3fr);gap:clamp(18px,4vw,64px);align-items:start;padding-block:clamp(26px,3.4vw,44px);border-top:1px solid #3a3935}
.ic-group:first-child{border-top:0;padding-top:0}
.ic-group h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1}
.ic-group p{color:#bdbcb5;font-size:.95rem;margin-top:.6rem;max-width:22em}
@media (max-width:1100px){.ic-grid{grid-template-columns:repeat(min(var(--cols,3),2),minmax(0,1fr))}}
@media (max-width:980px){.ic-group{grid-template-columns:1fr}}
@media (max-width:680px){.ic-grid{grid-template-columns:1fr}.ic{width:48px;height:48px}}
[hidden]{display:none!important}

/* ---------- Placeholdery zdjęć ---------- */
.ph-box{width:100%;height:100%;min-height:100%;display:grid;place-content:center;justify-items:center;gap:.35rem;text-align:center;padding:1rem;color:var(--muted);background:repeating-linear-gradient(135deg,var(--paper-2) 0 14px,#e8eae1 14px 15px)}
.ph-box svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.7}
.ph-label{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.ph-sub{font-size:.88rem;max-width:22em;line-height:1.35}
.ph-sm{padding:0}
.ph-sm svg{width:24px;height:24px}
.case-main .ph-box{position:absolute;inset:0}
.case-main .ph-box.fade{animation:fadein .6s var(--ease)}
.case-thumbs button{background:var(--paper-2)}
.ph-img .ph-box,.pc-ph .ph-box,.cc-ph .ph-box,.gallery .ph-box{border-radius:0}
.gallery figure{background:var(--paper-2)}
.cc-ph{background:var(--paper-2)}

/* ---------- Kontakt ---------- */
.h1-sm{font-size:clamp(2rem,3.7vw,3.2rem);line-height:1}
.contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:2rem}
.cc-item{display:flex;gap:1rem;align-items:center;padding:1.1rem 1.2rem;background:#fff;border-radius:18px;box-shadow:0 0 0 1px var(--hair);transition:transform .3s var(--ease),box-shadow .3s}
.cc-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),0 0 0 1px var(--hair)}
.cc-item .ic{background:var(--lime);color:var(--ink)}
.cc-item:hover .ic{transform:rotate(-6deg)}
.cc-item>div{display:grid;gap:.15rem;min-width:0}
.cc-item .mono{color:var(--lime-lo);font-weight:600}
.cc-item a,.cc-val{font-weight:600;font-size:1.08rem;line-height:1.35;text-decoration:none;overflow-wrap:anywhere}
.cc-item a:hover{text-decoration:underline;text-decoration-color:var(--lime-lo);text-underline-offset:4px}
.map-wide{aspect-ratio:auto;height:clamp(300px,36vw,460px)}
@media (max-width:680px){.contact-cards{grid-template-columns:1fr}}
.contact-cards{grid-template-columns:1fr}
.cc-phones{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem}
.cc-item a,.cc-val{overflow-wrap:break-word}

/* ikony w „Dlaczego my” */
.adv-list li{grid-template-columns:auto minmax(0,1fr);column-gap:1.5rem;align-items:start}
.adv-list li>.ic{grid-row:1/4;width:58px;height:58px}
.adv-list li>:not(.ic){grid-column:2}
.adv-list li:hover>.ic,.adv-list li:focus-within>.ic{background:var(--ink);color:var(--lime);transform:rotate(-6deg)}
@media (max-width:680px){.adv-list li{column-gap:1rem}.adv-list li>.ic{width:48px;height:48px}}

/* ---------- FAQ: pełna szerokość + animacje ---------- */
.faq{max-width:none}
.faq details{position:relative;overflow:hidden}
.faq details::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--lime);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}
.faq details[open]::before,.faq details:hover::before{transform:scaleY(1)}
.faq summary{transition:padding .3s var(--ease),background .3s;font-size:1.08rem;padding:1.3rem 1.6rem}
.faq details:hover summary{padding-left:2rem;background:var(--lime-soft)}
.faq details[open] summary{padding-left:2rem}
.faq summary::after{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--lime-soft);font-size:1.4rem;color:var(--ink);transition:transform .35s var(--ease),background .3s}
.faq details:hover summary::after{background:var(--lime)}
.faq details[open] summary::after{background:var(--lime)}
.faq details>div{padding:0 2rem 1.5rem;max-width:62em;font-size:1.02rem}

/* etykiety sekcji: kolor tekstu zawsze taki sam, niezależnie od reguł dla akapitów */
.eyebrow.eyebrow{color:var(--ink)}
.sec-lime .eyebrow.eyebrow{color:var(--lime)}

/* ---------- Stopka v2 ---------- */
.footer{padding:clamp(64px,8vw,112px) 0 0;overflow:hidden}
.foot-top{display:flex;justify-content:space-between;align-items:flex-end;gap:clamp(24px,5vw,72px);flex-wrap:wrap;padding-bottom:clamp(40px,5vw,72px)}
.foot-claim{font-family:var(--f-display);font-stretch:66%;font-weight:780;text-transform:uppercase;font-size:clamp(2.4rem,5.6vw,5rem);line-height:.95;color:#fff;letter-spacing:-.005em}
.foot-claim mark{background:var(--lime);color:var(--ink);padding:0 .15em 0 .1em;clip-path:polygon(0 0,100% 0,calc(100% - .1em) 100%,0 100%);display:inline-block;margin-left:-.05em}
.foot-pills{display:grid;gap:10px;min-width:min(100%,340px)}
.foot-pills a{display:flex;align-items:center;gap:.9rem;padding:.8rem 1.2rem .8rem .9rem;border-radius:99px;background:#24231f;box-shadow:inset 0 0 0 1px #34332f;text-decoration:none;color:#fff;font-weight:600;transition:background .3s,color .3s,transform .3s var(--ease),box-shadow .3s}
.foot-pills a svg{flex:none;width:38px;height:38px;padding:8px;border-radius:50%;background:rgba(174,206,0,.14);fill:none;stroke:var(--lime);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:background .3s,stroke .3s}
.foot-pills a span{display:grid;line-height:1.25;min-width:0;overflow-wrap:anywhere}
.foot-pills a small{font-family:var(--f-mono);font-size:.64rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:#9a9990;transition:color .3s}
.foot-pills a:hover{background:var(--lime);color:var(--ink);box-shadow:none;transform:translateX(-4px)}
.foot-pills a:hover svg{background:var(--ink);stroke:var(--lime)}
.foot-pills a:hover small{color:var(--ink-3)}
.foot-grid{border-top:1px solid #2c2b28;padding-top:clamp(36px,4.5vw,60px);grid-template-columns:1.1fr 1.1fr .9fr 1.2fr}
.foot-fb{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.2rem;padding:.55rem 1rem .55rem .6rem;border-radius:99px;text-decoration:none;color:#fff;font-weight:600;font-size:.92rem;box-shadow:inset 0 0 0 1px #3a3935;transition:background .3s,color .3s}
.foot-fb svg{width:28px;height:28px;padding:5px;border-radius:50%;background:rgba(174,206,0,.14);fill:none;stroke:var(--lime);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.foot-fb:hover{background:var(--lime);color:var(--ink)}
.foot-fb:hover svg{background:var(--ink)}
.foot-word{margin-top:clamp(40px,6vw,88px);height:clamp(84px,15.2vw,252px);overflow:hidden;user-select:none;pointer-events:none}
.foot-word span{display:block;text-align:center;white-space:nowrap;font-family:var(--f-display);font-stretch:62%;font-weight:800;text-transform:uppercase;font-size:clamp(5rem,24.5vw,26rem);line-height:.8;letter-spacing:-.01em;color:#24231f}
.foot-word b{color:var(--lime);font-weight:800}
.foot-bottom{margin-top:0;padding:18px var(--gut) 22px;align-items:center;background:#161513;position:relative;z-index:1}
.foot-bottom::before{left:var(--gut);right:var(--gut)}
.foot-cmyk{display:inline-flex;gap:3px}
.foot-cmyk i{width:12px;height:12px;display:block;border-radius:2px}
.footer{padding-bottom:0}
@media (max-width:1180px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.foot-grid{grid-template-columns:1fr}.foot-top{align-items:flex-start}.foot-bottom{padding-bottom:84px}}

/* stopka: poprawki układu */
.foot-claim{flex:1 1 480px}
.foot-pills{flex:0 0 min(100%,400px)}
.foot-grid{border-top:0;position:relative}
.foot-grid::before{content:"";position:absolute;left:var(--gut);right:var(--gut);top:0;height:1px;background:#2c2b28}
.foot-word span{font-size:clamp(4.2rem,21vw,22rem)}
.foot-word{height:clamp(72px,13vw,214px)}
@media (max-width:980px){body{padding-bottom:0}.foot-bottom{padding-bottom:88px}}
.foot-word span{font-size:clamp(3.6rem,19.4vw,21rem)}
.foot-word{height:clamp(64px,12.2vw,200px)}

/* dwie ciemne sekcje obok siebie: bez podwójnego odstępu, rozdzielone linią */
.sec-dark+.sec-dark{padding-top:0}
.sec-dark:has(+.sec-dark){padding-bottom:clamp(56px,7vw,96px)}
.sec-dark+.sec-dark .cta-band{border-top:1px solid #3a3935;padding-top:clamp(48px,6vw,80px)}

/* =========================================================
   ANIMACJE I SMACZKI
   ========================================================= */
::selection{background:var(--lime);color:var(--ink)}

/* logo: pełny obrót 360° po najechaniu */
.brand img{transition:transform .9s var(--ease)}
.brand:hover img{transform:rotate(360deg)}

/* hero: paralaksa wskaźnika, przechył zdjęcia, pływająca plakietka, pulsujący CMYK */
.reg{transform:translate(var(--px,0px),var(--py,0px));transition:transform .25s var(--ease)}
.frame{transform:perspective(900px) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .2s var(--ease);will-change:transform}
.floor{animation:bob 5s ease-in-out infinite}
@keyframes bob{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-6px)}}
.cmyk i{animation:cm 3.2s ease-in-out infinite}
.cmyk i:nth-child(2){animation-delay:.18s}.cmyk i:nth-child(3){animation-delay:.36s}.cmyk i:nth-child(4){animation-delay:.54s}
@keyframes cm{0%,70%,100%{transform:scale(1)}85%{transform:scale(1.7)}}

/* nagłówki: wejście z „doostrzeniem” */
.h2.reveal{filter:blur(8px);transition:opacity .9s var(--ease) var(--d,0s),transform .9s var(--ease) var(--d,0s),filter .9s var(--ease) var(--d,0s)}
.h2.reveal.in{filter:none}

/* etykiety sekcji: odsłaniane od lewej */
.eyebrow.reveal{clip-path:polygon(0 0,0 0,0 100%,0 100%);transition:opacity .4s,transform .6s var(--ease),clip-path .8s var(--ease) var(--d,0s)}
.eyebrow.reveal.in{clip-path:var(--slant)}

/* ikony: „rysują się” przy wejściu w ekran */
.reveal .ic svg *,.reveal>.ic svg *{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--ease) .25s}
.reveal.in .ic svg *,.reveal.in>.ic svg *{stroke-dashoffset:0}

/* karty: poświata podążająca za kursorem */
.ic-card,.cc-item,.qt-tile,.foot-pills a{position:relative;isolation:isolate;overflow:hidden}
.ic-card::after,.cc-item::after,.qt-tile::after,.case-card::after,.foot-pills a::after{content:"";position:absolute;inset:0;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(174,206,0,.26),transparent 70%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:-1}
.case-card{position:relative;isolation:isolate}
.ic-card:hover::after,.cc-item:hover::after,.qt-tile:hover::after,.case-card:hover::after,.foot-pills a:hover::after{opacity:1}
.foot-pills a:hover::after{background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.35),transparent 70%)}

/* stopka: litery napisu wjeżdżają jedna po drugiej */
.foot-word .l{display:inline-block;transform:translateY(105%);transition:transform .9s var(--ease) calc(var(--i,0) * .055s)}
.foot-word.in .l{transform:none}
.foot-word b .l{transition-duration:1.1s}

/* przełącznik hero: podkreślenie „druku” pod cytatem */
.hero-title .line:nth-child(2) span{position:relative}

/* konfetti CMYK po pełnym obrocie tarczy */
.confetti{position:fixed;width:10px;height:10px;z-index:60;pointer-events:none;border-radius:2px;animation:burst 1.3s cubic-bezier(.15,.8,.3,1) forwards}
@keyframes burst{0%{transform:translate(0,0) rotate(0) scale(.4);opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(1);opacity:0}}

@media (prefers-reduced-motion:reduce){
  .floor,.cmyk i{animation:none}
  .h2.reveal{filter:none!important}
  .eyebrow.reveal{clip-path:var(--slant)!important}
  .reveal .ic svg *,.reveal>.ic svg *{stroke-dasharray:none!important;stroke-dashoffset:0!important}
  .foot-word .l{transform:none!important}
  .brand:hover img{transform:none}
  .confetti{display:none}
}

/* ---------- Sezon 2027 na stronie głównej: żywa kompozycja ---------- */
.season-sec{overflow:hidden}
.season{position:relative;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}
.season::before{content:"2027";position:absolute;right:-3%;bottom:-24%;font-family:var(--f-display);font-stretch:62%;font-weight:800;font-size:clamp(9rem,28vw,26rem);line-height:.8;color:transparent;-webkit-text-stroke:2px rgba(127,154,0,.32);pointer-events:none;z-index:0;letter-spacing:-.01em}
.season>*{position:relative;z-index:1}
.ny{display:inline-flex;align-items:center;gap:.7rem;background:var(--ink);color:#fff;padding:.5em 1.1em .5em .9em;border-radius:99px;font:500 .8rem var(--f-mono);letter-spacing:.04em;margin:0 0 1.3rem!important;max-width:none!important}
.ny[hidden]{display:none!important}
.ny i{width:10px;height:10px;border-radius:50%;background:var(--lime);animation:pulse 1.6s ease-in-out infinite;flex:none}
.ny b{color:var(--lime);font-size:1.15em}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(174,206,0,.7)}50%{box-shadow:0 0 0 9px rgba(174,206,0,0)}}
.season-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1.8rem}
.season-chips li{background:#fff;padding:.4em .95em;border-radius:99px;font-size:.9rem;font-weight:600;box-shadow:0 0 0 1px rgba(33,32,30,.12);transition:transform .3s var(--ease),background .3s}
.season-chips li:hover{transform:translateY(-3px) rotate(-1.5deg);background:var(--lime)}

.cal-stack{position:relative;width:min(100%,430px);height:520px;justify-self:center}
.cal-stack .cal{position:absolute;margin:0;transform-origin:50% 100%;transition:transform .7s var(--ease)}
.cal-stack .cs-back{width:236px;right:0;top:46px;transform:rotate(8deg)}
.cal-stack .cs-front{width:262px;left:0;top:0;transform:rotate(-4deg);z-index:2}
.cal-stack:hover .cs-back{transform:rotate(13deg) translate(22px,-4px)}
.cal-stack:hover .cs-front{transform:rotate(-7deg) translate(-12px,0)}
.cal-stack .cal-head{height:98px}
.cal-stack .cs-front .cal-head{height:108px}
.stamp{position:absolute;left:-14px;bottom:30px;width:118px;height:118px;z-index:3;filter:drop-shadow(0 12px 18px rgba(33,32,30,.35))}
.stamp-ring{transform-origin:60px 60px;animation:spin 16s linear infinite}
.stamp text{font:600 10.2px var(--f-mono);letter-spacing:.14em;fill:#fff}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:980px){
  .season{grid-template-columns:1fr}
  .cal-stack{height:480px;margin-top:2rem}
}
@media (max-width:420px){.cal-stack{transform:scale(.84);transform-origin:50% 0;height:430px}}
@media (prefers-reduced-motion:reduce){.ny i,.stamp-ring{animation:none}}
.season p.ny{color:#fff;display:inline-flex;width:fit-content;max-width:none;margin:0 0 1.3rem}
.season p.ny b{color:var(--lime)}
.stamp{left:-34px;bottom:-12px}

/* =========================================================
   MENU: ikony w podmenu (desktop) i pełnoekranowe menu mobilne
   ========================================================= */
html.menu-open{overflow:hidden}
.nav-foot{display:none}
.sub a{display:flex;align-items:center;gap:.8rem}
.sub-ic{flex:none;width:38px;height:38px;border-radius:11px;background:var(--lime-soft);display:grid;place-items:center;transition:background .25s,transform .35s var(--ease)}
.sub-ic svg{width:21px;height:21px;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sub a:hover .sub-ic{background:var(--lime);transform:rotate(-6deg)}
.sub-t{display:grid;min-width:0}
.sub .sub-all{display:block}

@media (max-width:980px){
  .nav{position:fixed;inset:var(--hdr) 0 0 0;height:auto;max-height:none;background:var(--ink);color:#fff;padding:clamp(14px,4vw,28px) var(--gut) 0;margin:0;gap:0;display:flex;flex-direction:column;align-items:stretch;overflow-y:auto;overscroll-behavior:contain;box-shadow:none;transform:none;opacity:1;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease),visibility 0s .6s;font-size:1rem}
  .nav.open{visibility:visible;clip-path:inset(0);transition:clip-path .6s var(--ease)}
  .nav::after{content:"360";position:absolute;right:-18px;bottom:96px;font-family:var(--f-display);font-stretch:62%;font-weight:800;font-size:15rem;line-height:.8;color:transparent;-webkit-text-stroke:1.5px rgba(174,206,0,.22);pointer-events:none;z-index:0}
  .nav>*{position:relative;z-index:1}

  .nav>a,.nav-item>a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.3em 0;border-bottom:1px solid #3a3935;color:#fff;font-family:var(--f-display);font-stretch:66%;font-weight:760;text-transform:uppercase;font-size:clamp(2.1rem,9.4vw,3.1rem);line-height:1;letter-spacing:-.005em;white-space:normal;transition:color .25s,padding .3s var(--ease)}
  .nav>a::after{content:"→";position:static;transform:translateX(-10px);height:auto;background:none;color:var(--lime);font-family:var(--f-body);font-size:.5em;font-weight:600;opacity:0;transition:opacity .3s,transform .35s var(--ease)}
  .nav>a:hover::after,.nav>a:active::after,.nav a.is-active::after{opacity:1;transform:none}
  .nav-item>a::after{display:none}
  .nav>a:hover,.nav>a:active,.nav-item>a:hover{color:var(--lime);padding-left:.25rem}
  .nav a.is-active{color:var(--lime)}
  .nav-season i{font-size:.32em;padding:.35em .8em;margin-left:.7rem;vertical-align:.4em;order:2}
  .nav-item{display:block}
  .sub-toggle{position:absolute;right:0;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:rgba(174,206,0,.14);color:var(--lime);margin:0;z-index:2}
  .sub-toggle svg{width:16px;height:16px}
  .nav-item.open .sub-toggle{background:var(--lime);color:var(--ink)}
  .nav-item.open>a{color:var(--lime)}

  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;border-radius:0;min-width:0;padding:.6rem 0 1.1rem;display:none;gap:2px;border-bottom:1px solid #3a3935}
  .nav-item.open .sub{display:grid;animation:subIn .45s var(--ease)}
  .nav-item:hover .sub{display:none}
  .nav-item.open:hover .sub{display:grid}
  .sub a{display:flex;align-items:center;gap:.9rem;padding:.6rem .5rem;border-radius:14px;color:#fff;font-family:var(--f-body);font-stretch:100%;text-transform:none;font-size:1.02rem;font-weight:600;border:0;line-height:1.25}
  .sub a:hover,.sub a:active{background:#2c2b28}
  .sub a small{display:block;color:#a9a8a1;font-weight:400;font-size:.8rem}
  .sub-ic{width:42px;height:42px;background:rgba(174,206,0,.14)}
  .sub-ic svg{stroke:var(--lime)}
  .sub a:hover .sub-ic{background:var(--lime)}
  .sub a:hover .sub-ic svg{stroke:var(--ink)}
  .sub .sub-all{color:var(--lime);margin:.3rem 0 0;border-top:0;padding-left:.5rem}

  .nav-foot{display:grid;gap:.8rem;margin-top:auto;padding:1.8rem 0 calc(1.6rem + env(safe-area-inset-bottom))}
  .nf-tel{font-family:var(--f-display);font-stretch:66%;font-weight:760;font-size:2.1rem;line-height:1;color:#fff;text-decoration:none;display:grid;gap:.3rem}
  .nf-tel small{font-family:var(--f-mono);font-stretch:100%;font-weight:500;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}
  .nf-mail{color:#cfcec7;text-decoration:none;font-size:1rem}
  .nav-foot .btn{width:100%;margin-top:.3rem}

  /* wjazd pozycji po kolei */
  .nav.open>*{animation:navIn .65s var(--ease) both}
  .nav.open>*:nth-child(1){animation-delay:.10s}.nav.open>*:nth-child(2){animation-delay:.16s}.nav.open>*:nth-child(3){animation-delay:.22s}
  .nav.open>*:nth-child(4){animation-delay:.28s}.nav.open>*:nth-child(5){animation-delay:.34s}.nav.open>*:nth-child(6){animation-delay:.40s}
  .nav.open>*:nth-child(7){animation-delay:.48s}

  /* przycisk menu: limonkowa pigułka */
  .burger{width:50px;height:46px;border:0;border-radius:14px;background:var(--lime);transition:background .3s,transform .3s var(--ease)}
  .burger:active{transform:scale(.94)}
  .burger span{left:14px;right:14px;height:2.5px;border-radius:2px;background:var(--ink)}
  .burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:26px}
  .burger[aria-expanded="true"]{background:var(--ink)}
  .burger[aria-expanded="true"] span{background:var(--lime)}
  .burger[aria-expanded="true"] span:nth-child(1){top:21px}
  .burger[aria-expanded="true"] span:nth-child(2){top:21px}
}
@keyframes navIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes subIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .nav,.nav.open{transition:none}
  .nav.open>*,.nav-item.open .sub{animation:none}
}
/* mobile: backdrop-filter tworzy kontener dla position:fixed i ściskałby menu do wysokości nagłówka */
@media (max-width:980px){.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--paper)}}
@media (max-width:980px){
  .nav>a,.nav-item>a{font-size:clamp(1.9rem,8.4vw,2.8rem)}
  .sub-toggle{top:calc(clamp(1.9rem,8.4vw,2.8rem) * .5 + .3em);transform:translateY(-50%)}
  .nav-season{flex-wrap:nowrap}
  .nav-season i{margin-left:.6rem;flex:none}
  .nav>a.nav-season::after{display:none}
}
/* menu mobilne: nagłówek przypięty do ekranu, gdy menu jest otwarte (brak szpary u góry) */
@media (max-width:980px){
  html.menu-open .site-header{position:fixed;top:0;left:0;right:0;z-index:70}
  .nav{z-index:65}
  .nav a.is-active i,.nav a:hover i{color:var(--ink)}
  .nav-season i{color:var(--ink)}
}

/* szybka wycena: osobny pas pod hero (pod obrazkiem) */
.quick-row{padding-top:clamp(28px,4vw,52px)}
@media (max-width:980px){.quick-row{padding-top:18px}.hero-art{margin-bottom:0}}
/* mobile/tablet: pole hero = kwadrat dopasowany do pierścienia rejestru (bez nachodzenia na kolejne elementy) */
@media (max-width:980px){
  .hero-art{aspect-ratio:1;min-height:0;width:min(100%,520px);margin:12px auto 0}
  .reg{width:100%;max-width:none}
  .frame{width:62%}
  .cmyk{left:auto;right:3%}
  .floor{left:2%;bottom:9%}
  .quick-row{padding-top:22px}
}
