/* ============================================================
   HKC COACH — STRONA GŁÓWNA (MVP wg HKC Design System)
   „Twoja zmiana, Twoje zasady."
   Odwzorowanie 1:1 z ui_kits/website (kit.css + colors_and_type.css)
   + sekcja „Koło życia" w tej samej stylistyce.
   Wszystko ładowane tylko na froncie (functions.php → is_front_page).
   ============================================================ */

/* ---- TOKENY (z colors_and_type.css) ---- */
body.hkc-home-page {
  /* Cobalt */
  --cobalt-deep:    #142C52;
  --cobalt-dark:    #1B3A6B;
  --cobalt:         #2A5BA8;
  --cobalt-mid:     #4E7AC0;
  --cobalt-light:   #E6EEF8;
  /* Rose */
  --rose-deep:      #A8456A;
  --rose:           #C4547A;
  --rose-light:     #E8A0B8;
  --rose-pale:      #FBEAF0;
  /* Neutrals */
  --graphite:       #1A1A2E;
  --graphite-soft:  #3A3A4E;
  --cream:          #F5F3F0;
  --white:          #FFFFFF;

  --bg:             var(--cream);
  --bg-raised:      var(--white);
  --fg:             var(--graphite);
  --fg-muted:       var(--graphite-soft);
  --fg-faint:       #5E5E74; /* przyciemnione dla kontrastu WCAG 2.2 AA (4.5:1) */
  --fg-on-dark:     #EDEFF5;
  --fg-on-dark-mut: #A9B4CC;

  --primary:        var(--cobalt);
  --primary-strong: var(--cobalt-dark);
  --primary-hover:  #234E92;
  --primary-press:  var(--cobalt-deep);
  --accent:         var(--rose);
  --accent-hover:   var(--rose-deep);

  --line:           #E2DED7;
  --line-strong:    #D2CCC1;
  --line-on-dark:   rgba(237,239,245,0.16);

  --font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-body:    'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --text-hero:   clamp(3.25rem, 6vw, 5.5rem);
  --text-h1:     clamp(2.5rem, 4.4vw, 4rem);
  --text-h2:     clamp(1.9rem, 3vw, 2.75rem);
  --text-h3:     1.5rem;
  --text-lead:   1.25rem;
  --text-body:   1rem;
  --text-sm:     0.875rem;
  --text-xs:     0.75rem;
  --text-label:  0.78rem;

  --leading-tight:  1.12;
  --leading-snug:   1.3;
  --leading-body:   1.7;

  --track-tight:  -0.01em;
  --track-normal: 0;
  --track-wide:   0.1em;
  --track-label:  0.2em;

  --space-1: 4px;   --space-2: 8px;   --space-3: 12px;  --space-4: 16px;
  --space-5: 24px;  --space-6: 32px;  --space-7: 48px;  --space-8: 64px;
  --space-9: 96px;  --space-10: 128px;

  --radius-sm:   8px;
  --radius-md:   14px;
  --radius-lg:   22px;
  --radius-xl:   32px;
  --radius-pill: 999px;

  --shadow-xs:  0 1px 2px rgba(26,26,46,0.05);
  --shadow-sm:  0 2px 8px rgba(27,58,107,0.06);
  --shadow-md:  0 10px 30px -12px rgba(27,58,107,0.18);
  --shadow-lg:  0 24px 60px -20px rgba(27,58,107,0.26);
  --shadow-rose: 0 14px 34px -14px rgba(196,84,122,0.40);

  --ease:        cubic-bezier(0.22, 0.61, 0.36, 1);
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast:    140ms;
  --dur:         240ms;
  --dur-slow:    420ms;

  --maxw:        1180px;

  margin: 0;
}

/* ============================================================
   KIT (z kit.css)
   ============================================================ */
body.hkc-home-page * { box-sizing: border-box; }
body.hkc-home-page { scroll-behavior: smooth; }

.hkc-site {
  font-family: var(--font-body);
  color: var(--fg);
  background: var(--cream);
  font-size: var(--text-body);
  line-height: var(--leading-body);
  -webkit-font-smoothing: antialiased;
}

.hkc-container { max-width: var(--maxw); margin: 0 auto; padding: 0 28px; }

/* ---- Sections ---- */
.hkc-section { padding: clamp(64px, 9vw, 120px) 0; position: relative; }
.hkc-section--cream    { background: var(--cream); }
.hkc-section--white    { background: var(--white); }
.hkc-section--cobalt   { background: var(--cobalt-dark); color: var(--fg-on-dark); }
.hkc-section--graphite { background: var(--graphite); color: var(--fg-on-dark); }
.hkc-section--rose     { background: var(--rose-pale); }

/* ---- Eyebrow + rose rule ---- */
.hkc-eyebrow {
  font-size: var(--text-label); font-weight: 600; text-transform: uppercase;
  letter-spacing: var(--track-label); margin: 0 0 16px;
}
.hkc-eyebrow--cobalt { color: var(--cobalt); }
.hkc-eyebrow--rose   { color: var(--rose-deep); } /* róż głęboki dla kontrastu WCAG na kremie/białym */
.hkc-eyebrow--light  { color: var(--rose-light); }
.hkc-rose-rule { width: 56px; height: 3px; border: 0; border-radius: 2px; background: var(--rose); margin: 18px 0; }

/* ---- Headings ---- */
.hkc-h1 { font-family: var(--font-display); font-weight: 600; font-size: var(--text-h1); line-height: var(--leading-tight); letter-spacing: var(--track-tight); margin: 0; }
.hkc-h2 { font-family: var(--font-display); font-weight: 600; font-size: var(--text-h2); line-height: 1.08; letter-spacing: var(--track-tight); margin: 0; }
.hkc-h3 { font-family: var(--font-display); font-weight: 600; font-size: var(--text-h3); line-height: 1.2; margin: 0; }
.hkc-display { font-family: var(--font-display); font-weight: 600; font-size: var(--text-hero); line-height: 1.04; letter-spacing: var(--track-tight); margin: 0; }
/* Jawny kolor nagłówków — żeby nie dziedziczyły ciemnego koloru z globalnego motywu */
.hkc-h1, .hkc-h2, .hkc-h3, .hkc-display { color: var(--graphite); }
.hkc-section--cobalt .hkc-h1, .hkc-section--cobalt .hkc-h2, .hkc-section--cobalt .hkc-h3,
.hkc-section--graphite .hkc-h1, .hkc-section--graphite .hkc-h2, .hkc-section--graphite .hkc-h3 { color: #fff; }
.hkc-lead { font-size: var(--text-lead); line-height: 1.55; color: var(--fg-muted); font-weight: 400; max-width: 56ch; }
.hkc-section--cobalt .hkc-lead, .hkc-section--graphite .hkc-lead { color: var(--fg-on-dark-mut); }
.hkc-italic { font-style: italic; }

/* ---- Icons (Lucide) ---- */
.hkc-ic { display: inline-flex; align-items: center; justify-content: center; }
.hkc-ic svg { display: block; }

/* ---- Buttons ---- */
.hkc-btn {
  font-family: var(--font-body); font-weight: 600; border: 0; cursor: pointer;
  border-radius: var(--radius-pill); display: inline-flex; align-items: center; gap: 8px;
  transition: transform var(--dur-fast) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease), color var(--dur) var(--ease);
  line-height: 1; white-space: nowrap; text-decoration: none;
}
.hkc-btn--md { font-size: 15px; padding: 13px 26px; }
.hkc-btn--lg { font-size: 16px; padding: 16px 32px; }
.hkc-btn--sm { font-size: 13.5px; padding: 10px 18px; }
.hkc-btn--primary { background: var(--cobalt); color: #fff; box-shadow: var(--shadow-sm); }
.hkc-btn--primary:hover { background: var(--primary-hover); box-shadow: var(--shadow-md); }
.hkc-btn--primary:active { background: var(--cobalt-deep); transform: scale(.98); }
.hkc-btn--rose { background: var(--rose); color: #fff; box-shadow: var(--shadow-rose); }
.hkc-btn--rose:hover { background: var(--rose-deep); }
.hkc-btn--rose:active { transform: scale(.98); }
.hkc-btn--ghost { background: transparent; color: var(--cobalt-dark); border: 1.5px solid var(--line-strong); }
.hkc-btn--ghost:hover { border-color: var(--cobalt); color: var(--cobalt); }
.hkc-btn--light { background: var(--white); color: var(--cobalt-dark); box-shadow: var(--shadow-sm); }
.hkc-btn--light:hover { transform: translateY(-1px); box-shadow: var(--shadow-md); }
.hkc-btn--linkish { background: transparent; color: var(--cobalt); padding-left: 0; padding-right: 0; }
.hkc-btn--linkish:hover { color: var(--rose); gap: 11px; }

/* ---- Header / nav ---- */
.hkc-header { position: sticky; top: 0; z-index: 50; padding: 14px 0; transition: all var(--dur) var(--ease); }
.hkc-header.scrolled .hkc-nav { background: rgba(255,255,255,.82); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: var(--shadow-sm); border-color: var(--line); }
.hkc-nav {
  display: flex; align-items: center; gap: 26px;
  border: 1px solid transparent; border-radius: var(--radius-pill);
  padding: 10px 12px 10px 22px; transition: all var(--dur) var(--ease);
}
.hkc-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; cursor: pointer; }
.hkc-brand img, .hkc-brand svg { width: 32px; height: 32px; }
.hkc-brand-word { font-family: var(--font-display); font-size: 26px; font-weight: 600; letter-spacing: .06em; color: var(--cobalt-dark); }
.hkc-navlinks { display: flex; gap: 26px; margin-left: 6px; }
.hkc-navlinks a { font-size: 14.5px; font-weight: 500; color: var(--graphite-soft); text-decoration: none; cursor: pointer; transition: color var(--dur-fast); }
.hkc-navlinks a:hover, .hkc-navlinks a.active { color: var(--rose-deep); }
.hkc-nav-cta { margin-left: auto; }
.hkc-burger { display: none; margin-left: auto; background: none; border: 0; cursor: pointer; color: var(--cobalt-dark); }
.hkc-burger svg { width: 24px; height: 24px; }

/* ---- Hero ---- */
.hkc-hero { padding: clamp(48px, 7vw, 96px) 0 clamp(64px, 8vw, 110px); }
.hkc-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: center; }
.hkc-hero-tag { display: inline-flex; align-items: center; gap: 9px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-pill); padding: 7px 16px 7px 12px; font-size: 13px; font-weight: 600; color: var(--cobalt-dark); box-shadow: var(--shadow-xs); margin-bottom: 26px; }
.hkc-hero-tag .dot { width: 8px; height: 8px; border-radius: 999px; background: #1B9E6B; }
.hkc-hero-actions { display: flex; gap: 14px; align-items: center; margin-top: 34px; flex-wrap: wrap; }
.hkc-hero-meta { display: flex; gap: 30px; margin-top: 42px; }
.hkc-hero-meta .n { font-family: var(--font-display); font-size: 34px; font-weight: 600; color: var(--cobalt-dark); line-height: 1; }
.hkc-hero-meta .l { font-size: 12.5px; color: var(--fg-faint); margin-top: 5px; }

/* ---- Portrait placeholder ---- */
.hkc-portrait { position: relative; border-radius: var(--radius-xl); overflow: hidden; aspect-ratio: 4/5; background: linear-gradient(160deg, var(--cobalt-light), var(--rose-pale)); box-shadow: var(--shadow-lg); display: flex; align-items: flex-end; }
.hkc-portrait .ph { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color: var(--cobalt); opacity:.5; }
.hkc-portrait .ph svg { width: 92px; height: 92px; }
.hkc-portrait .cap { position: relative; margin: 18px; background: rgba(255,255,255,.9); backdrop-filter: blur(8px); border-radius: var(--radius-md); padding: 12px 16px; font-size: 12px; color: var(--graphite-soft); }
.hkc-portrait .cap b { display:block; font-family: var(--font-display); font-size: 17px; color: var(--graphite); font-weight: 600; }

/* ---- Section head ---- */
.hkc-section-head { max-width: 640px; margin-bottom: 52px; }
.hkc-section-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.hkc-section-head.center .hkc-rose-rule { margin-left: auto; margin-right: auto; }

/* ---- Service cards ---- */
.hkc-services-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; }
.hkc-services-grid .hkc-card { flex: 1 1 280px; max-width: 360px; }
.hkc-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 30px; box-shadow: var(--shadow-sm); transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); cursor: pointer; display: flex; flex-direction: column; align-items: center; text-align: center; }
.hkc-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.hkc-card.feature { grid-column: span 1; background: var(--cobalt-dark); color: var(--fg-on-dark); border-color: transparent; }
.hkc-card-ic { width: 48px; height: 48px; border-radius: 14px; background: var(--cobalt-light); color: var(--cobalt-dark); display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }
.hkc-card-ic svg { width: 24px; height: 24px; }
.hkc-card.feature .hkc-card-ic { background: rgba(232,160,184,.18); color: var(--rose-light); }
.hkc-card .hkc-card-ic.rose { background: var(--rose-pale); color: var(--rose-deep); }
.hkc-card h3 { font-family: var(--font-display); font-size: 23px; font-weight: 600; margin: 0 0 12px; color: var(--graphite); }
.hkc-card.feature h3 { color: #fff; }
.hkc-card p { font-size: 14.5px; color: var(--fg-muted); margin: 0 0 18px; line-height: 1.6; }
.hkc-card.feature p { color: var(--fg-on-dark-mut); }
.hkc-card .more { margin-top: auto; font-size: 13.5px; font-weight: 600; color: var(--cobalt); display: inline-flex; align-items: center; gap: 7px; }
.hkc-card .more svg { width: 15px; height: 15px; }
.hkc-card.feature .more { color: var(--rose-light); }

/* ---- Manifesto (H/K/C) ---- */
.hkc-manifesto { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.hkc-letter { font-family: var(--font-display); font-size: 84px; font-weight: 600; line-height: 1; color: var(--rose); margin-bottom: 8px; }
.hkc-letter span { color: var(--cobalt-mid); }
.hkc-manifesto h3 { font-family: var(--font-display); font-size: 26px; font-weight: 600; color: #fff; margin: 0 0 12px; }
.hkc-manifesto p { font-size: 15px; color: var(--fg-on-dark-mut); margin: 0; line-height: 1.65; }

/* ---- Testimonials ---- */
.hkc-quote { font-family: var(--font-display); font-style: italic; font-size: clamp(1.6rem, 2.6vw, 2.3rem); line-height: 1.32; color: var(--graphite); max-width: 22ch; margin: 0; }
.hkc-quote-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items:center; }
.hkc-quote-mark { font-family: var(--font-display); font-size: 90px; color: var(--rose-light); line-height: .6; height: 40px; }
.hkc-quote-by { display:flex; align-items:center; gap:14px; margin-top:28px; }
.hkc-avatar { width:48px; height:48px; border-radius:999px; background: linear-gradient(150deg,var(--cobalt),var(--rose)); flex:none; display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-family:var(--font-display);font-size:19px; }
.hkc-quote-by b { display:block; font-size:15px; color:var(--graphite); }
.hkc-quote-by span { font-size:13px; color:var(--fg-faint); }
.hkc-mini-quotes { display:flex; flex-direction:column; gap:16px; }
.hkc-mini { background:var(--white); border:1px solid var(--line); border-radius:var(--radius-md); padding:20px 22px; box-shadow:var(--shadow-xs); }
.hkc-mini p { font-size:14px; color:var(--graphite-soft); margin:0 0 12px; line-height:1.6; }
.hkc-mini .who { font-size:12.5px; color:var(--fg-faint); font-weight:600; }

/* ---- Contact / CTA ---- */
.hkc-cta-grid { display:grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items:start; }
.hkc-contact-ic { width: 38px; height: 38px; border-radius: 11px; background: var(--cobalt-light); color: var(--cobalt-dark); display: flex; align-items: center; justify-content: center; }
.hkc-contact-ic svg { width: 18px; height: 18px; }
.hkc-field { margin-bottom: 16px; }
.hkc-field label { display:block; font-size:12.5px; font-weight:600; color:var(--graphite-soft); margin-bottom:7px; letter-spacing:.04em; }
.hkc-input { width:100%; font-family:var(--font-body); font-size:15px; color:var(--graphite); background:var(--white); border:1.5px solid var(--line-strong); border-radius:var(--radius-md); padding:13px 16px; outline:none; transition: border var(--dur-fast), box-shadow var(--dur-fast); }
.hkc-input::placeholder { color: var(--fg-faint); }
.hkc-input:focus { border-color: var(--cobalt); box-shadow: 0 0 0 4px rgba(42,91,168,.14); }
textarea.hkc-input { resize: vertical; min-height: 96px; }
.hkc-form-done { background: var(--cobalt-light); border:1px solid var(--cobalt-mid); border-radius:var(--radius-lg); padding:36px; text-align:center; }
.hkc-form-done .hkc-card-ic { margin:0 auto 16px; background:var(--rose-pale); color:var(--rose-deep); }

/* ---- Footer ---- */
.hkc-footer { background: var(--graphite); color: var(--fg-on-dark-mut); padding: 64px 0 36px; }
.hkc-footer-top { display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; padding-bottom:40px; border-bottom:1px solid var(--line-on-dark); }
.hkc-footer .hkc-brand-word { color:#fff; }
.hkc-footer-col h4 { font-size:12px; text-transform:uppercase; letter-spacing:.18em; color:var(--rose-light); margin:0 0 16px; font-weight:600; }
.hkc-footer-col a { display:block; color:var(--fg-on-dark-mut); text-decoration:none; font-size:14px; margin-bottom:10px; cursor:pointer; }
.hkc-footer-col a:hover { color:#fff; }
.hkc-footer-cols { display:flex; gap:64px; }
.hkc-footer-bottom { display:flex; justify-content:space-between; align-items:center; padding-top:28px; font-size:12.5px; color:var(--fg-on-dark-mut); flex-wrap:wrap; gap:12px; }
.hkc-footer-bottom .cap { font-family:var(--font-body); letter-spacing:.18em; text-transform:uppercase; font-size:11px; }

/* ---- Mobile menu ---- */
.hkc-mobile { display:none; }
.hkc-mobile.open { display:block; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-radius: 22px; padding: 18px; margin-top: 10px; box-shadow: var(--shadow-md); }
.hkc-mobile a { display:block; padding:11px 8px; color:var(--graphite); font-weight:500; cursor:pointer; text-decoration:none; }
.hkc-mobile .hkc-btn { width:100%; justify-content:center; margin-top:8px; }

/* ============================================================
   KOŁO ŻYCIA — narzędzie (w stylistyce HKC)
   ============================================================ */
.hkc-wheel-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: center; }
.hkc-wheel-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px; box-shadow: var(--shadow-sm); }
.hkc-wheel-svg { width: 100%; height: auto; display: block; }
.hkc-wheel-svg text { font-family: var(--font-body); }

.hkc-sliders { display: flex; flex-direction: column; gap: 14px; }
.hkc-slider-row { display: grid; grid-template-columns: 168px 1fr 30px; align-items: center; gap: 16px; }
.hkc-slider-label { display: flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 500; color: var(--graphite-soft); }
.hkc-slider-label .hkc-ic { color: var(--cobalt); }
.hkc-slider-label .hkc-ic svg { width: 18px; height: 18px; }
.hkc-slider-val { font-family: var(--font-display); font-weight: 600; font-size: 18px; color: var(--cobalt-dark); text-align: center; }

.hkc-range { -webkit-appearance: none; appearance: none; width: 100%; height: 4px; border-radius: 999px; background: var(--cobalt-light); outline: none; cursor: pointer; }
.hkc-range::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 999px; background: var(--rose); border: 3px solid #fff; box-shadow: var(--shadow-sm); cursor: pointer; }
.hkc-range::-moz-range-thumb { width: 18px; height: 18px; border-radius: 999px; background: var(--rose); border: 3px solid #fff; box-shadow: var(--shadow-sm); cursor: pointer; }
.hkc-wheel-cta { margin-top: 28px; }
.hkc-wheel-cta p { font-size: 14.5px; color: var(--fg-muted); margin: 0 0 16px; }

/* ============================================================
   LOGO (tymczasowy line-art jako okrągły znak) + ZDJĘCIA
   ============================================================ */
.hkc-logo-img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: center 30%; background: var(--rose-pale); flex: none; }
.hkc-footer .hkc-logo-img { width: 48px; height: 48px; }

.hkc-portrait-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }

/* ============================================================
   STRONY PRAWNE (template-legal.php)
   ============================================================ */
body.hkc-legal-page main { padding-top: clamp(48px, 7vw, 88px); }
.hkc-legal { max-width: 760px; margin: 0 auto; }
.hkc-legal-head { margin-bottom: 28px; }
.hkc-legal-head .hkc-h1 { margin-top: 8px; }
.hkc-legal-body { font-size: 16px; line-height: 1.75; color: var(--graphite-soft); }
.hkc-legal-body h2 { font-family: var(--font-display); font-weight: 600; font-size: 1.6rem; line-height: 1.2; color: var(--cobalt-dark); margin: 2.2rem 0 0.6rem; }
.hkc-legal-body h3 { font-family: var(--font-display); font-weight: 600; font-size: 1.25rem; color: var(--cobalt-dark); margin: 1.6rem 0 0.5rem; }
.hkc-legal-body p { margin: 0 0 1rem; }
.hkc-legal-body a { color: var(--cobalt); text-decoration: underline; }
.hkc-legal-body a:hover { color: var(--rose-deep); }
.hkc-legal-body ul, .hkc-legal-body ol { margin: 0 0 1rem 1.25rem; padding: 0; }
.hkc-legal-body li { margin: 0.35rem 0; }
.hkc-legal-body strong { color: var(--graphite); }
.hkc-legal-body table { width: 100%; border-collapse: collapse; margin: 1rem 0 1.5rem; font-size: 14.5px; }
.hkc-legal-body th, .hkc-legal-body td { text-align: left; vertical-align: top; padding: 10px 12px; border: 1px solid var(--line); }
.hkc-legal-body thead th { background: var(--cobalt-light); color: var(--cobalt-dark); font-weight: 600; }
.hkc-legal-body tbody tr:nth-child(even) { background: #FBFAF8; }
.hkc-legal-note { background: var(--rose-pale); border: 1px solid var(--rose-light); border-radius: var(--radius-md); padding: 14px 18px; font-size: 14.5px; color: var(--graphite-soft); margin: 1.25rem 0; }
.hkc-legal-meta { color: var(--fg-faint); font-size: 14px; }
.hkc-legal-back { margin-top: 2.5rem; }
.hkc-legal-back a { color: var(--cobalt); font-weight: 600; text-decoration: none; }
.hkc-legal-back a:hover { color: var(--rose-deep); }

/* ============================================================
   DOSTĘPNOŚĆ (WCAG 2.2 AA)
   ============================================================ */
/* Honeypot antyspamowy — ukryte pole dla botów (poza ekranem, poza tabulacją) */
.hkc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Skip link — 2.4.1 Bypass Blocks */
.hkc-skip { position: absolute; left: -9999px; top: 0; z-index: 200; background: var(--cobalt-dark); color: #fff; padding: 12px 18px; border-radius: 0 0 10px 0; font-family: var(--font-body); font-weight: 600; font-size: 14px; text-decoration: none; }
.hkc-skip:focus { left: 0; }

/* Widoczny focus — 2.4.7 Focus Visible / 2.4.11 Focus Not Obscured */
.hkc-site a:focus-visible,
.hkc-site button:focus-visible,
.hkc-site input:focus-visible,
.hkc-site select:focus-visible,
.hkc-site textarea:focus-visible,
.hkc-skip:focus-visible,
.hkc-range:focus-visible {
  outline: 3px solid var(--cobalt);
  outline-offset: 2px;
  border-radius: 4px;
}
.hkc-section--cobalt a:focus-visible,
.hkc-section--cobalt button:focus-visible,
.hkc-footer a:focus-visible { outline-color: var(--rose-light); }
#main:focus, #main:focus-visible { outline: none; }

/* ============================================================
   MOTION — reveal (restrained: fade + gentle rise)
   ============================================================ */
.hkc-reveal { opacity: 0; transform: translateY(18px); transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out); }
.hkc-reveal.is-visible { opacity: 1; transform: none; }

/* ============================================================
   RESPONSYWNOŚĆ (z kit.css + koło życia)
   ============================================================ */
@media (max-width: 900px) {
  .hkc-hero-grid, .hkc-quote-grid, .hkc-cta-grid, .hkc-wheel-grid { grid-template-columns: 1fr; gap: 40px; }
  .hkc-services-grid, .hkc-manifesto { grid-template-columns: 1fr; }
  .hkc-navlinks, .hkc-nav-cta { display: none; }
  .hkc-burger { display: inline-flex; }
  .hkc-hero-portrait { order: -1; }
  .hkc-slider-row { grid-template-columns: 130px 1fr 26px; gap: 12px; }
  .hkc-slider-label { font-size: 13.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .hkc-reveal { opacity: 1; transform: none; transition: none; }
  body.hkc-home-page { scroll-behavior: auto; }
}
