/* =========================================================================
   INSPIRUJĄCY PARTNER — Marzena Krzewińska
   Barwy wyjęte pipetą z jej logo, nie dobrane: #024734 (ramka i litera „k"),
   #009639 (napis „Inspirujący Partner"), czerń napisu „Krzewińska".
   Kształt sygnaturowy: kwadrat z JEDNYM zaokrąglonym narożnikiem u góry
   po prawej — dokładnie jak w jej znaku.
   ========================================================================= */

/* --------------------------------------------------------------- KROJE */
/* Wygenerowane przez tools/fonty-lokalne.py. Pliki leżą u nas, nie w Google.
   Rodziny „zapasowy" mają miary policzone z pomiaru w przeglądarce, więc
   podmiana po wczytaniu nie rusza układu. */
@font-face{font-family:'Archivo';font-style:normal;font-weight:500 800;font-display:swap;src:url(../fonts/archivo-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:'Archivo';font-style:normal;font-weight:500 800;font-display:swap;src:url(../fonts/archivo-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-italic-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:'IBM Plex Sans';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/ibm-plex-sans-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:'IBM Plex Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(../fonts/ibm-plex-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo zapasowy';font-weight:1 600;src:local('Arial'),local('Helvetica'),local('Liberation Sans');size-adjust:100.17%;ascent-override:87.65%;descent-override:20.96%;line-gap-override:0%}
@font-face{font-family:'Archivo zapasowy';font-weight:601 1000;src:local('Arial Bold'),local('Helvetica Bold'),local('Liberation Sans Bold'),local('Arial');size-adjust:103.69%;ascent-override:84.68%;descent-override:20.25%;line-gap-override:0%}
@font-face{font-family:'IBM Plex Sans zapasowy';font-weight:1 1000;src:local('Arial'),local('Helvetica'),local('Liberation Sans');size-adjust:100.37%;ascent-override:102.13%;descent-override:27.4%;line-gap-override:0%}

/* --------------------------------------------------------------- TOKENY */
:root{
  /* Barwy marki */
  --ip-zielen:#024734;          /* ramka i litera z logo */
  --ip-zielen-jasna:#009639;    /* napis „Inspirujący Partner" — ozdobnie */
  --ip-akcent:#026E2B;          /* ta sama rodzina, 6,43:1 na bieli */
  --ip-akcent-kosc:#025C24;     /* na szalwii 5,26:1, bo #026E2B dawal 4,12 */
  --ip-atrament:#141816;
  --ip-atrament-slaby:#4A544E;
  --ip-szalwia:#C3D3C8;         /* tło sekcji przeplatanych, 1,56:1 do bieli */
  --ip-szalwia-mglista:#E4EBE6; /* tylko wewnątrz kart, nigdy jako tło sekcji */
  --ip-biel:#FFFFFF;
  --ip-obrys:#9FB3A6;          /* tylko linie dekoracyjne */
  --ip-obrys-pole:#7E9687;     /* pola formularza, 3,18:1 na bieli */
  --ip-obrys-slaby:#D7E0D9;
  /* Na ciemnej zieleni */
  --ip-na-ciemnym:#FFFFFF;
  --ip-na-ciemnym-slaby:#B9CEC2;  /* 6,49:1 */
  --ip-na-ciemnym-akcent:#7BD79E; /* 6,17:1 */

  /* Szerokości. Tekst NIGDY nie dostaje własnego max-width. */
  --w-content:clamp(17rem,92vw,75rem);
  --w-wide:clamp(17rem,96vw,88rem);
  --px:clamp(1.15rem,4vw,3rem);

  /* Siatka 8 px */
  /* Skala z audytu odstepow: 0 4 8 12 16 24 28 32 40 48 64 72 96 128.
     20 px w niej NIE MA, wiec tokenu na 1.25rem nie trzymamy. */
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s6:1.5rem;
  --s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;--s20:5rem;

  --sekcja:clamp(3.5rem,7vw,6rem);
  --sekcja-duza:clamp(4.5rem,9vw,7.5rem);

  /* Skala. Wzorzec arlek.pl: h1 50/28, h2 38/25, kontener 1286.
     Trzymamy się poniżej, bo „za wielkie" to najsilniejszy sygnał AI vibe. */
  --fs-h1:clamp(2rem,1.55rem + 1.9vw,2.75rem);      /* 32 → 44 */
  --fs-h2:clamp(1.5rem,1.2rem + 1.3vw,2.125rem);    /* 24 → 34 */
  --fs-h3:clamp(1.15rem,1.05rem + .35vw,1.3125rem); /* 18,4 → 21 */
  --fs-body:clamp(1.0625rem,1.03rem + .15vw,1.125rem);
  --fs-lead:clamp(1.125rem,1.05rem + .35vw,1.25rem);
  --fs-maly:.9375rem;
  --fs-nad:.8125rem;

  /* Trzy interlinie i trzy grubości na całą stronę. */
  --lh-ciasna:1.15;--lh-srednia:1.4;--lh-luzna:1.65;

  --r:14px;                 /* zwykłe zaokrąglenie */
  --r-znak:34px;            /* narożnik z jej znaku */
  --cien:0 1px 2px rgba(2,71,52,.06),0 8px 24px -12px rgba(2,71,52,.18);
  --cien-mocny:0 2px 4px rgba(2,71,52,.08),0 20px 44px -20px rgba(2,71,52,.28);
  --ease:cubic-bezier(.22,.8,.3,1);
  --dur:220ms;
}

/* ----------------------------------------------------------------- BAZA */
*,*::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(--ip-biel);
  color:var(--ip-atrament);
  font-family:'IBM Plex Sans','IBM Plex Sans zapasowy',system-ui,sans-serif;
  font-size:var(--fs-body);
  line-height:var(--lh-luzna);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.ip-bez-przewijania{overflow:hidden}

h1,h2,h3,h4{
  font-family:'Archivo','Archivo zapasowy',system-ui,sans-serif;
  font-weight:700;
  line-height:var(--lh-ciasna);
  letter-spacing:-.015em;
  margin:0 0 var(--s4);
  text-wrap:balance;
  color:var(--ip-zielen);
}
p{margin:0 0 var(--s4);text-wrap:pretty}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
img{max-width:100%;height:auto;display:block}
a{color:var(--ip-akcent);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--ip-zielen)}
:focus-visible{outline:3px solid var(--ip-akcent);outline-offset:3px;border-radius:4px}

.ip-pomin{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--ip-zielen);color:#fff;padding:var(--s3) var(--s6);
  border-radius:0 0 var(--r) 0;text-decoration:none;
}
.ip-pomin:focus{left:0}

.ip-kontener{width:var(--w-content);margin-inline:auto;padding-inline:var(--px)}

.ip-sekcja{padding-block:var(--sekcja)}
.ip-sekcja--kosc{background:var(--ip-szalwia)}
.ip-sekcja--kosc .ip-nadtytul,.ip-sekcja--kosc .ip-formy__tytul,
.ip-sekcja--kosc .ip-obszar__etykieta,.ip-sekcja--kosc .ip-karta__uwaga,
.ip-sekcja--kosc .ip-os__nr,.ip-fakty .ip-nadtytul{color:var(--ip-akcent-kosc)}
.ip-sekcja--kosc a{color:var(--ip-akcent-kosc)}
.ip-sekcja--ciemna{background:var(--ip-zielen);color:var(--ip-na-ciemnym);position:relative;overflow:hidden}
.ip-sekcja--ciemna h1,.ip-sekcja--ciemna h2,.ip-sekcja--ciemna h3{color:var(--ip-na-ciemnym)}
.ip-sekcja--ciemna a{color:var(--ip-na-ciemnym-akcent)}
.ip-sekcja--ciemna a:hover{color:#fff}

.ip-sekcja__glowa{margin-bottom:var(--s12)}
@media (min-width:1000px){.ip-obszary .ip-sekcja__glowa,.ip-oferta .ip-sekcja__glowa,.ip-kontakt .ip-sekcja__glowa,.ip-referencje .ip-sekcja__glowa{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--s16);align-items:end}
.ip-obszary .ip-sekcja__lead,.ip-oferta .ip-sekcja__lead,.ip-kontakt .ip-sekcja__lead,.ip-referencje .ip-sekcja__lead{grid-column:2;grid-row:1 / span 2;align-self:start}}
.ip-sekcja__naglowek{font-size:var(--fs-h2);margin-bottom:var(--s4)}
.ip-sekcja__lead{font-size:var(--fs-lead);line-height:var(--lh-srednia);color:var(--ip-atrament-slaby)}
.ip-sekcja--ciemna .ip-sekcja__lead{color:var(--ip-na-ciemnym-slaby)}

.ip-nadtytul{
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:var(--fs-nad);font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ip-akcent);
  margin:0 0 var(--s3);display:flex;align-items:center;gap:var(--s3);
}
.ip-nadtytul::before{content:"";width:26px;height:2px;background:currentColor;flex:none}
.ip-nadtytul--jasny{color:var(--ip-na-ciemnym-akcent)}

.ip-proza p{margin-bottom:var(--s6)}
.ip-proza h2{font-size:var(--fs-h2);margin-top:var(--s10)}
.ip-proza h3{font-size:var(--fs-h3);margin-top:var(--s8)}
.ip-proza ul{list-style:none;padding:0;margin:0 0 var(--s6)}
.ip-proza li{position:relative;padding-left:var(--s6);margin-bottom:var(--s2)}
.ip-proza li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--ip-zielen-jasna);border-radius:0 3px 0 0}

/* ------------------------------------------------------------- PRZYCISKI */
.ip-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  min-height:48px;padding:var(--s3) var(--s6);
  background:var(--ip-zielen);color:#fff;
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:var(--fs-maly);font-weight:700;letter-spacing:.01em;
  border:2px solid var(--ip-zielen);border-radius:0 var(--r) 0 var(--r);
  text-decoration:none;cursor:pointer;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.ip-btn:hover{background:#013828;border-color:#013828;color:#fff;transform:translateY(-2px)}
.ip-btn:active{transform:translateY(0)}
.ip-btn--duzy{min-height:56px;padding:var(--s4) var(--s8);font-size:1rem}
.ip-btn--maly{min-height:44px;padding:var(--s2) var(--s6)}
.ip-btn--obrys{background:transparent;color:var(--ip-zielen);border-color:var(--ip-zielen)}
.ip-btn--obrys:hover{background:var(--ip-zielen);border-color:var(--ip-zielen);color:#fff}
.ip-btn--jasny{background:#fff;color:var(--ip-zielen);border-color:#fff}
.ip-btn--jasny:hover{background:var(--ip-na-ciemnym-akcent);border-color:var(--ip-na-ciemnym-akcent);color:#04301f}
.ip-btn--obrys-jasny{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.ip-btn--obrys-jasny:hover{background:#fff;border-color:#fff;color:var(--ip-zielen)}
.ip-btn svg{flex:none}

.ip-etykieta{
  display:inline-block;padding:.28em .7em;
  background:var(--ip-szalwia);color:var(--ip-zielen);
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border-radius:0 8px 0 8px;
}

/* --------------------------------------------------- RAMKA Z JEJ ZNAKU */
/* Kwadrat z jednym zaokrąglonym narożnikiem u góry po prawej. */
.ip-ramka{
  position:relative;overflow:hidden;
  border-radius:0 var(--r-znak) 0 0;
  background:var(--ip-szalwia-mglista);
}
.ip-ramka>img{width:100%;height:100%;object-fit:cover;display:block}
.ip-ramka--film{aspect-ratio:16/9}
.ip-ramka--portret{aspect-ratio:auto}
.ip-ramka--portret>img{height:auto;object-fit:contain}

/* ----------------------------- IKONY OBSZARÓW (materiał klientki) ----- */
/* Maska, nie obrazek: dziedziczy barwę i działa tak samo na bieli,
   szałwii i ciemnej zieleni. */
.ip-znak{
  display:block;width:var(--bok,56px);height:var(--bok,56px);flex:none;
  background:currentColor;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}
.ip-znak--przywodztwo{-webkit-mask-image:url(../ikony/przywodztwo.png);mask-image:url(../ikony/przywodztwo.png)}
.ip-znak--zmiana{-webkit-mask-image:url(../ikony/zmiana.png);mask-image:url(../ikony/zmiana.png)}
.ip-znak--komunikacja{-webkit-mask-image:url(../ikony/komunikacja.png);mask-image:url(../ikony/komunikacja.png)}
.ip-znak--kultura{-webkit-mask-image:url(../ikony/kultura.png);mask-image:url(../ikony/kultura.png)}

.ip-znak-wodny{
  position:absolute;pointer-events:none;
  width:min(46vw,520px);aspect-ratio:1;
  background:currentColor;opacity:.055;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
  right:-6%;bottom:-12%;
}
.ip-znak-wodny--komunikacja{-webkit-mask-image:url(../ikony/komunikacja.png);mask-image:url(../ikony/komunikacja.png)}
.ip-znak-wodny--kultura{-webkit-mask-image:url(../ikony/kultura.png);mask-image:url(../ikony/kultura.png)}

/* ------------------------------------------------------------- NAGŁÓWEK */
.ip-naglowek{
  position:sticky;top:0;z-index:90;
  background:rgba(255,255,255,.94);
  backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--ip-obrys-slaby);
  transition:box-shadow var(--dur) var(--ease);
}
.ip-naglowek--przewiniety{box-shadow:0 8px 28px -20px rgba(2,71,52,.5)}
.ip-naglowek__srodek{
  width:var(--w-wide);margin-inline:auto;padding:var(--s4) var(--px);
  display:flex;align-items:center;gap:var(--s6);
}
.ip-naglowek__logo{flex:none;display:block;line-height:0}
.ip-naglowek__logo img{width:clamp(158px,17vw,206px);height:auto}

/* Menu to SAME NAPISY: bez tła, bez obwódki, bez podkreślenia.
   Po najechaniu zmienia się wyłącznie barwa napisu. */
.ip-menu{margin-left:auto}
.ip-menu__lista{display:flex;align-items:center;gap:clamp(1rem,2.1vw,2rem)}
.ip-menu__lista a{
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:.9375rem;font-weight:600;color:var(--ip-atrament);
  text-decoration:none;white-space:nowrap;
  transition:color var(--dur) var(--ease);
}
.ip-menu__lista a:hover{color:var(--ip-akcent)}
.ip-menu__lista .current-menu-item>a{color:var(--ip-zielen)}

.ip-naglowek__akcje{display:flex;align-items:center;gap:var(--s4);flex:none}
.ip-naglowek__tel{
  display:inline-flex;align-items:center;gap:var(--s2);
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-weight:700;font-size:.9375rem;color:var(--ip-zielen);text-decoration:none;
  transition:color var(--dur) var(--ease);
}
.ip-naglowek__tel:hover{color:var(--ip-akcent)}

.ip-hamburger{
  display:none;width:48px;height:48px;padding:12px;
  background:transparent;border:1px solid #7E9687;
  border-radius:0 10px 0 10px;cursor:pointer;
}
.ip-hamburger span{display:block;height:2px;background:var(--ip-zielen);border-radius:2px;margin:4px 0;transition:background var(--dur) var(--ease)}
.ip-hamburger:hover span{background:var(--ip-akcent)}

@media (max-width:1023px){
  .ip-menu,.ip-naglowek__tel{display:none}
  .ip-hamburger{display:block}
  .ip-naglowek__akcje{margin-left:auto}
}
@media (max-width:559px){
  .ip-naglowek__akcje .ip-btn--maly{display:none}
}

/* ---------------------------------------------------------- MENU MOBILNE */
.ip-menu-mobilne{
  position:fixed;inset:0;z-index:120;
  background:var(--ip-zielen);color:#fff;
  padding:var(--s6) var(--px) var(--s8);
  display:flex;flex-direction:column;gap:var(--s8);
  translate:100% 0;transition:translate 260ms var(--ease);
  overflow-y:auto;
}
.ip-menu-mobilne[hidden]{display:none}
.ip-menu-mobilne--otwarte{translate:0 0}
.ip-menu-mobilne__gora{display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
.ip-menu-mobilne__logo{width:170px;height:auto}
.ip-menu-mobilne__zamknij{
  width:48px;height:48px;display:grid;place-items:center;
  background:transparent;border:1px solid rgba(255,255,255,.4);
  border-radius:0 10px 0 10px;color:#fff;cursor:pointer;
  transition:background var(--dur) var(--ease)
}
.ip-menu-mobilne__zamknij:hover{background:rgba(255,255,255,.14)}
.ip-menu-mobilne__lista{display:flex;flex-direction:column;gap:var(--s2)}
.ip-menu-mobilne__lista a{
  display:block;padding:var(--s3) 0;
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:clamp(1.35rem,6vw,1.75rem);font-weight:700;
  color:#fff;text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.16);
  transition:color var(--dur) var(--ease)
}
.ip-menu-mobilne__lista a:hover{color:var(--ip-na-ciemnym-akcent)}
.ip-menu-mobilne__dol{margin-top:auto;display:flex;flex-direction:column;gap:var(--s3)}

/* ------------------------------------------------------------------ HERO */
/* Bez `100vh`: na laptopie 15 cali zepchnęłoby przycisk pod krawędź okna. */
.ip-hero{padding-block:clamp(2.5rem,5vw,4.5rem) clamp(3rem,6vw,5rem)}
.ip-hero__siatka{
  display:grid;gap:clamp(1.5rem,3vw,2.5rem) clamp(2rem,4vw,3.5rem);
  grid-template-areas:"naglowki" "film" "dol";
}
.ip-hero__naglowki{grid-area:naglowki}
.ip-hero__film{grid-area:film}
.ip-hero__dol{grid-area:dol}
.ip-hero__naglowek{font-size:var(--fs-h1);margin-bottom:0;max-width:none}
.ip-hero__lead{font-size:var(--fs-lead);line-height:var(--lh-srednia);color:var(--ip-atrament-slaby);margin-bottom:var(--s6)}
.ip-hero__akcje{display:flex;flex-wrap:wrap;gap:var(--s4);margin-bottom:var(--s6)}
.ip-hero__tel{font-size:var(--fs-maly);color:var(--ip-atrament-slaby)}
.ip-hero__tel a{font-weight:600;white-space:nowrap}

.ip-film{position:relative;width:100%;height:100%}
.ip-film img,.ip-film iframe{width:100%;height:100%;object-fit:cover;border:0;display:block}
.ip-film__start{
  position:absolute;inset:0;width:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);
  background:linear-gradient(180deg,rgba(2,71,52,.15),rgba(2,71,52,.55));
  color:#fff;border:0;cursor:pointer;
  font-family:'Archivo','Archivo zapasowy',sans-serif;font-weight:700;font-size:1rem;
  transition:background var(--dur) var(--ease)
}
.ip-film__start:hover{background:linear-gradient(180deg,rgba(2,71,52,.3),rgba(2,71,52,.7))}
.ip-film__start svg{transition:scale var(--dur) var(--ease)}
.ip-film__start:hover svg{scale:1.12}
.ip-film__brak{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);
  color:var(--ip-atrament-slaby);background:var(--ip-szalwia-mglista)
}

@media (min-width:900px){
  /* Na desktopie film stoi z prawej i zajmuje CALA wysokosc kolumny tekstu,
     inaczej pod nim zostaje pusty pas na pol ekranu. */
  .ip-hero__siatka{
    grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);
    grid-template-areas:"naglowki film" "dol film";
    align-content:center;
  }
  .ip-hero__film{align-self:center;display:flex}
  .ip-hero__film .ip-ramka--film{width:100%;aspect-ratio:4/3}
}

/* ----------------------------------------------------------------- FAKTY */
.ip-fakty{background:var(--ip-szalwia);padding-block:var(--s8)}
.ip-fakty__lista{display:grid;gap:var(--s6) var(--s8);grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.ip-fakty__pozycja{display:flex;flex-direction:column;gap:var(--s1)}
.ip-fakty__liczba{
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:clamp(1.75rem,1.3rem + 1.6vw,2.375rem);font-weight:800;
  color:var(--ip-zielen);line-height:1.05;letter-spacing:-.02em
}
.ip-fakty__opis{font-size:var(--fs-maly);line-height:var(--lh-srednia);color:var(--ip-atrament-slaby)}

/* ---------------------------------------------------------- Z CZYM DO MNIE */
.ip-przychodza .ip-sekcja__glowa{margin-bottom:var(--s10)}
.ip-cytaty{
  display:grid;gap:var(--s6);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));
}
.ip-cytat{
  position:relative;
  padding:calc(var(--s6) + 26px) var(--s6) var(--s6) var(--s6);
  background:rgba(255,255,255,.06);
  border-left:3px solid var(--ip-na-ciemnym-akcent);
  border-radius:0 var(--r) 0 0;
}
.ip-cytat p{
  font-style:italic;font-size:1.0625rem;line-height:var(--lh-srednia);
  color:var(--ip-na-ciemnym);margin:0
}
/* Znak cytatu stoi POZA przepływem: jako rodzeństwo akapitu tworzył szparę
   20,7 px, której nie ma w skali odstępów (0 4 8 12 16 24 28 32 40 48 64 72). */
.ip-cytat__znak{position:absolute;top:var(--s6);left:var(--s6);color:var(--ip-na-ciemnym-akcent);opacity:.85}
.ip-przychodza__domkniecie{
  margin-top:var(--s10);
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:clamp(1.15rem,1rem + .7vw,1.5rem);font-weight:700;
  letter-spacing:-.01em;color:var(--ip-na-ciemnym-akcent);
}

/* --------------------------------------------------------------- OBSZARY */
.ip-obszar--pas{
  display:grid;gap:clamp(1.75rem,3vw,3rem);align-items:center;
  padding:clamp(1.5rem,3vw,2.5rem);
  background:var(--ip-szalwia-mglista);
  border-radius:0 var(--r-znak) 0 0;
  margin-bottom:var(--s10);
}
.ip-obszar__glowa{display:flex;align-items:center;gap:var(--s4);margin-bottom:var(--s6)}
.ip-obszar__glowa .ip-znak{color:var(--ip-zielen)}
.ip-obszar__nazwa{font-size:var(--fs-h3);margin:0;text-transform:uppercase;letter-spacing:.02em}
.ip-obszar__wstep{font-size:1.0625rem;line-height:var(--lh-srednia);color:var(--ip-atrament-slaby);margin-bottom:var(--s6)}
.ip-obszar__etykieta{
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:var(--fs-nad);font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ip-akcent);margin-bottom:var(--s3)
}
.ip-obszar__punkty{display:grid;gap:var(--s2)}
.ip-obszar__punkty li{position:relative;padding-left:var(--s6);font-size:var(--fs-maly);line-height:var(--lh-srednia)}
.ip-obszar__punkty li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:var(--ip-zielen-jasna);border-radius:0 3px 0 0}
.ip-obszar__uwaga{
  margin-top:var(--s6);padding-top:var(--s4);
  border-top:1px solid var(--ip-obrys-slaby);
  font-size:var(--fs-maly);font-style:italic;color:var(--ip-atrament-slaby)
}
.ip-obszar__foto{display:flex;align-items:center}
.ip-obszar__foto .ip-ramka{aspect-ratio:880/620;width:100%}

@media (min-width:860px){
  .ip-obszar--pas{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
  .ip-obszar__punkty--dwie{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s6)}
}

.ip-obszary__siatka{display:grid;gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.ip-obszar--karta{
  display:flex;flex-direction:column;
  background:var(--ip-biel);
  border:1px solid var(--ip-obrys-slaby);
  border-radius:0 var(--r-znak) 0 0;
  overflow:hidden;
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.ip-obszar--karta:hover{border-color:var(--ip-obrys);box-shadow:var(--cien-mocny);transform:translateY(-3px)}
.ip-obszar__kadr{aspect-ratio:880/620;border-radius:0}
.ip-obszar__kadr::after{
  content:"";position:absolute;inset:auto 0 0 0;height:44%;
  background:linear-gradient(180deg,rgba(1,40,28,0),rgba(1,40,28,.72));
  pointer-events:none
}
.ip-obszar__kadr .ip-znak{
  position:absolute;left:var(--s6);bottom:var(--s6);z-index:1;
  color:#fff;filter:drop-shadow(0 2px 10px rgba(1,30,20,.8))
}
.ip-obszar--karta .ip-obszar__tresc{padding:var(--s6);display:flex;flex-direction:column;gap:0}
.ip-obszar--karta .ip-obszar__nazwa{margin-bottom:var(--s4)}

/* ------------------------------------------------------------------- PAS */
/* Zdjęcie wychodzi poza kontener, do krawędzi okna. Materiał 2604 px
   pokazany w polu 400 px to materiał zmarnowany. */
.ip-pas{position:relative;isolation:isolate;background:var(--ip-zielen)}
.ip-pas__foto{width:100%;aspect-ratio:2200/900;max-height:520px;min-height:230px;object-fit:cover;display:block}
.ip-pas__tresc{
  position:absolute;inset:0;display:flex;align-items:flex-end;
  padding-block:clamp(1.5rem,4vw,3rem);
  background:linear-gradient(180deg,rgba(1,40,28,0) 30%,rgba(1,40,28,.82) 100%);
}
.ip-pas__zdanie{
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:clamp(1.1rem,.85rem + 1.15vw,1.75rem);font-weight:700;
  line-height:var(--lh-ciasna);letter-spacing:-.01em;color:#fff;margin:0;
  text-shadow:0 1px 18px rgba(1,30,20,.55)
}

/* ----------------------------------------------------------- JAK PRACUJĘ */
.ip-jak__glowa{display:grid;gap:var(--s6);align-items:center;margin-bottom:var(--s12)}
.ip-jak__dlon{width:clamp(120px,16vw,200px);height:auto;justify-self:start;opacity:.95}
@media (min-width:860px){
  .ip-jak__glowa{grid-template-columns:minmax(0,1fr) auto}
  .ip-jak__dlon{justify-self:end}
}

.ip-os{display:grid;gap:var(--s6);counter-reset:krok}
.ip-os__krok{position:relative;padding-top:var(--s6);border-top:2px solid var(--ip-zielen)}
.ip-os__nr{
  display:block;margin-bottom:var(--s3);
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:.8125rem;font-weight:800;letter-spacing:.14em;color:var(--ip-akcent)
}
.ip-os__tytul{font-size:var(--fs-h3);margin-bottom:var(--s2)}
.ip-os__opis{font-size:var(--fs-maly);line-height:var(--lh-srednia);color:var(--ip-atrament-slaby);margin:0}
@media (min-width:760px){.ip-os{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--s8)}}

.ip-formy{margin-top:var(--s12);padding-top:var(--s8);border-top:1px solid var(--ip-obrys)}
.ip-formy__tytul{font-size:var(--fs-nad);text-transform:uppercase;letter-spacing:.16em;color:var(--ip-akcent);margin-bottom:var(--s6)}
.ip-formy__lista{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.ip-formy__lista li{display:flex;flex-direction:column;gap:2px}
.ip-formy__lista strong{
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:1rem;color:var(--ip-zielen);letter-spacing:-.01em
}
.ip-formy__lista span{font-size:var(--fs-maly);color:var(--ip-atrament-slaby);line-height:var(--lh-srednia)}

/* ---------------------------------------------------------------- OFERTA */
.ip-oferta__siatka{display:grid;gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start}
.ip-karta{
  display:flex;flex-direction:column;height:100%;
  background:var(--ip-biel);
  border:1px solid var(--ip-obrys-slaby);
  border-radius:0 var(--r-znak) 0 0;overflow:hidden;
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease);
}
.ip-karta:hover{border-color:var(--ip-obrys);box-shadow:var(--cien-mocny);transform:translateY(-3px)}
.ip-karta--wyrozniona{border-color:var(--ip-zielen);border-width:2px;box-shadow:var(--cien)}
.ip-karta--wkrotce{background:var(--ip-szalwia-mglista)}
.ip-karta__kadr{aspect-ratio:760/520;border-radius:0}
.ip-karta__tresc{padding:var(--s6);display:flex;flex-direction:column;gap:var(--s4);flex:1}
.ip-karta__glowa{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}
.ip-karta__nazwa{font-size:var(--fs-h3);margin:0}
.ip-karta__opis{font-size:var(--fs-maly);line-height:var(--lh-srednia);color:var(--ip-atrament-slaby);margin:0}
.ip-karta__uwaga{font-size:.875rem;color:var(--ip-akcent);font-weight:600;margin:0}
.ip-karta .ip-btn{margin-top:auto;align-self:flex-start}

.ip-cennik{display:grid;gap:var(--s2);margin:0}
.ip-cennik__wiersz{
  display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);
  padding-block:var(--s2);border-bottom:1px dashed var(--ip-obrys-slaby)
}
.ip-cennik__wiersz:last-child{border-bottom:0}
.ip-cennik__pozycja{font-size:var(--fs-maly);line-height:var(--lh-srednia)}
.ip-cennik__cena{display:flex;flex-direction:column;align-items:flex-end;text-align:right;flex:none}
.ip-cennik__cena strong{
  font-family:'Archivo','Archivo zapasowy',sans-serif;
  font-size:1.0625rem;font-weight:800;color:var(--ip-zielen);white-space:nowrap
}
.ip-cennik__cena small{font-size:.75rem;color:var(--ip-atrament-slaby);white-space:nowrap}

/* ---------------------------------------------------------------- O MNIE */
.ip-omnie__siatka{display:grid;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.ip-omnie__podpis{
  margin-top:var(--s4);font-size:var(--fs-maly);color:var(--ip-atrament-slaby);
  font-style:italic
}
.ip-kwalifikacje{display:grid;gap:var(--s4);margin:var(--s8) 0}
.ip-kwalifikacje li{padding-left:var(--s6);border-left:2px solid var(--ip-zielen-jasna);display:flex;flex-direction:column;gap:2px}
.ip-kwalifikacje strong{font-family:'Archivo','Archivo zapasowy',sans-serif;font-size:1rem;color:var(--ip-zielen)}
.ip-kwalifikacje span{font-size:var(--fs-maly);color:var(--ip-atrament-slaby);line-height:var(--lh-srednia)}
@media (min-width:860px){
  .ip-omnie__siatka{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)}
  .ip-kwalifikacje{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6) var(--s8)}
}

/* ------------------------------------------------------------ REFERENCJE */
.ip-referencje__lista{display:grid;gap:var(--s6);grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
/* Siedem skanow: przy piatce w wierszu zostawala dziura na dwa pola.
   Cztery kolumny daja 4+3 i kazdy skan jest o polowe wiekszy. */
@media (min-width:760px){.ip-referencje__lista{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ip-referencje__pozycja .ip-ramka{
  display:block;aspect-ratio:700/963;background:#fff;
  border:1px solid var(--ip-obrys-slaby);
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)
}
.ip-referencje__pozycja .ip-ramka:hover{border-color:var(--ip-zielen);box-shadow:var(--cien-mocny);transform:translateY(-3px)}
.ip-referencje__pozycja .ip-ramka>img{object-fit:cover;object-position:top}

/* --------------------------------------------------------------- KONTAKT */
.ip-kontakt__siatka{display:grid;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.ip-kontakt__tytul{font-size:var(--fs-h3);margin-bottom:var(--s6)}
.ip-kontakt__info{font-size:var(--fs-maly);color:var(--ip-atrament-slaby);margin-bottom:var(--s6)}
.ip-calendly{min-height:620px;border:1px solid var(--ip-obrys-slaby);border-radius:0 var(--r-znak) 0 0;overflow:hidden}
.ip-calendly__zastepnik{
  min-height:620px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s4);
  color:var(--ip-atrament-slaby);background:var(--ip-szalwia-mglista);padding:var(--s6);text-align:center
}
.ip-kontakt__dane{display:grid;gap:var(--s3);margin-top:var(--s6)}
.ip-kontakt__dane li{display:flex;gap:var(--s3);align-items:center;min-height:44px;font-size:var(--fs-maly);line-height:var(--lh-srednia)}
.ip-kontakt__dane svg{color:var(--ip-akcent);flex:none;margin-top:.2em}
.ip-kontakt__dane a{display:inline-flex;align-items:center;min-height:44px;color:var(--ip-atrament);text-decoration:none;font-weight:600}
.ip-kontakt__dane a:hover{color:var(--ip-akcent);text-decoration:underline}
@media (min-width:960px){.ip-kontakt__siatka{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ------------------------------------------------------------- FORMULARZ */
.ip-form__pola{display:grid;gap:var(--s4);margin-bottom:var(--s4)}
@media (min-width:560px){.ip-form__pola{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ip-form__pole{display:flex;flex-direction:column;gap:var(--s2);margin:0 0 var(--s4)}
.ip-form__pole label{font-size:.875rem;font-weight:600;color:var(--ip-zielen)}
.ip-form input[type=text],.ip-form input[type=email],.ip-form input[type=tel],.ip-form textarea{
  width:100%;min-height:48px;padding:var(--s3) var(--s4);
  font-family:inherit;font-size:1rem;color:var(--ip-atrament);
  background:var(--ip-biel);
  border:1px solid var(--ip-obrys-pole);border-radius:0 10px 0 10px;
  transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)
}
.ip-form textarea{min-height:130px;resize:vertical;line-height:var(--lh-srednia)}
.ip-form input:hover,.ip-form textarea:hover{border-color:var(--ip-zielen)}
.ip-form input:focus,.ip-form textarea:focus{
  outline:0;border-color:var(--ip-zielen);
  box-shadow:0 0 0 3px rgba(2,71,52,.16)
}
.ip-form__zgoda{margin-bottom:var(--s6)}
.ip-form__zgoda label{display:flex;gap:var(--s3);align-items:flex-start;font-size:.875rem;line-height:var(--lh-srednia);color:var(--ip-atrament-slaby);font-weight:400}
.ip-form__zgoda input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--ip-zielen)}
.ip-form__pulapka{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ip-form__odpowiedz{display:block;margin-top:var(--s4);font-size:var(--fs-maly);font-weight:600}
.ip-form__odpowiedz--ok{color:var(--ip-akcent)}
.ip-form__odpowiedz--blad{color:#9A2418}

/* ------------------------------------------------- NAGŁÓWEK PODSTRONY */
.ip-naglowek-strony{background:var(--ip-zielen);color:#fff;padding-block:clamp(2.5rem,5vw,4rem)}
.ip-naglowek-strony__tytul{color:#fff;font-size:var(--fs-h1);margin:0}

/* ------------------------------------------------------ W PRZYGOTOWANIU */
.ip-przygotowanie{
  background:var(--ip-zielen);color:#fff;
  min-height:78vh;display:flex;align-items:center;position:relative;overflow:hidden
}
.ip-przygotowanie::after{
  content:"";position:absolute;right:-8%;bottom:-14%;
  width:min(52vw,560px);aspect-ratio:472/530;
  background:url(../img/znak-k.png) center/contain no-repeat;
  opacity:.16;pointer-events:none
}
.ip-przygotowanie__srodek{position:relative;z-index:1;padding-block:var(--sekcja-duza)}
.ip-przygotowanie__naglowek{color:#fff;font-size:var(--fs-h1);margin-bottom:var(--s6)}
.ip-przygotowanie__lead{font-size:var(--fs-lead);line-height:var(--lh-srednia);color:var(--ip-na-ciemnym-slaby);margin-bottom:var(--s8)}
.ip-przygotowanie__punkty{display:grid;gap:var(--s3);margin-bottom:var(--s10)}
.ip-przygotowanie__punkty li{position:relative;padding-left:var(--s6);color:var(--ip-na-ciemnym)}
.ip-przygotowanie__punkty li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--ip-na-ciemnym-akcent);border-radius:0 3px 0 0}
.ip-przygotowanie__akcje{display:flex;flex-wrap:wrap;gap:var(--s4);margin-bottom:var(--s6)}
.ip-przygotowanie__tel{font-size:var(--fs-maly);color:var(--ip-na-ciemnym-slaby)}
.ip-przygotowanie__tel a{font-weight:600}

/* ---------------------------------------------------------------- STOPKA */
.ip-stopka{background:var(--ip-zielen);color:var(--ip-na-ciemnym);padding-block:var(--sekcja) var(--s8)}
.ip-stopka__siatka{display:grid;gap:var(--s10);margin-bottom:var(--s10)}
.ip-stopka__logo{width:200px;height:auto;margin-bottom:var(--s6)}
.ip-stopka__zdanie{font-size:var(--fs-maly);line-height:var(--lh-srednia);color:var(--ip-na-ciemnym-slaby);margin-bottom:var(--s6)}
.ip-stopka__tytul{
  font-size:var(--fs-nad);text-transform:uppercase;letter-spacing:.16em;
  color:var(--ip-na-ciemnym-akcent);margin-bottom:var(--s4)
}
.ip-stopka__lista{display:grid;gap:var(--s2)}
.ip-stopka__lista li{min-height:44px;display:flex;align-items:center}
.ip-stopka__lista li,.ip-stopka__lista a{font-size:var(--fs-maly);line-height:var(--lh-srednia);color:var(--ip-na-ciemnym-slaby)}
.ip-stopka__lista a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;transition:color var(--dur) var(--ease)}
.ip-stopka__lista a:hover{color:#fff;text-decoration:underline}
.ip-stopka__sieci{display:flex;gap:var(--s3)}
.ip-stopka__sieci a{
  width:44px;height:44px;display:grid;place-items:center;
  color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:0 10px 0 10px;
  transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)
}
.ip-stopka__sieci a:hover{background:#fff;border-color:#fff;color:var(--ip-zielen)}
.ip-stopka__dol{
  display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);justify-content:space-between;
  padding-top:var(--s6);border-top:1px solid rgba(255,255,255,.2)
}
.ip-stopka__dol p{margin:0;font-size:.875rem;color:var(--ip-na-ciemnym-slaby)}
.ip-stopka__dol a{color:var(--ip-na-ciemnym-akcent);text-decoration:none}
.ip-stopka__dol a:hover{color:#fff;text-decoration:underline}
@media (min-width:760px){.ip-stopka__siatka{grid-template-columns:1.35fr 1fr 1fr 1.1fr}}

/* --------------------------------------------------------------- COOKIES */
/* Element projektu, nie doklejka. Na telefonie zostawia miejsce po prawej
   na słuchawkę, inaczej słuchawka byłaby niedostępna. */
.ip-cookies{
  position:fixed;left:var(--s3);right:var(--s3);bottom:var(--s3);z-index:110;
  display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s6);
  padding:var(--s4) var(--s6);
  background:rgba(255,255,255,.97);backdrop-filter:blur(10px);
  border:1px solid var(--ip-obrys-pole);border-radius:0 var(--r) 0 var(--r);
  box-shadow:var(--cien-mocny);
  translate:0 140%;transition:translate 280ms var(--ease);
  max-width:min(980px,calc(100% - 2*var(--s3)));margin-inline:auto
}
.ip-cookies--widoczny{translate:0 0}
.ip-cookies__tekst{margin:0;font-size:.875rem;line-height:var(--lh-srednia);flex:1 1 260px;color:var(--ip-atrament-slaby)}
.ip-cookies__akcje{display:flex;gap:var(--s3);flex-wrap:wrap}
@media (max-width:719px){
  .ip-cookies{padding-right:76px}
  .ip-cookies__akcje{width:100%}
  .ip-cookies__akcje .ip-btn{flex:1}
}

/* ----------------------------------------------- TELEFON NA TELEFONIE */
.ip-tel-mobile{
  position:fixed;right:var(--s4);bottom:var(--s4);z-index:95;
  width:56px;height:56px;display:none;place-items:center;
  background:var(--ip-zielen);color:#fff;
  border-radius:0 var(--r) 0 var(--r);
  box-shadow:var(--cien-mocny);
  opacity:0;translate:0 12px;
  transition:opacity var(--dur) var(--ease),translate var(--dur) var(--ease),background var(--dur) var(--ease)
}
.ip-tel-mobile:hover{background:#013828;color:#fff}
.ip-tel-mobile--widoczny{opacity:1;translate:0 0}
@media (max-width:1023px){.ip-tel-mobile{display:grid}}

/* ---------------------------------------------------- WEJŚCIA SEKCJI */
/* Animacja jedzie po `translate`, NIGDY po `transform`: `fill-mode: both`
   przypina animowaną właściwość na zawsze i bije regułę `:hover`.
   `translate` i `transform` to osobne właściwości, więc najechanie działa. */
.ip-wejscie{opacity:0;translate:0 14px}
.ip-wejscie.ip-widoczne{animation:ip-wejscie 460ms var(--ease) both}
@keyframes ip-wejscie{
  from{opacity:0;translate:0 14px}
  to{opacity:1;translate:0 0}
}
@media (prefers-reduced-motion:reduce){
  .ip-wejscie{opacity:1;translate:0 0;animation:none}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}

/* Grafika drzewa obok nagłówka ciemnej sekcji. Ma własne ciemnozielone tło
   i własną proporcję 1134×1137, więc stoi w swojej proporcji, a nie jest
   ściskana pod kafel. */
.ip-przychodza__glowa{display:grid;gap:var(--s8);align-items:center;margin-bottom:var(--s10)}
.ip-przychodza__glowa .ip-sekcja__glowa{margin-bottom:0}
.ip-przychodza__grafika{border-radius:0 var(--r-znak) 0 0;overflow:hidden;justify-self:center;width:min(100%,360px)}
.ip-przychodza__grafika img{width:100%;height:auto;aspect-ratio:1134/1137;object-fit:cover;display:block}
@media (min-width:860px){
  .ip-przychodza__glowa{grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr)}
  .ip-przychodza__grafika{justify-self:end;width:min(100%,340px)}
}

/* Kwalifikacje pod obiema kolumnami, nie pod samym tekstem. Wcześniej
   lewa kolumna kończyła się na portrecie i pod nim zostawał pusty pas. */
/* W siatce margines DODAJE sie do przerwy miedzy kolumnami: 32 px gap
   plus 48 px marginesu dawalo 80 px, czyli wartosc spoza skali. */
.ip-omnie__kwalifikacje{margin-top:0;padding-top:var(--s10);border-top:1px solid var(--ip-obrys)}
@media (min-width:860px){.ip-omnie__kwalifikacje{grid-column:1 / -1}}
@media (min-width:860px){.ip-kwalifikacje{grid-template-columns:repeat(3,minmax(0,1fr))}}
.ip-kwalifikacje{margin:0}

/* Co się dzieje po zgłoszeniu. Do czasu podpięcia kalendarza ta kolumna
   byłaby pusta. */
.ip-kontakt__zanim{padding:var(--s6);background:var(--ip-szalwia-mglista);border-radius:0 var(--r-znak) 0 0;margin-bottom:var(--s8)}
.ip-kontakt__zanim .ip-kontakt__info{margin-bottom:var(--s6)}
.ip-kroki-kontakt{display:grid;gap:var(--s4);margin-bottom:var(--s6)}
.ip-kroki-kontakt li{display:flex;gap:var(--s4);align-items:flex-start;font-size:var(--fs-maly);line-height:var(--lh-srednia)}
.ip-kroki-kontakt span{
  flex:none;width:30px;height:30px;display:grid;place-items:center;
  background:var(--ip-zielen);color:#fff;border-radius:0 8px 0 8px;
  font-family:'Archivo','Archivo zapasowy',sans-serif;font-size:.875rem;font-weight:800
}

/* Gdy w oknie stoi PRAWDZIWY film, ramka wraca do 16:9 — inaczej odtwarzacz
   dostałby pole o innej proporcji i sam dorobiłby czarne pasy. Plakat może
   wypełnić kolumnę, film nie. */
@media (min-width:900px){
  .ip-hero__film .ip-ramka--wideo{aspect-ratio:16/9;min-height:0;align-self:center}
}


/* Na zakładkach w przygotowaniu ciemna sekcja styka się z ciemną stopką
   i granicy nie widać wcale. Jasna kreska jest tu jedynym rozwiązaniem:
   dwa ciemne tła nie rozejdą się bez zejścia w czerń. */
body.ip-prezentacja .ip-stopka{border-top:3px solid var(--ip-na-ciemnym-akcent)}

/* Dokument (polityka prywatności): tekst w KOLUMNIE, nie w obramowaniu.
   Szerokość kontenera zostaje ta sama co na całej stronie, a wiersz skraca
   sąsiadująca kolumna z danymi kontaktowymi. */
.ip-dokument{display:grid;gap:var(--s12)}
.ip-dokument__bok{
  padding:var(--s6);background:var(--ip-szalwia-mglista);
  border-radius:0 var(--r-znak) 0 0;align-self:start
}
.ip-dokument__bok .ip-formy__tytul{color:var(--ip-akcent)}
@media (min-width:1000px){
  .ip-dokument{grid-template-columns:minmax(0,8fr) minmax(0,4fr);column-gap:var(--s16)}
  .ip-dokument__bok{position:sticky;top:120px}
}

/* Odnośniki na ciemnym pełnym ekranie. Dziedziczyły barwę akcentu z bieli
   (1,67:1), a po najechaniu robiły się ciemnozielone na ciemnozielonym,
   czyli 1,00:1 — znikały (memory: lekcja-stan-hover-nikt-nie-mierzyl). */
.ip-przygotowanie a:not(.ip-btn){color:var(--ip-na-ciemnym-akcent)}
.ip-przygotowanie a:not(.ip-btn):hover{color:#fff}

/* Pola dotyku poniżej 44 px. Mierzone na telefonie, nie oszacowane. */
.ip-naglowek__logo{display:flex;align-items:center;min-height:44px}
.ip-stopka__dol a{display:inline-flex;align-items:center;min-height:44px}
.ip-przygotowanie__tel a{display:inline-flex;align-items:center;min-height:44px}
/* W prozie odnośnik siedzi w środku zdania, więc nie robimy z niego bloku.
   Dopełnienie pionowe powiększa obszar trafienia, a nie rusza łamania. */
.ip-proza a{padding-block:.72em;overflow-wrap:anywhere}
.ip-proza{overflow-wrap:break-word}
