/* =========================================================================
   Stolarz Ropczyce — Robert Strychalski
   Stylesheet — mobile-first. Newsreader (display) + Mulish (body).
   Paleta: orzech / espresso / ecru / miód. Wszystkie pary AA-verified.
   ========================================================================= */

/* ---------- Fonts (self-host woff2, latin + latin-ext) ---------- */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/newsreader-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/newsreader-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/newsreader-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/newsreader-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/mulish-400-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/mulish-400-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/mulish-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/mulish-600-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/mulish-700-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/mulish-700-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ---------- Tokens ---------- */
:root{
  --espresso:#2E211A;     /* tekst / ciemne tła */
  --walnut:#5A3E2B;       /* primary brand, linki */
  --bark:#7A5236;         /* drewno jaśniejsze */
  --honey:#9C5E1C;        /* akcent CTA (biały tekst = 5.2:1) */
  --honey-lt:#E0A24A;     /* akcent na ciemnym (7:1 na espresso) */
  --ecru:#F4ECDD;         /* sekcje jasne */
  --paper:#FBF6EC;        /* tło bazowe */
  --card:#FFFFFF;
  --line:#E4D8C4;         /* obrysy */
  --line-strong:#D2C2A6;
  --muted:#6B5A49;        /* tekst drugorzędny (5.6–6.1:1) */
  --ink:#2E211A;
  --shadow:0 1px 2px rgba(46,33,26,.06), 0 10px 30px -12px rgba(46,33,26,.22);
  --shadow-lg:0 24px 60px -24px rgba(46,33,26,.4);
  --radius:14px; --radius-lg:22px; --radius-sm:9px;
  --wrap:1180px;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Mulish',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--walnut);text-decoration-thickness:1px;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.12;
  letter-spacing:-.01em;margin:0 0 .5em;color:var(--espresso)}
p{margin:0 0 1rem}
ul{margin:0;padding:0}
.tnum{font-variant-numeric:tabular-nums}

/* ---------- Base icon size (siatka bezpieczeństwa) ---------- */
.ico{width:1.25em;height:1.25em;flex:none;stroke-width:1.7}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:20px}
.section{padding-block:clamp(3rem,8vw,6rem)}
.section--tight{padding-block:clamp(2.2rem,6vw,4rem)}
.section--ecru{background:var(--ecru)}
.section--dark{background:var(--espresso);color:#F4ECDD}
.section--dark h1,.section--dark h2,.section--dark h3{color:#FBF6EC}
.eyebrow{font-family:var(--sans);font-weight:700;text-transform:uppercase;
  letter-spacing:.16em;font-size:.74rem;color:var(--honey);margin:0 0 .9rem;
  display:inline-flex;align-items:center;gap:.55rem}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--honey);display:inline-block}
.section--dark .eyebrow{color:var(--honey-lt)}
.section--dark .eyebrow::before{background:var(--honey-lt)}
.lead{font-size:1.12rem;color:var(--muted);max-width:60ch}
.section--dark .lead{color:#E7DAC4}
.h-sec{font-size:clamp(1.7rem,5.2vw,2.7rem)}
.skip{position:absolute;left:-9999px;top:0;background:var(--espresso);color:#fff;
  padding:.7rem 1.1rem;border-radius:0 0 8px 0;z-index:200}
.skip:focus{left:0}

/* ---------- Skład drewna (CSS tekstura — bez bitmapy) ---------- */
.grain{position:relative;isolation:isolate}
.grain::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    repeating-linear-gradient(91deg, rgba(122,82,54,.05) 0 2px, transparent 2px 7px),
    repeating-linear-gradient(89deg, rgba(46,33,26,.035) 0 1px, transparent 1px 13px);
  mix-blend-mode:multiply;opacity:.9}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.55rem;justify-content:center;
  font-family:var(--sans);font-weight:700;font-size:1rem;line-height:1;
  padding:.95rem 1.4rem;border-radius:999px;border:2px solid transparent;
  cursor:pointer;white-space:nowrap;text-decoration:none;min-height:48px;
  transition:transform .18s var(--ease),background-color .18s var(--ease),box-shadow .18s var(--ease),color .18s var(--ease)}
.btn .ico{width:1.15em;height:1.15em}
.btn--primary{background:var(--honey);color:#fff;box-shadow:0 10px 24px -12px rgba(156,94,28,.8)}
.btn--primary:hover{background:#86500F;transform:translateY(-2px)}
.btn--dark{background:var(--espresso);color:#FBF6EC}
.btn--dark:hover{background:#41301F;transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--walnut);border-color:var(--line-strong)}
.btn--ghost:hover{background:var(--ecru);border-color:var(--walnut);transform:translateY(-2px)}
.section--dark .btn--ghost{color:#FBF6EC;border-color:rgba(244,236,221,.45)}
.section--dark .btn--ghost:hover{background:rgba(244,236,221,.1);border-color:#FBF6EC}
.btn--block{width:100%}

/* ---------- Header / Nav ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(251,246,236,.92);
  backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:1rem;min-height:68px}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--espresso);
  font-family:var(--serif);font-weight:700;font-size:1.18rem;letter-spacing:-.01em;line-height:1.05}
.brand__mark{width:40px;height:40px;flex:none}
.brand small{display:block;font-family:var(--sans);font-weight:600;font-size:.62rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--honey)}
.nav__spacer{flex:1}
.nav__links{display:none;list-style:none;gap:.3rem;align-items:center}
.nav__links a{font-family:var(--sans);font-weight:600;font-size:.97rem;color:var(--espresso);
  text-decoration:none;padding:.55rem .7rem;border-radius:8px;white-space:nowrap;
  transition:background-color .15s,color .15s}
.nav__links a:hover{background:var(--ecru);color:var(--walnut)}
.nav__links a[aria-current="page"]{color:var(--honey)}
.nav__links a[aria-current="page"]::after{content:"";display:block;height:2px;
  background:var(--honey);border-radius:2px;margin-top:3px}
.nav__cta{display:none;align-items:center;gap:.6rem}
.nav__tel{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--sans);
  font-weight:700;color:var(--espresso);text-decoration:none;white-space:nowrap;font-size:.97rem}
.nav__tel .ico{color:var(--honey)}
.nav__tel:hover{color:var(--walnut)}
.burger{display:inline-flex;margin-left:auto;align-items:center;justify-content:center;
  width:48px;height:48px;border:1px solid var(--line-strong);border-radius:11px;
  background:var(--card);cursor:pointer;color:var(--espresso)}
.burger:hover{background:var(--ecru)}
.burger .ico{width:24px;height:24px}
.burger .ico--close{display:none}
.burger[aria-expanded="true"] .ico--open{display:none}
.burger[aria-expanded="true"] .ico--close{display:block}

/* mobile drawer */
.mobile-nav{display:none;border-top:1px solid var(--line);background:var(--paper)}
.mobile-nav.open{display:block}
.mobile-nav ul{list-style:none}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  font-family:var(--sans);font-weight:600;font-size:1.07rem;color:var(--espresso);
  text-decoration:none;padding:1rem 4px;border-bottom:1px solid var(--line);min-height:52px}
.mobile-nav a[aria-current="page"]{color:var(--honey)}
.mobile-nav a .ico{color:var(--honey-lt)}
.mobile-nav .mobile-nav__cta{display:grid;gap:.6rem;padding-block:1.1rem 1.4rem}

@media (min-width:1040px){
  .nav__links{display:flex}
  .nav__cta{display:flex}
  .burger{display:none}
  .mobile-nav{display:none!important}
}

/* ---------- HERO ---------- */
.hero{position:relative;background:
    radial-gradient(120% 100% at 85% -10%, #3F2C20 0%, transparent 55%),
    linear-gradient(160deg,#2E211A 0%,#3A2920 60%,#2E211A 100%);
  color:#F4ECDD;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:
    repeating-linear-gradient(92deg, rgba(224,162,74,.06) 0 2px, transparent 2px 9px),
    repeating-linear-gradient(88deg, rgba(0,0,0,.16) 0 1px, transparent 1px 16px)}
.hero__grid{position:relative;z-index:1;display:grid;gap:2.2rem;
  padding-block:clamp(2.6rem,9vw,5rem) clamp(3rem,9vw,5.5rem)}
.hero h1{color:#FBF6EC;font-size:clamp(2.3rem,8.5vw,4.3rem);letter-spacing:-.02em;margin-bottom:.4em}
.hero h1 em{font-style:italic;color:var(--honey-lt);font-weight:600}
.hero__lead{font-size:clamp(1.05rem,3.3vw,1.32rem);color:#E7DAC4;max-width:54ch;margin-bottom:1.6rem}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem}
.hero__trust{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.9rem}
.pill{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-weight:600;
  font-size:.86rem;color:#F4ECDD;background:rgba(244,236,221,.08);
  border:1px solid rgba(224,162,74,.4);border-radius:999px;padding:.5rem .9rem}
.pill .ico{width:1.05em;height:1.05em;color:var(--honey-lt)}
/* karta-warsztat w hero (CSS, bez fałszywej fotki) */
.hero__card{position:relative;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid rgba(224,162,74,.3);background:linear-gradient(145deg,#46332552,#2a1e18);
  box-shadow:var(--shadow-lg);min-height:240px;display:grid}
.woodboard{position:relative;display:grid;place-items:center;padding:2rem;text-align:center;
  background:
    repeating-linear-gradient(95deg, rgba(122,82,54,.55) 0 3px, rgba(90,62,43,.55) 3px 10px),
    linear-gradient(160deg,#6B4A30,#4A3322)}
.woodboard::before{content:"";position:absolute;inset:0;
  background:radial-gradient(60% 40% at 30% 20%, rgba(224,162,74,.18), transparent 70%)}
.woodboard__plate{position:relative;border:2px solid rgba(224,162,74,.6);border-radius:12px;
  padding:1.3rem 1.6rem;background:rgba(46,33,26,.45);backdrop-filter:blur(2px)}
.woodboard__plate .k,.woodboard__plate .t,.woodboard__plate .s{display:block}
.woodboard__plate .k{font-family:var(--sans);font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;font-size:.66rem;color:var(--honey-lt)}
.woodboard__plate .t{font-family:var(--serif);font-weight:700;font-size:1.5rem;color:#FBF6EC;margin-top:.3rem;line-height:1.15}
.woodboard__plate .s{font-family:var(--sans);font-size:.86rem;color:#E7DAC4;margin-top:.2rem}

@media (min-width:880px){
  .hero__grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:3rem}
  .hero__card{min-height:340px}
}

/* ---------- Section heads ---------- */
.head{max-width:62ch;margin-bottom:2.4rem}
.head--center{margin-inline:auto;text-align:center}
.head--center .eyebrow{justify-content:center}

/* ---------- Service grid ---------- */
.cards{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media (min-width:620px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.cards--3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.5rem;box-shadow:var(--shadow);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--line-strong)}
.card__ico{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;
  background:var(--ecru);color:var(--walnut);margin-bottom:1rem;border:1px solid var(--line)}
.card__ico .ico{width:26px;height:26px}
.card h3{font-size:1.28rem;margin-bottom:.4rem}
.card p{color:var(--muted);font-size:.98rem;margin:0}
.card__link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;
  font-weight:700;font-size:.92rem;color:var(--honey);text-decoration:none}
.card__link .ico{width:1em;height:1em;transition:transform .2s}
.card__link:hover .ico{transform:translateX(3px)}

/* ---------- Process steps ---------- */
.steps{display:grid;gap:1.1rem;counter-reset:step;grid-template-columns:1fr}
@media (min-width:620px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{position:relative;padding:1.6rem 1.3rem 1.4rem;background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius)}
.step__n{counter-increment:step;font-family:var(--serif);font-weight:700;font-size:1.05rem;
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--espresso);color:var(--honey-lt);margin-bottom:.9rem}
.step__n::before{content:"0" counter(step)}
.step h3{font-size:1.12rem;margin-bottom:.35rem}
.step p{color:var(--muted);font-size:.93rem;margin:0}
.section--dark .step{background:rgba(244,236,221,.05);border-color:rgba(244,236,221,.16)}
.section--dark .step p{color:#E7DAC4}
.section--dark .step__n{background:var(--honey);color:#fff}

/* ---------- Trust facts bar ---------- */
.facts{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:560px){.facts{grid-template-columns:repeat(2,1fr)}}
@media (min-width:920px){.facts{grid-template-columns:repeat(4,1fr)}}
.fact{padding:1.3rem;border-radius:var(--radius);background:rgba(244,236,221,.06);
  border:1px solid rgba(224,162,74,.28);text-align:left}
.fact .ico{width:30px;height:30px;color:var(--honey-lt);margin-bottom:.7rem}
.fact strong{display:block;font-family:var(--serif);font-size:1.18rem;color:#FBF6EC;line-height:1.2;margin-bottom:.2rem}
.fact span{font-size:.9rem;color:#E7DAC4}

/* ---------- Realizacje (kafelki kategorii) ---------- */
.gallery{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media (min-width:620px){.gallery{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.gallery{grid-template-columns:repeat(3,1fr)}}
.tile{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:300px;
  display:grid;align-content:end;color:#FBF6EC;text-decoration:none;
  border:1px solid var(--line-strong);box-shadow:var(--shadow)}
.tile__art{position:absolute;inset:0;z-index:0}
.tile__art::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(46,33,26,.05) 0%, rgba(46,33,26,.82) 100%)}
.tile__body{position:relative;z-index:1;padding:1.4rem}
.tile__plate{display:inline-flex;flex-direction:column;gap:.15rem;margin-bottom:.7rem;
  border-left:3px solid var(--honey-lt);padding-left:.7rem}
.tile__plate .k{font-family:var(--sans);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  font-size:.62rem;color:var(--honey-lt)}
.tile__plate .v{font-family:var(--sans);font-size:.84rem;color:#F4ECDD}
.tile h3{color:#FBF6EC;font-size:1.4rem;margin:0}
.tile p{color:#E7DAC4;font-size:.92rem;margin:.3rem 0 0}
.tile__art--w1{background:repeating-linear-gradient(96deg,#6B4A30 0 4px,#553A26 4px 12px),linear-gradient(160deg,#7A5236,#4A3322)}
.tile__art--w2{background:repeating-linear-gradient(88deg,#7E5A3A 0 5px,#634327 5px 13px),linear-gradient(150deg,#8C6238,#5A3E2B)}
.tile__art--w3{background:repeating-linear-gradient(100deg,#5E4029 0 3px,#4A3322 3px 11px),linear-gradient(160deg,#6B4A30,#3F2C20)}
.tile__art--w4{background:repeating-linear-gradient(92deg,#8A6038 0 4px,#6B4A30 4px 12px),linear-gradient(150deg,#9C6E3E,#5A3E2B)}
.tile__art--w5{background:repeating-linear-gradient(86deg,#6F4D30 0 5px,#583B25 5px 14px),linear-gradient(160deg,#7A5236,#46332552)}
.tile__art--w6{background:repeating-linear-gradient(98deg,#7A5236 0 4px,#5E4029 4px 13px),linear-gradient(150deg,#8C6238,#4A3322)}

/* slider controls (mobile only) */
.slider-controls{display:none}

/* ---------- Slider: siatka na desktop, slider tylko mobile ---------- */
.slider-track{display:grid;gap:1.1rem;grid-template-columns:repeat(3,1fr)}
@media (max-width:619px){
  .slider-track{grid-template-columns:none;grid-auto-flow:column;
    grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.4rem}
  .slider-track::-webkit-scrollbar{display:none}
  .slider-track>*{scroll-snap-align:start}
  .slider-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.3rem}
  .slider-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line-strong);
    background:var(--card);color:var(--espresso);display:grid;place-items:center;cursor:pointer}
  .slider-btn:hover{background:var(--ecru)}
  .slider-dots{display:flex;gap:.2rem;align-items:center}
  .slider-dot{width:24px;height:24px;border:0;background:transparent;padding:0;cursor:pointer;
    display:grid;place-items:center}
  .slider-dot::before{content:"";width:9px;height:9px;border-radius:50%;
    background:var(--line-strong);transition:background-color .2s,transform .2s}
  .slider-dot[aria-current="true"]::before{background:var(--honey);transform:scale(1.25)}
}
@media (min-width:620px) and (max-width:979px){
  .slider-track{grid-template-columns:repeat(2,1fr)}
}

/* ---------- Detailed offer rows ---------- */
.offer{display:grid;gap:1.6rem;grid-template-columns:1fr}
.offer__item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr}
.offer__art{min-height:180px;position:relative}
.offer__art .badge{position:absolute;left:1rem;bottom:1rem;background:rgba(46,33,26,.8);
  color:var(--honey-lt);font-family:var(--sans);font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;font-size:.66rem;padding:.4rem .7rem;border-radius:999px}
.offer__txt{padding:1.6rem}
.offer__txt h3{font-size:1.45rem;margin-bottom:.5rem}
.offer__txt p{color:var(--muted);margin-bottom:1rem}
.offer__list{list-style:none;display:grid;gap:.55rem}
.offer__list li{display:flex;gap:.6rem;align-items:flex-start;font-size:.96rem;color:var(--ink)}
.offer__list .ico{width:1.15em;height:1.15em;color:var(--honey);margin-top:.2em;flex:none}
@media (min-width:760px){
  .offer__item{grid-template-columns:.85fr 1.15fr}
  .offer__item--flip .offer__art{order:2}
  .offer__art{min-height:100%}
}

/* ---------- Cennik / pricing ---------- */
.price-grid{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media (min-width:760px){.price-grid{grid-template-columns:repeat(3,1fr)}}
.price-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.7rem 1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column}
.price-card__k{font-family:var(--sans);font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  font-size:.7rem;color:var(--honey)}
.price-card h3{font-size:1.3rem;margin:.5rem 0 .3rem}
.price-card .amount{font-family:var(--serif);font-weight:700;font-size:1.55rem;color:var(--walnut);margin:.2rem 0 .6rem}
.price-card p{color:var(--muted);font-size:.94rem;margin:0 0 1.1rem}
.price-card ul{list-style:none;display:grid;gap:.5rem;margin-bottom:1.3rem}
.price-card li{display:flex;gap:.55rem;font-size:.93rem;color:var(--ink)}
.price-card li .ico{width:1.1em;height:1.1em;color:var(--honey);flex:none;margin-top:.15em}
.price-card .btn{margin-top:auto}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:.8rem;max-width:820px;margin-inline:auto}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:.3rem 1.2rem;box-shadow:var(--shadow)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;
  align-items:center;gap:1rem;font-family:var(--serif);font-weight:700;font-size:1.08rem;
  color:var(--espresso);padding:1rem 0;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ico{flex:none;color:var(--honey);transition:transform .2s}
.faq details[open] summary .ico{transform:rotate(45deg)}
.faq p{color:var(--muted);margin:0 0 1.1rem;font-size:.97rem}

/* ---------- Contact ---------- */
.contact-grid{display:grid;gap:1.6rem;grid-template-columns:1fr}
@media (min-width:920px){.contact-grid{grid-template-columns:1fr 1.1fr;align-items:start}}
.info-list{list-style:none;display:grid;gap:1rem}
.info-list li{display:flex;gap:.9rem;align-items:flex-start}
.info-list .ico-wrap{width:46px;height:46px;border-radius:12px;background:var(--ecru);
  border:1px solid var(--line);color:var(--walnut);display:grid;place-items:center;flex:none}
.info-list .ico-wrap .ico{width:22px;height:22px}
.info-list .k{font-family:var(--sans);font-weight:700;font-size:.78rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--muted);margin-bottom:.1rem}
.info-list a,.info-list .v{color:var(--espresso);text-decoration:none;font-weight:600;font-size:1.05rem}
.info-list a:hover{color:var(--honey)}
.info-list .sub{display:block;font-weight:400;font-size:.9rem;color:var(--muted);margin-top:.15rem}

/* map in its own container */
.map-box{margin-top:1.6rem;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--line-strong);box-shadow:var(--shadow);background:var(--ecru)}
.map-box iframe{display:block;width:100%;height:300px;border:0}

/* form */
.form{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:1.6rem;box-shadow:var(--shadow)}
.form .row{display:grid;gap:1rem}
@media (min-width:560px){.form .row--2{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.field label{font-family:var(--sans);font-weight:700;font-size:.92rem;color:var(--espresso)}
.field label .req{color:var(--honey)}
.field input,.field select,.field textarea{font-family:var(--sans);font-size:1rem;color:var(--ink);
  background:var(--paper);border:1.5px solid var(--line-strong);border-radius:11px;
  padding:.85rem .95rem;min-height:50px;transition:border-color .15s,box-shadow .15s}
.field textarea{min-height:130px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;
  border-color:var(--honey);box-shadow:0 0 0 3px rgba(156,94,28,.18)}
.field .err{font-size:.84rem;color:#B42318;font-weight:600;display:none;align-items:center;gap:.35rem}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#B42318;background:#FEF3F2}
.field.invalid .err{display:flex}
.field .help{font-size:.84rem;color:var(--muted)}
.form__note{font-size:.86rem;color:var(--muted);margin:.4rem 0 0}
.form__ok{display:none;align-items:center;gap:.6rem;background:#ECFDF3;border:1px solid #ABEFC6;
  color:#067647;border-radius:12px;padding:1rem;font-weight:600;margin-bottom:1rem}
.form__ok.show{display:flex}
.form__ok .ico{color:#067647;flex:none}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(150deg,#2E211A,#46332552 120%),var(--walnut);
  color:#F4ECDD;border-radius:var(--radius-lg);padding:clamp(2rem,6vw,3.2rem);
  display:grid;gap:1.4rem;text-align:center;box-shadow:var(--shadow-lg)}
.cta-band h2{color:#FBF6EC;font-size:clamp(1.6rem,5vw,2.4rem)}
.cta-band p{color:#E7DAC4;max-width:52ch;margin-inline:auto}
.cta-band .btns{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}

/* ---------- Breadcrumb ---------- */
.breadcrumb{padding-top:1.2rem}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;
  font-size:.85rem;color:var(--muted)}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--honey)}
.breadcrumb li[aria-current="page"]{color:var(--espresso);font-weight:600}
.breadcrumb li+li::before{content:"›";margin-right:.4rem;color:var(--line-strong)}

/* ---------- Footer ---------- */
.site-footer{background:var(--espresso);color:#E7DAC4;padding-block:3rem 1.6rem;margin-top:0}
.footer-grid{display:grid;gap:2rem;grid-template-columns:1fr}
@media (min-width:760px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
.site-footer .brand{color:#FBF6EC}
.site-footer .brand small{color:var(--honey-lt)}
.footer-about{color:#CDBBA3;font-size:.95rem;margin-top:1rem;max-width:38ch}
.footer-col h4{font-family:var(--sans);font-weight:700;font-size:.8rem;text-transform:uppercase;
  letter-spacing:.12em;color:var(--honey-lt);margin-bottom:1rem}
.footer-col ul{list-style:none;display:grid;gap:.6rem}
.footer-col a{color:#E7DAC4;text-decoration:none;font-size:.97rem}
.footer-col a:hover{color:#FBF6EC;text-decoration:underline}
.footer-col .ico{width:1.05em;height:1.05em;color:var(--honey-lt);vertical-align:-2px;margin-right:.4rem}
.footer-bottom{border-top:1px solid rgba(244,236,221,.14);margin-top:2.4rem;padding-top:1.4rem;
  display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:space-between;
  font-size:.84rem;color:#B6A488}
.footer-bottom a{color:#B6A488}

/* ---------- Focus visibility ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--honey);outline-offset:2px;border-radius:4px}
.hero a:focus-visible,.section--dark a:focus-visible,.site-footer a:focus-visible,
.cta-band a:focus-visible{outline-color:var(--honey-lt)}

/* ---------- Reveal animations ---------- */
.reveal{opacity:0;transform:translateY(22px);
  transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}
.reveal--stagger>*{opacity:0;transform:translateY(20px);
  transition:opacity .6s var(--ease),transform .6s var(--ease);
  transition-delay:calc(var(--i,0)*70ms)}
.reveal--stagger.is-visible>*{opacity:1;transform:none}
.reveal-instant .reveal,.reveal-instant .reveal--stagger>*{opacity:1!important;transform:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal--stagger>*{opacity:1!important;transform:none!important;transition:none!important}
  .btn,.card,.tile{transition:none!important}
}
