/* UP23 motyw 2.0.0: core.css
   Jedno źródło tokenów i wspólnych komponentów. Źródło: makieta v12 (zatwierdzona 23.10.2026),
   wartości zgodne z 03-DESIGN-SYSTEM-KLIENT.md. Pochodzenie wartości: [klient] / [zatwierdzone]. */

@font-face{font-family:"Anton";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/anton-latin-ext-400-normal.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:"Anton";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/anton-latin-400-normal.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}
/* Caveat: tylko odręczny podpis w CTA (propozycja 23.10, 15:15; do podmiany na SVG podpisu klienta) */
@font-face{font-family:"Caveat";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/caveat-latin-ext-600-normal.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:"Caveat";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/caveat-latin-600-normal.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:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-latin-ext-400-normal.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:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/inter-latin-400-normal.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:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-latin-ext-500-normal.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:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/inter-latin-500-normal.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:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-latin-ext-600-normal.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:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/inter-latin-600-normal.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:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/inter-latin-ext-700-normal.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:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/inter-latin-700-normal.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}

:root{
  /* Poziom 1 — prymitywy */
  --black:#000;                 /* [klient] tło strony */
  --gray-950:#121212;           /* [zatwierdzone] powierzchnia 1 (podniesiona 23.10 — kontrast) */
  --gray-900:#1c1c1c;           /* [zatwierdzone] powierzchnia 2 */
  --gray-850:#0a0a0a;           /* [zatwierdzone] tło pól formularza (ciemniejsze od karty, 23.10 14:32) */
  --gray-800:#333;              /* [zatwierdzone] linie i elementy dekoracyjne */
  --gray-600:#5c5c5c;           /* [zatwierdzone] obramowanie pól (3,1:1 — WCAG 1.4.11) */
  --gray-500:#8a8a8a;           /* [zatwierdzone] tekst pomocniczy (6,1:1) */
  --gray-400:#a1a1a1;           /* [klient] tekst (hsl 0 0% 63%) — 8,1:1 */
  --gray-300:#c4c4c4;           /* [zatwierdzone] tekst długich artykułów */
  --white:#fff;                 /* [klient] nagłówki */
  --orange-300:#f0714f;         /* [zatwierdzone] hover wariantu A */
  --orange-500:#eb5838;         /* [klient] kolor marki */

  /* Poziom 2 — semantyka (komponenty używają tylko tych) */
  --color-page:var(--black);
  --color-surface:var(--gray-950);
  --color-surface-strong:var(--gray-900);
  --color-field:var(--gray-850);
  --color-heading:var(--white);
  --color-text:var(--gray-400);
  --color-text-long:var(--gray-300);
  --color-muted:var(--gray-500);
  --color-line:var(--gray-800);
  --color-control-border:var(--gray-600);
  --color-brand:var(--orange-500);
  --color-focus:var(--orange-500);
  --color-error:#ff7a6b;        /* [zatwierdzone] 7,4:1 na czerni */
  /* Przycisk główny — wariant A [zatwierdzone]: ciemny tekst na kolorze marki, 6:1 */
  --button-bg:var(--orange-500);
  --button-bg-hover:var(--orange-300);
  --button-text:var(--black);

  /* Typografia */
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;      /* [klient] */
  --font-heading:"Anton","Impact","Arial Narrow",sans-serif;             /* [klient] */
  --font-hand:"Caveat","Segoe Script","Bradley Hand",cursive;           /* [zatwierdzone] podpis w CTA */
  --text-body:1rem;                                        /* [klient] 16px */
  --text-lead:clamp(1.125rem,1.03rem + .4vw,1.375rem);    /* [zatwierdzone] 18→22 px (uwaga klienta 23.10, 15:15: lead wyraźniej wyróżniony) */
  --text-small:.875rem;
  --text-h1:clamp(3rem,1.2rem + 7.5vw,7.5rem);             /* [klient] 120px max, płynnie w dół */
  --text-h2:clamp(2.5rem,1rem + 5vw,5.25rem);              /* [klient 23.10, 15:15] 84px max, żeby tytuły sekcji mieściły się w 2 wierszach (wcześniej 100px z Bricks) */
  --text-h3:clamp(1.75rem,1.2rem + 2.2vw,3rem);            /* [zatwierdzone] 48px max */
  --text-h4:clamp(1.375rem,1.1rem + 1vw,2rem);             /* [zatwierdzone] */
  --text-h5:clamp(1.125rem,1rem + .5vw,1.5rem);            /* [zatwierdzone] */
  --text-h6:1.125rem;                                      /* [zatwierdzone] */
  --text-display:clamp(5rem,-1rem + 22vw,16.25rem);        /* [klient] .outline-text 260px */

  /* Układ i odstępy */
  --container-default:85.375rem;     /* [klient] 1366px */
  --container-narrow:47.5rem;        /* [zatwierdzone] teksty, blog */
  --space-gutter:clamp(1.25rem,2.5vw,2.5rem);              /* [klient] 20px min */
  --space-section:clamp(5.5rem,3rem + 7vw,10rem);          /* [klient 23.10, 16:43] 160px max, więcej oddechu (wcześniej 120px) */
  --gap-section-x:clamp(1.875rem,6vw,5.625rem);            /* [klient] 90/60/30 */
  --gap-section-y:clamp(.9375rem,4vw,3.75rem);             /* [klient] 60/30/15 */
  --gap-x:clamp(1.875rem,4vw,3.75rem);                     /* [klient] 60/30 */
  --gap-y:clamp(.9375rem,2vw,1.5625rem);                   /* [klient] 25/15 */
  --gap-block-x:clamp(.625rem,1.4vw,1.25rem);              /* [klient] 20/10 */
  --gap-block-y:clamp(.3125rem,.7vw,.625rem);              /* [klient] 10/5 */
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;

  /* Kształt i ruch — [zatwierdzone] */
  --radius-control:999px;
  --radius-card:1rem;
  /* Przerywane obramowania rysowane w SVG (rzadsze kreski niż border:dashed; decyzja klienta 23.10, 15:15). Kolory = --gray-600 / --gray-800 / --orange-500. */
  --dash-card:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='16' ry='16' stroke='%235C5C5C' stroke-width='2' stroke-dasharray='7 11' stroke-linecap='round'/%3E%3C/svg%3E");
  --dash-field:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='12' ry='12' stroke='%23333333' stroke-width='2' stroke-dasharray='7 11' stroke-linecap='round'/%3E%3C/svg%3E");
  --dash-field-active:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='12' ry='12' stroke='%23EB5838' stroke-width='2' stroke-dasharray='7 11' stroke-linecap='round'/%3E%3C/svg%3E");
  --dash-pill:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='16' ry='16' stroke='%235C5C5C' stroke-width='2' stroke-dasharray='7 11' stroke-linecap='round'/%3E%3C/svg%3E");
  --dash-pill-active:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' fill='none' rx='16' ry='16' stroke='%23EB5838' stroke-width='2' stroke-dasharray='7 11' stroke-linecap='round'/%3E%3C/svg%3E");
  --radius-media:1rem;
  --duration-fast:150ms;
  --duration-normal:300ms;
  --ease-standard:cubic-bezier(.2,.7,.2,1);
}

/* Baza */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--color-page);color:var(--color-text);font:400 var(--text-body)/1.65 var(--font-body);overflow-wrap:break-word;overflow-x:clip}
img,svg,video{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--color-heading);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--color-brand)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:4px;border-radius:2px}
::selection{background:var(--color-brand);color:var(--color-page)}
:where(h1,h2,h3,h4,h5,h6){text-wrap:balance;font-family:var(--font-heading);font-weight:400;text-transform:uppercase;color:var(--color-heading);line-height:1.1;margin:0 0 var(--space-4);overflow-wrap:break-word;hyphens:manual}
h1{font-size:var(--text-h1);line-height:1.02}
h2{font-size:var(--text-h2);line-height:1.08;letter-spacing:-.02em} /* [propozycja] 1.08 zamiast 1 — polskie znaki (Ę, Ą, Ó) w wersalikach */
h3{font-size:var(--text-h3)}h4{font-size:var(--text-h4)}h5{font-size:var(--text-h5)}h6{font-size:var(--text-h6)}
p{margin:0 0 var(--space-4)}p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0}

/* Layout */
.l-container{width:calc(100% - 2 * var(--space-gutter));max-width:var(--container-default);margin-inline:auto}
.l-container--narrow{max-width:var(--container-narrow)}
.l-section{padding-block:var(--space-section)}
.l-section--surface{background:var(--color-surface)}

/* Tekst pomocniczy */
.c-eyebrow{display:inline-flex;align-items:center;gap:var(--space-3);font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-heading);margin-bottom:var(--space-6)}
.c-eyebrow::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--color-brand);flex-shrink:0}
.c-lead{font-size:var(--text-lead);line-height:1.55;color:var(--color-text-long);max-width:42rem;text-wrap:pretty}
.c-highlight{color:var(--color-brand)}
.c-outline-text{font-family:var(--font-heading);font-size:var(--text-display);line-height:.85;text-transform:uppercase;color:transparent;-webkit-text-stroke:1px var(--color-brand);white-space:nowrap;user-select:none}
.c-section-heading{max-width:56rem;margin-bottom:var(--gap-section-y)}
.c-section-heading__text{max-width:40rem}

/* Przyciski */
.c-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:3rem;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius-control);font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}
/* Ikona w przycisku: biała, okrągła „pastylka” z wyśrodkowaną ikoną */
.c-button__icon{width:2.25rem;height:2.25rem;padding:.65rem;flex-shrink:0;border-radius:50%;background:var(--color-heading);color:var(--color-page);transition:transform var(--duration-normal) var(--ease-standard)}
.c-button:has(> .c-button__icon){padding:.375rem .375rem .375rem 1.5rem;gap:var(--space-4)}
.c-button--text:has(> .c-button__icon){padding:0;border-bottom:0}
.c-button:hover .c-button__icon{transform:scale(1.06)}
/* Hover przycisku: strzałka wylatuje w prawo i wraca z lewej, przycisk lekko się unosi (23.10, 16:43) */
.c-button__icon use{transform-box:fill-box}
.c-button:hover .c-button__icon use,.c-button:focus-visible .c-button__icon use{animation:btn-arrow 520ms var(--ease-standard)}
@keyframes btn-arrow{0%{transform:translateX(0);opacity:1}45%{transform:translateX(160%);opacity:0}46%{transform:translateX(-160%);opacity:0}100%{transform:translateX(0);opacity:1}}
.c-button--primary{transition:background-color var(--duration-fast),transform var(--duration-normal) var(--ease-standard),box-shadow var(--duration-normal) var(--ease-standard)}
.c-button--primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px color-mix(in srgb,var(--color-brand) 70%,transparent)}
.c-button--primary:active{transform:translateY(0)}
.c-button--primary{background:var(--button-bg);color:var(--button-text)}
.c-button--primary:hover{background:var(--button-bg-hover);color:var(--button-text)}
.c-button--secondary{background:transparent;border-color:var(--color-control-border);color:var(--color-heading)}
.c-button--secondary:hover{border-color:var(--color-heading);color:var(--color-heading)}
.c-button--text{min-height:auto;padding:var(--space-2) 0;border-radius:0;background:none;color:var(--color-heading);border-bottom:1px solid var(--color-control-border)}
.c-button--text:hover{color:var(--color-brand);border-bottom-color:var(--color-brand)}
.c-button:disabled,.c-button[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.c-button:active{transform:translateY(1px)}

/* Link telefoniczny obok CTA */
.c-phone{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-heading);line-height:1.2}
.c-phone__icon{display:grid;place-items:center;width:3.25rem;height:3.25rem;border:1px solid var(--color-control-border);border-radius:50%;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}
.c-phone__icon svg{width:1rem;height:1rem}
.c-phone__label{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}
.c-phone__number{display:block;font-weight:600;font-size:1.0625rem}
.c-phone:hover .c-phone__icon{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-page)}
.c-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4) var(--space-8)}

/* Formularze */
.c-field{display:grid;gap:var(--space-2)}
.c-field[hidden]{display:none}
.c-field__label{font-size:.875rem;font-weight:600;color:var(--color-heading)}
.c-field__opt{margin-left:.35rem;font-weight:400;font-size:.8125rem;color:var(--color-muted)}
.c-field__hint{font-size:.8125rem;color:var(--color-muted)}
.c-field__error{font-size:.8125rem;color:var(--color-error)}
.c-input{width:100%;min-height:3.25rem;padding:.8rem 1rem;background:var(--color-field);border:1px solid rgb(255 255 255 / .09);border-radius:.625rem;color:var(--color-heading);transition:border-color var(--duration-fast),background-color var(--duration-fast)}
.c-input::placeholder{color:var(--color-text);opacity:.32}
.c-input:hover{border-color:rgb(255 255 255 / .2)}
.c-input:focus-visible{border-color:var(--color-brand);outline:1px solid var(--color-brand);outline-offset:0}
.c-input[aria-invalid="true"]{border-color:var(--color-error)}
textarea.c-input{min-height:9rem;resize:vertical}
.c-check{display:flex;gap:var(--space-3);align-items:flex-start;font-size:.875rem;line-height:1.5}
.c-check--small{font-size:.8125rem;line-height:1.5;color:var(--color-muted)}
.c-check--small a{color:var(--color-text)}
.c-check input{width:1.25rem;height:1.25rem;margin:.1rem 0 0;accent-color:var(--color-brand);flex-shrink:0}
.c-chip{position:relative;display:inline-flex}
.c-chip input{position:absolute;opacity:0;pointer-events:none}
.c-chip span{display:inline-flex;align-items:center;min-height:2.75rem;padding:.55rem 1.1rem;border:1px solid var(--color-line);background:var(--color-field);border-radius:var(--radius-control);font-size:.9375rem;color:var(--color-heading);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard)}
.c-chip input:checked+span{background:var(--color-heading);border-color:var(--color-heading);color:var(--color-page)}
.c-chip input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:3px}

/* Akordeon (FAQ) — natywne details/summary */
.c-accordion{border-bottom:1px solid var(--color-line)}
.c-accordion:first-child{border-top:1px solid var(--color-line)}
.c-accordion__summary{transition:color var(--duration-normal);display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-6) 0;list-style:none;cursor:pointer;color:var(--color-heading);font-weight:600;font-size:1.0625rem;line-height:1.4}
.c-accordion__summary::-webkit-details-marker{display:none}
.c-accordion__summary svg{width:1.25rem;height:1.25rem;flex-shrink:0;transition:transform var(--duration-normal) var(--ease-standard)}
.c-accordion[open] .c-accordion__summary svg{transform:rotate(45deg);color:var(--color-brand)}
.c-accordion__summary:hover{color:var(--color-brand)}
.c-accordion__body{max-width:46rem}
.c-accordion__body::after{content:"";display:block;height:var(--space-6)}

/* Pole załączników */
.c-dropzone{position:relative;display:grid;place-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);border-radius:.75rem;background:var(--dash-field),var(--color-field);text-align:center;font-size:.875rem;transition:border-color var(--duration-fast),background-color var(--duration-fast)}
.c-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}
.c-dropzone strong{color:var(--color-heading)}
.c-dropzone:hover,.c-dropzone.is-drag{background:var(--dash-field-active),var(--color-field)}
.c-dropzone:focus-within{outline:2px solid var(--color-focus);outline-offset:3px}
.c-dropzone__list{list-style:none;display:grid;gap:var(--space-1);margin-top:var(--space-3);font-size:.8125rem;color:var(--color-heading)}

/* Zakładki */
.c-tabs{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:var(--gap-x);align-items:start}
.c-tabs__list{display:grid;gap:var(--space-2)}
.c-tabs:not(.is-ready) .c-tabs__list{display:none}
.c-tabs__tab{display:flex;align-items:center;gap:var(--space-4);width:100%;padding:1rem 1.25rem;background:transparent;border:0;border-radius:var(--radius-card);color:var(--color-text);font-family:var(--font-body);font-size:1.0625rem;font-weight:500;text-align:left;transition:background-color var(--duration-fast),color var(--duration-fast)}
.c-tabs__tab>span{font-family:var(--font-heading);font-size:.875rem;color:var(--color-muted)}
.c-tabs__tab svg{width:.85rem;height:.85rem;margin-inline:.1rem;color:var(--color-muted);vertical-align:-.05em}
.c-tabs__tab:hover{color:var(--color-heading);background:var(--color-surface)}
.c-tabs__tab[aria-selected="true"]{background:var(--color-surface-strong);color:var(--color-heading);box-shadow:inset 3px 0 0 var(--color-brand)}
.c-tabs__tab[aria-selected="true"] svg{color:var(--color-brand)}
.c-tabs__tab[aria-selected="true"] span{color:var(--color-brand)}
.c-tabs__panel[hidden]{display:none}
.c-tabs__panel{padding:clamp(1.75rem,4vw,3.5rem);border-radius:var(--radius-card);background:var(--color-page);min-height:100%}
.c-tabs:not(.is-ready) .c-tabs__panel+.c-tabs__panel{margin-top:var(--space-4)}
.c-tabs__panel h3{font-size:var(--text-h4);max-width:24ch}
.c-tabs__panel p{max-width:38rem;margin-bottom:var(--space-8)}
.c-tabs.is-ready .c-tabs__panel:not([hidden]){animation:tab-in var(--duration-normal) var(--ease-standard)}
@keyframes tab-in{from{opacity:0;transform:translateY(.5rem)}}
.c-tabs--top{grid-template-columns:1fr}
.c-tabs--top .c-tabs__list{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.c-tabs--top .c-tabs__tab{width:auto}
.c-tabs--top .c-tabs__tab{border-radius:var(--radius-control);box-shadow:inset 0 0 0 1px var(--color-line)}
.c-tabs--top .c-tabs__tab[aria-selected="true"]{box-shadow:inset 0 0 0 1px var(--color-brand)}
.c-tabs--top .c-tabs__panel{padding:0;border:0;background:none}

/* Box „następny krok” (np. „Nie wiesz, od czego zacząć?”) */
.c-callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-6) var(--gap-x);padding:clamp(1.5rem,3vw,2.5rem);border-radius:var(--radius-card);background:var(--dash-card)}
.c-callout__title{font-size:var(--text-h4);margin-bottom:var(--space-2)}
.c-callout__text{margin:0;max-width:36rem}

/* Okruszki */
.c-breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:var(--space-8);font-size:.8125rem;color:var(--color-muted)}
.c-breadcrumbs li:not(:last-child)::after{content:"/";margin-left:.4rem;color:var(--color-control-border)}
.c-breadcrumbs a{color:var(--color-text);text-decoration:none}
.c-breadcrumbs a:hover{color:var(--color-brand)}
.c-breadcrumbs [aria-current]{color:var(--color-heading)}

/* Paginacja */
.c-pagination ol{list-style:none;display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--gap-section-y)}
.c-pagination a{display:grid;place-items:center;min-width:3rem;height:3rem;padding-inline:.5rem;border:1px solid var(--color-control-border);border-radius:var(--radius-control);color:var(--color-heading);text-decoration:none;font-weight:600}
.c-pagination a:hover{border-color:var(--color-heading)}
.c-pagination [aria-current]{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-page)}
.c-pagination svg{width:1.125rem;height:1.125rem}

/* Treść artykułu (edytor WordPress) */
.c-prose{color:var(--color-text-long);font-size:1.0625rem;line-height:1.75}
.c-prose>*+*{margin-top:var(--space-6)}
.c-prose>*{margin-bottom:0}
.c-prose h2{font-size:clamp(1.75rem,1.2rem + 1.8vw,2.75rem);margin-top:var(--space-16);letter-spacing:0;line-height:1.1;scroll-margin-top:7rem}
.c-prose h3{font-family:var(--font-body);font-weight:600;font-size:1.25rem;text-transform:none;line-height:1.35;margin-top:var(--space-12)}
.c-prose a{color:var(--color-heading);text-decoration:underline;text-decoration-color:var(--color-brand)}
.c-prose a:hover{color:var(--color-brand)}
.c-prose .c-button{text-decoration:none}
.c-prose strong{color:var(--color-heading)}
.c-prose ul,.c-prose ol{display:grid;gap:var(--space-2);padding-left:1.5rem}
.c-prose ul li::marker{color:var(--color-brand)}
.c-prose ol li::marker{color:var(--color-brand);font-weight:700}
.c-prose blockquote{margin-inline:0;padding:var(--space-2) 0 var(--space-2) var(--space-6);border-left:3px solid var(--color-brand);font-size:1.25rem;line-height:1.5;color:var(--color-heading)}
.c-prose__lead{font-size:1.25rem;line-height:1.6;color:var(--color-heading)}
.c-prose__note{padding:var(--space-6);border-radius:var(--radius-card);background:var(--color-surface-strong);}
.c-prose__note b{color:var(--color-brand)}
.c-prose__table{overflow-x:auto;border:1px solid var(--color-line);border-radius:.75rem}
.c-prose table{width:100%;border-collapse:collapse;font-size:.9375rem}
.c-prose th,.c-prose td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid var(--color-line)}
.c-prose th{color:var(--color-heading);background:var(--color-surface-strong)}
.c-prose tr:last-child td{border-bottom:0}

/* Stopka formularza: zgoda po lewej, wysyłka po prawej */
.c-form-foot{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-line)}
.c-form-foot__consent{display:grid;gap:var(--space-2);width:100%}
.c-form-foot__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%}
.c-form-foot__actions>:last-child{margin-left:auto}
.c-button--lg{min-height:3.75rem;font-size:1.0625rem}
.c-button--lg:has(> .c-button__icon){padding:.4375rem .4375rem .4375rem 1.75rem}
.c-button--lg .c-button__icon{width:2.875rem;height:2.875rem;padding:.85rem}

/* Slider (opinie): karty od krawędzi do krawędzi ekranu, pierwsza wyrównana do treści */
.c-slider{--slider-inset:max(var(--space-gutter),calc((100vw - var(--container-default)) / 2));--slider-card:min(26rem,82vw);--slider-fade:clamp(1rem,14vw - 2rem,12rem)}
/* Delikatne wygaszenie kart przy krawędziach ekranu (uwaga klienta 23.10, 15:15) */
.c-slider__track{-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--slider-fade),#000 calc(100% - var(--slider-fade)),transparent);mask-image:linear-gradient(90deg,transparent,#000 var(--slider-fade),#000 calc(100% - var(--slider-fade)),transparent)}
.c-slider__track{list-style:none;display:flex;gap:var(--gap-block-x);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;cursor:grab;padding:0 var(--slider-inset) var(--space-2);scroll-padding-inline:var(--slider-inset)}
.c-slider__track::-webkit-scrollbar{display:none}
.c-slider.is-continuous .c-slider__track{scroll-snap-type:none;scroll-behavior:auto}
.c-slider__track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.c-slider__item{flex:0 0 var(--slider-card);scroll-snap-align:start}
.js-slider-prev svg{transform:rotate(180deg)}

/* Znaczniki */
.c-tag{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2rem;padding:.3rem .85rem;border:1px solid var(--color-line);border-radius:var(--radius-control);font-size:.8125rem;color:var(--color-text)}

/* Pasek przewijany (loga, hasła) — zatrzymuje się przy reduce-motion */
.c-marquee{--marquee-duration:40s;display:flex;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.c-marquee__track{display:flex;flex-shrink:0;align-items:center;gap:var(--marquee-gap,4rem);padding-right:var(--marquee-gap,4rem);animation:marquee var(--marquee-duration) linear infinite}
.c-marquee:hover .c-marquee__track{animation-play-state:paused}
.c-marquee--reverse .c-marquee__track{animation-direction:reverse}

/* Wejście elementu przy przewijaniu (klasa is-visible dodawana przez JS; bez JS element jest widoczny) */
.has-js .u-reveal{opacity:0}
.has-js .u-reveal.is-visible{opacity:1;animation:reveal-up 950ms var(--ease-standard) calc(var(--reveal-delay,0ms) + 120ms) backwards}
@keyframes reveal-up{from{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:none}}
/* kolejne elementy w grupie wchodzą z opóźnieniem */
:where(ul,ol,div)>.u-reveal:nth-child(2){--reveal-delay:160ms}:where(ul,ol,div)>.u-reveal:nth-child(3){--reveal-delay:320ms}:where(ul,ol,div)>.u-reveal:nth-child(4){--reveal-delay:480ms}:where(ul,ol,div)>.u-reveal:nth-child(5){--reveal-delay:640ms}:where(ul,ol,div)>.u-reveal:nth-child(6){--reveal-delay:800ms}:where(ul,ol,div)>.u-reveal:nth-child(7){--reveal-delay:960ms}
@keyframes marquee{to{transform:translateX(-100%)}}

/* Nagłówek strony */
.u-skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:100;transform:translateY(-200%);padding:var(--space-3) var(--space-4);background:var(--color-heading);color:var(--color-page);font-weight:600}
.u-skip-link:focus{transform:none}
.c-site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-page) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-line)}
.c-site-header__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-8);min-height:5rem}
.c-brand{display:block;flex-shrink:0}
.c-brand img{height:2.875rem;width:auto}
.c-nav{justify-self:center}
.c-nav__list{display:flex;align-items:center;gap:var(--space-8);list-style:none}
.c-nav__list>li{position:relative}
.c-nav__link{transition:color var(--duration-normal);display:inline-flex;align-items:center;gap:.35rem;padding:.6rem 0;background:none;border:0;color:var(--color-heading);font-size:.9375rem;font-weight:500;text-decoration:none}
.c-nav__link svg{width:.75rem;height:.75rem;transition:transform var(--duration-fast) var(--ease-standard)}
.c-nav__link:hover,.c-nav__link[aria-current="page"]{color:var(--color-brand)}
.c-nav__item--has-sub:hover .c-nav__link svg,.c-nav__item--has-sub.is-open .c-nav__link svg{transform:rotate(180deg)}
.c-site-header__cta{display:flex;align-items:center;justify-self:end;gap:var(--space-4)}
.c-site-header__phone{display:inline-flex;align-items:center;gap:.6rem;min-height:2.75rem;padding:.3rem 1rem .3rem .3rem;border:1px solid var(--color-control-border);border-radius:var(--radius-control);color:var(--color-heading);text-decoration:none;font-weight:600;font-size:.9375rem;white-space:nowrap;transition:border-color var(--duration-fast)}
.c-site-header__phone-icon{display:grid;place-items:center;width:2.125rem;height:2.125rem;border-radius:50%;background:var(--color-surface-strong);color:var(--color-brand)}
.c-site-header__phone-icon svg{width:1rem;height:1rem}
.c-site-header__phone:hover{border-color:var(--color-brand);color:var(--color-heading)}
.c-site-header__cta .c-button{min-height:2.75rem;font-size:.9375rem}
.c-site-header__cta .c-button:has(> .c-button__icon){padding:.3125rem .3125rem .3125rem 1.25rem}
.c-site-header__cta .c-button__icon{width:2.125rem;height:2.125rem;padding:.6rem}
.c-menu-toggle{display:none;align-items:center;justify-content:center;width:2.875rem;height:2.875rem;margin-left:auto;background:transparent;border:1px solid var(--color-control-border);border-radius:50%}
.c-menu-toggle span{position:relative;width:1.125rem;height:1.5px;background:var(--color-heading);transition:background var(--duration-fast)}
.c-menu-toggle span::before,.c-menu-toggle span::after{content:"";position:absolute;left:0;width:100%;height:100%;background:var(--color-heading);transition:transform var(--duration-normal) var(--ease-standard)}
.c-menu-toggle span::before{transform:translateY(-5px)}.c-menu-toggle span::after{transform:translateY(5px)}
.c-menu-toggle[aria-expanded="true"] span{background:transparent}
.c-menu-toggle[aria-expanded="true"] span::before{transform:rotate(45deg)}
.c-menu-toggle[aria-expanded="true"] span::after{transform:rotate(-45deg)}

/* Pasek administracyjny WordPress (tylko dla zalogowanych) */
.admin-bar .c-site-header{top:var(--wp-admin--admin-bar--height,32px)}
@media (max-width:600px){.admin-bar .c-site-header{top:0}}

/* Mega menu (Usługi) */
.c-site-header{isolation:isolate}
.c-nav__list>li.c-nav__item--mega{position:static}
.c-mega{position:absolute;left:0;right:0;top:100%;z-index:-1;padding-block:var(--space-6) var(--space-8);background:var(--color-surface);border-bottom:1px solid var(--color-line);box-shadow:0 40px 80px -20px rgb(0 0 0 / .8);opacity:0;visibility:hidden;transform:translateY(-.75rem);transition:opacity 250ms var(--ease-standard),transform 250ms var(--ease-standard),visibility 250ms}
.c-nav__item--mega:hover .c-mega,.c-nav__item--mega:focus-within .c-mega,.c-nav__item--mega.is-open .c-mega{opacity:1;visibility:visible;transform:none}
.c-mega__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,18rem);gap:var(--gap-block-x)}
.c-mega__list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}
.c-mega__link{display:flex;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-card);color:var(--color-heading);text-decoration:none;transition:background-color var(--duration-fast)}
.c-mega__link:hover{background:var(--color-surface-strong);color:var(--color-heading)}
.c-mega__ico{display:grid;place-items:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:.75rem;background:color-mix(in srgb,var(--color-brand) 14%,transparent);color:var(--color-brand);transition:background-color var(--duration-fast),color var(--duration-fast)}
.c-mega__ico svg{width:1.05rem;height:1.05rem}
.c-mega__link:hover .c-mega__ico{background:var(--color-brand);color:var(--color-page)}
/* u-trace: przy najechaniu pomarańczowa ramka obiega box od środka górnej krawędzi, z łagodnym startem (23.10, 16:11 i 16:43) */
@property --trace{syntax:"<percentage>";inherits:false;initial-value:0%}
.u-trace{position:relative}
.u-trace::after{content:"";position:absolute;inset:calc(-1 * var(--trace-offset,0px));z-index:2;padding:1px;border-radius:inherit;background:conic-gradient(from 0deg,var(--color-brand) var(--trace),transparent 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none;transition:--trace 600ms cubic-bezier(.4,0,.2,1)}
.u-trace:hover::after,.u-trace:focus-within::after{--trace:100%;transition:--trace 1500ms cubic-bezier(.6,0,.25,1)}
/* bieżąca podstrona w mega menu i w pozycji „Usługi” */
.c-mega__link[aria-current="page"]{background:var(--color-surface-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-brand) 45%,transparent)}
.c-mega__link[aria-current="page"] b{color:var(--color-brand)}
.c-mega__link[aria-current="page"] .c-mega__ico{background:var(--color-brand);color:var(--color-page)}
.c-nav__item--mega.is-current>.c-nav__link{color:var(--color-brand)}
.c-mega__link b{display:block;font-weight:600;margin-bottom:.15rem}
.c-mega__link em{display:block;font-style:normal;font-size:.875rem;line-height:1.45;color:var(--color-text)}
.c-mega__aside{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-6);padding:var(--space-6);border-radius:var(--radius-card);background:var(--color-brand);color:var(--color-page);text-decoration:none}
.c-mega__aside:hover{color:var(--color-page)}
.c-mega__aside-kicker{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.c-mega__aside b{font-size:1.0625rem;line-height:1.35}
.c-mega__aside-go{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--color-page);color:var(--color-brand);transition:transform var(--duration-normal) var(--ease-standard)}
.c-mega__aside-go svg{width:1rem;height:1rem}
.c-mega__aside:hover .c-mega__aside-go{transform:translateX(4px)}

/* Stopka */
.c-site-footer{position:relative;overflow:hidden;border-top:1px solid var(--color-line);padding-top:var(--space-section)}
.c-site-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--gap-section-y) var(--gap-x)}
.c-site-footer__brand img{height:3.5rem;width:auto;margin-bottom:var(--space-6)}
.c-site-footer__brand p{max-width:26rem}
.c-site-footer__title{font-family:var(--font-body);font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);margin-bottom:var(--space-4)}
.c-site-footer__list{list-style:none;display:grid;gap:var(--space-2)}
.c-site-footer__list a{text-decoration:none;color:var(--color-heading);transition:color var(--duration-normal)}
.c-site-footer__list a:hover{color:var(--color-brand)}
.c-site-footer__contact{gap:var(--space-3)}
.c-site-footer__contact a{display:inline-flex;align-items:center;gap:var(--space-3)}
.c-site-footer__ico{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--color-surface-strong);color:var(--color-brand);transition:background-color var(--duration-fast),color var(--duration-fast)}
.c-site-footer__ico svg{width:.95rem;height:.95rem}
.c-site-footer__contact a:hover .c-site-footer__ico{background:var(--color-brand);color:var(--color-page)}
.c-social{list-style:none;display:flex;gap:var(--space-2);margin-top:var(--space-6)}
.c-social a{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--color-surface-strong);color:var(--color-heading);transition:background-color var(--duration-fast),color var(--duration-fast)}
.c-social a:hover{background:var(--color-brand);color:var(--color-page)}
.c-social svg{width:1.05rem;height:1.05rem}
.c-site-footer__wordmark{margin:var(--space-16) 0 0;font-family:var(--font-heading);font-size:clamp(6rem,-2rem + 32vw,26rem);line-height:.78;text-align:center;text-transform:uppercase;color:var(--color-surface-strong);user-select:none;margin-bottom:-.06em}
.c-site-footer__legal{position:relative;z-index:1;background:var(--color-page);border-top:1px solid var(--color-line)}
.c-site-footer__legal-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-6);font-size:.8125rem;color:var(--color-muted)}
.c-site-footer__legal a{color:var(--color-muted)}

.u-nowrap{white-space:nowrap}
.u-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (max-width:63.999rem){
  .c-site-header__inner{display:flex;min-height:4.25rem;flex-wrap:wrap;gap:var(--space-4)}
  .c-menu-toggle{display:inline-flex}
  .has-js .c-nav,.has-js .c-site-header__cta{display:none}
  .c-nav,.c-site-header__cta{position:fixed;left:0;right:0;z-index:40;justify-self:stretch;background:var(--color-page)}
  .c-nav{top:4.25rem;bottom:0;margin:0;padding:var(--space-2) var(--space-gutter) 9rem;overflow-y:auto;overscroll-behavior:contain}
  .c-nav.is-open{display:block;animation:menu-in 250ms var(--ease-standard)}
  @keyframes menu-in{from{opacity:0;transform:translateY(-.5rem)}}
  .c-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .c-nav__list>li{border-bottom:1px solid var(--color-line)}
  .c-nav__link{width:100%;justify-content:space-between;padding:1.1rem 0;font-family:var(--font-heading);font-size:1.75rem;text-transform:uppercase;font-weight:400}
  .c-mega{position:static;display:none;z-index:auto;padding:0 0 var(--space-4);background:none;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}
  .c-nav__item--mega.is-open .c-mega{display:block}
  .c-mega__inner{grid-template-columns:1fr;width:auto}
  .c-mega__list{grid-template-columns:1fr;gap:0}
  .c-mega__link{padding:var(--space-3) 0}
  .c-mega__link[aria-current="page"]{padding-inline:var(--space-3)}
  .c-mega__link em{font-size:.8125rem}
  .c-mega__aside{margin-top:var(--space-3);flex-direction:row;align-items:center;padding:var(--space-4) var(--space-5,1.25rem)}
  .c-mega__aside-kicker{display:none}
  .c-site-header__cta{bottom:0;padding:var(--space-4) var(--space-gutter) calc(var(--space-4) + env(safe-area-inset-bottom));border-top:1px solid var(--color-line)}
  .c-site-header__cta.is-open{display:flex;gap:var(--space-3)}
  .c-site-header__cta.is-open>*{flex:1 1 0;min-width:0;justify-content:center}
  @media (max-width:22.5em){.c-site-header__cta.is-open{flex-direction:column}.c-site-header__cta.is-open>*{flex:none;width:100%}}
  .admin-bar .c-nav{top:calc(4.25rem + var(--wp-admin--admin-bar--height,46px))}
  .is-menu-open{overflow:hidden}
  .is-menu-open .c-site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--color-page)}
  .c-site-footer__grid{grid-template-columns:1fr 1fr}
  .c-site-footer__brand{grid-column:1/-1}
  .c-tabs{grid-template-columns:1fr}
  .c-tabs__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-tabs__tab{padding:.8rem 1rem;font-size:1rem}
}
@media (max-width:39.999rem){
  .c-site-footer__grid{grid-template-columns:1fr;row-gap:var(--space-8)}
  .c-button{white-space:normal;text-align:left}
  .c-actions{gap:var(--space-4) var(--space-6)}
}
/* ===== Przejścia między podstronami (View Transitions, decyzja klienta 23.10, 16:43) ===== */
@view-transition{navigation:auto}
.c-site-header{view-transition-name:site-header}
::view-transition-old(root){animation:vt-out 200ms cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:vt-in 380ms cubic-bezier(.2,.7,.2,1) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-12px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(18px)}}
/* przeglądarki bez View Transitions: krótkie wejście treści i wyjście po kliknięciu (main.js) */
.no-vt main{animation:vt-in 380ms cubic-bezier(.2,.7,.2,1) both}
.no-vt.is-leaving main{animation:vt-out 180ms cubic-bezier(.4,0,1,1) both}

/* ===== Intro przy pierwszym wejściu (tylko raz w sesji) ===== */
.c-intro{display:none}
.has-intro .c-intro{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:var(--color-page);animation:intro-out 650ms cubic-bezier(.7,0,.2,1) 1500ms forwards}
.c-intro__inner{display:grid;justify-items:center;gap:var(--space-4)}
.c-intro__inner img{width:min(15rem,50vw);height:auto;opacity:0;transform:translateY(12px) scale(.96);animation:intro-logo 700ms cubic-bezier(.2,.7,.2,1) 150ms forwards}
.c-intro__line{display:block;width:min(15rem,50vw);height:2px;background:var(--color-brand);transform:scaleX(0);transform-origin:left;animation:intro-line 700ms cubic-bezier(.6,0,.2,1) 550ms forwards}
.c-intro__text{font-size:.75rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--color-muted);opacity:0;animation:intro-text 500ms ease 900ms forwards}
@keyframes intro-logo{to{opacity:1;transform:none}}
@keyframes intro-line{to{transform:scaleX(1)}}
@keyframes intro-text{to{opacity:1}}
@keyframes intro-out{to{clip-path:inset(0 0 100% 0);visibility:hidden}}
.has-intro .c-intro{clip-path:inset(0 0 0 0)}

/* ===== Przycisk „na górę” z postępem przewijania ===== */
.c-totop{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:60;display:grid;place-items:center;width:3.25rem;height:3.25rem;border:0;border-radius:50%;background:conic-gradient(var(--color-brand) calc(var(--progress,0) * 1%),var(--color-line) 0);color:var(--color-heading);cursor:pointer;opacity:0;transform:translateY(1rem);transition:opacity var(--duration-normal),transform var(--duration-normal) var(--ease-standard)}
.c-totop::before{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--color-surface)}
.c-totop svg{position:relative;width:1.1rem;height:1.1rem;transform:rotate(-90deg);transition:transform var(--duration-normal) var(--ease-standard)}
.c-totop.is-visible{opacity:1;transform:none}
.c-totop:hover svg{transform:rotate(-90deg) translateX(3px)}
.c-totop[hidden]{display:none}

/* ===== Hero: tło ze znaków kodu (canvas, glyphs.js) ===== */
.has-glyphs{position:relative;isolation:isolate}
.c-glyphs{position:absolute;inset:0;z-index:-1;width:100%;height:100%;pointer-events:none;-webkit-mask-image:radial-gradient(90% 85% at 70% 45%,#000 30%,transparent 80%);mask-image:radial-gradient(90% 85% at 70% 45%,#000 30%,transparent 80%)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .c-marquee__track{animation:none}
  .c-marquee{overflow-x:auto}
  .has-js .u-reveal,.has-js .u-reveal .s-case__media{opacity:1;transform:none;clip-path:none!important}
}
