/* rekrutacja.css — publiczny formularz rekrutacyjny ARK Events (rekrutacja_form.php).
   Warstwa wizualna w identyfikacji ark.biz.pl (DESIGN_form_brand.md): ciemny hero i stopka, jasny korpus formularza,
   fiolet ARK = wybór i akcja, Manrope (UI, nagłówki 800 wersalikami) + Hanken Grotesk (hasło w hero).
   Mobile-first. Fonty z własnego serwera (bez zapytań do Google — RODO + CSP). */

/* ---------- Fonty (zmienne woff2, latin + latin-ext) ---------- */
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope-var-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(fonts/manrope-var-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:"Hanken Grotesk";font-style:normal;font-weight:300 800;font-display:swap;src:url(fonts/hankengrotesk-var-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:300 800;font-display:swap;src:url(fonts/hankengrotesk-var-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:"Hanken Grotesk";font-style:italic;font-weight:300 800;font-display:swap;src:url(fonts/hankengrotesk-italic-var-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Hanken Grotesk";font-style:italic;font-weight:300 800;font-display:swap;src:url(fonts/hankengrotesk-italic-var-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}

/* ---------- Tokeny ---------- */
.rf{
  /* neutralne */
  --ink:#141414; --ink-2:#2E3034; --slate:#5C6066; --mute:#6B6F74;
  --line:#8A8E93; --line-soft:#E6E6E8; --line-2:#EDEDEF; --bg:#F4F4F5; --surface:#FFFFFF;
  /* ciemne */
  --dark:#0E0E0E; --dark-2:#141414;
  --on-dark:#FFFFFF; --on-dark-2:rgba(255,255,255,.78); --on-dark-3:rgba(255,255,255,.60);
  /* marka */
  --tape:#A339FF; --tape-2:#8228CC; --tape-soft:#F4EBFF; --tape-ink:#5E1C99; --violet-300:#B566FF;
  --blue:#2777FF; --orange:#FF8400; --orange-soft:#FFF3E5; --green:#3FE100;
  --success:#217A0F; --danger:#D0021B; --danger-soft:#FFF1F2; --danger-on-dark:#FF5A5F;
  /* kształty */
  --r-xs:4px; --r-b:12px; --r:16px; --r-pill:999px;
  --sh-card:0 1px 2px rgba(14,14,14,.04),0 10px 30px rgba(14,14,14,.06);
  --sh-cta:0 10px 30px rgba(130,40,204,.35);
  --sh-cta-h:0 15px 40px rgba(163,57,255,.40);
  --sh-bar:0 6px 20px rgba(0,0,0,.25);
  --ease:cubic-bezier(.23,1,.32,1);
  --glow:radial-gradient(70% 60% at 100% 0%,rgba(163,57,255,.28),transparent 65%),radial-gradient(60% 50% at 0% 100%,rgba(39,119,255,.14),transparent 60%);
  /* fonty */
  --ff:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ff-d:"Manrope",system-ui,sans-serif;
  --ff-h:"Hanken Grotesk","Manrope",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px;scroll-padding-bottom:24px}
@media (min-width:480px){ html:has(.rf-preview){scroll-padding-top:120px} }
body.rf{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--ff);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body.rf[data-page="thanks"],body.rf[data-page="state"]{background:var(--glow),var(--dark);background-repeat:no-repeat;color:var(--on-dark)}
.rf a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--tape);text-decoration-thickness:2px;text-underline-offset:3px;transition:color .15s}
.rf a:hover{color:var(--tape-2)}
.rf a:focus-visible{outline:3px solid var(--tape-2);outline-offset:2px;border-radius:3px}
.rf-hero a,.rf-foot a,.rf[data-page] .rf-state a{color:#fff;text-decoration-color:var(--violet-300)}
.rf-hero a:hover,.rf-foot a:hover,.rf[data-page] .rf-state a:hover{color:#fff}
.rf-hero a:focus-visible,.rf-foot a:focus-visible,.rf[data-page] .rf-state a:focus-visible,.rf-top a:focus-visible{outline-color:#fff}
.sr-only,.rf-vh{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.rf [hidden]{display:none!important}
.rf-skip{position:absolute;left:8px;top:-70px;z-index:50;background:var(--tape-2);color:#fff!important;padding:12px 18px;border-radius:var(--r-pill);font-weight:700;text-decoration:none!important}
.rf-skip:focus{top:8px;outline:3px solid #fff;outline-offset:2px}

/* ---------- Belka (bez nawigacji) ---------- */
.rf-top{background:var(--dark);height:64px;padding:0 20px;display:flex;align-items:center}
.rf-top-in{display:flex;justify-content:space-between;align-items:center;max-width:760px;margin:0 auto;width:100%}
.rf-top a{display:inline-flex;border-radius:4px}
.rf-top a:focus-visible{outline:3px solid #fff;outline-offset:4px}
.rf-top img{height:32px;width:auto;display:block}
.rf-top-tag{font:600 12px/1 var(--ff);text-transform:uppercase;letter-spacing:.12em;color:var(--on-dark-2)}

/* ---------- Hero ---------- */
.rf-hero{background:var(--glow),var(--dark);color:var(--on-dark);padding:8px 20px 40px;position:relative;overflow:hidden}
.rf-hero::after{content:"REKRUTACJA";content:"REKRUTACJA" / "";position:absolute;left:-.04em;bottom:-.18em;font:800 96px/1 var(--ff-d);text-transform:uppercase;letter-spacing:.02em;color:rgba(255,255,255,.04);white-space:nowrap;pointer-events:none}
.rf-hero-in{max-width:760px;margin:0 auto;position:relative;z-index:1}
.rf-eyebrow{font:700 12px/1.3 var(--ff);text-transform:uppercase;letter-spacing:.16em;color:var(--violet-300);margin:0 0 12px}
.rf-hero h1{font:700 34px/1.12 var(--ff-h);letter-spacing:-.01em;margin:0;color:var(--on-dark);text-wrap:balance}
.rf-accent{font-family:var(--ff-h);font-style:italic;font-weight:700;font-size:1.3em;line-height:1;letter-spacing:-.01em;color:var(--tape);white-space:nowrap}
.rf-intro{font-size:16px;line-height:1.6;color:var(--on-dark-2);max-width:60ch;margin-top:16px}
.rf-intro p{margin:0 0 10px}
.rf-intro p:last-child{margin-bottom:0}
.rf-more{margin-top:2px}
.rf-more summary{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:700 15px/1.3 var(--ff);color:#fff;cursor:pointer;list-style:none;border-radius:4px}
.rf-more summary::-webkit-details-marker{display:none}
.rf-more summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--violet-300);border-bottom:2px solid var(--violet-300);transform:rotate(-45deg);transition:transform .2s var(--ease);margin:0 2px}
.rf-more[open] summary::before{transform:rotate(45deg)}
.rf-more summary:hover{text-decoration:underline;text-decoration-color:var(--violet-300);text-decoration-thickness:2px;text-underline-offset:4px}
.rf-more summary:focus-visible{outline:3px solid #fff;outline-offset:2px}
.rf-more p{margin:4px 0 10px}
.rf-meta{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}
.rf-meta li{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.28);border-radius:var(--r-xs);padding:6px 10px;font:700 12px/1.2 var(--ff);text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.86)}
.rf-meta b{color:var(--violet-300);font-weight:800}
/* wejście hero (tylko CSS — działa bez JS) */
@media (prefers-reduced-motion:no-preference){
  .rf-hero .rf-eyebrow,.rf-hero h1,.rf-hero .rf-intro,.rf-hero .rf-meta{animation:rf-in .45s var(--ease) both}
  .rf-hero h1{animation-delay:.06s}
  .rf-hero .rf-intro{animation-delay:.12s}
  .rf-hero .rf-meta{animation-delay:.18s}
  .rf-hero .rf-accent{animation:rf-cycle 8s linear .6s 1 both}
}
@keyframes rf-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes rf-cycle{0%{color:#A339FF}25%{color:#2777FF}50%{color:#3FE100}75%{color:#FF8400}100%{color:#A339FF}}

/* ---------- Pasek podglądu ---------- */
.rf-preview{position:static;z-index:20;background:var(--orange);color:var(--ink);font:800 12.5px/1.3 var(--ff);letter-spacing:.04em;padding:8px 12px;min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center}
.rf-preview + .rf-prog{top:0}
@media (min-width:480px){
  .rf-preview{position:sticky;top:0}
  .rf-preview + .rf-prog{top:42px}
}

/* ---------- Postęp (JS) ---------- */
.rf-prog{position:sticky;top:0;z-index:10;background:rgba(20,20,20,.92);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.06);padding:10px 20px 0;overflow:hidden}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){ .rf-prog{background:var(--dark-2)} }
.rf-prog-in{max-width:760px;margin:0 auto}
.rf-prog-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.rf-prog-step{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 13px/1.3 var(--ff);color:#fff}
.rf-prog-n{font:500 13px/1.3 var(--ff);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--on-dark-2)}
.rf-prog-n b{color:#fff;font-weight:700}
.rf-bar{height:4px;background:rgba(255,255,255,.10);margin:10px -20px 0;border-radius:0;overflow:hidden}
.rf-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#A339FF,#2777FF);transition:width .3s ease}
.rf-prog.is-done .rf-bar i{background:var(--green)}
.rf-prog.is-done .rf-prog-n b{color:var(--green)}

/* ---------- Kontener ---------- */
.rf-wrap{max-width:760px;margin:0 auto;padding:20px 16px 56px}

/* ---------- Komunikaty ---------- */
.rf-errsum,.rf-notice{scroll-margin-top:80px;border-left:4px solid var(--danger);background:var(--danger-soft);border-radius:var(--r-b);padding:16px 18px;margin:0 0 16px;font-size:15px;color:var(--ink)}
.rf-errsum:focus,.rf-notice:focus{outline:3px solid var(--ink);outline-offset:2px}
.rf-errsum h2,.rf-notice h2{font:800 16px/1.35 var(--ff);margin:0 0 6px;color:var(--ink)}
.rf-errsum ul{margin:0;padding-left:20px;columns:2 240px;column-gap:28px}
.rf-errsum li{margin:0;padding:3px 0;break-inside:avoid}
.rf-errsum a{font-weight:600;color:var(--danger);text-decoration-color:currentColor;text-decoration-thickness:1px}
.rf-errsum a:hover{color:var(--ink)}
.rf-notice{border-left-color:var(--orange);background:var(--orange-soft)}
.rf-notice p{margin:0}
.rf-notice p + p{margin-top:6px}
.rf-notice .rf-linkbtn{margin-top:8px}
#rf-draft{background:var(--tape-soft);border-left-color:var(--tape)}
.rf-notice.is-offline{border-left-color:var(--slate);background:var(--line-2)}
.rf-linkbtn{appearance:none;background:none;border:0;padding:6px 0;min-height:44px;font:700 15px var(--ff);color:var(--ink);text-decoration:underline;text-decoration-color:var(--tape);text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}
.rf-linkbtn:hover{color:var(--tape-2)}
.rf-linkbtn:focus-visible{outline:3px solid var(--tape-2);outline-offset:2px;border-radius:3px}

/* ---------- Karty kroków ---------- */
.rf-form{counter-reset:rfsec}
.rf-sec{counter-increment:rfsec;position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r);box-shadow:var(--sh-card);padding:22px 18px 24px;margin:0 0 16px;scroll-margin-top:72px}
.rf-sec::after{content:counter(rfsec,decimal-leading-zero);content:counter(rfsec,decimal-leading-zero) / "";position:absolute;top:12px;right:16px;font:800 56px/1 var(--ff-d);color:transparent;-webkit-text-stroke:1.5px #E3E3E6;pointer-events:none;z-index:0}
.rf-sec > *{position:relative;z-index:1}
.rf-step{display:flex;align-items:center;gap:10px;font:800 12px/1.3 var(--ff);text-transform:uppercase;letter-spacing:.16em;color:var(--tape-2)}
.rf-step::before{content:"";width:20px;height:2px;border-radius:1px;background:var(--tape)}
.rf-sec h2{font:800 24px/1.1 var(--ff-d);text-transform:uppercase;letter-spacing:.01em;color:var(--ink);margin:8px 0 6px;padding-right:64px}
.rf-desc{font-size:14px;font-weight:500;line-height:1.45;color:var(--slate);margin:4px 0 0;max-width:60ch}
.rf-opt{display:inline-block;font-size:13.5px;font-weight:600;font-style:normal;color:var(--slate);margin:2px 0 0;padding:2px 8px;border:1px solid var(--line-soft);border-radius:var(--r-xs)}

/* ---------- Pola ---------- */
.rf-field{margin-top:22px;min-width:0}
fieldset.rf-field,fieldset.rf-mrow{border:0;margin:0;padding:0;min-width:0}
fieldset.rf-field{margin-top:22px}
.rf-label,.rf-legend{display:block;font-size:16px;font-weight:600;line-height:1.35;color:var(--ink);padding:0;margin:0}
.rf-req{color:var(--tape-2);font-weight:700;margin-left:2px}
.rf-help{font-size:14px;font-weight:500;color:var(--slate);margin:3px 0 0;line-height:1.45}
.rf-ctrl{margin-top:10px}
.rf-in{display:block;width:100%;min-height:48px;padding:12px 14px;font:500 16px/1.4 var(--ff);color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:var(--r-b);transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none}
.rf-in::placeholder{color:var(--mute);opacity:1;font-weight:400}
.rf-in:hover{border-color:var(--ink-2)}
.rf-in:focus{outline:none;border-color:var(--tape-2);box-shadow:0 0 0 1.5px var(--tape-2),0 0 0 5px rgba(163,57,255,.20)}
.rf-in[aria-invalid="true"]{border-color:var(--danger)}
.rf-in[aria-invalid="true"]:focus{border-color:var(--danger);box-shadow:0 0 0 1.5px var(--danger),0 0 0 5px rgba(208,2,27,.15)}
textarea.rf-in{min-height:120px;resize:vertical}
select.rf-in{padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23141414' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.rf-in.is-narrow{max-width:160px}
.rf-count{font-size:12.5px;color:var(--slate);text-align:right;margin-top:4px;font-variant-numeric:tabular-nums}
.rf-count.is-near{color:var(--tape-ink);font-weight:700}
.rf-err{display:block;font-size:14px;font-weight:600;line-height:1.4;color:var(--danger);margin-top:6px}
.rf-err:empty{display:none}
.rf-err::before{content:"⚠\FE0E  "}

/* pary pól (imię/nazwisko, telefon/e-mail, miasto/kod, liczby) */
.rf-pair{display:grid;grid-template-columns:1fr;gap:0 16px}
.rf-pair.is-city{grid-template-columns:minmax(0,1fr) 128px}
.rf-pair > .rf-field{display:flex;flex-direction:column}
.rf-pair > .rf-field > .rf-help{order:3;margin-top:6px}
.rf-pair > .rf-field > .rf-err{order:4}

/* ---------- Segmenty (scale3 / yesno) ---------- */
.rf-seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1.5px solid var(--line);border-radius:var(--r-b);overflow:hidden;background:#fff}
.rf-seg.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rf-seg.is-n{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.rf-seg label{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:8px 6px;font:700 14px/1.2 var(--ff);color:var(--ink-2);border-left:1px solid var(--line-soft);cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s,color .15s,box-shadow .15s}
.rf-seg input:first-child + label,.rf-seg label:first-of-type{border-left:0}
.rf-seg label:hover{background:#F6F6F7}
.rf-seg label:active{background:var(--line-2)}
.rf-seg input:checked + label{background:var(--tape-2);color:#fff}
/* ✓ w rogu — nie zmienia szerokości tekstu */
.rf-seg input:checked + label::before{content:"✓";position:absolute;top:4px;left:7px;font-size:12px;font-weight:800;line-height:1}
.rf-seg input[value="no"]:checked + label{background:var(--line-2);color:var(--ink);box-shadow:inset 0 0 0 2px var(--slate)}
.rf-seg input[value="learn"]:checked + label{background:var(--tape-soft);color:var(--tape-ink);box-shadow:inset 0 0 0 2px var(--tape)}
.rf-seg input:focus-visible + label{outline:3px solid var(--tape-2);outline-offset:-3px;z-index:1}
.rf-seg input:checked:focus-visible + label{outline-color:#fff;outline-offset:-6px}
.rf-seg input[value="no"]:checked:focus-visible + label,.rf-seg input[value="learn"]:checked:focus-visible + label{outline-color:var(--ink);outline-offset:-3px}
.rf-invalid .rf-seg{border-color:var(--danger)}

/* ---------- Macierz ---------- */
.rf-matrix{margin-top:14px}
fieldset.rf-mrow{padding:16px 0;border-bottom:1px solid var(--line-2)}
fieldset.rf-mrow:last-child{border-bottom:0;padding-bottom:0}
.rf-matrix + .rf-matrix{border-top:1px solid var(--line-2);margin-top:0}
.rf-mlab{display:block;font-size:16px;font-weight:600;line-height:1.35;color:var(--ink);margin-bottom:10px}
.rf-matrix .rf-help{margin:-4px 0 10px}

/* ---------- Pigułki: kwadrat = checkbox, kółko = radio ---------- */
.rf-pills{display:flex;flex-wrap:wrap;gap:8px}
.rf-pills label{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px 10px 12px;border:1.5px solid var(--line);border-radius:var(--r-pill);background:#fff;font:600 15px/1.25 var(--ff);color:var(--ink);cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s,border-color .15s,color .15s}
.rf-pills label:hover{border-color:var(--ink-2)}
.rf-pills label:active{background:var(--line-2)}
.rf-pills label::before{content:"";flex:0 0 auto;width:18px;height:18px;border:2px solid var(--line);border-radius:4px;background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;line-height:1;color:var(--tape-2);transition:border-color .15s,background-color .15s}
.rf-pills.is-radio label::before{border-radius:50%}
.rf-pills input:checked + label{background:var(--tape-2);border-color:var(--tape-2);color:#fff}
.rf-pills input:checked + label::before{content:"✓";border-color:#fff;background:#fff;animation:rf-pop .12s var(--ease)}
.rf-pills.is-radio input:checked + label::before{content:"";background:radial-gradient(circle,var(--tape-2) 0 4px,#fff 4.5px)}
@keyframes rf-pop{from{transform:scale(.6)}to{transform:scale(1)}}
.rf-pills input:focus-visible + label{outline:3px solid var(--tape-2);outline-offset:2px}
.rf-pills input:checked:focus-visible + label{outline-color:var(--ink)}
.rf-invalid .rf-pills label{border-color:#E7A1A9}

/* „Inne” — bez JS zawsze widoczne; z :has ukryte, dopóki „Inne” nie jest zaznaczone (i pole puste) */
.rf-other{margin-top:12px}
.rf-other .rf-label{font-size:14px;font-weight:600;color:var(--ink-2)}
@supports selector(:has(*)){
  .rf-q:has(.rf-oth:not(:checked)) .rf-other:has(.rf-in:placeholder-shown){display:none}
}

/* ---------- Zgoda RODO ---------- */
.rf-consent-box{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r);box-shadow:var(--sh-card);padding:18px;margin:0 0 20px;scroll-margin-top:72px}
.rf-consent{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--line);border-radius:var(--r-b);padding:16px;cursor:pointer;font-size:14.5px;line-height:1.55;color:var(--ink);transition:border-color .15s,background-color .15s}
.rf-consent:hover{border-color:var(--ink-2)}
.rf-consent input{flex:0 0 auto;width:24px;height:24px;margin:0;accent-color:var(--tape-2);cursor:pointer}
.rf-consent input:focus-visible{outline:3px solid var(--tape-2);outline-offset:2px}
.rf-consent:has(input:checked){border-color:var(--tape-2);background:#FAF6FF}
.rf-consent.is-invalid{border-color:var(--danger);background:var(--danger-soft)}
.rf-privacy{margin-top:10px}
.rf-privacy summary{display:flex;align-items:center;gap:10px;min-height:44px;font:700 15px/1.3 var(--ff);color:var(--ink);cursor:pointer;list-style:none;border-radius:4px}
.rf-privacy summary::-webkit-details-marker{display:none}
.rf-privacy summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--tape-2);border-bottom:2px solid var(--tape-2);transform:rotate(-45deg);transition:transform .2s var(--ease);margin:0 2px}
.rf-privacy[open] summary::before{transform:rotate(45deg)}
.rf-privacy summary:hover{color:var(--tape-2)}
.rf-privacy summary:focus-visible{outline:3px solid var(--tape-2);outline-offset:2px}
.rf-privacy-body{font-size:13.5px;line-height:1.6;color:var(--ink-2);background:var(--bg);border-radius:var(--r-b);padding:14px 16px;margin-top:4px}
.rf-privacy-body p{margin:0 0 8px}
.rf-privacy-body p:last-child{margin:0}

/* ---------- Przyciski ---------- */
.rf-actions{margin-top:8px}
.rf-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:0 36px;border:0;border-radius:var(--r-pill);background:linear-gradient(135deg,#A339FF 0%,#8228CC 100%);color:#fff!important;font:700 17px/1 var(--ff);letter-spacing:.01em;cursor:pointer;box-shadow:var(--sh-cta);transition:transform .3s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease);text-decoration:none!important;-webkit-tap-highlight-color:transparent}
.rf-submit:hover{transform:translateY(-3px);box-shadow:var(--sh-cta-h)}
.rf-submit:active{transform:translateY(0);box-shadow:var(--sh-cta)}
.rf-submit:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.rf-submit[disabled],.rf-submit[aria-disabled="true"]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.rf-submit .rf-spin{display:none;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:rf-spin .7s linear infinite}
.rf-submit.is-busy .rf-spin{display:inline-block}
@keyframes rf-spin{to{transform:rotate(360deg)}}
.rf-btn-g{background:transparent;color:var(--ink)!important;border:1.5px solid var(--ink);box-shadow:none}
.rf[data-page] .rf-state .rf-btn-g{background:linear-gradient(135deg,#A339FF,#8228CC);color:#fff!important;border:0;box-shadow:var(--sh-cta)}
.rf[data-page] .rf-state .rf-submit:focus-visible{outline-color:#fff}
.rf-slow{font-size:14px;font-weight:500;color:var(--ink);background:var(--orange-soft);border-left:4px solid var(--orange);border-radius:var(--r-b);padding:12px 16px;margin:14px 0 0;max-width:560px}
.rf-slow.is-stuck{border-left-color:var(--danger);background:var(--danger-soft)}
.rf-multi{font-style:normal}
.rf-fine{font-size:13.5px;color:var(--slate);margin:14px 0 0;line-height:1.55}
.rf-ts{margin:0 0 16px}

/* ---------- Honeypot ---------- */
.rf-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* ---------- Strony stanu (podziękowanie / zamknięte / błąd / brak dostępu) — ciemne ---------- */
.rf[data-page] .rf-hero.is-slim{padding:0;height:0;background:none}
.rf[data-page="thanks"] .rf-top,.rf[data-page="state"] .rf-top{background:transparent}
.rf[data-page] .rf-hero.is-slim::after{content:none}
.rf[data-page] .rf-sec.rf-state{background:transparent;border:0;box-shadow:none;border-radius:0;padding:32px 0 56px;min-height:52vh;min-height:52svh;color:var(--on-dark)}
.rf-sec.rf-state::after{content:none}
.rf-state-ic{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:700 28px/1 var(--ff);margin-bottom:20px;background:transparent;border:1.5px solid}
.rf-state-ic.is-ok{color:var(--green);border-color:rgba(63,225,0,.5)}
.rf-state-ic.is-off{color:var(--on-dark-2);border-color:rgba(255,255,255,.4)}
.rf-state-ic.is-err{color:var(--danger-on-dark);border-color:rgba(255,90,95,.5)}
.rf-state h1{font:800 34px/1.05 var(--ff-d);text-transform:uppercase;letter-spacing:.01em;margin:0 0 16px;color:#fff;text-wrap:balance}
.rf-state h1 .rf-accent{font-family:var(--ff-h);font-style:italic;font-weight:300;font-size:1.05em;text-transform:none;letter-spacing:0;color:var(--violet-300);white-space:normal}
.rf[data-page="thanks"] .rf-state h1 .rf-accent{color:var(--orange)}
.rf-state p{font-size:16px;line-height:1.6;margin:0 0 12px;color:var(--on-dark-2);max-width:58ch}
.rf-state .rf-submit{margin-top:24px}

/* ---------- Stopka ---------- */
.rf-foot{background:var(--dark);color:var(--on-dark-2);padding:48px 20px 24px}
.rf-foot-in{max-width:760px;margin:0 auto}
.rf-foot-brand img{height:36px;width:auto;display:block}
.rf-foot-brand p{font-size:15px;line-height:1.6;margin:16px 0 0;max-width:34ch}
.rf-foot-h{font:800 20px/1.2 var(--ff-d);text-transform:uppercase;letter-spacing:.01em;color:var(--tape);margin:36px 0 8px}
.rf-foot-list{list-style:none;margin:0;padding:0;font-size:15px}
.rf-foot-list li{margin:0}
.rf-foot-list a,.rf-foot-addr{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:#fff;text-decoration:none}
.rf-foot-addr{align-items:flex-start;padding-top:11px;line-height:1.5;color:var(--on-dark-2)}
.rf-foot .rf-foot-list a:hover{text-decoration:underline;text-decoration-color:var(--violet-300);text-decoration-thickness:2px;text-underline-offset:4px}
.rf-foot a:focus-visible{outline:3px solid #fff;outline-offset:3px;border-radius:3px}
.rf-foot-list a::before,.rf-foot-addr::before{content:"";flex:0 0 16px;width:16px;height:16px;background:no-repeat center/16px 16px}
.rf-foot-addr::before{margin-top:3px}
.rf-foot-list a[href^="mailto:"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8400' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E")}
.rf-foot-list a[href^="tel:"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8400' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E")}
.rf-foot-addr::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8400' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 0 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
.rf-foot-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;border-top:1px solid rgba(255,255,255,.10);margin-top:32px;padding-top:20px;font-size:13px;color:var(--on-dark-3)}
.rf-foot-bar a{color:var(--on-dark-2)}

/* ---------- telefony ---------- */
@media (max-width:719px){
  .rf-sec{padding:22px 18px 24px}
  .rf-seg label{font-size:12.5px;padding:8px 3px;overflow-wrap:anywhere}
}
@media (max-width:359px){
  .rf-seg:not(.is-2){grid-template-columns:1fr}
  .rf-seg:not(.is-2) label{border-left:0;border-top:1px solid var(--line-soft);min-height:48px;font-size:14px}
  .rf-seg:not(.is-2) label:first-of-type{border-top:0}
}

/* ---------- ≥ 720 px ---------- */
@media (min-width:720px){
  .rf-top{height:80px;padding:0 24px}
  .rf-top img{height:40px}
  .rf-top-tag{font-size:13px}
  .rf-hero{padding:24px 24px 80px}
  .rf-hero::after{font-size:200px}
  .rf-eyebrow{font-size:13px}
  .rf-hero h1{font-size:60px;max-width:16ch}
  .rf-accent{font-size:1.4em}
  .rf-intro{font-size:17px}
  .rf-prog{padding:12px 24px 0}
  .rf-bar{margin:12px -24px 0;margin:12px calc(50% - 50vw) 0}
  .rf-wrap{padding:32px 24px 80px}
  .rf-sec{padding:32px 36px 36px;margin-bottom:20px}
  .rf-sec::after{font-size:88px;top:16px;right:28px}
  .rf-sec h2{font-size:30px;padding-right:96px}
  .rf-help,.rf-desc{font-size:14.5px}
  .rf-consent-box{padding:24px 36px}
  .rf-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rf-pair.is-city{grid-template-columns:minmax(0,1fr) 160px}
  .rf-pair.is-nums{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rf-mgrid{display:grid;grid-template-columns:minmax(0,1fr) 390px;align-items:center;gap:16px}
  .rf-mgrid .rf-mlab{margin:0}
  .rf-matrix.is-2 .rf-mgrid{grid-template-columns:minmax(0,1fr) 240px}
  .rf-matrix .rf-help{margin:4px 0 0}
  .rf-seg.is-2,.rf-field > .rf-seg.is-2{max-width:240px}
  .rf-submit{display:inline-flex;width:auto;min-width:320px;padding:0 50px;font-size:18px}
  .rf[data-page] .rf-sec.rf-state{padding:72px 0 96px}
  .rf-state h1{font-size:56px}
  .rf-foot{padding:64px 24px 32px}
  .rf-foot-in{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
  .rf-foot-brand img{height:40px}
  .rf-foot-h{margin-top:0}
  .rf-foot-bar{grid-column:1 / -1}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rf *,.rf *::before,.rf *::after{transition:none!important;animation-duration:.01ms!important}
  .rf-submit:hover{transform:none}
  .rf-accent{animation:none!important;color:#A339FF}
  .rf-state h1 .rf-accent{color:var(--violet-300)}
  .rf[data-page="thanks"] .rf-state h1 .rf-accent{color:var(--orange)}
}
@media print{
  .rf-prog,.rf-preview,.rf-actions,.rf-top,.rf-skip{display:none}
  .rf-hero,.rf-foot,body.rf[data-page]{background:none!important;color:#000}
  .rf-hero::after,.rf-sec::after{display:none}
  .rf-hero h1,.rf-intro,.rf-meta li,.rf-foot-list a,.rf-state h1,.rf-state p{color:#000}
  .rf-sec{box-shadow:none;border:1px solid #999}
}
