/* ==========================================================================
   PALMARIUM — Construction and Development Company
   System wizualny: grafit + złoto, typografia Instrument Serif / Inter Tight
   ========================================================================== */

:root{
  /* Marka */
  --gold:        #D19526;
  --gold-soft:   #E0B061;
  --gold-deep:   #A9741A;
  --ink:         #0F161C;
  --ink-2:       #161F27;
  --ink-3:       #1E2932;

  /* Papier */
  --paper:       #F7F5F1;
  --paper-2:     #EFEBE4;
  --paper-3:     #E2DCD2;

  /* Tekst */
  --tx:          #141B21;
  --tx-2:        #4A5661;
  --tx-3:        #78838D;
  --tx-inv:      #F3F0EA;
  --tx-inv-2:    #A7B0B8;
  --tx-inv-3:    #6E7A85;

  /* Linie */
  --line:        rgba(15,22,28,.14);
  --line-soft:   rgba(15,22,28,.08);
  --line-inv:    rgba(243,240,234,.18);
  --line-inv-soft: rgba(243,240,234,.09);

  /* Typografia */
  --display: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --sans: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Rytm */
  --gut: clamp(20px, 5vw, 64px);
  --maxw: 1360px;
  --sec: clamp(72px, 11vw, 168px);

  --ease: cubic-bezier(.22,.61,.36,1);
}

*,*::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(--tx);
  font-family:var(--sans);
  font-size:clamp(15.5px,.55vw + 14px,17px);
  line-height:1.62;
  font-weight:400;
  letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }

::selection{ background:var(--gold); color:#fff; }

:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; border-radius:2px; }

/* ---------- Typografia ------------------------------------------------- */

h1,h2,h3,h4{ margin:0; font-weight:400; letter-spacing:-.02em; line-height:1.06; }

.display{
  font-family:var(--display);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.018em;
}
.d1{ font-size:clamp(2.5rem, 6vw, 5.6rem); }
.d2{ font-size:clamp(2.3rem, 5vw, 4.3rem); }
.d3{ font-size:clamp(1.85rem, 3.2vw, 2.9rem); }
.display em{ font-style:italic; color:var(--gold-deep); }
.on-dark .display em, .sec--dark .display em{ color:var(--gold-soft); }

.lede{
  font-size:clamp(1.06rem,.6vw + 1rem,1.34rem);
  line-height:1.55;
  color:var(--tx-2);
  letter-spacing:-.012em;
  max-width:62ch;
}
.sec--dark .lede{ color:var(--tx-inv-2); }

.eyebrow{
  display:flex; align-items:center; gap:.7em;
  font-size:.685rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--tx-3);
  font-variant-numeric:tabular-nums;
}
.eyebrow::before{
  content:""; width:26px; height:1px; background:var(--gold); flex:none;
}
.sec--dark .eyebrow{ color:var(--tx-inv-3); }

.num{
  font-variant-numeric:tabular-nums;
  font-size:.685rem; font-weight:600; letter-spacing:.16em;
  color:var(--gold-deep);
}
.sec--dark .num{ color:var(--gold); }

p{ margin:0 0 1.1em; }
p:last-child{ margin-bottom:0; }

/* ---------- Layout ----------------------------------------------------- */

.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }

.sec{ padding-block:var(--sec); position:relative; }
.sec--tight{ padding-block:clamp(52px,7vw,104px); }
.sec--dark{ background:var(--ink); color:var(--tx-inv); }
.sec--dark h1,.sec--dark h2,.sec--dark h3{ color:var(--tx-inv); }
.sec--tone{ background:var(--paper-2); }

.rule{ height:1px; background:var(--line); border:0; margin:0; }
.sec--dark .rule{ background:var(--line-inv); }

/* Nagłówek sekcji: numer + tytuł + opis */
.sechead{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:clamp(18px,2.4vw,30px);
  padding-top:clamp(22px,3vw,40px);
  border-top:1px solid var(--line);
}
.sec--dark .sechead{ border-top-color:var(--line-inv); }
@media (min-width:900px){
  .sechead{ grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); column-gap:clamp(40px,6vw,110px); align-items:start; }
  .sechead__aside{ padding-top:.5rem; }
}
.sechead__top{ display:flex; gap:1.4rem; align-items:baseline; margin-bottom:1.1rem; flex-wrap:wrap; }

/* ---------- Nagłówek strony -------------------------------------------- */

.hdr{
  position:fixed; inset:0 0 auto 0; z-index:80;
  transition:background .45s var(--ease), border-color .45s var(--ease), transform .4s var(--ease);
  border-bottom:1px solid transparent;
}
.hdr__in{
  display:flex; align-items:center; justify-content:space-between;
  gap:2rem; height:var(--hdr-h,84px);
  transition:height .4s var(--ease);
}
.hdr--solid{ background:rgba(15,22,28,.94); backdrop-filter:blur(14px) saturate(1.3); border-bottom-color:var(--line-inv-soft); }
.hdr--solid .hdr__in{ --hdr-h:68px; }
.hdr--hide{ transform:translateY(-102%); }

.brand{ display:flex; align-items:center; flex:none; }
.brand img{ height:clamp(23px,2.4vw,29px); width:auto; }

.nav{ display:none; }
@media (min-width:1040px){
  .nav{ display:flex; align-items:center; gap:clamp(18px,2.1vw,34px); }
}
.nav a{
  font-size:.845rem; font-weight:500; letter-spacing:-.005em;
  color:var(--tx-inv-2); position:relative; padding-block:.4em;
  transition:color .25s var(--ease);
}
.nav a::after{
  content:""; position:absolute; left:0; right:100%; bottom:.05em; height:1px;
  background:var(--gold); transition:right .35s var(--ease);
}
.nav a:hover{ color:var(--tx-inv); }
.nav a:hover::after{ right:0; }
.nav a[aria-current="page"]{ color:var(--tx-inv); }
.nav a[aria-current="page"]::after{ right:0; }

/* wyższa specyficzność niż .btn, które definiuje display niżej w pliku */
.hdr .hdr__cta{ display:none; }
@media (min-width:1040px){ .hdr .hdr__cta{ display:inline-flex; } }

/* Przycisk hamburger */
.burger{
  display:grid; place-items:center; width:44px; height:44px; margin-right:-10px; flex:none;
}
@media (min-width:1040px){ .burger{ display:none; } }
.burger span{ display:block; width:22px; height:1.5px; background:var(--tx-inv); transition:transform .35s var(--ease), opacity .2s; }
.burger span+span{ margin-top:6px; }
body.is-locked .burger span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
body.is-locked .burger span:nth-child(2){ opacity:0; }
body.is-locked .burger span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

/* Menu mobilne */
.mnav{
  position:fixed; inset:0; z-index:70; background:var(--ink);
  padding:calc(var(--hdr-h,84px) + 5vh) var(--gut) 4vh;
  display:flex; flex-direction:column; justify-content:space-between;
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .4s var(--ease), transform .4s var(--ease), visibility .4s;
}
.mnav[data-open="true"]{ opacity:1; visibility:visible; transform:none; }
.mnav a.mnav__lnk{
  display:block; font-family:var(--display); font-size:clamp(1.9rem,7vw,2.8rem);
  color:var(--tx-inv); padding-block:.24em; border-bottom:1px solid var(--line-inv-soft);
  line-height:1.1;
}
.mnav a.mnav__lnk:first-child{ border-top:1px solid var(--line-inv-soft); }
.mnav__foot{ color:var(--tx-inv-2); font-size:.9rem; display:grid; gap:.4rem; padding-top:2rem; }
.mnav__foot a{ color:var(--tx-inv); }

/* ---------- Przyciski --------------------------------------------------- */

.btn{
  display:inline-flex; align-items:center; gap:.8em;
  padding:.92em 1.6em;
  font-size:.845rem; font-weight:600; letter-spacing:.02em;
  border-radius:2px;
  position:relative; overflow:hidden; isolation:isolate;
  transition:color .3s var(--ease), border-color .3s var(--ease);
  white-space:nowrap;
}
.btn::before{
  content:""; position:absolute; inset:0; z-index:-1;
  transform:translateY(101%); transition:transform .42s var(--ease);
}
.btn:hover::before{ transform:none; }
.btn svg{ flex:none; transition:transform .35s var(--ease); }
.btn:hover svg{ transform:translateX(4px); }

.btn--gold{ background:var(--gold); color:#1a1206; }
.btn--gold::before{ background:var(--ink); }
.btn--gold:hover{ color:var(--paper); }

.btn--ghost{ border:1px solid var(--line-inv); color:var(--tx-inv); }
.btn--ghost::before{ background:var(--paper); }
.btn--ghost:hover{ color:var(--ink); border-color:var(--paper); }

.btn--dark{ border:1px solid var(--line); color:var(--tx); }
.btn--dark::before{ background:var(--ink); }
.btn--dark:hover{ color:var(--paper); border-color:var(--ink); }

/* Link ze strzałką */
.alink{
  display:inline-flex; align-items:center; gap:.6em;
  font-size:.86rem; font-weight:600; letter-spacing:.01em;
  padding-bottom:.35em; border-bottom:1px solid var(--line);
  transition:border-color .3s var(--ease), gap .3s var(--ease);
}
.alink:hover{ border-bottom-color:var(--gold); gap:.95em; }
.sec--dark .alink{ border-bottom-color:var(--line-inv); }
.sec--dark .alink:hover{ border-bottom-color:var(--gold); }
.alink svg{ flex:none; }

/* ---------- Hero -------------------------------------------------------- */

.hero{
  position:relative; background:var(--ink); color:var(--tx-inv);
  min-height:min(100svh,940px);
  display:flex; flex-direction:column; justify-content:flex-end;
  padding-top:calc(var(--hdr-h,84px) + 8vh);
  padding-bottom:clamp(34px,5vw,64px);
  overflow:hidden;
}
.hero--sub{ min-height:min(72svh,720px); }

.hero__bg{ position:absolute; inset:0; z-index:0; }
.hero__bg img{
  width:100%; height:100%; object-fit:cover;
  opacity:.84;
  transform:scale(1.06);
  animation:heroIn 2.4s var(--ease) forwards;
}
@keyframes heroIn{ to{ transform:scale(1); } }
@media (prefers-reduced-motion:reduce){ .hero__bg img{ animation:none; transform:none; } }
.hero__bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(to top, var(--ink) 0%, rgba(15,22,28,.58) 30%, rgba(15,22,28,.16) 100%),
    linear-gradient(to right, rgba(15,22,28,.84) 0%, rgba(15,22,28,0) 58%);
}
.hero__in{ position:relative; z-index:1; width:100%; }
.hero h1{ max-width:22ch; margin-bottom:clamp(20px,2.4vw,30px); }
.hero .lede{ max-width:52ch; color:var(--tx-inv-2); }
.hero__acts{ display:flex; flex-wrap:wrap; gap:.85rem; margin-top:clamp(26px,3.2vw,40px); }

.hero__meta{
  margin-top:clamp(44px,6vw,84px);
  padding-top:1.5rem; border-top:1px solid var(--line-inv);
  display:grid; gap:1.5rem 2rem;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}
.hero__meta div{ display:grid; gap:.35rem; }
.hero__meta dt, .hero__meta b{
  font-size:.66rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase; color:var(--tx-inv-2);
}
.hero__meta dd, .hero__meta span{
  margin:0; font-family:var(--display); font-size:clamp(1.35rem,2vw,1.85rem); line-height:1.1; color:var(--tx-inv);
}

/* Pasek przewijania w dół */
.scrollcue{
  position:absolute; right:var(--gut); bottom:clamp(34px,5vw,64px); z-index:2;
  display:none; align-items:center; gap:.7rem;
  font-size:.66rem; letter-spacing:.17em; text-transform:uppercase; color:var(--tx-inv-3);
}
@media (min-width:900px){ .scrollcue{ display:flex; } }
.scrollcue i{ display:block; width:1px; height:44px; background:linear-gradient(var(--gold),transparent); }

/* ---------- Karty / siatki --------------------------------------------- */

.grid{ display:grid; gap:clamp(16px,2vw,26px); }
.g2{ grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.g3{ grid-template-columns:repeat(auto-fit,minmax(min(100%,268px),1fr)); }
.g4{ grid-template-columns:repeat(auto-fit,minmax(min(100%,208px),1fr)); }

/* Lista zakresu prac */
.scope{ display:grid; gap:0; margin:0; padding:0; list-style:none; counter-reset:s; }
.scope li{
  display:grid; grid-template-columns:auto 1fr; gap:1.2rem;
  padding:clamp(15px,1.7vw,22px) 0;
  border-top:1px solid var(--line);
  align-items:baseline;
}
.scope li:last-child{ border-bottom:1px solid var(--line); }
.sec--dark .scope li{ border-color:var(--line-inv); }
.scope li::before{
  counter-increment:s; content:counter(s,decimal-leading-zero);
  font-size:.66rem; font-weight:600; letter-spacing:.13em; color:var(--gold-deep);
  font-variant-numeric:tabular-nums;
}
.sec--dark .scope li::before{ color:var(--gold); }
.scope b{ font-weight:600; letter-spacing:-.01em; }
.scope p{ color:var(--tx-2); font-size:.95rem; margin:.3em 0 0; }
.sec--dark .scope p{ color:var(--tx-inv-2); }

/* Kafel karty */
.card{
  display:flex; flex-direction:column; gap:.8rem;
  padding:clamp(22px,2.6vw,34px);
  background:var(--paper);
  border:1px solid var(--line-soft);
  border-radius:3px;
  transition:border-color .35s var(--ease), transform .45s var(--ease), box-shadow .45s var(--ease);
}
.sec--tone .card{ background:#fff; }
.sec--dark .card{ background:var(--ink-2); border-color:var(--line-inv-soft); }
a.card:hover{ border-color:var(--gold); transform:translateY(-3px); box-shadow:0 18px 40px -26px rgba(15,22,28,.5); }
.card h3{ font-size:1.14rem; font-weight:600; letter-spacing:-.015em; line-height:1.28; }
.card p{ color:var(--tx-2); font-size:.94rem; }
.sec--dark .card p{ color:var(--tx-inv-2); }
.card__k{
  font-family:var(--display); font-size:clamp(2rem,3.4vw,3rem); line-height:1; color:var(--gold-deep);
}
.sec--dark .card__k{ color:var(--gold); }

/* Duże kafle ścieżek */
.paths{ display:grid; gap:1px; background:var(--line); border-block:1px solid var(--line); }
@media (min-width:860px){ .paths{ grid-template-columns:1fr 1fr; } }
.sec--dark .paths{ background:var(--line-inv); border-color:var(--line-inv); }
.path{
  position:relative; display:flex; flex-direction:column; justify-content:flex-end; gap:1rem;
  min-height:clamp(360px,42vw,520px);
  padding:clamp(26px,3.4vw,52px);
  background:var(--ink); color:var(--tx-inv); overflow:hidden; isolation:isolate;
}
.path__bg{ position:absolute; inset:0; z-index:-2; }
.path__bg img{ width:100%; height:100%; object-fit:cover; opacity:.42; transition:transform 1.1s var(--ease), opacity .6s; }
.path::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(to top, rgba(15,22,28,.94) 8%, rgba(15,22,28,.38) 68%);
}
.path:hover .path__bg img{ transform:scale(1.055); opacity:.55; }
.path h3{ font-family:var(--display); font-size:clamp(1.75rem,3.1vw,2.6rem); line-height:1.05; }
.path p{ color:var(--tx-inv-2); font-size:.98rem; max-width:44ch; }
.path .alink{ align-self:flex-start; border-bottom-color:var(--line-inv); color:var(--tx-inv); margin-top:.4rem; }
.path:hover .alink{ border-bottom-color:var(--gold); }

/* ---------- Realizacje --------------------------------------------------- */

.works{ display:grid; gap:clamp(20px,2.6vw,38px); }
@media (min-width:760px){ .works{ grid-template-columns:1fr 1fr; } }
@media (min-width:1180px){ .works--3{ grid-template-columns:repeat(3,1fr); } }

.work{ display:block; group:work; }
.work__fig{
  position:relative; overflow:hidden; background:var(--paper-3);
  aspect-ratio:4/3; border-radius:3px;
}
.work__fig img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease), filter .6s; }
.work:hover .work__fig img{ transform:scale(1.045); }
.work__tag{
  position:absolute; left:14px; top:14px; z-index:2;
  padding:.42em .8em; border-radius:2px;
  background:rgba(15,22,28,.82); backdrop-filter:blur(6px);
  color:var(--tx-inv); font-size:.64rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
}
.work__body{ padding-top:1.05rem; display:grid; gap:.35rem; }
.work__body h3{ font-size:1.16rem; font-weight:600; letter-spacing:-.015em; }
.work__meta{
  display:flex; flex-wrap:wrap; gap:.45rem 1rem;
  font-size:.8rem; color:var(--tx-3); font-variant-numeric:tabular-nums;
}
.sec--dark .work__meta{ color:var(--tx-inv-3); }
.work__meta span{ display:inline-flex; align-items:center; gap:.4em; }
.work__meta span+span::before{ content:""; width:3px; height:3px; border-radius:50%; background:currentColor; margin-right:.6em; }

/* Galeria */
.gal{ display:grid; gap:clamp(10px,1.3vw,18px); grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); }
.gal__i{ position:relative; overflow:hidden; background:var(--paper-3); border-radius:2px; aspect-ratio:1/1; }
.gal__i img{ width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease); }
.gal__i:hover img{ transform:scale(1.05); }
.gal__i--wide{ grid-column:span 2; aspect-ratio:2/1; }
@media (max-width:560px){ .gal__i--wide{ grid-column:span 1; aspect-ratio:4/3; } }

/* Lightbox */
.lb{
  position:fixed; inset:0; z-index:120; background:rgba(9,13,17,.97);
  display:grid; place-items:center; padding:clamp(14px,4vw,52px);
  opacity:0; visibility:hidden; transition:opacity .3s var(--ease), visibility .3s;
}
.lb[data-open="true"]{ opacity:1; visibility:visible; }
.lb img{ max-width:100%; max-height:84svh; object-fit:contain; border-radius:2px; }
.lb__bar{
  position:absolute; left:0; right:0; bottom:clamp(14px,3vw,32px);
  display:flex; align-items:center; justify-content:center; gap:1.6rem;
  color:var(--tx-inv-2); font-size:.78rem; font-variant-numeric:tabular-nums; letter-spacing:.1em;
}
.lb__x{ position:absolute; top:clamp(12px,2.4vw,26px); right:clamp(12px,2.4vw,26px); width:44px; height:44px; color:var(--tx-inv); display:grid; place-items:center; }
.lb__nav{ width:46px; height:46px; border:1px solid var(--line-inv); border-radius:50%; display:grid; place-items:center; color:var(--tx-inv); transition:background .3s,color .3s,border-color .3s; }
.lb__nav:hover{ background:var(--paper); color:var(--ink); border-color:var(--paper); }

/* ---------- Statystyki ---------------------------------------------------- */

.stats{ display:grid; gap:1px; background:var(--line-inv); border-block:1px solid var(--line-inv); }
@media (min-width:640px){ .stats{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1000px){ .stats{ grid-template-columns:repeat(4,1fr); } }
.stat{ background:var(--ink); padding:clamp(24px,3vw,42px) clamp(18px,2.4vw,32px); display:grid; gap:.5rem; align-content:start; }
.stat__n{ font-family:var(--display); font-size:clamp(2.6rem,5.4vw,4.1rem); line-height:.95; color:var(--gold); letter-spacing:-.03em; }
.stat__l{ font-size:.87rem; color:var(--tx-inv-2); line-height:1.4; }

/* ---------- Proces -------------------------------------------------------- */

.steps{ display:grid; gap:0; counter-reset:st; }
.step{
  display:grid; gap:.7rem 2.6rem; align-items:start;
  padding:clamp(26px,3.2vw,44px) 0;
  border-top:1px solid var(--line);
  position:relative;
}
.step:last-child{ border-bottom:1px solid var(--line); }
.sec--dark .step{ border-color:var(--line-inv); }
@media (min-width:840px){
  .step{ grid-template-columns:88px minmax(0,.85fr) minmax(0,1.15fr); }
}
.step__n{
  font-family:var(--display); font-size:clamp(1.9rem,3vw,2.6rem); line-height:1;
  color:var(--gold-deep); letter-spacing:-.02em;
}
.sec--dark .step__n{ color:var(--gold); }
.step h3{ font-size:clamp(1.2rem,1.8vw,1.5rem); font-weight:600; letter-spacing:-.018em; }
.step p{ color:var(--tx-2); }
.sec--dark .step p{ color:var(--tx-inv-2); }

/* ---------- Standardy ------------------------------------------------------ */

.tiers{ display:grid; gap:clamp(18px,2.2vw,30px); }
@media (min-width:900px){ .tiers{ grid-template-columns:repeat(3,1fr); } }
.tier{
  display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--line); border-radius:3px; background:#fff;
  transition:border-color .35s var(--ease), transform .45s var(--ease);
}
.tier:hover{ border-color:var(--gold); transform:translateY(-3px); }
.tier__fig{ aspect-ratio:16/10; overflow:hidden; background:var(--paper-3); }
.tier__fig img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.tier:hover .tier__fig img{ transform:scale(1.05); }
.tier__b{ padding:clamp(20px,2.4vw,30px); display:grid; gap:.7rem; align-content:start; flex:1; }
.tier h3{ font-family:var(--display); font-size:clamp(1.5rem,2.2vw,1.95rem); }
.tier p{ color:var(--tx-2); font-size:.94rem; }
.tier ul{ margin:.4rem 0 0; padding:0; list-style:none; display:grid; gap:.42rem; }
.tier li{ font-size:.9rem; color:var(--tx-2); padding-left:1.2em; position:relative; }
.tier li::before{ content:""; position:absolute; left:0; top:.62em; width:6px; height:1px; background:var(--gold); }

/* ---------- Kontakt / formularz -------------------------------------------- */

.form{ display:grid; gap:clamp(14px,1.7vw,20px); }
@media (min-width:680px){ .form__row{ display:grid; grid-template-columns:1fr 1fr; gap:inherit; } }
.field{ display:grid; gap:.45rem; }
.field label{ font-size:.7rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--tx-inv-3); }
.field input,.field textarea,.field select{
  width:100%; padding:.92em 1em;
  background:transparent; color:var(--tx-inv);
  border:1px solid var(--line-inv); border-radius:2px;
  font:inherit; font-size:.95rem;
  transition:border-color .3s var(--ease), background .3s;
}
.field textarea{ min-height:130px; resize:vertical; }
.field input:focus,.field textarea:focus,.field select:focus{ outline:none; border-color:var(--gold); background:rgba(255,255,255,.03); }
.field select option{ background:var(--ink); color:var(--tx-inv); }
.consent{ display:flex; gap:.8rem; align-items:flex-start; font-size:.82rem; color:var(--tx-inv-3); line-height:1.5; }
.consent input{ width:17px; height:17px; margin-top:.22em; flex:none; accent-color:var(--gold); }

.cinfo{ display:grid; gap:clamp(20px,2.4vw,30px); }
.cinfo dl{ margin:0; display:grid; gap:.3rem; padding-top:1.1rem; border-top:1px solid var(--line-inv); }
.cinfo dt{ font-size:.68rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--tx-inv-3); }
.cinfo dd{ margin:0; font-size:1.02rem; }
.cinfo dd a:hover{ color:var(--gold); }

/* ---------- Stopka ---------------------------------------------------------- */

.ftr{ background:var(--ink); color:var(--tx-inv); padding-top:clamp(56px,7vw,96px); }
.ftr__top{ display:grid; gap:clamp(32px,4vw,56px); padding-bottom:clamp(40px,5vw,72px); }
@media (min-width:900px){ .ftr__top{ grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr)); } }
.ftr__brand img{ height:30px; width:auto; margin-bottom:1.3rem; }
.ftr__brand p{ color:var(--tx-inv-2); max-width:42ch; font-size:.95rem; }
.ftr h4{ font-size:.68rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--tx-inv-3); margin-bottom:1.15rem; }
.ftr ul{ margin:0; padding:0; list-style:none; display:grid; gap:.6rem; }
.ftr a{ color:var(--tx-inv-2); font-size:.94rem; transition:color .25s; }
.ftr a:hover{ color:var(--gold); }
.ftr__bot{
  border-top:1px solid var(--line-inv); padding-block:1.6rem 2rem;
  display:flex; flex-wrap:wrap; gap:.6rem 2rem; justify-content:space-between;
  font-size:.8rem; color:var(--tx-inv-3);
}

/* ---------- Animacja wejścia -------------------------------------------------- */

[data-rv]{ opacity:0; transform:translateY(18px); }
[data-rv].rv-in{ opacity:1; transform:none; transition:opacity .85s var(--ease), transform .85s var(--ease); }
[data-rv-d="1"].rv-in{ transition-delay:.09s; }
[data-rv-d="2"].rv-in{ transition-delay:.18s; }
[data-rv-d="3"].rv-in{ transition-delay:.27s; }
[data-rv-d="4"].rv-in{ transition-delay:.36s; }
@media (prefers-reduced-motion:reduce){
  [data-rv]{ opacity:1; transform:none; }
}

/* ---------- Drobiazgi ---------------------------------------------------------- */

.skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--gold); color:#1a1206; padding:.8em 1.2em; font-weight:600;
}
.skip:focus{ left:var(--gut); top:12px; }

.crumbs{ display:flex; flex-wrap:wrap; gap:.55rem; font-size:.78rem; color:var(--tx-inv-3); margin-bottom:1.6rem; }
.crumbs a:hover{ color:var(--gold); }
.crumbs span{ opacity:.5; }

.figcap{ font-size:.78rem; color:var(--tx-3); margin-top:.7rem; }
.sec--dark .figcap{ color:var(--tx-inv-3); }

.split{ display:grid; gap:clamp(30px,4vw,72px); align-items:center; }
@media (min-width:900px){ .split{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.split--wide-r{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.split__fig{ position:relative; border-radius:3px; overflow:hidden; background:var(--paper-3); }
.split__fig img{ width:100%; height:100%; object-fit:cover; }
.split__fig--tall{ aspect-ratio:4/5; }
.split__fig--wide{ aspect-ratio:5/4; }

.band{ position:relative; overflow:hidden; background:var(--ink); }
.band img{ width:100%; height:clamp(280px,44vw,600px); object-fit:cover; opacity:.62; }
