/*
Theme Name: Dotacje i Fundusze
Theme URI: https://dotacjeifundusze.pl
Author: Certonia Group
Author URI: https://dotacjeifundusze.pl
Description: Premium motyw dla doradztwa dotacyjnego. Ciemny petrol + terakota, interaktywna mapa wojewodztw, kalkulator dotacji, wlasny formularz kontaktowy, typy tresci: Nabory, Uslugi, Obszary wsparcia.
Version: 1.1.3
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dif
Tags: business, one-column, custom-colors, custom-logo, custom-menu, featured-images, block-styles, wide-blocks
*/

/* ---------- tokeny ---------- */
:root{
  --ink:#0B1F24;
  --cream:#F4EFE8;
  --paper:#FCFAF7;
  --acc:#CE6B41;
  --muted:#4A6169;
  --muted2:#7A8B91;
  --line:rgba(11,31,36,.14);
  --line-d:rgba(244,239,232,.16);
  --wrap:1320px;
  --pad:clamp(20px,5vw,72px);
  --sec:clamp(72px,9vw,140px);
  --r:2px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --serif:'DM Serif Display',Georgia,serif;
  --sans:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--acc);text-decoration:none;transition:color .25s}
a:hover{color:var(--ink)}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--acc);color:#fff}
h1,h2,h3,h4,p{margin:0}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--acc);color:#fff;padding:12px 20px}
.skip:focus{left:12px;top:12px;color:#fff}

/* ---------- ziarno ---------- */
.grain{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.1;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='.28'/></svg>")}

/* ---------- keyframes ---------- */
@keyframes pageIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes floatY2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
@keyframes glow{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes barIn{from{width:0}}

/* ---------- naglowek ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:80;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);background:rgba(11,31,36,.82);border-bottom:1px solid rgba(244,239,232,.12)}
.hd__in{max-width:var(--wrap);margin:0 auto;padding:0 clamp(18px,4vw,48px);height:clamp(64px,7vw,80px);display:flex;align-items:center;gap:28px}
.hd__logo{display:flex;align-items:center;gap:12px}
.hd__logo img{display:block;height:clamp(30px,3.4vw,38px);width:auto}
.hd__logo .cl{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--cream)}
.nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.nav ul{list-style:none;display:flex;align-items:center;gap:4px;margin:0;padding:0}
.nav a{padding:10px 13px;font-size:14px;font-weight:500;letter-spacing:-.005em;color:rgba(244,239,232,.78)}
.nav a:hover,.nav .current-menu-item>a{color:var(--cream)}
.nav .current-menu-item>a{color:var(--acc)}
.hd__cta{margin-left:14px}
.burger{margin-left:auto;width:44px;height:44px;display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:1px solid rgba(244,239,232,.22);border-radius:999px;cursor:pointer;padding:0 13px}
.burger span{display:block;height:1.5px;background:var(--cream)}
.burger span:last-child{width:70%}
.mnav{display:none;border-top:1px solid rgba(244,239,232,.12);background:var(--ink);padding:14px clamp(18px,4vw,48px) 28px;animation:fadeUp .35s var(--ease) both}
.mnav.is-open{display:block}
.mnav ul{list-style:none;margin:0;padding:0}
.mnav a{display:block;border-bottom:1px solid rgba(244,239,232,.1);padding:16px 2px;font-size:19px;font-weight:500;letter-spacing:-.01em;color:rgba(244,239,232,.78)}
.mnav .btn{margin-top:20px;width:100%}
@media (max-width:999px){.nav{display:none}.burger{display:flex}}

/* ---------- sekcje ---------- */
main{animation:pageIn .55s var(--ease) both}
.s{padding:var(--sec) var(--pad)}
.s--tight{padding:clamp(56px,7vw,96px) var(--pad)}
.s--hero{padding:clamp(120px,15vw,180px) var(--pad) clamp(56px,7vw,92px)}
.s--dark{background:var(--ink);color:var(--cream)}
.s--light{background:var(--cream)}
.s--paper{background:var(--paper);border-top:1px solid rgba(11,31,36,.1)}
.wrap{max-width:var(--wrap);margin:0 auto}
.rel{position:relative}

.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--acc)}
.tag{display:inline-block;background:var(--acc);color:#fff;font-size:12px;font-weight:600;letter-spacing:.06em;padding:7px 14px;border-radius:var(--r)}
.h1{font-size:clamp(38px,6vw,76px);line-height:.99;letter-spacing:-.035em;font-weight:600}
.h1--home{font-size:clamp(42px,7.2vw,88px);line-height:.97}
.h2{font-size:clamp(30px,4.4vw,58px);line-height:1.02;letter-spacing:-.03em;font-weight:600}
.h3{font-size:clamp(20px,2vw,27px);line-height:1.15;letter-spacing:-.025em;font-weight:600}
.lead{font-size:clamp(16px,1.6vw,20px);line-height:1.55;color:var(--muted)}
.s--dark .lead{color:rgba(244,239,232,.72)}
.p{font-size:16px;line-height:1.62;color:var(--muted)}
.s--dark .p{color:rgba(244,239,232,.72)}
.small{font-size:13px;line-height:1.55;color:var(--muted2)}
.mt-s{margin-top:16px}.mt-m{margin-top:clamp(22px,3vw,30px)}.mt-l{margin-top:clamp(34px,5vw,56px)}
.mx-52{max-width:52ch}.mx-46{max-width:46ch}.mx-40{max-width:40ch}.mx-22{max-width:22ch}.mx-20{max-width:20ch}

.g{display:grid;gap:clamp(20px,3vw,44px)}
.g--2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g--3{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.g--4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.g--half{grid-template-columns:1fr}
@media (min-width:600px){.g--half{grid-template-columns:repeat(2,minmax(0,1fr))}}
.g--wide{gap:clamp(36px,5vw,80px)}
.ai-c{align-items:center}.ai-e{align-items:end}.ai-s{align-items:start}
/* Podstrona: szeroka kolumna treści + węższa kolumna boczna */
.g--article{grid-template-columns:1fr}
@media (min-width:1000px){.g--article{grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr)}}
.g--article>.entry{max-width:68ch}

/* ---------- przyciski ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;padding:17px 32px;font-size:15.5px;font-weight:600;cursor:pointer;transition:transform .32s var(--ease),box-shadow .32s,background .3s,border-color .3s;text-align:center}
.btn--primary{background:var(--acc);color:#fff;box-shadow:0 10px 30px rgba(206,107,65,.3)}
.btn--primary:hover{color:#fff;transform:translateY(-3px);box-shadow:0 18px 44px rgba(206,107,65,.48)}
.btn--sm{padding:13px 26px;font-size:14px}
.btn--ghost{background:none;color:var(--cream);border:1px solid rgba(244,239,232,.28)}
.btn--ghost:hover{color:var(--cream);background:rgba(244,239,232,.08);border-color:rgba(244,239,232,.55)}
.btn--outline{background:none;color:var(--ink);border:1px solid var(--line)}
.btn--outline:hover{color:var(--ink);border-color:rgba(206,107,65,.6)}
.btn--light{background:var(--cream);color:var(--ink)}
.btn--light:hover{color:var(--ink);transform:translateY(-2px)}
.btn--block{width:100%}
.lnk{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--acc);background:none;border:0;padding:0;cursor:pointer}
.lnk--ink{color:var(--ink)}
.lnk--u{border-bottom:1px solid rgba(206,107,65,.4);padding-bottom:3px}
.ic{flex:none;display:block}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(120px,15vw,190px) var(--pad) clamp(70px,8vw,110px)}
.hero__b1,.hero__b2{position:absolute;border-radius:50%;pointer-events:none}
.hero__b1{top:-18%;right:-12%;width:min(760px,80vw);height:min(760px,80vw);background:radial-gradient(circle,rgba(206,107,65,.34),rgba(206,107,65,0) 66%);animation:glow 11s ease-in-out infinite;filter:blur(10px)}
/* Poświata na nagłówkach podstron */
.hero-glow{position:relative;overflow:hidden}
.hero-glow::before{content:'';position:absolute;top:-34%;right:-12%;width:min(760px,82vw);height:min(760px,82vw);border-radius:50%;background:radial-gradient(circle,rgba(206,107,65,.3),rgba(206,107,65,0) 66%);animation:glow 12s ease-in-out infinite;filter:blur(10px);pointer-events:none}
.hero-glow>*{position:relative}
.hero__b2{left:-14%;bottom:-30%;width:min(620px,70vw);height:min(620px,70vw);background:radial-gradient(circle,rgba(90,150,150,.22),rgba(90,150,150,0) 68%)}
.hero__g{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:clamp(40px,6vw,80px);align-items:center}
.pill{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(244,239,232,.2);border-radius:999px;padding:8px 16px 8px 12px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:rgba(244,239,232,.72)}
.pill i{width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px rgba(206,107,65,.2)}
.hero__btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(30px,4vw,42px)}
.checks{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,34px);margin-top:clamp(38px,5vw,56px);padding-top:26px;border-top:1px solid rgba(244,239,232,.13)}
.checks span{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;color:rgba(244,239,232,.9)}
.hero__vis{position:relative;min-height:clamp(420px,52vw,560px)}
.hero__img{position:absolute;inset:0;border-radius:var(--r);overflow:hidden;border:1px solid rgba(244,239,232,.14)}
.hero__img img{width:100%;height:100%;object-fit:cover;display:block}
.hero__fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,36,0) 34%,rgba(11,31,36,.55));pointer-events:none}
.crd-status{position:absolute;left:clamp(10px,3%,32px);bottom:clamp(14px,4%,34px);width:min(340px,84%);background:rgba(252,250,247,.96);color:var(--ink);border-radius:var(--r);padding:22px;box-shadow:0 30px 70px rgba(11,31,36,.4);animation:floatY 7s ease-in-out infinite}
.crd-kpi{position:absolute;right:0;top:clamp(18px,6%,48px);background:var(--ink);border:1px solid rgba(244,239,232,.18);border-radius:var(--r);padding:16px 20px;box-shadow:0 24px 60px rgba(11,31,36,.5);animation:floatY2 8s ease-in-out infinite}
.mini{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.s--dark .mini,.crd-kpi .mini{color:rgba(244,239,232,.5)}
.num{font-family:var(--serif);font-size:44px;line-height:1;margin-top:6px}
.num--acc{color:var(--acc);font-size:38px}
.bar{height:4px;background:rgba(11,31,36,.1);border-radius:999px;margin:18px 0 16px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--acc);border-radius:999px;animation:barIn 1.6s .5s var(--ease) both}
.stepline{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:13.5px;border-top:1px solid rgba(11,31,36,.08)}
.stepline b{font-weight:500}
.stepline em{margin-left:auto;font-size:11.5px;font-weight:600;font-style:normal}
.dot{width:16px;height:16px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--acc)}
.dot--off{background:rgba(11,31,36,.18)}

/* ---------- marquee ---------- */
.mq{background:var(--ink);border-top:1px solid rgba(244,239,232,.1);overflow:hidden;padding:18px 0}
.mq__t{display:flex;width:max-content;animation:marquee 42s linear infinite}
.mq__t span{display:flex;align-items:center;gap:44px;padding:0 22px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:rgba(244,239,232,.42);white-space:nowrap}

/* ---------- statystyki ---------- */
.stat{border-top:1px solid rgba(11,31,36,.16);padding-top:20px}
.stat__v{display:flex;align-items:baseline;gap:4px}
.stat__v b{font-family:var(--serif);font-size:clamp(46px,5.4vw,74px);line-height:.9;letter-spacing:-.02em;font-weight:400}
.stat__v i{font-family:var(--serif);font-size:clamp(24px,2.6vw,34px);color:var(--acc);font-style:normal}
.stat__l{margin-top:14px;font-size:15px;line-height:1.4;color:var(--muted);max-width:20ch}

/* ---------- karty ---------- */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s,border-color .5s}
.card:hover{box-shadow:0 26px 60px rgba(11,31,36,.14);border-color:rgba(206,107,65,.5)}
.card--tall{min-height:340px}
.card--art{padding:0 0 clamp(24px,3vw,34px);overflow:hidden;min-height:280px;color:var(--ink)}
.card--art:hover{color:var(--ink)}
.card__thumb{aspect-ratio:16/10;overflow:hidden;background:#EFE8DF}
.card__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.card__pad{padding:0 clamp(24px,3vw,34px)}
.card__no{font-family:var(--serif);font-size:15px;color:var(--acc)}
.card__meta{display:flex;align-items:center;gap:12px}
.card__kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted2)}
.card__foot{margin-top:auto;padding-top:26px;display:flex;align-items:center;gap:14px}
.card__foot--line{border-top:1px solid rgba(11,31,36,.1)}
.lnk--quiet{color:var(--muted2);font-weight:500}
.lnk--quiet:hover{color:var(--acc)}
a.card{color:var(--ink)}
a.card:hover{color:var(--ink)}
.icobox{width:44px;height:44px;border:1px solid rgba(11,31,36,.16);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:var(--acc)}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{border:1px solid rgba(11,31,36,.16);border-radius:999px;padding:6px 13px;font-size:12.5px;color:var(--muted)}
.s--dark .chip{border-color:rgba(244,239,232,.2);color:rgba(244,239,232,.86);padding:8px 15px;font-size:13.5px}
.badge{border-radius:999px;padding:6px 13px;font-size:12px;font-weight:600;letter-spacing:.02em;background:rgba(11,31,36,.08);color:var(--muted)}
.badge--open{background:var(--acc);color:#fff}
.badge--soon{background:rgba(11,31,36,.08);color:var(--muted)}

/* ---------- akordeon ---------- */
.acc__i{border-top:1px solid rgba(244,239,232,.16)}
.acc__b{width:100%;display:flex;align-items:center;gap:clamp(14px,2vw,26px);background:none;border:0;padding:clamp(24px,3vw,34px) 0;cursor:pointer;text-align:left;color:var(--cream);transition:color .3s}
.acc__b[aria-expanded="true"]{color:var(--acc)}
.acc__ic{flex:none;width:40px;height:40px;border:1px solid rgba(244,239,232,.24);border-radius:var(--r);display:flex;align-items:center;justify-content:center;color:var(--acc);transition:border-color .3s}
.acc__b[aria-expanded="true"] .acc__ic{border-color:var(--acc)}
.acc__t{font-size:clamp(18px,2.2vw,28px);font-weight:600;letter-spacing:-.02em;line-height:1.2}
.acc__p{margin-left:auto;flex:none;color:var(--acc);transition:transform .4s var(--ease)}
.acc__b[aria-expanded="true"] .acc__p{transform:rotate(45deg)}
.acc__c{display:none;padding:0 0 clamp(30px,4vw,44px);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(24px,4vw,56px);animation:fadeUp .45s var(--ease) both}
.acc__c.is-open{display:grid}
.lbl{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:rgba(244,239,232,.5)}
.s--paper .lbl,.s--light .lbl{color:var(--muted2)}
.ticks{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 24px;margin-top:16px}
.ticks span{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.4;color:rgba(244,239,232,.92)}

/* ---------- faq ---------- */
.faq__i{border-top:1px solid var(--line)}
.faq__b{width:100%;display:flex;align-items:flex-start;gap:20px;background:none;border:0;padding:24px 0;cursor:pointer;text-align:left}
.faq__q{font-size:clamp(16.5px,1.7vw,20px);font-weight:600;letter-spacing:-.015em;line-height:1.3}
.faq__p{margin-left:auto;flex:none;color:var(--acc);transition:transform .4s var(--ease)}
.faq__b[aria-expanded="true"] .faq__p{transform:rotate(45deg)}
.faq__a{display:none;padding:0 40px 26px 0;font-size:16px;line-height:1.62;color:var(--muted)}
.faq__a.is-open{display:block;animation:fadeUp .4s var(--ease) both}

/* ---------- proces ---------- */
.proc__side{position:sticky;top:clamp(90px,11vw,130px)}
.proc__img{margin-top:32px;aspect-ratio:4/3;max-width:420px;border:1px solid rgba(11,31,36,.12);border-radius:var(--r);overflow:hidden}
.proc__img img{width:100%;height:100%;object-fit:cover;display:block}
.proc__dots{margin-top:34px;display:flex;gap:8px}
.proc__dots i{width:14px;height:3px;border-radius:999px;background:rgba(11,31,36,.2);transition:all .45s var(--ease)}
.proc__dots i.on{width:40px;background:var(--acc)}
.proc__s{padding:clamp(28px,3.6vw,44px) 0;border-top:1px solid var(--line);opacity:.82;transition:opacity .6s}
.proc__s.on{opacity:1}
.proc__h{display:flex;align-items:baseline;gap:18px}
.proc__n{font-family:var(--serif);font-size:clamp(30px,3.4vw,44px);line-height:1;color:rgba(11,31,36,.34);transition:color .5s}
.proc__s.on .proc__n{color:var(--acc)}
.proc__t{font-size:clamp(21px,2.3vw,30px);line-height:1.14;letter-spacing:-.025em;font-weight:600}
.proc__d{margin-top:16px;padding-left:clamp(0px,3vw,62px);font-size:16px;line-height:1.62;color:var(--muted);max-width:52ch}
.rule{border-top:1px solid var(--line)}
.rule--d{border-top:1px solid rgba(244,239,232,.16)}

/* ---------- mapa ---------- */
.map{position:relative}
.map svg{width:100%;height:auto;display:block}
.map path{fill:rgba(244,239,232,.11);stroke:rgba(244,239,232,.4);stroke-width:1.6;stroke-linejoin:round;cursor:pointer;transition:fill .4s var(--ease),stroke .4s,stroke-width .3s}
.map path:hover{fill:rgba(244,239,232,.2);stroke:rgba(206,107,65,.8);stroke-width:2.6}
.map path.on{fill:var(--acc);stroke:var(--acc);stroke-width:2.6}
.map path{outline:none}
.map path:focus,.map path:focus-visible{outline:none}
.map svg:focus{outline:none}
/* Lista wojewodztw dla klawiatury: ukryta, rozwija sie po wejsciu Tabem. */
.map__kb{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.map__kb:focus-within{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:8px;margin-top:18px}
.map__kb button{text-align:left;background:rgba(244,239,232,.05);border:1px solid var(--line-d);border-radius:var(--r);padding:13px 14px;cursor:pointer;color:rgba(244,239,232,.82);font-size:13.5px;font-weight:500}
.map__kb button:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.map__kb button.on{background:var(--acc);border-color:var(--acc);color:#fff}
.map__lbl{position:absolute;transform:translate(-50%,-50%);pointer-events:none;background:rgba(11,31,36,.88);border:1px solid rgba(244,239,232,.2);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;color:var(--cream);white-space:nowrap;opacity:0;transition:opacity .25s}
.map__lbl.on{opacity:1}
.map__hint{margin-top:14px;font-size:12.5px;color:rgba(244,239,232,.42)}
.panel{background:rgba(244,239,232,.04);border:1px solid var(--line-d);border-radius:var(--r);padding:clamp(26px,3vw,40px)}
.panel h3{margin:14px 0 0;font-size:clamp(23px,2.6vw,34px);line-height:1.1;letter-spacing:-.025em;font-weight:600}
.panel__note{margin-top:22px;padding-top:18px;border-top:1px solid rgba(244,239,232,.12);font-size:12.5px;line-height:1.5;color:rgba(244,239,232,.42)}
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:8px}
.vgrid button{text-align:left;background:rgba(244,239,232,.05);border:1px solid var(--line-d);border-radius:var(--r);padding:13px 14px;cursor:pointer;color:rgba(244,239,232,.82);font-size:13.5px;font-weight:500;transition:all .3s var(--ease)}
.vgrid button:hover{border-color:rgba(206,107,65,.7)}
.vgrid button.on{background:var(--acc);border-color:var(--acc);color:#fff}

/* ---------- kalkulator ---------- */
.calc{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(26px,4vw,64px);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(32px,5vw,72px)}
.calc__row{margin-bottom:30px}
.calc__top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.calc__top label{font-size:14px;font-weight:600}
.calc__top output{font-size:19px;font-weight:600;letter-spacing:-.02em}
.calc input[type=range]{width:100%;accent-color:var(--acc);height:28px;cursor:pointer}
.calc__out{background:var(--ink);color:var(--cream);border-radius:var(--r);padding:clamp(26px,3.4vw,44px);display:flex;flex-direction:column;justify-content:center}
.calc__big{font-family:var(--serif);font-size:clamp(38px,5.4vw,68px);line-height:1;margin-top:12px;color:var(--acc)}
.calc__bar{height:8px;border-radius:999px;background:rgba(244,239,232,.14);margin:30px 0 12px;overflow:hidden}
.calc__bar i{display:block;height:100%;background:var(--acc);transition:width .45s var(--ease)}
.calc__split{display:flex;justify-content:space-between;font-size:13px;color:rgba(244,239,232,.6)}
.calc__sum{margin-top:34px;padding-top:26px;border-top:1px solid rgba(244,239,232,.14);display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:20px}
.calc__sum b{display:block;font-size:20px;font-weight:600;margin-top:8px;letter-spacing:-.02em}

/* ---------- cytaty ---------- */
.quote{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(26px,3vw,38px);display:flex;flex-direction:column}
.quote__m{font-family:var(--serif);font-size:44px;line-height:.6;color:var(--acc)}
.quote p{margin-top:22px;font-size:17px;line-height:1.55;letter-spacing:-.01em}
.quote__w{margin-top:auto;padding-top:30px}
.quote__w b{font-size:14.5px;font-weight:600}
.quote__w span{display:block;margin-top:5px;font-size:13.5px;color:var(--muted2)}

/* ---------- oferta ---------- */
.off{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,72px);align-items:flex-start}
.off--rev{flex-direction:row-reverse}
.off__l{flex:1 1 320px}
.off__no{font-family:var(--serif);font-size:17px;color:var(--acc)}
.off__t{margin-top:14px;font-size:clamp(25px,3.2vw,42px);line-height:1.06;letter-spacing:-.03em;font-weight:600;max-width:20ch}
.off__b{flex:1 1 280px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;background:rgba(11,31,36,.12)}
@media (max-width:520px){.off__b{grid-template-columns:1fr}}
.off__b div{background:var(--ink);color:var(--cream);padding:22px 20px;font-size:15px;font-weight:500;line-height:1.4;min-height:96px;display:flex;align-items:flex-end}
.band{margin-top:clamp(40px,5vw,64px);aspect-ratio:21/9;border:1px solid rgba(244,239,232,.14);border-radius:var(--r);overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover;display:block}
.frame{position:relative;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:clamp(320px,42vw,520px)}
.s--dark .frame{border-color:rgba(244,239,232,.14)}
.frame img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- filtry ---------- */
.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:clamp(28px,4vw,44px)}
.filters a{background:none;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:11px 22px;font-size:14.5px;font-weight:500;transition:all .3s var(--ease)}
.filters a:hover{border-color:rgba(206,107,65,.6)}
.filters a.on{background:var(--acc);border-color:var(--acc);color:#fff}

/* ---------- kontakt / formularz ---------- */
.cta{background:var(--ink);color:var(--cream);padding:var(--sec) var(--pad)}
.cta__g{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(40px,5vw,84px);align-items:start}
.perks{margin-top:34px;display:flex;flex-direction:column;gap:14px}
.perks span{display:flex;align-items:flex-start;gap:12px;font-size:16px;font-weight:600;letter-spacing:-.01em}
.cta__img{margin-top:clamp(32px,4vw,44px);aspect-ratio:16/9;border:1px solid rgba(244,239,232,.14);border-radius:var(--r);overflow:hidden}
.cta__img img{width:100%;height:100%;object-fit:cover;display:block}
.cta__contact{margin-top:clamp(36px,4vw,52px);padding-top:30px;border-top:1px solid rgba(244,239,232,.16);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:22px}
.cta__contact a{display:block;margin-top:8px;font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--cream);word-break:break-word}
.cta__contact a:hover{color:var(--acc)}
.form{background:var(--paper);color:var(--ink);border-radius:var(--r);padding:clamp(24px,3.4vw,46px)}
.form__2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.field{margin-top:18px}
.req{color:var(--acc)}
.form label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{display:block;width:100%;max-width:100%;background:#F1EDE7;border:1px solid rgba(11,31,36,.1);border-radius:var(--r);padding:15px 16px;font-size:15.5px;font-family:inherit;line-height:1.4;outline:none;transition:border-color .25s,background .25s}
.form textarea{resize:vertical;min-height:96px}
.form select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'><path d='M1 1l6 6 6-6' fill='none' stroke='%234A6169' stroke-width='1.8' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 16px center}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--acc);background:#fff}
.form__2>div{min-width:0}
.consent label{margin-bottom:0}
.consent{display:flex;align-items:flex-start;gap:12px;margin-top:24px;font-size:13px;line-height:1.55;color:var(--muted);cursor:pointer}
.consent input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--acc);cursor:pointer}
.form .btn{margin-top:28px}
.form__note{margin-top:16px;font-size:12.5px;color:var(--muted2);text-align:center}
.hp{position:absolute;left:-9999px}
.sent{min-height:420px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;animation:fadeUp .5s var(--ease) both}
.sent__ic{width:56px;height:56px;border-radius:50%;background:var(--acc);color:#fff;display:flex;align-items:center;justify-content:center}
.notice{border-left:3px solid var(--acc);background:rgba(206,107,65,.08);padding:14px 16px;font-size:14.5px;margin-bottom:22px}
.info{border-top:1px solid rgba(11,31,36,.16);padding-top:20px}
.info b{display:block;margin-top:14px;font-size:17px;line-height:1.6;font-weight:500}
.info a{color:var(--ink)}
.info a:hover{color:var(--acc)}
.info small{display:block;margin-top:12px;font-size:14.5px;color:var(--muted)}

/* ---------- artykul ---------- */
.entry{max-width:74ch;margin:0 auto}
.entry p,.entry ul,.entry ol,.entry blockquote,.entry figure,.entry h2,.entry h3{margin:0 0 1.15em}
.entry h2{font-size:clamp(24px,2.6vw,34px);line-height:1.1;letter-spacing:-.025em;font-weight:600;margin-top:1.8em}
.entry h3{font-size:clamp(20px,2vw,26px);line-height:1.15;font-weight:600;margin-top:1.6em}
.entry p{font-size:17.5px;line-height:1.68;color:#23383E}
.entry ul,.entry ol{padding-left:1.3em}
.entry li{font-size:17.5px;line-height:1.68;color:#23383E;margin-bottom:.4em}
.entry blockquote{border-left:2px solid var(--acc);padding-left:22px;font-size:19px;line-height:1.55}
.entry img{border-radius:var(--r)}
.meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,239,232,.55);font-weight:600}
.pager{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-top:clamp(40px,5vw,64px);padding-top:26px;border-top:1px solid var(--line)}

/* ---------- stopka ---------- */
.ft{background:var(--ink);color:var(--cream);padding:clamp(56px,7vw,96px) var(--pad) 34px}
.ft__g{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(30px,4vw,56px);padding-bottom:clamp(40px,5vw,64px);border-bottom:1px solid rgba(244,239,232,.14)}
.ft img{display:block;height:38px;width:auto}
.ft p{margin-top:22px;font-size:14.5px;line-height:1.6;color:rgba(244,239,232,.58);max-width:30ch}
.ft__h{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:rgba(244,239,232,.42)}
.ft__l{margin-top:18px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.ft__l ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.ft__l a{font-size:14.5px;color:rgba(244,239,232,.8)}
.ft__l a:hover{color:var(--acc)}
.ft__b{padding-top:26px;display:flex;flex-wrap:wrap;gap:14px 28px;font-size:13px;color:rgba(244,239,232,.42)}
.ft__b a{color:rgba(244,239,232,.42)}
.ft__b .push{margin-left:auto}

/* ---------- reveal ---------- */
.rv{opacity:1}
.rv.in{animation:fadeUp .8s var(--ease) both}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
@media (max-width:700px){
  .crd-kpi{display:none}
  .off--rev{flex-direction:row}
  .proc__side{position:static}
}
