/* Wierny nagłówek i stopka skopiowane ze strony głównej ICL 3.2. */
.iclspShell {
  --iclpv-black:#0A0A0A; --iclpv-black2:#101215; --iclpv-black3:#16191d;
  --iclpv-white:#F4F7F8; --iclpv-grey1:#AEB6BE; --iclpv-grey2:#75808A;
  --iclpv-hair:rgba(244,247,248,0.08); --iclpv-hairStrong:rgba(244,247,248,0.16);
  --iclpv-cyan:#00F2FF; --iclpv-cyanDim:#0E3A3E;
  --iclpv-copper:#FF4D00; --iclpv-copperDim:#3A1A0C;
  --iclpv-fontDisplay:"Space Grotesk","Segoe UI",Arial,sans-serif;
  --iclpv-fontBody:"IBM Plex Sans","Segoe UI",Arial,sans-serif;
  --iclpv-fontMono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
}

.iclpvBadge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  border-radius: 0;
  font-family: var(--iclpv-fontMono);
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}

.iclpvBadge::after {
  content: "";
  width: 180px;
  height: 1px;
  background: currentColor;
  opacity: .35;
}

@media (max-width: 600px) {
  .iclpvBadge::after { width: 80px; }
}

.iclpvBadgeCyan { color: var(--iclpv-cyan); }
.iclpvBadgeCopper { color: var(--iclpv-copper); }

/* Canonical primary CTA button, ported verbatim from HOME's approved Hero
   (patterns/homepage.html .iclpvBtn/.iclpvBtnPrimary, values defined in
   assets/css/icl-project.css lines 415-441). HOME is the source of truth --
   do not edit these rules to fit a specific page; reuse the classes as-is.
   Any ICL service-page CTA should use these classes directly rather than
   maintaining a parallel button style. */
.iclpvBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--iclpv-fontDisplay);
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: none;
  border: 1px solid transparent;
  padding: clamp(13px, 1.6vw, 15px) clamp(18px, 4.4vw, 26px);
  font-size: clamp(13.5px, 3.4vw, 15px);
  line-height: 1.25;
  min-height: clamp(46px, 11vw, 52px);
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
}

/* Selector is "a.iclpvBtnPrimary" (not just ".iclpvBtnPrimary") deliberately --
   .iclspShell a, .iclspYoutubeSection a { color: inherit } (icl-patterns.css,
   a page-wide link-color reset needed for nav/footer links) has specificity
   (0,1,1) [class+type], which beats a plain class-only rule (0,1,0) regardless
   of source order. This reset doesn't exist for HOME (HOME's shell is
   .iclpvShell, a different class), which is why identical declared values
   rendered differently there vs here. Matching specificity here lets normal
   cascade source order (this rule comes after the reset) decide, instead of
   needing !important -- same fix pattern as p.iclHeroV3Lead above, see
   DOCS/DASH_PREVIEW_STANDARD.md "Known failure modes". Values are unchanged
   from HOME's own .iclpvBtnPrimary. */
a.iclpvBtnPrimary {
  background: var(--iclpv-cyan);
  color: var(--iclpv-black);
  transition: background .2s ease, box-shadow .2s ease;
}

a.iclpvBtnPrimary:hover {
  background: #3DF6FF;
  box-shadow: 0 0 32px rgba(0,242,255,.32);
}

/* Canonical Hero typography scale, reproduced verbatim from HOME's approved
   Hero (patterns/homepage.html .iclpvH1/.iclpvLead, values defined in
   assets/css/icl-project.css). The primary CTA is NOT tokenized here --
   reuse the real .iclpvBtn/.iclpvBtnPrimary classes directly (see above)
   rather than reproducing their values as tokens. HOME is the source of truth for these
   numbers -- do not edit this block without also updating HOME, and do not
   edit HOME's own CSS to "sync" with this block; it already IS the reference.
   Every ICL service-page Hero should consume these tokens instead of
   inventing its own type scale -- see DOCS/DASH_PREVIEW_STANDARD.md
   "Hero typography tokens". */
.iclspShell {
  --icl-hero-eyebrow-font: var(--iclpv-fontMono);
  --icl-hero-eyebrow-size: 11px;
  --icl-hero-eyebrow-lh: 1.2;
  --icl-hero-eyebrow-ls: .12em;

  --icl-hero-h1-font: var(--iclpv-fontDisplay);
  --icl-hero-h1-weight: 700;
  --icl-hero-h1-size: clamp(52px, 4.2vw, 68px);
  --icl-hero-h1-size-mobile: clamp(38px, 10.5vw, 48px);
  /* Compact variant: same family/weight/line-height/letter-spacing system as
     above, smaller size range -- for Hero copy short enough to read as 2
     restrained visual lines rather than HOME's up-to-3-line headline. HOME
     is the reference for typographic QUALITY and RHYTHM, not a mandate that
     every service-page H1 hit the same maximum pixel size regardless of
     copy length (Apple/Tesla-style restraint: short headline, generous
     whitespace, no wall of typography). Use this variant, not -h1-size,
     whenever a page's H1 is intentionally short. */
  --icl-hero-h1-size-compact: clamp(44px, 4vw, 58px);
  --icl-hero-h1-size-compact-mobile: clamp(32px, 9vw, 42px);
  --icl-hero-h1-lh: 1.06;
  --icl-hero-h1-ls: -.035em;
  --icl-hero-h1-max-width: 680px;
  /* For a compact 2-line H1 (paired with --icl-hero-h1-size-compact): a
     narrower, honest max-width instead of HOME's full-headline 680px. */
  --icl-hero-h1-max-width-compact: 560px;

  --icl-hero-lead-size: 17px;
  --icl-hero-lead-size-mobile: 16px;
  --icl-hero-lead-lh: 1.55;
  --icl-hero-lead-lh-mobile: 1.42;
  --icl-hero-lead-max-width: 520px;
}

.iclpvHdrMark,
.iclpvFooterMark {
  background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCI+CiAgPGcgZmlsbD0iIzBBMEEwQSI+CiAgICA8IS0tIEfFgsOzd255IGR5c2sgeiB3eWNpxJl0eW0gcHJ6ZXpyb2N6eXN0eW0gc3plxZtjaW9rxIV0ZW0gLS0+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0gNTAgMTQgQSAzNiAzNiAwIDEgMCA1MCA4NiBBIDM2IDM2IDAgMSAwIDUwIDE0IFogTSA1MCAzMiBMIDY1LjYgNDEgTCA2NS42IDU5IEwgNTAgNjggTCAzNC40IDU5IEwgMzQuNCA0MSBaIiAvPgogICAgCiAgICA8IS0tIDggesSZYsOzdyB3eXBpc2FueWNoIG5hIHN6dHl3bm8sIGJleiB0YWd1IDx1c2U+IC0tPgogICAgPHBhdGggZD0iTSA0MCAxNiBMIDYwIDE2IEwgNTYgNCBMIDQ0IDQgWiIgLz4KICAgIDxwYXRoIGQ9Ik0gNDAgMTYgTCA2MCAxNiBMIDU2IDQgTCA0NCA0IFoiIHRyYW5zZm9ybT0icm90YXRlKDQ1IDUwIDUwKSIgLz4KICAgIDxwYXRoIGQ9Ik0gNDAgMTYgTCA2MCAxNiBMIDU2IDQgTCA0NCA0IFoiIHRyYW5zZm9ybT0icm90YXRlKDkwIDUwIDUwKSIgLz4KICAgIDxwYXRoIGQ9Ik0gNDAgMTYgTCA2MCAxNiBMIDU2IDQgTCA0NCA0IFoiIHRyYW5zZm9ybT0icm90YXRlKDEzNSA1MCA1MCkiIC8+CiAgICA8cGF0aCBkPSJNIDQwIDE2IEwgNjAgMTYgTCA1NiA0IEwgNDQgNCBaIiB0cmFuc2Zvcm09InJvdGF0ZSgxODAgNTAgNTApIiAvPgogICAgPHBhdGggZD0iTSA0MCAxNiBMIDYwIDE2IEwgNTYgNCBMIDQ0IDQgWiIgdHJhbnNmb3JtPSJyb3RhdGUoMjI1IDUwIDUwKSIgLz4KICAgIDxwYXRoIGQ9Ik0gNDAgMTYgTCA2MCAxNiBMIDU2IDQgTCA0NCA0IFoiIHRyYW5zZm9ybT0icm90YXRlKDI3MCA1MCA1MCkiIC8+CiAgICA8cGF0aCBkPSJNIDQwIDE2IEwgNjAgMTYgTCA1NiA0IEwgNDQgNCBaIiB0cmFuc2Zvcm09InJvdGF0ZSgzMTUgNTAgNTApIiAvPgogIDwvZz4KPC9zdmc+Cg==") center / contain no-repeat;
  filter: invert(1);
}

.iclpvFooterMark {
  width:30px;
  height:30px;
  display:block;
  flex:0 0 30px;
}

  .iclpvHdrOuter{ position:sticky; top:0; z-index:1000; width:100%; }

  @media (max-width:600px){ .iclpvHdrOuter{ position:relative; top:auto; } }

  .iclpvHdr{

    position:relative; width:100%; box-sizing:border-box;

    background:rgba(9,10,12,0.56);

    backdrop-filter:blur(22px) saturate(150%); -webkit-backdrop-filter:blur(22px) saturate(150%);

    border-bottom:1px solid rgba(255,255,255,0.055);

    box-shadow:inset 0 1px 0 rgba(255,255,255,0.045), 0 14px 44px rgba(0,0,0,0.38);

    transition:background .25s ease, backdrop-filter .25s ease, border-color .25s ease, box-shadow .25s ease;

  }

  .iclpvHdr[data-scrolled]{

    background:rgba(9,10,12,0.72);

    backdrop-filter:blur(25px) saturate(155%);

    -webkit-backdrop-filter:blur(25px) saturate(155%);

    border-bottom-color:rgba(255,255,255,0.08);

    box-shadow:

      inset 0 1px 0 rgba(255,255,255,0.05),

      0 1px 0 rgba(255,255,255,0.045),

      0 16px 48px rgba(0,0,0,0.40);

  }

  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){

    .iclpvHdr{ background:rgba(9,10,12,0.90); }

    .iclpvHdr[data-scrolled]{ background:rgba(9,10,12,0.94); }

  }

  .iclpvHdrInner{ display:flex; align-items:center; justify-content:space-between; max-width:1280px; margin:0 auto; min-height:76px; padding-left:clamp(20px,3vw,56px); padding-right:clamp(20px,3vw,56px); gap:24px; }

  @media (min-width:1280px){ .iclpvHdrInner{ min-height:80px; } }

  .iclpvHdrBrand{ display:inline-flex; align-items:center; gap:12px; min-width:0; text-decoration:none; }

  .iclpvHdrMark{ display:block; width:32px; height:32px; flex:0 0 32px; color:var(--iclpv-white); overflow:visible; opacity:.94; filter:invert(1); }

  @media (max-width:400px){ .iclpvHdrMark{ width:27px; height:27px; flex-basis:27px; } }

  .iclpvHdrWordmark{ white-space:nowrap; font-family:var(--iclpv-fontDisplay); font-size:clamp(14.5px,1.2vw,18px); line-height:1; font-weight:600; letter-spacing:-0.01em; color:var(--iclpv-white); }

  @media (max-width:400px){ .iclpvHdrWordmark{ font-size:13.5px; } }

  .iclpvHdrNav{ display:flex; align-items:center; gap:4px; }

  @media (max-width:1024px){ .iclpvHdrNav{ display:none; } }

  .iclpvHdrLink{

    position:relative; display:inline-flex; align-items:center; justify-content:center;

    min-height:44px; padding:0 15px; border-radius:10px; border:1px solid transparent;

    text-decoration:none; font-family:var(--iclpv-fontDisplay); font-size:13.5px; line-height:1;

    font-weight:500; letter-spacing:0.01em; color:rgba(244,247,248,0.62); background:transparent;

    box-shadow:none; overflow:hidden;

    transition:color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;

  }

  .iclpvHdrLink::after{

    content:""; position:absolute; left:14px; right:14px; bottom:5px; height:1px;

    background:linear-gradient(90deg, var(--iclpv-cyan), var(--iclpv-copper));

    opacity:0; transform:scaleX(.6); transform-origin:center;

    transition:opacity .2s ease, transform .2s ease;

  }

  .iclpvHdrLink:hover, .iclpvHdrLink:focus-visible{

    color:var(--iclpv-white);

    background:linear-gradient(180deg, rgba(42,46,53,0.52) 0%, rgba(12,13,16,0.58) 100%);

    backdrop-filter:blur(16px) saturate(150%);

    -webkit-backdrop-filter:blur(16px) saturate(150%);

    border-color:rgba(244,247,248,0.13);

    box-shadow:

      inset 0 1px 0 rgba(255,255,255,0.12),

      inset 0 -1px 0 rgba(0,0,0,0.28),

      0 8px 20px rgba(0,0,0,0.30);

    transform:translateY(-1px);

    outline:none;

  }

  .iclpvHdrLink:hover::after, .iclpvHdrLink:focus-visible::after{ opacity:0.7; transform:scaleX(1); }

  .iclpvHdrLink:focus-visible{

    outline:2px solid rgba(0,229,255,0.55);

    outline-offset:2px;

  }

  .iclpvHdrLink:active,

  .iclpvHdrLink[aria-current="page"]{

    color:var(--iclpv-white);

    background:linear-gradient(180deg, rgba(50,55,63,0.62) 0%, rgba(10,11,13,0.66) 100%);

    backdrop-filter:blur(18px) saturate(160%);

    -webkit-backdrop-filter:blur(18px) saturate(160%);

    border-color:rgba(244,247,248,0.20);

    box-shadow:

      inset 0 1px 0 rgba(255,255,255,0.14),

      inset 0 -1px 0 rgba(0,0,0,0.32),

      0 9px 22px rgba(0,0,0,0.34);

    outline:none;

  }

  .iclpvHdrLink:active::after,

  .iclpvHdrLink[aria-current="page"]::after{ opacity:1; transform:scaleX(1); }

  @media (prefers-reduced-motion: reduce){ .iclpvHdrLink, .iclpvHdrLink::after{ transition:none; } }

  .iclpvHdrCta{

    display:inline-flex; align-items:center; justify-content:center; border-radius:8px;

    padding:9px 19px; font-family:var(--iclpv-fontDisplay); font-weight:600; font-size:13px;

    letter-spacing:.01em; text-decoration:none; cursor:pointer; color:#E7FEFF;

    background:linear-gradient(180deg, rgba(0,242,255,0.16), rgba(0,242,255,0.055));

    backdrop-filter:blur(8px) saturate(140%);

    -webkit-backdrop-filter:blur(8px) saturate(140%);

    border:1px solid rgba(0,242,255,0.30);

    box-shadow:

      inset 0 1px 0 rgba(255,255,255,0.12),

      inset 0 -1px 0 rgba(0,0,0,0.20),

      0 6px 16px rgba(0,0,0,0.24);

    transition:background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;

  }

  .iclpvHdrCta:hover{

    background:linear-gradient(180deg, rgba(0,242,255,0.22), rgba(0,242,255,0.07));

    border-color:rgba(0,242,255,0.46);

    box-shadow:

      inset 0 1px 0 rgba(255,255,255,0.16),

      inset 0 -1px 0 rgba(0,0,0,0.22),

      0 0 14px rgba(0,242,255,0.12),

      0 7px 18px rgba(0,0,0,0.26);

    transform:translateY(-1px);

  }

  @media (max-width:1024px){ .iclpvHdrCta{ display:none; } }

  .iclpvHdrToggle{ display:none; align-items:center; justify-content:center; width:38px; height:38px; background:rgba(255,255,255,0.04); border:1px solid var(--iclpv-hairStrong); border-radius:9px; padding:0; cursor:pointer; }

  @media (max-width:1024px){ .iclpvHdrToggle{ display:inline-flex; } }

  .iclpvHdrToggleBar{ position:relative; width:16px; height:1.5px; background:var(--iclpv-white); display:block; }

  .iclpvHdrToggleBar::before, .iclpvHdrToggleBar::after{ content:""; position:absolute; left:0; width:16px; height:1.5px; background:var(--iclpv-white); transition:transform .2s ease; }

  .iclpvHdrToggleBar::before{ top:-5px; } .iclpvHdrToggleBar::after{ top:5px; }

  .iclpvHdrToggle[aria-expanded="true"] .iclpvHdrToggleBar{ background:transparent; }

  .iclpvHdrToggle[aria-expanded="true"] .iclpvHdrToggleBar::before{ transform:translateY(5px) rotate(45deg); }

  .iclpvHdrToggle[aria-expanded="true"] .iclpvHdrToggleBar::after{ transform:translateY(-5px) rotate(-45deg); }

  .iclpvHdrPanel{ display:none; flex-direction:column; gap:2px; background:rgba(9,10,12,0.92); backdrop-filter:blur(18px); border-top:1px solid var(--iclpv-hairStrong); padding:14px clamp(20px,3vw,56px) 18px; }

  .iclpvHdrPanel:not([hidden]){ display:flex; }

  @media (min-width:1025px){ .iclpvHdrPanel{ display:none !important; } }

  .iclpvHdrPanelLink{ display:block; padding:11px 4px; color:var(--iclpv-grey1); font-family:var(--iclpv-fontDisplay); font-size:15px; text-decoration:none; border-radius:8px; }

  .iclpvHdrPanelLink:hover{ color:var(--iclpv-white); background:rgba(255,255,255,0.05); }

  .iclpvHdrPanelCta{ display:inline-flex; align-items:center; justify-content:center; color:#E7FEFF; background:linear-gradient(180deg, rgba(0,242,255,0.16), rgba(0,242,255,0.055)); border:1px solid rgba(0,242,255,0.36); border-radius:8px; padding:9px 18px; margin-top:8px; font-family:var(--iclpv-fontDisplay); font-weight:600; font-size:13px; text-decoration:none; }



  .iclpvContactFooter{

    position:relative;

    min-height:100vh;

    box-sizing:border-box;

    overflow:hidden;

    padding:clamp(46px,5vh,64px) clamp(20px,4vw,72px) 34px clamp(52px,13vw,200px);

    background:

      radial-gradient(circle at 22% 34%,rgba(0,242,255,.075),transparent 34%),

      radial-gradient(circle at 82% 30%,rgba(255,77,0,.065),transparent 36%),

      linear-gradient(180deg,#090a0b,#070809);

  }

  .iclpvContactGrid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:clamp(54px,7vw,112px);align-items:start}

  .iclpvContactTitle{

    margin:18px 0 0;max-width:760px;color:var(--iclpv-white);

    font:690 clamp(43px,5vw,76px)/1.06 var(--iclpv-fontDisplay);letter-spacing:-.052em;

  }

  .iclpvContactLead{margin:24px 0 0;max-width:610px;color:rgba(205,212,217,.82);font-size:18px;line-height:1.6}

  .iclpvContactPaths{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:38px}

  .iclpvContactPath{

    --path-accent:#00f2ff;position:relative;min-height:116px;padding:20px 21px;

    border:1px solid color-mix(in srgb,var(--path-accent) 20%,transparent);

    background:linear-gradient(145deg,color-mix(in srgb,var(--path-accent) 6%,transparent),rgba(255,255,255,.01));

    display:block;text-decoration:none;cursor:pointer;

    transition:border-color .2s ease,background .2s ease,transform .2s ease;

  }

  .iclpvContactPath--business{--path-accent:#ff6a2a}

  .iclpvContactPath span{color:var(--path-accent);font:650 9px/1 var(--iclpv-fontMono);letter-spacing:.14em;text-transform:uppercase}

  .iclpvContactPath b{display:block;margin-top:15px;color:var(--iclpv-white);font:650 22px/1.08 var(--iclpv-fontDisplay);letter-spacing:-.025em}

  .iclpvContactPath small{display:block;margin-top:9px;color:rgba(174,182,190,.7);font-size:12.5px;line-height:1.4}

  @media (hover:hover){

    .iclpvContactPath:hover{

      border-color:color-mix(in srgb,var(--path-accent) 55%,transparent);

      background:linear-gradient(145deg,color-mix(in srgb,var(--path-accent) 12%,transparent),rgba(255,255,255,.02));

      transform:translateY(-2px);

    }

  }

  .iclpvContactPath:focus-visible{

    outline:1px solid var(--path-accent);

    outline-offset:3px;

    border-color:color-mix(in srgb,var(--path-accent) 55%,transparent);

  }

  .iclpvContactMethod{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:30px;color:rgba(174,182,190,.58);font:600 9px/1.4 var(--iclpv-fontMono);letter-spacing:.12em;text-transform:uppercase}

  .iclpvContactMethod i{width:3px;height:3px;border-radius:50%;background:rgba(0,242,255,.54)}

  .iclpvContactFormShell{

    position:relative;padding:clamp(28px,3vw,42px);

    border:1px solid rgba(244,247,248,.11);border-top-color:rgba(255,106,42,.45);

    background:linear-gradient(150deg,rgba(18,20,23,.9),rgba(8,9,10,.94));

    box-shadow:0 30px 90px rgba(0,0,0,.28);

  }

  .iclpvContactFormTop{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid rgba(244,247,248,.08)}

  .iclpvContactFormTop b{color:var(--iclpv-white);font:650 18px/1 var(--iclpv-fontDisplay)}

  .iclpvContactFormTop span{color:rgba(255,154,105,.72);font:600 8.5px/1 var(--iclpv-fontMono);letter-spacing:.14em;text-transform:uppercase}

  .iclpvContactForm{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;margin-top:26px}

  .iclpvContactField{display:grid;gap:9px;min-width:0}

  .iclpvContactField--wide{grid-column:1/-1}

  .iclpvContactField label{color:rgba(174,182,190,.7);font:600 9px/1 var(--iclpv-fontMono);letter-spacing:.13em;text-transform:uppercase}

  .iclpvContactField input,.iclpvContactField select,.iclpvContactField textarea{

    width:100%;box-sizing:border-box;border:0;border-bottom:1px solid rgba(244,247,248,.16);border-radius:0;outline:0;

    padding:10px 0 12px;background:transparent;color:var(--iclpv-white);font:500 16px/1.45 var(--iclpv-fontDisplay);

    transition:border-color .2s ease,box-shadow .2s ease;

  }

  .iclpvContactField textarea{min-height:104px;resize:vertical}

  .iclpvContactField select{color-scheme:dark}

  .iclpvContactField option{background:#101214;color:#f4f7f8}

  .iclpvContactField input:focus,.iclpvContactField select:focus,.iclpvContactField textarea:focus{border-color:rgba(0,242,255,.65);box-shadow:0 1px 0 rgba(0,242,255,.2)}

  .iclpvContactField input::placeholder,.iclpvContactField textarea::placeholder{color:rgba(117,128,138,.62)}

  .iclpvContactFormBottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:4px}

  .iclpvContactSubmit{

    display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:48px;padding:0 22px;

    border:1px solid rgba(0,242,255,.52);border-radius:999px;background:rgba(0,242,255,.075);color:#dffcff;

    font:650 10px/1 var(--iclpv-fontMono);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;

    transition:background .2s ease,border-color .2s ease,transform .2s ease;

  }

  .iclpvContactSubmit:hover,.iclpvContactSubmit:focus-visible{background:rgba(0,242,255,.14);border-color:#00f2ff;transform:translateY(-1px);outline:0}


  .iclpvContactPrivacy{max-width:245px;color:rgba(117,128,138,.7);font:500 8px/1.45 var(--iclpv-fontMono);letter-spacing:.07em;text-align:right;text-transform:uppercase}

  .iclpvContactStatus{grid-column:1/-1;min-height:18px;margin:0;color:rgba(0,242,255,.72);font:600 9px/1.4 var(--iclpv-fontMono);letter-spacing:.09em;text-transform:uppercase}

  .iclpvFooterBar{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;margin-top:clamp(70px,9vh,108px);padding-top:24px;border-top:1px solid rgba(244,247,248,.09)}

  .iclpvFooterBrand{display:flex;align-items:center;gap:13px;color:rgba(244,247,248,.9);font:620 14px/1 var(--iclpv-fontDisplay)}

  .iclpvFooterBrand img{width:30px;height:30px;display:block;object-fit:contain;filter:invert(1)}

  .iclpvFooterNav{display:flex;align-items:center;justify-content:center;gap:22px}

  .iclpvFooterNav a{color:rgba(174,182,190,.68);font:600 9px/1 var(--iclpv-fontMono);letter-spacing:.11em;text-decoration:none;text-transform:uppercase}

  .iclpvFooterNav a:hover,.iclpvFooterNav a:focus-visible{color:#fff;outline:0}

  .iclpvFooterLegal{justify-self:end;color:rgba(117,128,138,.62);font:500 8.5px/1.4 var(--iclpv-fontMono);letter-spacing:.1em;text-transform:uppercase}

  @media (max-width:1024px){

    .iclpvContactFooter{min-height:0;padding-top:58px;padding-bottom:30px}

    .iclpvContactGrid{grid-template-columns:1fr;gap:50px}

    .iclpvContactLead{font-size:16px}

    .iclpvFooterBar{grid-template-columns:1fr auto;row-gap:24px}

    .iclpvFooterNav{grid-column:1/-1;grid-row:1;justify-content:flex-start}

    .iclpvFooterBrand{grid-column:1;grid-row:2}

    .iclpvFooterLegal{grid-column:2;grid-row:2}

  }

  @media (max-width:680px){

    .iclpvContactFooter{padding-top:48px;padding-bottom:26px}

    .iclpvContactTitle{font-size:40px;line-height:1.06}

    .iclpvContactPaths,.iclpvContactForm{grid-template-columns:1fr}

    .iclpvContactField--wide,.iclpvContactFormBottom,.iclpvContactStatus{grid-column:1}

    .iclpvContactFormShell{padding:25px 21px}

    .iclpvContactFormBottom{align-items:flex-start;flex-direction:column}

    .iclpvContactPrivacy{text-align:left;max-width:none}

    .iclpvFooterBar{display:flex;flex-direction:column;align-items:flex-start}

    .iclpvFooterNav{flex-wrap:wrap;justify-content:flex-start;gap:16px 20px}

    .iclpvFooterLegal{align-self:flex-start}

  }

  /* R40.2 — extreme-narrow footer hardening. The previous mobile gate was
     verified from 320px upward. DevTools can expose narrower 280–319px
     widths, so only the shared footer compresses there; page sections and
     rail choreography remain untouched. */
  @media (max-width:319px){

    .iclpvContactFooter{padding:40px 14px 22px clamp(34px,12vw,40px)}

    .iclpvContactGrid{gap:36px}

    .iclpvContactTitle{font-size:clamp(30px,10.5vw,34px);line-height:1.08;letter-spacing:-.038em}

    .iclpvContactLead{margin-top:18px;font-size:15px;line-height:1.55}

    .iclpvContactPaths{gap:10px;margin-top:28px}

    .iclpvContactPath{min-height:0;padding:17px 16px}

    .iclpvContactPath b{font-size:20px}

    .iclpvContactMethod{gap:10px 12px;margin-top:24px;font-size:8px;letter-spacing:.1em}

    .iclpvContactFormShell{padding:22px 16px}

    .iclpvContactFormTop{align-items:flex-start;flex-direction:column;gap:8px;padding-bottom:16px}

    .iclpvContactFormTop b{font-size:17px;line-height:1.15}

    .iclpvContactForm{gap:18px;margin-top:22px}

    .iclpvContactField input,.iclpvContactField select,.iclpvContactField textarea{font-size:15px}

    .iclpvContactSubmit{width:100%;min-width:0;padding:0 16px;white-space:normal}

    .iclpvContactPrivacy{font-size:7.5px;letter-spacing:.055em}

    .iclpvFooterBar{margin-top:54px;gap:18px}

    .iclpvFooterNav{gap:12px 15px}

    .iclpvFooterBrand{font-size:13px}

  }


