:root {
      --brand-mint:   #c9f2ea;
      --brand-mint-dark: #a6d6cc;
      --brand-blue:   #118dc3;
      --brand-blue-dark: #0c6a94;
      --brand-pink:   #ffdce3;
      --brand-pink-dark: #d6b6bd;
      --brand-orange: #f39130;
      --brand-orange-dark: #bd7024;
      --brand-leaf:  #a8cfae;
      --brand-leaf-dark: #6f8f75;
      --brand-peach:  #ffebd2;
      --brand-peach-dark: #d9c4aa;
      --bg-main:  #FDF2EC;
      --bg-main-dark: #d6c9c3;
      --text-dark: #222222;
      --text-light: #555555;
      --white: #dbdbdb;
      --noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.08'/%3E%3C/svg%3E");
      --navbar-bg: #FDF2EC;
      --radius-sm:   8px;
      --radius-md:  24px;
      --radius-lg:  50px;
      --radius-pill: 9999px;
      --border-w: 2.4px;
      --font-h: 'League Spartan', sans-serif;
      --font-body: 'Inter', sans-serif;
    }
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior: smooth; }
    body {
      font-family: var(--font-body);
      background: var(--bg-main);
      color: var(--text-dark);
      line-height: 1.6;
      overflow-x: hidden;
    }
    h1, h2 { font-family: var(--font-h); font-weight: 700; line-height: 1.1; }
    h3, h4, h5 { font-family: var(--font-body); font-weight: 700; line-height: 1.2; }
    a { text-decoration: none; color: inherit; }
    img { max-width: 100%; }

    /* ========== SPLASH ========== */
    #splash {
      position: fixed; inset: 0; z-index: 9999;
      display: flex; align-items: center; justify-content: center;
      background: var(--bg-main);
    }
    #splash-box {
      width: 100%; height: 100%;
      background: var(--brand-mint);
      display: flex; align-items: center; justify-content: center;
    }
    #splash-box img { 
      width: 45vw; object-fit: contain; 
      opacity: 0;
      animation: splashFadeIn 2.5s ease forwards;
    }
    html.flow-splash-seen #splash { display: none !important; }
    html.flow-splash-seen #pages-container { display: block; }
    @keyframes splashFadeIn {
      0%   { opacity: 0; }
      100% { opacity: 1; }
    }

    /* ========== NAVBAR ========== */
    #navbar {
      position: fixed; top: 0; left: 0; right: 0;
      z-index: 1000;
      background: var(--navbar-bg);
      border-bottom: var(--border-w) solid var(--text-dark);
      box-shadow: 0 4px 0 0 rgba(0,0,0,0.08);
      height: 68px;
      display: flex; align-items: center;
    }
    .nav-inner {
      max-width: 1400px; margin: 0 auto; padding: 0 2rem;
      display: flex; align-items: center; justify-content: space-between;
      width: 100%;
    }
    .nav-logo { cursor: pointer; display: flex; align-items: center; flex-shrink: 0; }
    .nav-logo img { height: 42px; object-fit: contain; }
    .nav-links { display: flex; align-items: center; gap: 0.5rem; list-style: none; margin-left: auto; }
    .nav-links li a {
      font-family: var(--font-body); font-weight: 600; font-size: 0.875rem;
      padding: 0.5rem 0.85rem; border-radius: var(--radius-sm);
      border: var(--border-w) solid transparent;
      color: var(--text-dark);
      transition: background 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s, transform 0.2s;
      cursor: pointer; display: block;
      box-shadow: 0 0 0 0 transparent;
    }
    .nav-links li a:not(.nav-cta):not(.nav-eflow):hover,
    .nav-links li a:not(.nav-cta):not(.nav-eflow).active {
      background: var(--brand-blue);
      color: var(--text-dark);
      border-color: var(--brand-blue-dark);
      box-shadow: 3px 3px 0 0 var(--brand-blue-dark);
      transform: translate(-1px,-1px);
    }
    .nav-links li a.nav-cta {
      background: var(--brand-orange) !important;
      color: var(--text-dark) !important;
      border-color: var(--brand-orange-dark) !important;
      box-shadow: 3px 3px 0 0 var(--brand-orange-dark) !important;
      text-transform: uppercase !important;
    }
    .nav-links li a.nav-eflow {
      background: var(--brand-leaf) !important;
      color: var(--text-dark) !important;
      border-color: var(--brand-leaf-dark) !important;
      box-shadow: 3px 3px 0 0 var(--brand-leaf-dark) !important;
      text-transform: uppercase !important;
    }
    .nav-links li a.nav-cta:hover,
    .nav-links li a.nav-cta.active {
      background: var(--brand-orange) !important;
      color: var(--text-dark) !important;
      border-color: var(--brand-orange-dark) !important;
      box-shadow: 5px 5px 0 0 var(--brand-orange-dark) !important;
      transform: translate(-1px,-1px);
    }
    .nav-links li a.nav-eflow:hover,
    .nav-links li a.nav-eflow.active {
      background: color-mix(in srgb, var(--brand-leaf) 84%, white 16%) !important;
      color: var(--text-dark) !important;
      border-color: var(--brand-leaf-dark) !important;
      box-shadow: 5px 5px 0 0 var(--brand-leaf-dark) !important;
      transform: translate(-1px,-1px);
    }
    .nav-hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; }
    .nav-hamburger span { display: block; width: 24px; height: 2.5px; background: var(--text-dark); border-radius: 2px; transition: all 0.3s; }
    .nav-socials,
    .footer-socials {
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }
    .nav-socials { margin-left: 0.75rem; flex-shrink: 0; }
    .footer-socials { margin-top: 1.75rem; }
    .social-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 34px;
      height: 34px;
      border: none;
      border-radius: 0;
      background: transparent;
      color: var(--text-dark);
      font-family: var(--font-h);
      font-size: 0.74rem;
      font-weight: 700;
      line-height: 1;
      box-shadow: none;
      transition: transform 0.2s ease;
    }
    .social-link:hover {
      transform: translate(-2px,-2px);
      box-shadow: none;
      text-decoration: none;
    }
    .social-link img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .social-fb,
    .social-ig,
    .social-tt,
    .social-flux { background: transparent; }
    .social-link.social-flux {
      width: 42px;
    }
    .social-link.social-flux img {
      object-fit: contain;
    }
    .footer-socials .social-link {
      width: 42px;
      height: 42px;
      font-size: 0.85rem;
      background: transparent;
    }
    .footer-socials .social-link.social-flux {
      width: 52px;
    }
    .nav-logo img {
      transform-origin: center;
      transition: transform 0.28s cubic-bezier(0.22,1,0.36,1);
    }
    .nav-logo:hover img,
    .nav-logo:focus-visible img {
      transform: scale(1.06);
    }
    .nav-logo.is-logo-hint-click img {
      animation: logoHintPulse 0.52s cubic-bezier(0.22,1,0.36,1);
    }
    .logo-return-hint-cursor {
      position: fixed;
      left: 0;
      top: 0;
      height: 25px;
      width: auto;
      z-index: 7000;
      pointer-events: none;
      opacity: 0;
      transform: translate3d(var(--hint-start-x, -40px), var(--hint-start-y, 80px), 0);
      filter: drop-shadow(2px 3px 2px rgba(0,0,0,0.28));
    }
    .logo-return-hint-cursor.is-animating {
      animation: logoReturnCursorHint 5s cubic-bezier(0.22,1,0.36,1) forwards;
    }
    @keyframes logoHintPulse {
      0%, 100% { transform: scale(1); }
      45% { transform: scale(1.11); }
    }
    @keyframes logoReturnCursorHint {
      0% {
        opacity: 0;
        transform: translate3d(var(--hint-start-x), var(--hint-start-y), 0) scale(0.94);
      }
      16% {
        opacity: 1;
      }
      44%, 58% {
        opacity: 1;
        transform: translate3d(var(--hint-target-x), var(--hint-target-y), 0) scale(1);
      }
      70% {
        opacity: 1;
        transform: translate3d(calc(var(--hint-target-x) - 3px), calc(var(--hint-target-y) + 2px), 0) scale(0.9);
      }
      82% {
        opacity: 1;
        transform: translate3d(var(--hint-target-x), var(--hint-target-y), 0) scale(1);
      }
      100% {
        opacity: 0;
        transform: translate3d(var(--hint-start-x), var(--hint-start-y), 0) scale(0.94);
      }
    }

    /* ========== PAGE SYSTEM (SPA) ========== */
    /*
     * WAŻNE: selektory .page muszą być scopowane do #pages-container
     * ponieważ WordPress automatycznie dodaje klasę 'page' do <body>
     * na podstronach (page-template-default page page-id-X),
     * co powodowało ukrycie całej strony przez display:none i translateY(100vh).
     */
    #pages-container {
      position: relative;
      height: 100vh;
      display: none; /* Ukryte do czasu zniknięcia splash */
    }
    #pages-container .page {
      position: fixed; inset: 0;
      overflow-y: auto; overflow-x: hidden;
      padding-top: 68px;
      background: var(--bg-main);
      transform: translateY(100vh);
      transition: transform 2s cubic-bezier(0.22,1,0.36,1);
      z-index: 10;
      display: none;
    }
    #pages-container .page.page-active {
      transform: translateY(0);
      display: block;
      z-index: 20;
    }
    #pages-container .page.page-leaving {
      z-index: 15;
      display: block;
      transform: translateY(-100vh);
    }

    .back-to-top {
      position: fixed;
      right: clamp(1rem, 2.5vw, 2rem);
      bottom: clamp(1rem, 2.5vw, 2rem);
      width: auto;
      height: auto;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 0;
      border-radius: 0;
      background: transparent;
      color: var(--text-dark);
      box-shadow: none;
      font-family: var(--font-h);
      font-size: clamp(4rem, 9vh, 8rem);
      font-weight: 900;
      line-height: 0.72;
      cursor: pointer;
      opacity: 0;
      visibility: hidden;
      transform: translateY(12px);
      transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
      z-index: 5000;
    }
    .back-to-top.is-visible {
      opacity: 1;
      visibility: visible;
      transform: translateY(0);
    }
    .back-to-top:hover,
    .back-to-top:focus-visible {
      transform: translate(-2px,-2px);
      color: var(--brand-orange-dark);
      outline: none;
    }
    .back-to-top:active {
      transform: translate(2px,2px);
    }

    /* ========== UTILS ========== */
    .container { width: 100%; max-width: 1400px; margin: 0 auto; padding: 0 2rem; }
    .section { padding: 8rem 0; }
    .btn {
      display: inline-flex; align-items: center; justify-content: center;
      padding: 0.9rem 2.2rem; border-radius: var(--radius-sm);
      font-family: var(--font-body); font-weight: 700; font-size: 1rem;
      cursor: pointer; border: var(--border-w) solid #d1d1d1;
      transition: all 0.15s ease; box-shadow: 4px 4px 0 0 #d1d1d1;
      background: var(--white); color: var(--text-dark);
    }
    .btn:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 0 #d1d1d1; }
    .btn:active { transform: translate(2px,2px); box-shadow: 2px 2px 0 0 #d1d1d1; }
    .btn-primary { background-color: var(--brand-orange); background-image: var(--noise); color: var(--text-dark); border-color: var(--brand-orange-dark); box-shadow: 4px 4px 0 0 var(--brand-orange-dark); }
    .btn-primary:hover { box-shadow: 6px 6px 0 0 var(--brand-orange-dark); }
    .btn-primary:active { box-shadow: 2px 2px 0 0 var(--brand-orange-dark); }
    .btn-blue { background-color: var(--brand-blue); background-image: var(--noise); color: var(--text-dark); border-color: var(--brand-blue-dark); box-shadow: 4px 4px 0 0 var(--brand-blue-dark); }
    .btn-blue:hover { box-shadow: 6px 6px 0 0 var(--brand-blue-dark); }
    .btn-blue:active { box-shadow: 2px 2px 0 0 var(--brand-blue-dark); }
    .btn-eflow { background-color: var(--brand-leaf); background-image: var(--noise); color: var(--text-dark); border-color: var(--brand-leaf-dark); box-shadow: 4px 4px 0 0 var(--brand-leaf-dark); }
    .btn-eflow:hover { box-shadow: 6px 6px 0 0 var(--brand-leaf-dark); }
    .btn-eflow:active { box-shadow: 2px 2px 0 0 var(--brand-leaf-dark); }
    .pill {
      background-color: var(--brand-pink); background-image: var(--noise); padding: 0.1em 0.45em 0.104em;
      border-radius: var(--radius-pill); display: inline-block;
      border: var(--border-w) solid var(--brand-pink-dark);
      box-shadow: 2px 2px 0 0 var(--brand-pink-dark);
      transform: rotate(-3deg);
      transition: transform 0.3s cubic-bezier(0.25,0.8,0.25,1), color 0.3s;
    }
    .pill:hover { transform: rotate(0deg); }
    .pill-mint { background-color: var(--brand-mint); border-color: var(--brand-mint-dark); box-shadow: 2px 2px 0 0 var(--brand-mint-dark); }
    .pill-orange { background-color: var(--brand-orange); color: var(--text-dark); border-color: var(--brand-orange-dark); box-shadow: 2px 2px 0 0 var(--brand-orange-dark); }

    /* ========== HERO ========== */
    .hero {
      --marquee-estimated-height: 64px;
      /* Marquee siedzi 9vh od dołu ekranu → hero wypełnia resztę */
      padding: clamp(1.8rem, 2.9vh, 2.53rem) 0 clamp(3rem, 5vh, 4rem);
      min-height: calc(91vh - 68px - var(--marquee-estimated-height));
      display: flex;
      align-items: center;
    }
    .hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 0.95fr); gap: clamp(2rem, 4vw, 4rem); align-items: center; }
    .hero-content h1 { font-size: clamp(2.8rem,5vw,5.25rem); margin-bottom: 1.25rem; letter-spacing: -0.02em; }
    .hero-content p { font-size: clamp(1.05rem,1.35vw,1.18rem); color: var(--text-dark); font-weight: 500; margin-bottom: 2rem; max-width: 85%; }
    .hero-btns { display: flex; gap: 1rem; flex-wrap: wrap; }
    .hero-visual {
      position: relative; height: clamp(360px, 54vh, 560px);
      --hero-gallery-accent: var(--brand-mint);
      --hero-gallery-shadow: var(--brand-mint-dark);
      background-color: var(--brand-mint); background-image: var(--noise);
      border: var(--border-w) solid var(--hero-gallery-shadow);
      border-radius: var(--radius-lg);
      box-shadow: 8px 8px 0 0 var(--hero-gallery-shadow);
      overflow: visible;
      cursor: pointer;
      isolation: isolate;
    }
    .hero-visual img { width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; opacity:0.85; }
    .hero-gallery {
      background: transparent;
      border-color: transparent;
      box-shadow: none;
      opacity: 0;
      pointer-events: none;
      transform: translateY(14px);
      transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.22,1,0.36,1), border-color 0.35s ease, box-shadow 0.35s ease;
    }
    .hero-gallery.is-loaded {
      opacity: 1;
      pointer-events: auto;
      transform: translateY(0);
    }
    .hero-gallery-slide {
      position: absolute;
      inset: 0;
      z-index: 0;
      opacity: 0;
      transform: translateY(0) scale(1);
      box-shadow: 0 0 0 0 var(--slide-accent, var(--hero-gallery-accent));
      transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.22,1,0.36,1), box-shadow 0.35s ease;
      background: var(--slide-accent, var(--hero-gallery-accent));
      border: var(--border-w) solid var(--slide-shadow, var(--slide-accent, var(--hero-gallery-accent)));
      overflow: hidden;
      border-radius: inherit;
      box-sizing: border-box;
      pointer-events: none;
    }
    .hero-gallery-slide::after {
      content: "";
      position: absolute;
      inset: 0;
      background: var(--slide-accent, var(--hero-gallery-accent));
      opacity: 0.1;
      mix-blend-mode: multiply;
      pointer-events: none;
    }
    .hero-gallery-slide.is-active {
      z-index: 2;
      opacity: 1;
      transform: translateY(0) scale(1);
      box-shadow: 8px 8px 0 0 var(--slide-shadow, var(--slide-accent, var(--hero-gallery-accent)));
    }
    .hero-gallery-slide.is-next {
      z-index: 1;
      opacity: 0;
      transform: translateY(0) scale(1);
      box-shadow: 6px 6px 0 0 var(--slide-shadow, var(--slide-accent, var(--hero-gallery-accent)));
    }
    .hero-gallery-slide.is-next-deep {
      z-index: 0;
      opacity: 0;
      transform: translateY(0) scale(1);
      box-shadow: 4px 4px 0 0 var(--slide-shadow, var(--slide-accent, var(--hero-gallery-accent)));
    }
    .hero-gallery.is-hinting .hero-gallery-slide.is-next,
    .hero-gallery.is-changing .hero-gallery-slide.is-next {
      opacity: 1;
      transition: transform 0.45s cubic-bezier(0.22,1,0.36,1), box-shadow 0.35s ease;
    }
    .hero-gallery.is-hinting .hero-gallery-slide.is-next-deep,
    .hero-gallery.is-changing .hero-gallery-slide.is-next-deep {
      opacity: 0.36;
    }
    .hero-gallery.is-hinting .hero-gallery-slide.is-active {
      animation: heroGalleryHint 1.35s cubic-bezier(0.22,1,0.36,1);
    }
    .hero-gallery-slide.is-flying {
      z-index: 3;
      animation: heroGalleryFly 1.08s cubic-bezier(0.55,0.06,0.18,1) forwards;
    }
    @keyframes heroGalleryHint {
      0%, 100% { transform: translateY(0) scale(1); }
      46%, 58% { transform: translateY(-70px) scale(1); }
    }
    @keyframes heroGalleryFly {
      0% { opacity: 1; transform: translateY(0) translateX(0) rotate(0deg) scale(1); }
      68% { opacity: 1; transform: translateY(-78vh) translateX(42px) rotate(15deg) scale(0.98); }
      100% { opacity: 0; transform: translateY(-112vh) translateX(70px) rotate(15deg) scale(0.92); }
    }

    /* ========== MARQUEE SLIDER ========== */
    .marquee-wrapper {
      background-color: #fdfdfc; background-image: var(--noise); color: var(--text-dark);
      padding: 1rem 0; overflow: hidden;
      border-top: var(--border-w) solid var(--text-dark);
      border-bottom: var(--border-w) solid var(--text-dark);
      box-shadow: 0px 4px 0px 0px var(--text-dark);
      display: flex; white-space: nowrap;
      margin-top: 0;
      position: relative; z-index: 5;
    }
    .marquee-track {
      display: flex; width: max-content;
      will-change: transform;
    }
    .marquee-item {
      font-family: var(--font-h); font-size: 1.5rem; font-weight: 700;
      margin: 0 3rem; display: inline-flex; align-items: center; text-transform: uppercase;
      user-select: none;
    }
    .marquee-item::after {
      content: "";
      width: 0.7rem;
      height: 0.7rem;
      margin-left: 3rem;
      border-radius: 50%;
      background: var(--brand-orange);
      flex: 0 0 auto;
    }

    /* ========== SEO TIMELINE ========== */
    .journey-section {
      margin: 4rem 2rem 0;
      padding: 6rem 4rem;
      background: #fffdf8;
      background-image: var(--noise);
      border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-lg);
      box-shadow: none;
    }
    .journey-header {
      text-align: center;
      max-width: 920px;
      margin: 0 auto 4rem;
    }
    .journey-header .section-label {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1rem;
      padding: 0.35rem 0.9rem;
      background: var(--brand-leaf);
      border: var(--border-w) solid var(--brand-leaf-dark);
      border-radius: var(--radius-pill);
      box-shadow: 3px 3px 0 0 var(--brand-leaf-dark);
      font-weight: 700;
      color: #153404;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .journey-header h2 {
      font-size: clamp(2.4rem, 4.6vw, 4.2rem);
      margin-bottom: 1rem;
      letter-spacing: -0.03em;
    }
    .journey-header p {
      font-size: 1.15rem;
      color: var(--text-dark);
      font-weight: 500;
      max-width: 820px;
      margin: 0 auto;
    }
    .journey-timeline {
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 1.85rem;
      max-width: 1120px;
      margin: 0 auto;
      padding: 0.5rem 0 0.75rem;
    }
    .journey-timeline::before {
      content: "";
      position: absolute;
      top: 1.25rem;
      bottom: 1.25rem;
      left: 50%;
      width: 3px;
      border-radius: var(--radius-pill);
      background: linear-gradient(180deg, rgba(46, 76, 24, 0.18) 0%, rgba(46, 76, 24, 0.55) 14%, rgba(46, 76, 24, 0.32) 100%);
      transform: translateX(-50%);
      pointer-events: none;
    }
    .journey-item {
      position: relative;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 96px minmax(0, 1fr);
      align-items: center;
      gap: 1.5rem;
      --card-bg: var(--white);
      --card-shadow: #d1d1d1;
      opacity: 0;
      filter: blur(10px);
      transform: translateY(28px) scale(0.97);
      transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.22, 1, 0.36, 1), filter 0.75s ease;
    }
    .journey-item:nth-child(odd) {
      transform: translate(-42px, 28px) scale(0.97);
    }
    .journey-item:nth-child(even) {
      transform: translate(42px, 28px) scale(0.97);
    }
    .journey-item.is-visible {
      opacity: 1;
      filter: blur(0);
      transform: translate(0, 0);
    }
    .journey-node {
      grid-column: 2;
      grid-row: 1;
      position: relative;
      align-self: center;
      justify-self: center;
      width: 62px;
      height: 62px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--card-bg, var(--brand-mint));
      color: var(--text-dark);
      border: var(--border-w) solid var(--card-shadow, var(--text-dark));
      border-radius: var(--radius-pill);
      box-shadow: 3px 3px 0 0 var(--card-shadow, rgba(34,34,34,0.18));
      font-family: var(--font-h);
      font-size: 1.05rem;
      font-weight: 700;
      line-height: 1;
      letter-spacing: 0;
      z-index: 2;
    }
    .journey-connector {
      display: none;
    }
    .journey-card {
      grid-column: 1;
      grid-row: 1;
      position: relative;
      align-self: center;
      width: min(100%, 420px);
      min-width: 0;
      justify-self: end;
      padding: 2rem 2rem 1.7rem;
      background: var(--card-bg);
      border: var(--border-w) solid var(--card-shadow);
      border-radius: var(--radius-md);
      box-shadow: 6px 6px 0 0 var(--card-shadow);
      overflow: hidden;
    }
    .journey-item:nth-child(even) .journey-card {
      grid-column: 3;
      justify-self: start;
    }
    .journey-card::before {
      content: "";
      position: absolute;
      top: 50%;
      width: 92px;
      height: 2px;
      border-top: 2px solid color-mix(in srgb, var(--card-shadow) 70%, white 30%);
      opacity: 0.75;
      pointer-events: none;
    }
    .journey-item:nth-child(odd) .journey-card::before {
      right: -92px;
      transform: translateY(-50%);
    }
    .journey-item:nth-child(even) .journey-card::before {
      left: -92px;
      transform: translateY(-50%);
    }
    .journey-card-bg {
      position: absolute;
      top: -10px;
      right: -10px;
      opacity: 0.12;
      color: var(--card-shadow);
      pointer-events: none;
    }
    .journey-kicker {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1rem;
      padding: 0.35rem 0.8rem;
      background: rgba(255,255,255,0.65);
      border: var(--border-w) solid var(--card-shadow);
      border-radius: var(--radius-pill);
      box-shadow: 3px 3px 0 0 var(--card-shadow);
      font-size: 0.78rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      z-index: 1;
    }
    .journey-card h3 {
      position: relative;
      font-size: 1.5rem;
      margin-bottom: 0.9rem;
      line-height: 1.1;
      z-index: 1;
    }
    .journey-card p {
      position: relative;
      font-size: 1rem;
      font-weight: 500;
      color: var(--text-dark);
      line-height: 1.7;
      z-index: 1;
    }
    @media (prefers-reduced-motion: reduce) {
      .journey-item,
      .journey-item:nth-child(odd),
      .journey-item:nth-child(even) {
        opacity: 1;
        filter: none;
        transform: none;
        transition: none;
      }
      .hero-gallery.is-hinting .hero-gallery-slide.is-active,
      .hero-gallery-slide.is-flying {
        animation: none;
      }
      .hero-gallery {
        opacity: 1;
        pointer-events: auto;
        transform: none;
        transition: none;
      }
    }
    .journey-cta {
      margin-top: 3.5rem;
      padding-top: 2.25rem;
      border-top: var(--border-w) solid var(--text-dark);
      text-align: center;
    }
    .journey-cta p {
      font-size: 1.15rem;
      font-weight: 600;
      margin-bottom: 1.25rem;
    }
    .journey-cta-actions {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1rem;
      flex-wrap: wrap;
    }
    @keyframes journeyLeafFloat {
      0%, 100% { transform: translateY(0) rotate(0deg); }
      50% { transform: translateY(-8px) rotate(-8deg); }
    }

    /* ========== CARDS GRID ========== */
    #page-home .grid-section,
    #page-home .services { display: none; }
    .grid-section { margin: 4rem 2rem; padding: 6rem 0; }
    .card-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 2rem; }
    .oval-card {
      border-radius: var(--radius-lg); padding: 3rem;
      display: flex; flex-direction: column; justify-content: center;
      min-height: 400px; background: #fff8f0;
      border: var(--border-w) solid var(--brand-peach-dark);
      box-shadow: 6px 6px 0 0 var(--brand-peach-dark);
      transition: all 0.2s ease;
    }
    .oval-card:hover { transform: translate(-4px,-4px); box-shadow: 10px 10px 0 0 var(--brand-peach-dark); }
    .card-large { grid-column: span 8; background-color: var(--brand-mint); background-image: var(--noise); border-color: var(--brand-mint-dark); box-shadow: 6px 6px 0 0 var(--brand-mint-dark); }
    .card-large:hover { box-shadow: 10px 10px 0 0 var(--brand-mint-dark); }
    .card-small { grid-column: span 4; background-color: var(--brand-pink); background-image: var(--noise); border-color: var(--brand-pink-dark); box-shadow: 6px 6px 0 0 var(--brand-pink-dark); }
    .card-small:hover { box-shadow: 10px 10px 0 0 var(--brand-pink-dark); }
    .card-image { grid-column: span 5; padding: 0; overflow: hidden; background-color: var(--brand-mint); background-image: var(--noise); border-color: var(--brand-mint-dark); box-shadow: 6px 6px 0 0 var(--brand-mint-dark); }
    .card-image:hover { box-shadow: 10px 10px 0 0 var(--brand-mint-dark); }
    .card-image img { width:100%; height:100%; object-fit:cover; }
    .card-wide { grid-column: span 7; background-color: var(--brand-blue); background-image: var(--noise); color: var(--text-dark); border-color: var(--brand-blue-dark); box-shadow: 6px 6px 0 0 var(--brand-blue-dark); }
    .card-wide:hover { box-shadow: 10px 10px 0 0 var(--brand-blue-dark); }
    .oval-card h3 { font-size: 2.2rem; margin-bottom: 1rem; }
    .oval-card p { font-size: 1.1rem; font-weight: 500; }

    /* ========== LARGE TEXT STATEMENT ========== */
    .statement-container { padding: 9.2rem 0; padding-top: calc(9.2rem - 70px); padding-bottom: calc(9.2rem - 50px); }
    .statement { text-align: center; max-width: 1000px; margin: 0 auto; }
    .statement h2 { font-size: clamp(2.2rem,3.8vw,3.8rem); color: var(--text-dark); line-height: 1.25; }
    .statement .pill { color: var(--text-dark); }
    .statement .pill:hover { color: #118dc3; }
    .statement .pill-mint:hover { color: #f39130; }
    .word-hover { display: inline; cursor: default; transition: color 0.3s ease; }

    /* ========== SERVICES ========== */
    .services {
      background-color: var(--bg-main); background-image: var(--noise);
      border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-lg);
      margin: 4rem 2rem; padding: 6rem 4rem;
    }
    .services-header { text-align: center; margin-bottom: 5rem; }
    .services-header h2 { font-size: 3.5rem; }
    .services-header p { font-size: 1.2rem; font-weight: 500; margin-top: 1rem; color: var(--text-dark); }
    .services-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; }
    .service-module {
      background: var(--brand-peach);
      border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-md); padding: 3rem 2rem; text-align: center;
      box-shadow: 4px 4px 0 0 var(--brand-peach-dark);
      transition: all 0.2s ease;
    }
    .service-module:nth-child(2n) { background-color: var(--brand-mint); background-image: var(--noise); border-color: var(--brand-mint-dark); box-shadow: 4px 4px 0 0 var(--brand-mint-dark); }
    .service-module:nth-child(2n):hover { box-shadow: 8px 8px 0 0 var(--brand-mint-dark); }
    .service-module:nth-child(3n) { background-color: var(--brand-pink); background-image: var(--noise); border-color: var(--brand-pink-dark); box-shadow: 4px 4px 0 0 var(--brand-pink-dark); }
    .service-module:nth-child(3n):hover { box-shadow: 8px 8px 0 0 var(--brand-pink-dark); }
    .service-module:hover { transform: translate(-3px,-3px); box-shadow: 8px 8px 0 0 var(--brand-peach-dark); }
    .service-icon {
      width: 80px; height: 80px; background: #fff7ef;
      border: var(--border-w) solid var(--brand-peach-dark); border-radius: var(--radius-pill);
      margin: 0 auto 1.5rem; display: flex; align-items: center; justify-content: center;
      font-size: 2rem; box-shadow: 3px 3px 0 0 var(--brand-peach-dark);
    }
    .service-module h4 { font-size: 1.4rem; margin-bottom: 0.75rem; }

    /* ========== SLIDER ========== */
    .slider-section {
      background: var(--brand-blue); color: var(--text-dark);
      padding: 6.4rem 0 8rem; overflow: hidden; position: relative;
      border-top: var(--border-w) solid var(--text-dark);
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    .slider-section h2 { font-size: 3.5rem; margin-bottom: 3rem; padding: 0 2rem; max-width: 1400px; margin-left: auto; margin-right: auto; }
    .slider-viewport { overflow: hidden; }
    .slider-track { display: flex; gap: 2rem; padding: 1rem 2rem 2rem; width: max-content; will-change: transform; }
    
    .slider-card {
      width: 350px; min-width: 350px; max-width: 350px; flex-shrink: 0;
      background: var(--brand-peach); color: var(--text-dark);
      border-radius: var(--radius-md); padding: 1.35rem;
      border: var(--border-w) solid var(--brand-peach-dark);
      box-shadow: 6px 6px 0 0 var(--brand-peach-dark);
      transition: transform 0.2s, box-shadow 0.2s; cursor: default;
      display: block;
      text-decoration: none;
    }
    .slider-card:hover { transform: translate(-4px,-4px); box-shadow: 10px 10px 0 0 var(--brand-peach-dark); }
    .slider-card-img-link {
      display: block;
      color: inherit;
      text-decoration: none;
    }
    .slider-card-img {
      display: block;
      height: 135px; border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-sm); margin-bottom: 1.25rem;
      box-shadow: 4px 4px 0 0 var(--brand-peach-dark);
      background-size: cover; background-position: center;
      overflow: hidden;
    }
    .slider-card h3 { font-size: 1.35rem; margin-bottom: 0.65rem; line-height: 1.08; }
    .slider-card h3 a {
      color: inherit;
      text-decoration: none;
    }
    .slider-card h3 a:hover,
    .slider-card h3 a:focus-visible {
      text-decoration: underline;
      text-decoration-thickness: 2px;
      text-underline-offset: 3px;
    }
    .slider-card p {
      display: -webkit-box;
      -webkit-line-clamp: 2;
      line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      line-height: 1.55;
      max-height: calc(1.55em * 2);
      font-size: 0.92rem;
      margin-bottom: 1.15rem;
    }
    .slider-card-cta {
      padding: 0.55rem 1rem;
      font-size: 0.82rem;
      line-height: 1;
      text-decoration: none;
    }
    .slider-card:hover .slider-card-cta {
      box-shadow: 5px 5px 0 0 var(--brand-orange-dark);
    }
    .slider-empty {
      width: 350px;
      min-width: 350px;
      max-width: 350px;
      padding: 1.35rem;
      background: var(--brand-peach);
      border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-md);
      box-shadow: 6px 6px 0 0 var(--brand-peach-dark);
      font-weight: 700;
    }
    .slider-controls {
      display: flex; gap: 0.75rem; position: absolute;
      bottom: 3rem; right: 2rem;
    }
    .slider-btn {
      width: 52px; height: 52px;
      background: var(--white); color: var(--text-dark);
      border: var(--border-w) solid var(--text-dark);
      border-radius: var(--radius-sm); font-size: 1.4rem;
      cursor: pointer; display: flex; align-items: center; justify-content: center;
      box-shadow: 3px 3px 0 0 var(--brand-orange-dark);
      transition: all 0.15s ease;
    }
    .slider-btn:hover { background: var(--brand-orange); color: var(--text-dark); transform: translate(-2px,-2px); box-shadow: 5px 5px 0 0 var(--brand-orange-dark); }

    /* ========== FAQ ========== */
    .faq-section { max-width: 800px; margin: 0 auto; }
    .faq-section h2 { font-size: 3.5rem; text-align: center; margin-bottom: 4rem; }
    .faq-item {
      background: #fff8f0; border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-sm); margin-bottom: 1rem;
      padding: 1.5rem 2rem; box-shadow: 4px 4px 0 0 var(--brand-peach-dark);
      cursor: pointer; transition: transform 0.1s, box-shadow 0.1s;
    }
    .faq-item:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 0 var(--brand-orange-dark); }
    .faq-item.open { box-shadow: 6px 6px 0 0 var(--brand-blue-dark); border-color: var(--brand-blue-dark); }
    .faq-question {
      display: flex; justify-content: space-between; align-items: center;
      font-family: var(--font-h); font-size: 1.3rem; font-weight: 700;
    }
    .faq-sign {
      width: 32px; height: 32px; border-radius: 50%;
      background: var(--brand-orange); color: var(--text-dark);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.4rem; font-weight: 700; flex-shrink: 0;
      transition: transform 0.3s;
    }
    .faq-item.open .faq-sign { transform: rotate(45deg); background: var(--brand-blue); }
    .faq-answer {
      max-height: 0; overflow: hidden;
      transition: max-height 0.4s ease, padding 0.3s ease;
      font-weight: 500; color: var(--text-dark);
    }
    .faq-item.open .faq-answer { max-height: 500px; padding-top: 1rem; }
    .faq-separator { border-top: 2px dashed var(--brand-blue); margin-bottom: 1rem; opacity: 0; transition: opacity 0.3s 0.15s; }
    .faq-item.open .faq-separator { opacity: 1; }
    .faq-more-btn { text-align: center; margin-top: 3rem; }

    /* ========== FOOTER ========== */
    .footer {
      background: var(--brand-orange); color: #f7f5f7;
      padding: 6rem 0 3rem;
      border-top: var(--border-w) solid var(--text-dark);
      margin-top: 4rem;
    }
    .footer-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) repeat(3, minmax(0, 1fr)); gap: 3rem; margin-bottom: 4rem; }
    .footer-logo { height: 65px; margin-bottom: 1.5rem; display: block; object-fit: contain; }
    .footer-brand p { margin-bottom: 2rem; font-weight: 500; font-size: 1.1rem; }
    .footer-col h4 { font-family: var(--font-h); font-size: 1.5rem; margin-bottom: 1.5rem; color: #f7f5f7; }
    .footer-col ul { list-style: none; }
    .footer-col li { margin-bottom: 0.75rem; font-weight: 500; }
    .footer-col a { color: #f7f5f7; transition: all 0.2s; cursor: pointer; }
    .footer-col a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
    .footer-bottom {
      text-align: center; padding-top: 2rem;
      border-top: var(--border-w) solid var(--text-dark);
      font-size: 1rem; font-weight: 700;
      color: #f7f5f7;
    }
    .footer-bottom p { color: #f7f5f7; }

    /* ========== SUBPAGE COMMON ========== */
    .subpage-hero {
      padding: 5rem 0 4rem;
      background-color: var(--brand-mint); background-image: var(--noise);
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    .subpage-hero h1 { font-size: clamp(2.5rem,5vw,4.5rem); margin-bottom: 1rem; }
    .subpage-hero p { font-size: 1.2rem; max-width: 650px; color: var(--text-dark); font-weight: 500; }
    .subpage-hero.blue-hero { background-color: var(--brand-blue); background-image: var(--noise); color: var(--text-dark); }
    .subpage-hero.pink-hero { background-color: var(--brand-pink); background-image: var(--noise); }
    .subpage-hero.orange-hero { background-color: var(--brand-orange); background-image: var(--noise); color: var(--text-dark); }
    .content-section { padding: 5rem 0; }
    .three-col { display: grid; grid-template-columns: repeat(3,1fr); gap: 2rem; margin-top: 3rem; }
    .info-card {
      background: #fff8f0; border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-md); padding: 2.5rem;
      box-shadow: 5px 5px 0 0 var(--brand-peach-dark);
      transition: all 0.2s;
    }
    .info-card:hover { transform: translate(-3px,-3px); box-shadow: 8px 8px 0 0 var(--brand-peach-dark); }
    .info-card .icon { font-size: 2.5rem; margin-bottom: 1rem; }
    .info-card h3 { font-size: 1.4rem; margin-bottom: 0.75rem; }
    .info-card p { color: var(--text-dark); font-size: 0.95rem; }
    .highlight-box {
      background-color: var(--brand-mint); background-image: var(--noise); border: var(--border-w) solid var(--brand-mint-dark);
      border-radius: var(--radius-md); padding: 3rem;
      box-shadow: 6px 6px 0 0 var(--brand-mint-dark);
      margin: 3rem 0;
    }
    .highlight-box h3 { font-size: 1.8rem; margin-bottom: 1rem; }
    .section-label {
      display: inline-block; font-family: var(--font-h); font-size: 0.85rem;
      font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
      color: var(--brand-orange); margin-bottom: 1rem;
    }
    .section-title { font-size: clamp(2rem,3.5vw,3rem); margin-bottom: 1.5rem; }
    .two-col-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
    .text-col p { font-size: 1.05rem; line-height: 1.8; color: var(--text-dark); margin-bottom: 1.25rem; }
    .text-col p strong { color: var(--text-dark); }
    .visual-block {
      background-color: var(--brand-blue); background-image: var(--noise); border-radius: var(--radius-lg);
      border: var(--border-w) solid var(--brand-blue-dark);
      box-shadow: 8px 8px 0 0 var(--brand-blue-dark);
      min-height: 400px; display: flex; align-items: center; justify-content: center;
      color: var(--text-dark); font-size: 5rem;
    }

    /* ========== EDUKACJA DOMOWA REDESIGN ========== */
    #page-edukacja .edukacja-redesign {
      background: var(--bg-main);
      overflow: hidden;
    }
    #page-edukacja .edukacja-legacy[hidden] { display: none !important; }
    #page-edukacja .ed-home-section {
      position: relative;
      padding: 5.5rem 0;
    }
    #page-edukacja .ed-home-opening {
      background: #fff8f0;
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    #page-edukacja .ed-home-lead-grid,
    #page-edukacja .ed-home-path-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
      gap: clamp(2.25rem, 5vw, 5rem);
      align-items: center;
    }
    #page-edukacja .ed-home-copy p,
    #page-edukacja .ed-home-path-grid p,
    #page-edukacja .ed-home-card p,
    #page-edukacja .ed-home-exam-card p,
    #page-edukacja .ed-home-exam-note,
    #page-edukacja .ed-home-cta p {
      color: var(--text-dark);
      font-size: 1.02rem;
      line-height: 1.75;
    }
    #page-edukacja .ed-home-copy p { margin-bottom: 1.2rem; }
    #page-edukacja .ed-home-lead {
      font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
      font-weight: 700;
      line-height: 1.55 !important;
      margin-bottom: 1.35rem !important;
    }
    #page-edukacja .ed-home-proof {
      background-color: var(--brand-mint);
      background-image: var(--noise);
      border: var(--border-w) solid var(--brand-mint-dark);
      border-radius: var(--radius-lg);
      box-shadow: 8px 8px 0 0 var(--brand-mint-dark);
      padding: clamp(2rem, 4vw, 3rem);
    }
    #page-edukacja .ed-home-proof-item {
      display: grid;
      grid-template-columns: 56px minmax(0, 1fr);
      gap: 1.25rem;
      align-items: start;
      padding: 1.15rem 0;
      border-bottom: 2px dashed rgba(34,34,34,0.28);
    }
    #page-edukacja .ed-home-proof-item:first-child { padding-top: 0; }
    #page-edukacja .ed-home-proof-item:last-child { padding-bottom: 0; border-bottom: 0; }
    #page-edukacja .ed-home-proof-item span,
    #page-edukacja .ed-card-index,
    #page-edukacja .ed-home-path-step > span {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      border: var(--border-w) solid var(--text-dark);
      border-radius: var(--radius-pill);
      background: #fff8f0;
      color: var(--text-dark);
      font-family: var(--font-h);
      font-size: 1.05rem;
      font-weight: 700;
      line-height: 1;
      box-shadow: 3px 3px 0 0 rgba(34,34,34,0.18);
    }
    #page-edukacja .ed-home-proof-item p { margin: 0; font-weight: 600; }
    #page-edukacja .ed-home-support {
      background-color: var(--brand-mint);
      background-image: var(--noise);
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    #page-edukacja .ed-home-section-head {
      max-width: 820px;
      margin: 0 auto 3rem;
      text-align: center;
    }
    #page-edukacja .ed-home-card-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1.4rem;
    }
    #page-edukacja .ed-home-card,
    #page-edukacja .ed-home-exam-card {
      background: #fff8f0;
      border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-md);
      box-shadow: 5px 5px 0 0 var(--brand-peach-dark);
      padding: 2rem;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    #page-edukacja .ed-home-card:hover,
    #page-edukacja .ed-home-exam-card:hover {
      transform: translate(-3px,-3px);
      box-shadow: 8px 8px 0 0 var(--brand-peach-dark);
    }
    #page-edukacja .ed-home-card:nth-child(2),
    #page-edukacja .ed-home-exam-card:nth-child(2) {
      border-color: var(--brand-blue-dark);
      box-shadow: 5px 5px 0 0 var(--brand-blue-dark);
    }
    #page-edukacja .ed-home-card:nth-child(2):hover,
    #page-edukacja .ed-home-exam-card:nth-child(2):hover { box-shadow: 8px 8px 0 0 var(--brand-blue-dark); }
    #page-edukacja .ed-home-card:nth-child(3),
    #page-edukacja .ed-home-exam-card:nth-child(3) {
      border-color: var(--brand-pink-dark);
      box-shadow: 5px 5px 0 0 var(--brand-pink-dark);
    }
    #page-edukacja .ed-home-card:nth-child(3):hover,
    #page-edukacja .ed-home-exam-card:nth-child(3):hover { box-shadow: 8px 8px 0 0 var(--brand-pink-dark); }
    #page-edukacja .ed-home-card:nth-child(4) {
      border-color: var(--brand-orange-dark);
      box-shadow: 5px 5px 0 0 var(--brand-orange-dark);
    }
    #page-edukacja .ed-home-card:nth-child(4):hover { box-shadow: 8px 8px 0 0 var(--brand-orange-dark); }
    #page-edukacja .ed-home-card h3,
    #page-edukacja .ed-home-exam-card h3,
    #page-edukacja .ed-home-path-step h3 {
      font-size: 1.35rem;
      margin: 1.25rem 0 0.75rem;
    }
    #page-edukacja .ed-home-exam-card h3 { margin-top: 0; }
    #page-edukacja .ed-home-path-section {
      background: #fffdf8;
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    #page-edukacja .ed-home-path-grid {
      grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
      align-items: start;
    }
    #page-edukacja .ed-home-path-list {
      display: grid;
      gap: 1rem;
    }
    #page-edukacja .ed-home-path-step {
      display: grid;
      grid-template-columns: 64px minmax(0, 1fr);
      gap: 1.25rem;
      align-items: start;
      background: var(--bg-main);
      border: var(--border-w) solid var(--brand-leaf-dark);
      border-radius: var(--radius-md);
      box-shadow: 5px 5px 0 0 var(--brand-leaf-dark);
      padding: 1.5rem;
    }
    #page-edukacja .ed-home-path-step h3 { margin-top: 0; }
    #page-edukacja .ed-home-path-step p { margin: 0; }
    #page-edukacja .ed-home-exams {
      background-color: var(--brand-pink);
      background-image: var(--noise);
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    #page-edukacja .ed-home-exam-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.5rem;
    }
    #page-edukacja .ed-home-exam-note {
      margin-top: 2rem;
      padding: 1.35rem 1.5rem;
      background: #fff8f0;
      border: var(--border-w) solid var(--text-dark);
      border-radius: var(--radius-sm);
      box-shadow: 4px 4px 0 0 rgba(34,34,34,0.18);
      font-weight: 500;
    }
    #page-edukacja .ed-home-cta {
      padding: 5rem 0;
      background-color: var(--brand-blue);
      background-image: var(--noise);
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    #page-edukacja .ed-home-cta .section-label { color: #FDF2EC; }
    #page-edukacja .ed-home-cta-inner {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 2rem;
      align-items: center;
    }
    #page-edukacja .ed-home-cta h2 {
      font-size: clamp(2rem, 3.6vw, 3.4rem);
      max-width: 840px;
      margin-bottom: 1rem;
    }
    #page-edukacja .ed-home-cta p {
      max-width: 680px;
      font-weight: 600;
    }
    #page-edukacja .ed-home-cta-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      justify-content: flex-end;
    }

    @media (max-width: 1100px) {
      #page-edukacja .ed-home-section { padding: 4.6rem 0; }
      #page-edukacja .ed-home-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 900px) {
      #page-edukacja .ed-home-lead-grid,
      #page-edukacja .ed-home-path-grid,
      #page-edukacja .ed-home-cta-inner {
        grid-template-columns: 1fr;
      }
      #page-edukacja .ed-home-copy,
      #page-edukacja .ed-home-path-grid > div:first-child,
      #page-edukacja .ed-home-cta-inner {
        text-align: center;
      }
      #page-edukacja .ed-home-proof {
        max-width: 680px;
        margin: 0 auto;
      }
      #page-edukacja .ed-home-cta-actions { justify-content: center; }
      #page-edukacja .ed-home-exam-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 768px) {
      #page-edukacja .ed-home-section,
      #page-edukacja .ed-home-cta { padding: 3.5rem 0; }
      #page-edukacja .ed-home-section-head { margin-bottom: 2rem; }
      #page-edukacja .ed-home-card-grid { grid-template-columns: 1fr; }
      #page-edukacja .ed-home-card,
      #page-edukacja .ed-home-exam-card,
      #page-edukacja .ed-home-proof,
      #page-edukacja .ed-home-exam-note {
        padding: 1.5rem;
      }
      #page-edukacja .ed-home-proof-item,
      #page-edukacja .ed-home-path-step {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
      }
      #page-edukacja .ed-home-card {
        text-align: center;
      }
      #page-edukacja .ed-card-index,
      #page-edukacja .ed-home-path-step > span {
        margin: 0 auto;
      }
    }

    /* ========== O FLOW REDESIGN ========== */
    #page-o-flow .oflow-redesign {
      background: var(--bg-main);
      overflow: hidden;
    }
    #page-o-flow .oflow-legacy[hidden] { display: none !important; }
    #page-o-flow .oflow-section {
      position: relative;
      padding: 5.5rem 0;
    }
    #page-o-flow .oflow-opening {
      background: #fff8f0;
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    #page-o-flow .oflow-editorial-grid,
    #page-o-flow .oflow-history-grid,
    #page-o-flow .oflow-mv-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(340px, 0.92fr);
      gap: clamp(2.5rem, 5vw, 5rem);
      align-items: center;
    }
    #page-o-flow .oflow-copy p,
    #page-o-flow .oflow-section-head p,
    #page-o-flow .oflow-pillar p,
    #page-o-flow .oflow-statement-card p,
    #page-o-flow .oflow-history-grid p,
    #page-o-flow .oflow-practice-grid p,
    #page-o-flow .oflow-documents p {
      color: var(--text-dark);
      font-size: 1.02rem;
      line-height: 1.75;
    }
    #page-o-flow .oflow-copy p { margin-bottom: 1.15rem; }
    #page-o-flow .oflow-lead {
      font-size: clamp(1.16rem, 2vw, 1.38rem) !important;
      font-weight: 700;
      line-height: 1.55 !important;
      margin-bottom: 1.4rem !important;
    }
    #page-o-flow .oflow-identity-panel {
      background-color: var(--brand-mint);
      background-image: var(--noise);
      border: var(--border-w) solid var(--brand-mint-dark);
      border-radius: var(--radius-lg);
      box-shadow: 8px 8px 0 0 var(--brand-mint-dark);
      padding: clamp(2rem, 4vw, 3rem);
    }
    #page-o-flow .oflow-identity-item {
      padding: 1.15rem 0;
      border-bottom: 2px dashed rgba(34,34,34,0.28);
    }
    #page-o-flow .oflow-identity-item:first-child { padding-top: 0; }
    #page-o-flow .oflow-identity-item:last-child { padding-bottom: 0; border-bottom: 0; }
    #page-o-flow .oflow-identity-item span {
      display: block;
      font-size: 0.78rem;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--brand-blue-dark);
      margin-bottom: 0.35rem;
    }
    #page-o-flow .oflow-identity-item strong {
      display: block;
      font-size: clamp(1.05rem, 1.5vw, 1.3rem);
      line-height: 1.35;
    }
    #page-o-flow .oflow-concept {
      background-color: var(--brand-pink);
      background-image: var(--noise);
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    #page-o-flow .oflow-section-head {
      max-width: 860px;
      margin: 0 auto 3rem;
      text-align: center;
    }
    #page-o-flow .oflow-pillar-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 1.35rem;
    }
    #page-o-flow .oflow-pillar,
    #page-o-flow .oflow-practice-grid article {
      background: #fff8f0;
      border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-md);
      box-shadow: 5px 5px 0 0 var(--brand-peach-dark);
      padding: 2rem;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    #page-o-flow .oflow-pillar:hover,
    #page-o-flow .oflow-practice-grid article:hover {
      transform: translate(-3px,-3px);
      box-shadow: 8px 8px 0 0 var(--brand-peach-dark);
    }
    #page-o-flow .oflow-pillar:nth-child(2),
    #page-o-flow .oflow-pillar:nth-child(5) {
      border-color: var(--brand-blue-dark);
      box-shadow: 5px 5px 0 0 var(--brand-blue-dark);
    }
    #page-o-flow .oflow-pillar:nth-child(2):hover,
    #page-o-flow .oflow-pillar:nth-child(5):hover { box-shadow: 8px 8px 0 0 var(--brand-blue-dark); }
    #page-o-flow .oflow-pillar:nth-child(3),
    #page-o-flow .oflow-pillar:nth-child(6) {
      border-color: var(--brand-mint-dark);
      box-shadow: 5px 5px 0 0 var(--brand-mint-dark);
    }
    #page-o-flow .oflow-pillar:nth-child(3):hover,
    #page-o-flow .oflow-pillar:nth-child(6):hover { box-shadow: 8px 8px 0 0 var(--brand-mint-dark); }
    #page-o-flow .oflow-pillar span,
    #page-o-flow .oflow-timeline-item > span {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      border: var(--border-w) solid var(--text-dark);
      border-radius: var(--radius-pill);
      background: var(--brand-mint);
      font-family: var(--font-h);
      font-size: 1.05rem;
      font-weight: 700;
      line-height: 1;
      box-shadow: 3px 3px 0 0 rgba(34,34,34,0.18);
    }
    #page-o-flow .oflow-pillar h3,
    #page-o-flow .oflow-timeline-item h3,
    #page-o-flow .oflow-practice-grid h3 {
      font-size: 1.35rem;
      margin: 1.2rem 0 0.7rem;
    }
    #page-o-flow .oflow-mission-vision {
      background-color: var(--brand-blue);
      background-image: var(--noise);
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    #page-o-flow .oflow-mv-grid {
      grid-template-columns: 1fr 1fr;
      align-items: stretch;
    }
    #page-o-flow .oflow-statement-card {
      background: #fff8f0;
      border: var(--border-w) solid var(--brand-blue-dark);
      border-radius: var(--radius-lg);
      box-shadow: 8px 8px 0 0 var(--brand-blue-dark);
      padding: clamp(2rem, 4vw, 3.2rem);
    }
    #page-o-flow .oflow-statement-card-alt {
      border-color: var(--brand-orange-dark);
      box-shadow: 8px 8px 0 0 var(--brand-orange-dark);
    }
    #page-o-flow .oflow-statement-card h2 {
      font-size: clamp(2rem, 3.3vw, 3.2rem);
      margin-bottom: 1.25rem;
    }
    #page-o-flow .oflow-history {
      background: #fffdf8;
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    #page-o-flow .oflow-history-grid {
      align-items: start;
      grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
    }
    #page-o-flow .oflow-timeline {
      display: grid;
      gap: 1rem;
    }
    #page-o-flow .oflow-timeline-item {
      display: grid;
      grid-template-columns: 64px minmax(0, 1fr);
      gap: 1.25rem;
      align-items: start;
      background: var(--bg-main);
      border: var(--border-w) solid var(--brand-leaf-dark);
      border-radius: var(--radius-md);
      box-shadow: 5px 5px 0 0 var(--brand-leaf-dark);
      padding: 1.5rem;
    }
    #page-o-flow .oflow-timeline-item h3 { margin-top: 0; }
    #page-o-flow .oflow-timeline-item p { margin: 0; }
    #page-o-flow .oflow-practice {
      background-color: var(--brand-mint);
      background-image: var(--noise);
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    #page-o-flow .oflow-practice-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1.25rem;
    }
    #page-o-flow .oflow-practice-grid article:nth-child(2) {
      border-color: var(--brand-blue-dark);
      box-shadow: 5px 5px 0 0 var(--brand-blue-dark);
    }
    #page-o-flow .oflow-practice-grid article:nth-child(3) {
      border-color: var(--brand-pink-dark);
      box-shadow: 5px 5px 0 0 var(--brand-pink-dark);
    }
    #page-o-flow .oflow-practice-grid article:nth-child(4) {
      border-color: var(--brand-orange-dark);
      box-shadow: 5px 5px 0 0 var(--brand-orange-dark);
    }
    #page-o-flow .oflow-practice-grid h3 { margin-top: 0; }
    #page-o-flow .oflow-documents {
      padding: 5rem 0;
      background-color: var(--brand-leaf);
      background-image: var(--noise);
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    #page-o-flow .oflow-documents .section-label { color: var(--brand-blue-dark); }
    #page-o-flow .oflow-documents-inner {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 2rem;
      align-items: center;
    }
    #page-o-flow .oflow-documents h2 {
      font-size: clamp(2rem, 3.6vw, 3.4rem);
      margin-bottom: 1rem;
    }
    #page-o-flow .oflow-documents p {
      max-width: 720px;
      font-weight: 600;
    }
    #page-o-flow .oflow-document-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
      justify-content: flex-end;
    }
    #page-o-flow .oflow-document-actions .btn {
      white-space: nowrap;
    }
    #page-o-flow .oflow-document-actions .btn-primary {
      background-color: var(--brand-blue);
      border-color: var(--brand-blue-dark);
      box-shadow: 4px 4px 0 0 var(--brand-blue-dark);
      color: var(--text-dark);
    }
    #page-o-flow .oflow-document-actions .btn-blue {
      background-color: var(--brand-pink);
      border-color: var(--brand-pink-dark);
      box-shadow: 4px 4px 0 0 var(--brand-pink-dark);
      color: var(--text-dark);
    }

    @media (max-width: 1100px) {
      #page-o-flow .oflow-section { padding: 4.6rem 0; }
      #page-o-flow .oflow-pillar-grid,
      #page-o-flow .oflow-practice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 900px) {
      #page-o-flow .oflow-editorial-grid,
      #page-o-flow .oflow-history-grid,
      #page-o-flow .oflow-mv-grid,
      #page-o-flow .oflow-documents-inner {
        grid-template-columns: 1fr;
      }
      #page-o-flow .oflow-copy,
      #page-o-flow .oflow-history-grid > div:first-child,
      #page-o-flow .oflow-documents-inner {
        text-align: center;
      }
      #page-o-flow .oflow-identity-panel {
        max-width: 680px;
        margin: 0 auto;
      }
      #page-o-flow .oflow-document-actions { justify-content: center; }
    }
    @media (max-width: 768px) {
      #page-o-flow .oflow-section,
      #page-o-flow .oflow-documents { padding: 3.5rem 0; }
      #page-o-flow .oflow-section-head { margin-bottom: 2rem; }
      #page-o-flow .oflow-pillar-grid,
      #page-o-flow .oflow-practice-grid { grid-template-columns: 1fr; }
      #page-o-flow .oflow-pillar,
      #page-o-flow .oflow-statement-card,
      #page-o-flow .oflow-practice-grid article,
      #page-o-flow .oflow-identity-panel {
        padding: 1.5rem;
      }
      #page-o-flow .oflow-pillar,
      #page-o-flow .oflow-practice-grid article {
        text-align: center;
      }
      #page-o-flow .oflow-pillar span {
        margin: 0 auto;
      }
      #page-o-flow .oflow-timeline-item {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
      }
      #page-o-flow .oflow-document-actions .btn {
        width: 100%;
        justify-content: center;
      }
    }

    /* ========== FORM ========== */
    .form-section {
      max-width: 760px; margin: 0 auto;
      background: #fff8f0; border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-lg); padding: 4rem;
      box-shadow: 8px 8px 0 0 var(--brand-peach-dark);
    }
    .form-group { margin-bottom: 1.75rem; }
    .form-group label {
      display: block; font-weight: 700; font-size: 0.9rem;
      margin-bottom: 0.5rem; color: var(--text-dark); text-transform: uppercase; letter-spacing: 0.05em;
    }
    .form-group input, .form-group select, .form-group textarea {
      width: 100%; padding: 0.9rem 1.2rem;
      border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-sm); font-family: var(--font-body); font-size: 1rem;
      background: #fffdf8; color: var(--text-dark);
      transition: border-color 0.2s, box-shadow 0.2s;
      box-shadow: 3px 3px 0 0 rgba(217,196,170,0.9);
    }
    .form-group input:focus, .form-group select:focus, .form-group textarea:focus {
      outline: none; border-color: var(--brand-blue-dark);
      box-shadow: 3px 3px 0 0 var(--brand-blue-dark);
    }
    .form-group input.error, .form-group select.error, .form-group textarea.error { border-color: #e53e3e; box-shadow: 3px 3px 0 0 #e53e3e; }
    .form-group textarea { resize: vertical; min-height: 130px; }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
    .form-group .err-msg { color: #e53e3e; font-size: 0.8rem; margin-top: 0.35rem; display: none; }
    .form-group .err-msg.show { display: block; }
    .checkbox-group { display: flex; align-items: flex-start; gap: 0.75rem; }
    .checkbox-group input[type="checkbox"] { width: auto; margin-top: 3px; }
    .checkbox-group label { font-size: 0.875rem; text-transform: none; letter-spacing: 0; }
    .submit-btn { width: 100%; margin-top: 1rem; font-size: 1.1rem; padding: 1.1rem; }
    /* Modal */
    #success-modal {
      position: fixed; inset: 0; z-index: 5000;
      background: rgba(0,0,0,0.5); display: none;
      align-items: center; justify-content: center;
    }
    #success-modal.show { display: flex; }
    .modal-box {
      background: #fff8f0; border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-md); padding: 4rem;
      max-width: 480px; width: 90%; text-align: center;
      box-shadow: 8px 8px 0 0 var(--brand-peach-dark);
    }
    .modal-box .modal-icon { font-size: 4rem; margin-bottom: 1.5rem; }
    .modal-box h3 { font-size: 2rem; margin-bottom: 1rem; }
    .modal-box p { color: var(--text-dark); margin-bottom: 2rem; }

    /* ========== ACCORDION (dla-rodzica) ========== */
    .accordion-item {
      background: #fff7ef; border: var(--border-w) solid var(--brand-pink-dark);
      border-radius: var(--radius-sm); margin-bottom: 0.75rem;
      box-shadow: 4px 4px 0 0 var(--brand-pink-dark); overflow: hidden;
    }
    .accordion-header {
      padding: 1.4rem 2rem; cursor: pointer;
      display: flex; justify-content: space-between; align-items: center;
      font-family: var(--font-h); font-weight: 700; font-size: 1.15rem;
      transition: background 0.2s;
    }
    .accordion-header:hover { background: var(--brand-pink); }
    .accordion-header .acc-icon { font-size: 1.4rem; transition: transform 0.3s; flex-shrink: 0; }
    .accordion-item.open .accordion-header { background: var(--brand-pink); }
    .accordion-item.open .acc-icon { transform: rotate(45deg); }
    .accordion-body { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; }
    .accordion-item.open .accordion-body { max-height: 600px; }
    .accordion-body-inner { padding: 1.5rem 2rem; color: var(--text-dark); line-height: 1.7; border-top: 2px dashed var(--brand-pink-dark); }

    /* ========== CONTACT ========== */
    .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; }
    .contact-info-card {
      margin-bottom: 1.5rem; display: flex; align-items: flex-start; gap: 1rem;
      padding: 1.25rem 1.4rem; background: #fff8f0;
      border: var(--border-w) solid var(--brand-peach-dark);
      border-radius: var(--radius-md); box-shadow: 5px 5px 0 0 var(--brand-peach-dark);
    }
    .contact-registers {
      margin-top: 0.55rem;
      font-size: 0.86rem;
      font-weight: 700;
      color: var(--text-light);
      line-height: 1.45;
    }
    .contact-registers a,
    .contact-foundation-link {
      color: var(--brand-blue);
      font-weight: 700;
      text-decoration: none;
    }
    .contact-registers a:hover,
    .contact-registers a:focus-visible,
    .contact-foundation-link:hover,
    .contact-foundation-link:focus-visible {
      text-decoration: underline;
      text-decoration-thickness: 2px;
      text-underline-offset: 3px;
    }
    .contact-icon { font-size: 1.8rem; flex-shrink: 0; }
    .map-embed { width: 100%; height: 400px; border: var(--border-w) solid var(--brand-blue-dark); border-radius: var(--radius-md); box-shadow: 6px 6px 0 0 var(--brand-blue-dark); }
    #page-kontakt .kontakt-redesign {
      background: var(--bg-main);
    }
    #page-kontakt .kontakt-redesign-grid {
      align-items: start;
    }
    #page-kontakt .kontakt-form-panel {
      position: static !important;
      top: auto !important;
      color: #fff !important;
    }
    #page-kontakt .kontakt-form-panel h3,
    #page-kontakt .kontakt-form-panel label {
      color: #fff !important;
    }
    #page-kontakt .kontakt-form-panel p {
      color: rgba(255,255,255,0.92) !important;
    }
    #page-kontakt .kontakt-form-panel input,
    #page-kontakt .kontakt-form-panel textarea {
      background: #fff8f0 !important;
      color: var(--text-dark) !important;
      max-width: 100%;
      box-sizing: border-box;
    }
    #page-kontakt .kontakt-form-panel input::placeholder,
    #page-kontakt .kontakt-form-panel textarea::placeholder {
      color: rgba(34,34,34,0.58);
    }
    [data-copy-text],
    [data-copy-email] {
      cursor: pointer;
    }
    .is-copied,
    .footer-col a.is-copied {
      color: var(--brand-mint) !important;
      text-decoration: none;
    }

    /* ========== RESPONSIVE ========== */
    @media (max-width: 1100px) {
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .hero {
        padding-top: 1.7rem;
      }
      #page-kontakt .kontakt-redesign-grid {
        grid-template-columns: 1fr !important;
        gap: 2.5rem !important;
      }
    }
    @media (max-width: 1090px) {
      .nav-inner { padding: 0 2.5%; }
      .nav-socials { margin-left: auto; }
      .nav-hamburger { margin-left: 0.75rem; }
      .nav-links {
        display: none;
        flex-direction: column;
        position: absolute;
        top: 68px;
        left: 2.5%;
        right: 2.5%;
        width: 95%;
        background: var(--navbar-bg);
        border: var(--border-w) solid var(--brand-peach-dark);
        border-radius: var(--radius-md);
        box-shadow: 5px 5px 0 0 var(--brand-peach-dark);
        padding: 1rem;
        gap: 0.25rem;
      }
      .nav-links.open { display: flex; }
      .nav-hamburger { display: flex; }
    }
    @media (max-width: 900px) {
      .footer-grid { grid-template-columns: 1fr; text-align: center; }
      .footer-logo { margin-left: auto; margin-right: auto; text-align: center; }
      .footer-socials { justify-content: center; }
      .footer-col ul li { text-align: center; }
      .hero-grid { grid-template-columns: 1fr; }
      .hero-content, .services-header, .journey-header, .subpage-hero .container, .text-col { text-align: center; }
      .hero-content p, .journey-header p, .text-col p { max-width: 100%; margin-left: auto; margin-right: auto; }
      .hero-btns, .journey-cta-actions { justify-content: center; }
      .hero-visual { height: 380px; }
      .journey-section { padding: 4rem 2.2rem; }
      .journey-timeline { max-width: 980px; }
      .journey-card { width: min(100%, 360px); }
      .journey-card::before { width: 72px; }
      .journey-item:nth-child(odd) .journey-card::before { right: -72px; }
      .journey-item:nth-child(even) .journey-card::before { left: -72px; }
      .card-large, .card-small, .card-image, .card-wide { grid-column: span 12; }
      .services-grid { grid-template-columns: repeat(2,1fr); }
      .three-col { grid-template-columns: 1fr 1fr; }
      .two-col-layout { grid-template-columns: 1fr; }
      .contact-grid { grid-template-columns: 1fr; }
      .form-row { grid-template-columns: 1fr; }
      .slider-card { width: 350px; min-width: 350px; max-width: 350px; }
      .slider-card-img { height: 135px; }
    }
    @media (min-width: 769px) and (max-width: 900px) {
      .hero {
        padding-top: 1.5rem;
        padding-bottom: 2.25rem;
      }
      .hero-grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.95fr);
        gap: 2rem;
      }
      .hero-content { text-align: left; }
      .hero-content p {
        max-width: 92%;
        margin-left: 0;
        margin-right: 0;
      }
      .hero-btns {
        justify-content: flex-start;
      }
      .hero-visual {
        height: clamp(300px, 48vh, 380px);
      }
    }
    @media (max-width: 768px) {
      /* Zapewniamy 95% szerokości na mobilce (2.5% paddingu na stronę daje 95% użytecznej przestrzeni) */
      .container { padding: 0 2.5%; }
      .section { padding: 4rem 0; }
      .statement-container { padding: 4.6rem 0; padding-top: 3.45rem; padding-bottom: 2.3rem; }
      .hero { padding: 2.125rem 0 4rem; min-height: auto; }
      .marquee-wrapper { margin-top: 0; }
      .subpage-hero { padding: 3.5rem 0 2.5rem; }
      .content-section { padding: 3rem 0; }
      #page-kontakt .kontakt-redesign .container {
        padding-left: 2.5%;
        padding-right: 2.5%;
      }
      #page-kontakt .kontakt-redesign-grid,
      #page-kontakt .kontakt-form-row {
        grid-template-columns: 1fr !important;
      }
      #page-kontakt .kontakt-redesign-grid {
        gap: 2rem !important;
      }
      #page-kontakt .kontakt-info-stack {
        gap: 2rem !important;
      }
      #page-kontakt .kontakt-form-panel {
        padding: 2rem !important;
        border-radius: var(--radius-md) !important;
      }

      /* Szerokość ładowania na Mobile to 80% wg ustaleń */
      #splash-box img { width: 80vw; max-width: none; }

      /* Nawigacja staje sie modalem z marginesami */
      /* Gridy w jedną kolumnę i harmonijne kaskady */
      .journey-section { margin: 2rem 2.5% 0; width: 95%; padding: 3rem 1.5rem; box-sizing: border-box; }
      .journey-header { margin-bottom: 2.5rem; }
      .journey-header h2 { font-size: 2.2rem; }
      .journey-header p { font-size: 1rem; }
      .journey-timeline { gap: 1.25rem; padding-left: 0; }
      .journey-timeline::before { left: 26px; transform: none; top: 1rem; bottom: 1rem; }
      .journey-item {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 1rem;
        min-height: 0;
        padding-top: 0;
      }
      .journey-item:nth-child(odd),
      .journey-item:nth-child(even) { transform: translateY(22px) scale(0.985); }
      .journey-node { grid-column: 1; width: 48px; height: 48px; font-size: 1.05rem; }
      .journey-card,
      .journey-item:nth-child(even) .journey-card {
        grid-column: 2;
        justify-self: stretch;
        width: 100%;
      }
      .journey-card::before { display: none; }
      .journey-card { padding: 1.6rem 1.35rem 1.4rem; }
      .journey-card h3 { font-size: 1.3rem; }
      .journey-card p { font-size: 0.98rem; }
      .services-grid { grid-template-columns: 1fr; }
      .three-col { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr; }

      /* Poprawki wewnętrzne (paddingi) żeby w mniejszej 95% siatce mieścił się content, bez wystawania */
      .services { padding: 3rem 1.5rem; margin: 2rem 2.5%; width: 95%; box-sizing: border-box; }
      .oval-card, .visual-block, .form-section, .info-card, .highlight-box, .faq-item, .accordion-item, .contact-info-card, .map-embed { width: 100%; max-width: 100%; margin-left: auto; margin-right: auto; }
      .oval-card { padding: 2rem; min-height: auto; }
      .info-card { padding: 1.5rem; text-align: center; }
      .highlight-box { padding: 1.5rem; margin: 1.5rem 0; text-align: center; }
      .visual-block { min-height: 260px; font-size: 3.5rem; }
      .slider-track { gap: 1rem; padding: 1rem 2.5% 2rem; }
      .slider-card { width: 250px; min-width: 250px; max-width: 250px; padding: 1.35rem; }
      .slider-empty { width: 250px; min-width: 250px; max-width: 250px; }
      .slider-card-img { height: 135px; margin-bottom: 1.25rem; }
      .slider-card h3 { font-size: 1.35rem; }
      .slider-card p { font-size: 0.92rem; }
      .form-section { padding: 2rem 1.5rem; }
      .contact-grid, .subpage-hero .container, .contact-grid .text-col, .faq-section, .statement, .footer-brand, .footer-col { text-align: center; }
      .contact-info-card { flex-direction: column; align-items: center; text-align: center; }
      .map-embed { height: 280px; }
      .modal-box { padding: 2rem 1.5rem; width: 95%; }
      .statement h2 { font-size: 2rem; }
      .hero-content h1 { font-size: 2.5rem; }
    }

    /* ================================================================
       WP SUBPAGE STYLES — page.php / single.php / archive.php
       Motyw hybrydowy: SPA (front-page.php) + natywne podstrony WP
       ================================================================ */

    /* Body class dla podstron WP - nadpisuje page system SPA */
    body.wp-subpage #pages-container { display: none !important; }
    body.wp-subpage #splash          { display: none !important; }
    body.wp-subpage #success-modal   { display: none !important; }

    /* Strona WP ma normalny scroll, bez fixed pages */
    body.wp-subpage {
      overflow: auto;
    }

    /* ========== WP PAGE HERO (breadcrumb bar) ========== */
    body.wp-subpage .wp-page-hero {
      background-color: var(--brand-mint);
      background-image: var(--noise);
      border-bottom: var(--border-w) solid var(--text-dark);
      padding: calc(68px + 2rem) 0 1.5rem;
      margin-top: 0;
    }
    body.wp-subpage .wp-page-hero .container {
      background-color: var(--brand-mint);
      background-image: var(--noise);
    }
    body.wp-subpage #navbar {
      background: var(--navbar-bg);
    }
    .wp-breadcrumb {
      font-family: var(--font-h);
      font-size: 0.85rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--text-dark);
    }
    .wp-breadcrumb a {
      color: var(--brand-blue);
      text-decoration: none;
      transition: color 0.2s;
    }
    .wp-breadcrumb a:hover { color: var(--brand-orange); text-decoration: underline; }
    .wp-breadcrumb a.is-active {
      color: var(--brand-orange);
      text-decoration: underline;
      text-decoration-thickness: 2px;
      text-underline-offset: 4px;
    }
    .wp-breadcrumb a.is-active:hover { color: var(--brand-blue); }

    /* ========== WP MAIN CONTENT AREA ========== */
    .wp-main {
      min-height: calc(100vh - 68px - 280px);
      padding: 4rem 0 6rem;
      background: var(--bg-main);
    }

    /* ========== WP ARTICLE (single page/post) ========== */
    .wp-article {
      max-width: 860px;
      margin: 0 auto;
    }

    .wp-featured-image {
      width: 100%;
      max-height: 520px;
      overflow: hidden;
      border-radius: var(--radius-md);
      border: var(--border-w) solid var(--text-dark);
      box-shadow: 8px 8px 0 0 var(--brand-mint-dark);
      margin-bottom: 3rem;
    }
    .wp-featured-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .wp-article-header {
      margin-bottom: 2.5rem;
      padding-bottom: 2rem;
      border-bottom: var(--border-w) dashed var(--brand-blue);
    }
    .wp-article-meta {
      display: flex;
      align-items: baseline;
      gap: 0.5rem;
      flex-wrap: wrap;
      margin-bottom: 1rem;
    }
    .wp-article-meta-item,
    .wp-article-meta-separator {
      font-family: var(--font-body);
      font-size: 0.9rem;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }
    .wp-article-date {
      color: var(--brand-orange);
    }
    .wp-article-meta-separator {
      color: var(--text-light);
    }
    .wp-article-cats {
      font-family: var(--font-body);
      font-size: 0.9rem;
      font-weight: 700;
      color: var(--brand-blue);
    }
    .wp-article-cats a {
      color: var(--brand-blue);
      text-decoration-thickness: 2px;
      text-underline-offset: 3px;
    }
    .wp-article-title {
      font-family: var(--font-h);
      font-size: clamp(2rem, 4vw, 3.5rem);
      font-weight: 700;
      line-height: 1.1;
      letter-spacing: -0.02em;
      color: var(--text-dark);
      margin-bottom: 1rem;
    }
    .wp-article-byline {
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--text-light);
    }
    .wp-article-byline a {
      color: var(--brand-blue);
      text-decoration: underline;
    }

    /* Treść artykułu — rich text */
    .wp-article-content {
      font-size: 1.05rem;
      line-height: 1.85;
      color: var(--text-dark);
    }
    .wp-article-content p { margin-bottom: 1.5rem; }
    .wp-article-content h2 {
      font-family: var(--font-h);
      font-size: clamp(1.5rem, 2.5vw, 2.2rem);
      font-weight: 700;
      margin: 2.5rem 0 1rem;
      color: var(--text-dark);
    }
    .wp-article-content h3 {
      font-family: var(--font-body);
      font-size: 1.4rem;
      font-weight: 700;
      margin: 2rem 0 0.75rem;
    }
    .wp-article-content h4 { font-size: 1.2rem; font-weight: 700; margin: 1.5rem 0 0.5rem; }
    .wp-article-content ul,
    .wp-article-content ol {
      margin: 0 0 1.5rem 1.5rem;
      padding: 0;
    }
    .wp-article-content li { margin-bottom: 0.5rem; }
    .wp-article-content blockquote {
      background-color: var(--brand-mint);
      background-image: var(--noise);
      border-left: 5px solid var(--brand-blue);
      border-radius: var(--radius-sm);
      padding: 1.5rem 2rem;
      margin: 2rem 0;
      font-style: italic;
      font-weight: 600;
      font-size: 1.1rem;
      box-shadow: 5px 5px 0 0 var(--brand-mint-dark);
    }
    .wp-article-content img {
      max-width: 100%;
      border-radius: var(--radius-sm);
      border: var(--border-w) solid var(--text-dark);
      box-shadow: 5px 5px 0 0 var(--bg-main-dark);
      margin: 1.5rem 0;
    }
    .wp-article-content a {
      color: var(--brand-blue);
      text-decoration: underline;
      text-underline-offset: 3px;
      transition: color 0.2s;
    }
    .wp-article-content a:hover { color: var(--brand-orange); }
    .wp-article-content code {
      background: var(--brand-pink);
      border: var(--border-w) solid var(--brand-pink-dark);
      border-radius: 4px;
      padding: 0.1em 0.4em;
      font-size: 0.9em;
      font-family: 'Courier New', monospace;
    }
    .wp-article-content pre {
      background: var(--text-dark);
      color: var(--brand-mint);
      border-radius: var(--radius-sm);
      padding: 1.5rem;
      overflow-x: auto;
      margin: 1.5rem 0;
      font-size: 0.9rem;
      line-height: 1.6;
    }
    .wp-article-content pre code {
      background: none;
      border: none;
      padding: 0;
      color: inherit;
    }
    .wp-article-content hr {
      border: none;
      border-top: var(--border-w) dashed var(--brand-blue);
      margin: 2.5rem 0;
    }

    /* WP Page links (paginacja wewnątrz artykułu) */
    .wp-page-links {
      display: flex;
      gap: 0.5rem;
      align-items: center;
      flex-wrap: wrap;
      margin-top: 2rem;
      font-weight: 600;
    }
    .wp-page-links a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 36px; height: 36px;
      border: var(--border-w) solid var(--text-dark);
      border-radius: var(--radius-sm);
      background: var(--white);
      box-shadow: 3px 3px 0 0 var(--bg-main-dark);
      transition: all 0.15s;
    }
    .wp-page-links a:hover { background: var(--brand-blue); transform: translate(-1px,-1px); }

    /* ========== WP POST NAVIGATION (prev/next) ========== */
    .wp-post-nav {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem;
      margin-top: 4rem;
      padding-top: 2rem;
      border-top: var(--border-w) solid var(--text-dark);
      max-width: 860px;
      margin-left: auto;
      margin-right: auto;
    }
    .wp-post-prev,
    .wp-post-next {
      background-color: var(--brand-orange);
      background-image: var(--noise);
      border: var(--border-w) solid var(--brand-orange-dark);
      border-radius: var(--radius-sm);
      padding: 1.2rem 1.5rem;
      box-shadow: 4px 4px 0 0 var(--brand-orange-dark);
      transition: all 0.2s;
      font-weight: 600;
    }
    .wp-post-next {
      background-color: var(--brand-orange);
      border-color: var(--brand-orange-dark);
      box-shadow: 4px 4px 0 0 var(--brand-orange-dark);
    }
    .wp-post-prev:hover,
    .wp-post-next:hover {
      background-color: color-mix(in srgb, var(--brand-orange) 82%, white 18%);
      border-color: var(--brand-orange-dark);
      transform: translate(-2px,-2px);
      box-shadow: 6px 6px 0 0 var(--brand-orange-dark);
    }
    .wp-post-next { text-align: right; }
    .wp-post-prev a, .wp-post-next a {
      display: block;
      color: var(--text-dark);
      text-decoration: none;
      font-weight: 700;
    }

    /* ========== WP ARCHIVE / BLOG LIST ========== */
    .wp-archive-header {
      margin-bottom: 3rem;
      padding-bottom: 2rem;
      border-bottom: var(--border-w) solid var(--text-dark);
    }
    .wp-archive-title {
      font-family: var(--font-h);
      font-size: clamp(2rem, 4vw, 3.5rem);
      font-weight: 700;
      letter-spacing: -0.02em;
      color: var(--text-dark);
      margin-bottom: 0.5rem;
    }
    .wp-archive-desc {
      font-size: 1.05rem;
      color: var(--text-light);
      font-weight: 500;
    }

    .wp-posts-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
      gap: 2rem;
    }

    body.wp-subpage .wp-post-card,
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-blog {
      --flow-post-card-border: var(--brand-mint-dark);
      --flow-post-card-bg: color-mix(in srgb, var(--flow-post-card-border) 26%, white 74%);
    }
    body.wp-subpage .wp-post-card:nth-child(2n),
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-blog:nth-child(2n) {
      --flow-post-card-border: var(--brand-peach-dark);
      --flow-post-card-bg: color-mix(in srgb, var(--flow-post-card-border) 24%, white 76%);
    }
    body.wp-subpage .wp-post-card:nth-child(3n),
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-blog:nth-child(3n) {
      --flow-post-card-border: var(--brand-pink-dark);
      --flow-post-card-bg: color-mix(in srgb, var(--flow-post-card-border) 24%, white 76%);
    }
    body.wp-subpage .wp-post-card:nth-child(4n),
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-blog:nth-child(4n) {
      --flow-post-card-border: var(--brand-peach-dark);
      --flow-post-card-bg: color-mix(in srgb, var(--flow-post-card-border) 24%, white 76%);
    }

    .wp-post-card {
      background-color: var(--flow-post-card-bg);
      background-image: var(--noise);
      border: var(--border-w) solid var(--flow-post-card-border);
      border-radius: var(--radius-md);
      box-shadow: 6px 6px 0 0 var(--flow-post-card-border);
      overflow: hidden;
      position: relative;
      transition: all 0.2s ease;
      display: flex;
      flex-direction: column;
      gap: 0;
      cursor: default;
    }
    .wp-post-card-link-overlay {
      position: absolute;
      inset: 0;
      z-index: 2;
      border-radius: inherit;
      cursor: default;
    }
    .wp-post-card-link-overlay:focus-visible {
      outline: 3px solid var(--brand-blue);
      outline-offset: -8px;
    }

    .wp-post-card-img-link {
      display: block;
      height: 220px;
      overflow: hidden;
      background: transparent;
      border-bottom: var(--border-w) solid var(--flow-post-card-border);
      border-radius: 0;
      position: relative;
      z-index: 3;
    }
    .wp-post-card-img-link img {
      width: 100%; height: 100%;
      object-fit: cover;
      display: block;
      transition: transform 0.4s ease;
    }
    .wp-post-card-img-link:hover img,
    .wp-post-card-img-link:focus-visible img { transform: scale(1.05); }

    .wp-post-card-body {
      background: transparent;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      padding: 2rem;
      display: flex;
      flex-direction: column;
      flex: 1;
    }
    .wp-post-card-title {
      font-family: var(--font-h);
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.2;
      margin: 0.5rem 0 1rem;
    }
    .wp-post-card-title a {
      color: var(--text-dark);
      text-decoration: none;
      position: relative;
      z-index: 3;
    }

    .wp-post-card-excerpt {
      font-size: 0.95rem;
      color: var(--text-light);
      line-height: 1.7;
      flex: 1;
      margin-bottom: 1.5rem;
      display: -webkit-box;
      -webkit-line-clamp: 4;
      line-clamp: 4;
      -webkit-box-orient: vertical;
      overflow: hidden;
      max-height: calc(1.7em * 4);
    }
    .wp-post-card-excerpt p {
      margin: 0;
    }
    .wp-read-more {
      align-self: flex-start;
      font-size: 0.9rem;
      padding: 0.6rem 1.4rem;
      position: relative;
      z-index: 3;
    }

    body.wp-subpage .wp-article-content .wp-block-themeisle-blocks-posts-grid {
      --text-align: left !important;
      --background-color: transparent;
      --img-border-radius: var(--radius-sm);
      --img-box-shadow: none;
      --content-padding: 1.35rem;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .is-grid {
      grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
      gap: 2rem;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid:not(.is-style-tiled) .o-posts-grid-post-blog .o-posts-grid-post {
      background: transparent;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      gap: 0;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-blog {
      background-color: var(--flow-post-card-bg);
      background-image: var(--noise);
      border: var(--border-w) solid var(--flow-post-card-border);
      border-radius: var(--radius-md);
      box-shadow: 6px 6px 0 0 var(--flow-post-card-border);
      overflow: hidden;
      transition: all 0.2s ease;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-image {
      background: transparent !important;
      padding: 0;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-image a {
      display: block;
      width: 100%;
      height: 220px;
      overflow: hidden;
      background: transparent;
      border-bottom: var(--border-w) solid var(--flow-post-card-border);
      border-radius: 0;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-image img {
      display: block;
      width: 100%;
      height: 100%;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      background: transparent;
      object-fit: cover;
      transition: transform 0.4s ease;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-image a:hover img,
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-image a:focus-visible img {
      transform: scale(1.05);
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-body {
      background: transparent;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      color: var(--text-dark);
      margin-top: 0;
      padding: 2rem;
      text-align: left !important;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-title {
      font-family: var(--font-h);
      font-size: 1.5rem;
      font-weight: 700;
      line-height: 1.2;
      margin: 0.5rem 0 1rem;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-title a {
      color: var(--text-dark);
      text-decoration: none;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-category a {
      color: var(--brand-blue-dark);
      font-weight: 700;
      text-decoration: none;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-meta {
      color: var(--text-light);
      font-size: 0.85rem;
      font-weight: 600;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-description {
      color: var(--text-light);
      font-size: 0.95rem;
      line-height: 1.7;
    }
    body.wp-subpage .wp-block-themeisle-blocks-posts-grid .o-posts-grid-post-description p { margin: 0; }

    /* ========== WP PAGINATION ========== */
    .wp-pagination {
      margin-top: 4rem;
      display: flex;
      justify-content: center;
    }
    .wp-pagination .nav-links {
      display: flex;
      gap: 0.5rem;
      align-items: center;
      flex-wrap: wrap;
      /* Uwaga: to jest klasa WP, nie nav-links navbar — nie koliduje, bo body.wp-subpage */
    }
    .wp-pagination .page-numbers {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 42px; height: 42px;
      border: var(--border-w) solid var(--text-dark);
      border-radius: var(--radius-sm);
      background: var(--white);
      box-shadow: 3px 3px 0 0 var(--bg-main-dark);
      font-weight: 700;
      color: var(--text-dark);
      text-decoration: none;
      transition: all 0.15s;
      padding: 0 0.75rem;
    }
    .wp-pagination .page-numbers:hover,
    .wp-pagination .page-numbers.current {
      background: var(--brand-blue);
      color: var(--text-dark);
      transform: translate(-2px,-2px);
      box-shadow: 5px 5px 0 0 var(--brand-blue-dark);
    }
    .wp-pagination .page-numbers.dots {
      background: transparent;
      border-color: transparent;
      box-shadow: none;
    }

    /* ========== WP NO POSTS ========== */
    .wp-no-posts {
      text-align: center;
      padding: 6rem 2rem;
    }
    .wp-no-posts h2 {
      font-family: var(--font-h);
      font-size: 2.5rem;
      margin-bottom: 1rem;
    }
    .wp-no-posts p {
      font-size: 1.1rem;
      color: var(--text-light);
      margin-bottom: 2rem;
    }

    /* ========== WP RESPONSIVE ========== */
    @media (max-width: 768px) {
      .wp-posts-grid { grid-template-columns: 1fr; }
      body.wp-subpage .wp-block-themeisle-blocks-posts-grid .is-grid { grid-template-columns: 1fr !important; }
      .wp-post-nav { grid-template-columns: 1fr; }
      .wp-post-next { text-align: left; }
      .wp-article { max-width: 100%; }
      .wp-article-title { font-size: 2rem; }
      .wp-featured-image { border-radius: var(--radius-sm); }
      body.wp-subpage .wp-page-hero { padding: calc(68px + 1.5rem) 0 1rem; }
    }
