/* hero */
.zh { position:relative; overflow:hidden; background: linear-gradient(135deg, var(--blue-900), var(--blue) 130%); color:#fff; }
.zh .wrap { position:relative; z-index:2; display:grid; grid-template-columns: 1.05fr .95fr; gap:48px; align-items:center; padding:60px 28px 64px; }
.zh .crumb, .zh .crumb a { color:#bcd6f0; }
.zh h1 { color:#fff; font-size:clamp(30px,4vw,50px); }
.zh h1 .hl { color:var(--yellow); }
.zh p.lead { color:#cfe0f3; font-size:1.18rem; margin-top:18px; max-width:52ch; }
.zh-actions { display:flex; gap:14px; margin-top:30px; flex-wrap:wrap; }
.zh-card { background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); border-radius:var(--r-lg); padding:28px 30px; backdrop-filter:blur(4px); }
.zh-card h3 { color:#fff; font-size:18px; }
.zh-card ul { list-style:none; padding:0; margin:16px 0 0; display:grid; gap:12px; }
.zh-card li { display:flex; gap:11px; align-items:flex-start; color:#e4eefb; font-size:15px; }
.zh-card .tick { width:24px; height:24px; border-radius:50%; background:rgba(255,196,35,.18); color:var(--yellow); display:flex; align-items:center; justify-content:center; flex:none; margin-top:1px; }
.zh .blades { position:absolute; right:-60px; top:-50px; width:360px; height:360px; opacity:.14; }
@media(max-width:920px){ .zh .wrap{ grid-template-columns:1fr; gap:34px; } }
/* mobile: kompaktowy hero + ukrycie ciemnej karty, by dane kontaktowe i formularz były od razu widoczne (H1 zostaje dla SEO) */
@media(max-width:768px){
  .zh .wrap{ padding:24px 22px 28px; gap:0; }
  .zh h1{ font-size:clamp(25px,6.4vw,33px); margin-top:10px; }
  .zh p.lead{ font-size:1rem; margin-top:11px; max-width:none; }
  .zh-card{ display:none; }
  .zh .blades{ width:240px; height:240px; right:-50px; top:-40px; }
  /* sekcja formularza tuż pod hero - bez dużych odstępów */
  #formularz.section{ padding-top:26px; }
  #formularz .form-wrap{ gap:24px; }
}

/* trust strip */
.trust { border-bottom:1px solid var(--line); background:#fff; }
.trust .wrap { display:flex; gap:40px; padding:22px 28px; flex-wrap:wrap; justify-content:space-between; }
.trust .ti { display:flex; align-items:center; gap:12px; }
.trust .ti .n { font-family:var(--font-display); font-weight:800; font-size:28px; color:var(--blue); letter-spacing:-.02em; }
.trust .ti .l { font-size:13.5px; color:var(--muted); line-height:1.3; }

/* section heads */
.shead2 { text-align:center; max-width:60ch; margin:0 auto 44px; }
.shead2 h2 { font-size:clamp(26px,3vw,38px); margin-top:12px; }
.shead2 p { color:var(--ink-2); margin-top:12px; }

/* ── Kafelek-bohater: PRELEGENT na cala szerokosc (decyzja usera 2026-07-23:
   prelegenci to najwazniejsze osoby, ktorych szukamy; pozostale role mniejsze) ── */
.area-hero { position:relative; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; gap:34px; background:linear-gradient(135deg, var(--blue-900), var(--blue) 145%); border-radius:var(--r-lg); padding:34px 36px; margin-bottom:22px; color:#cfe0f3; }
.area-hero .ah-eyebrow { display:inline-block; font-family:var(--font-display); font-weight:700; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--yellow); }
.area-hero h3 { color:#fff; font-size:clamp(22px,2.4vw,30px); margin-top:10px; }
.area-hero p { margin-top:12px; font-size:15.5px; line-height:1.65; max-width:56ch; color:#cfe0f3; }
.area-hero .ah-cta { margin-top:24px; }
.area-hero .ah-note { font-size:13px; color:#bcd6f0; margin-top:12px; }
.area-hero ul { list-style:none; padding:0; margin:4px 0 0; display:grid; gap:12px; align-content:center; }
.area-hero li { display:flex; gap:11px; align-items:flex-start; color:#e4eefb; font-size:15px; }
.area-hero li b { color:#fff; }
.area-hero .tick { width:24px; height:24px; border-radius:50%; background:rgba(255,196,35,.18); color:var(--yellow); display:flex; align-items:center; justify-content:center; flex:none; margin-top:1px; }
.area-hero .blades2 { position:absolute; right:-70px; bottom:-80px; width:280px; height:280px; opacity:.10; pointer-events:none; }
@media(max-width:900px){ .area-hero { grid-template-columns:1fr; gap:22px; padding:26px 22px; } }

/* Mniejsze kafelki pozostalych rol (pod kafelkiem-bohaterem) */
.areas--mini { gap:16px; }
.areas--mini .area { padding:18px 18px; }
.areas--mini .ai { width:38px; height:38px; border-radius:10px; margin-bottom:12px; }
.areas--mini .ai svg { width:18px; height:18px; }
.areas--mini h3 { font-size:15.5px; }
.areas--mini ul { margin-top:9px; gap:5px; }
.areas--mini li { font-size:12.5px; padding-left:14px; }
.areas--mini li::before { top:7px; width:5px; height:5px; }

/* topic areas grid */
.areas { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; }
.area { background:#fff; border-radius:var(--r-lg); padding:26px 24px; box-shadow: inset 0 0 0 1px var(--line); transition:transform .18s, box-shadow .22s; }
.area:hover { transform:translateY(-4px); box-shadow: inset 0 0 0 1px transparent, var(--shadow); }
.area .ai { width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.area h3 { font-size:18px; }
.area ul { list-style:none; padding:0; margin:12px 0 0; display:grid; gap:7px; }
.area li { font-size:13.5px; color:var(--ink-2); padding-left:16px; position:relative; }
.area li::before { content:""; position:absolute; left:0; top:8px; width:6px; height:6px; border-radius:50%; background:var(--blue-300); }
@media(max-width:900px){ .areas{ grid-template-columns: repeat(2,1fr);} }
@media(max-width:560px){ .areas{ grid-template-columns: 1fr;} }

/* how it works */
.steps { display:grid; grid-template-columns: repeat(4,1fr); gap:22px; counter-reset:s; }
.step { position:relative; padding:28px 22px; border-radius:var(--r-lg); background:var(--bg-soft); box-shadow: inset 0 0 0 1px var(--line); }
.step .sn { font-family:var(--font-display); font-weight:800; font-size:34px; color:var(--blue); letter-spacing:-.02em; }
.step h3 { font-size:16.5px; margin-top:8px; }
.step p { color:var(--ink-2); font-size:13.5px; margin-top:7px; }
@media(max-width:880px){ .steps{ grid-template-columns: repeat(2,1fr);} }
@media(max-width:480px){ .steps{ grid-template-columns: 1fr;} }

/* why */
.why2 { display:grid; grid-template-columns: repeat(3,1fr); gap:22px; }
.why2 .item { padding:26px 24px; border-radius:var(--r-lg); background:#fff; box-shadow: inset 0 0 0 1px var(--line); }
.why2 .wi { width:46px; height:46px; border-radius:12px; background:var(--blue-tint); color:var(--blue); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.why2 h3 { font-size:17px; }
.why2 p { color:var(--ink-2); font-size:14px; margin-top:7px; }
@media(max-width:880px){ .why2{ grid-template-columns: 1fr;} }

/* contact form */
.form-wrap { display:grid; grid-template-columns: .9fr 1.1fr; gap:48px; align-items:start; }
@media(max-width:880px){ .form-wrap{ grid-template-columns:1fr; gap:32px; } }
.form-side h2 { font-size:clamp(24px,2.6vw,32px); }
.form-side p { color:var(--ink-2); margin-top:14px; font-size:1.05rem; }
.form-side .kbox { display:flex; gap:14px; align-items:flex-start; margin-top:22px; }
.form-side .ki { width:44px; height:44px; border-radius:11px; background:var(--blue-tint); color:var(--blue); display:flex; align-items:center; justify-content:center; flex:none; }
.form-side .kt { font-family:var(--font-display); font-weight:700; font-size:15px; }
.form-side .ks { font-size:14px; color:var(--ink-2); margin-top:2px; }
.form-panel { background:#fff; border-radius:var(--r-xl); box-shadow:var(--shadow-lg); padding:36px; }
.fgrid { display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
.fgrid .full { grid-column:1 / -1; }
@media(max-width:480px){ .fgrid{ grid-template-columns:1fr; } }
.form-ok { display:none; text-align:center; padding:30px 10px; }
.form-ok.show { display:block; }
/* reCAPTCHA v2-style widget */
.recaptcha { display:inline-flex; align-items:center; gap:12px; background:#f9f9f9; border:1px solid #d3d3d3; border-radius:3px; padding:12px 14px; width:304px; max-width:100%; box-shadow:0 1px 2px rgba(0,0,0,.06); cursor:pointer; user-select:none; }
.rc-box { position:relative; width:26px; height:26px; border:2px solid #c1c1c1; border-radius:3px; background:#fff; flex:none; }
.rc-check { position:absolute; inset:0; margin:auto; opacity:0; transform:scale(.5); transition:.18s; }
.recaptcha[aria-checked="true"] .rc-check { opacity:1; transform:scale(1); }
.rc-spin { position:absolute; inset:1px; border:2px solid #4285f4; border-top-color:transparent; border-radius:50%; opacity:0; }
.recaptcha.loading .rc-box { border-color:transparent; }
.recaptcha.loading .rc-spin { opacity:1; animation:rcspin .7s linear infinite; }
@keyframes rcspin { to { transform:rotate(360deg); } }
.rc-label { font-size:14px; color:#000; font-family:Arial, sans-serif; }
.rc-brand { margin-left:auto; text-align:center; display:flex; flex-direction:column; align-items:center; gap:1px; }
.rc-brand-t { font-size:10px; color:#555; font-family:Arial, sans-serif; }
.rc-brand-s { font-size:8px; color:#999; font-family:Arial, sans-serif; }
.rc-err { display:none; color:var(--magenta); font-weight:600; font-size:12.5px; margin-top:8px; }
.rc-err.show { display:block; }
.rc3-note { font-size:11.5px; color:var(--muted); line-height:1.5; margin:0; }
.rc3-note a { color:var(--blue-700); text-decoration:underline; }
.rc3-badge { position:fixed; right:14px; bottom:14px; z-index:60; width:64px; height:64px; border-radius:6px; background:#4a90e2; color:#fff; box-shadow:0 3px 10px rgba(0,0,0,.25); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; }
.rc3-badge svg { width:30px; height:30px; }
.rc3-badge span { font-size:8px; font-family:Arial, sans-serif; letter-spacing:.02em; }
.file-drop { display:flex; align-items:center; gap:14px; padding:16px 18px; border:1.5px dashed var(--line); border-radius:var(--r-sm); background:var(--bg-soft); cursor:pointer; transition:border-color .15s, background .15s; }
.file-drop:hover, .file-drop.over { border-color:var(--blue); background:var(--blue-tint); }
.fd-ic { width:42px; height:42px; border-radius:10px; background:#fff; color:var(--blue); display:flex; align-items:center; justify-content:center; flex:none; box-shadow:var(--shadow-sm); }
.fd-text { font-size:13.5px; color:var(--ink-2); line-height:1.4; }
.fd-text b { color:var(--ink); font-family:var(--font-display); }
.fd-hint { font-size:12px; color:var(--muted); }
.fd-name { font-size:13px; color:var(--blue-700); font-weight:600; margin-top:8px; display:none; }
.fd-name.show { display:flex; align-items:center; gap:8px; }
.fd-name .x { color:var(--muted); cursor:pointer; font-weight:700; }
.fd-name.err { color:var(--magenta); }
.form-ok .okic { width:64px; height:64px; border-radius:50%; background:var(--lime-soft); color:#5f6b00; display:flex; align-items:center; justify-content:center; margin:0 auto 16px; }

/* faq */
.faq { max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.faq details { background:#fff; border-radius:var(--r); box-shadow: inset 0 0 0 1px var(--line); overflow:hidden; }
.faq summary { list-style:none; cursor:pointer; display:flex; align-items:center; gap:14px; padding:18px 20px; font-family:var(--font-display); font-weight:600; font-size:16px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary .chev { margin-left:auto; color:var(--muted); transition:transform .2s; flex:none; }
.faq details[open] summary .chev { transform:rotate(180deg); }
.faq .fa { padding:0 20px 20px; color:var(--ink-2); font-size:14.5px; line-height:1.6; }

/* Powiekszony checkbox zgody (RODO) — czytelniejszy do kliknięcia */
.fgrid input[type="checkbox"] { min-width:16px !important; min-height:16px !important; }
