/* Kontakt — style tylko dla tej strony. Prefiks kt-, tokeny z site.css. */
.subpage.kt-page{padding-top:0}
.kt-hero{position:relative;isolation:isolate;overflow:hidden;padding-top:calc(72px + clamp(4rem,10vw,7rem));padding-bottom:clamp(3rem,6vw,5rem)}
.kt-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)}
.kt-aurora{position:absolute;inset:-25%;filter:blur(90px);opacity:.42;will-change:transform;background:radial-gradient(38% 44% at 22% 30%,#7360DF 0%,transparent 62%),radial-gradient(34% 40% at 76% 22%,#A996FF 0%,transparent 64%),radial-gradient(46% 52% at 60% 88%,#4A7CFF 0%,transparent 66%);animation:kt-aurora 36s var(--ease-soft) infinite alternate}
@keyframes kt-aurora{to{transform:translate3d(-3%,2%,0) scale(1.09)}}
.kt-hero .hero-h1{font-size:clamp(2.1rem,5.1vw,4.5rem);max-width:none}
.kt-sub{margin-top:clamp(1rem,2vw,1.5rem);font-size:clamp(1.0625rem,1.4vw,1.25rem);max-width:46ch;color:rgb(250 250 250 / .78)}
.kt-grid{display:grid;gap:clamp(2rem,4vw,4rem);grid-template-columns:1fr;align-items:start;margin-top:clamp(2.5rem,5vw,4rem)}
@media (min-width:1000px){.kt-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}

/* formularz: szkło na aurorze */
.kt-form{position:relative;border:1px solid rgb(255 255 255 / .14);border-radius:var(--r-lg);background:rgb(8 9 10 / .55);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);padding:clamp(1.25rem,2.6vw,2.25rem);display:grid;gap:1.1rem;box-shadow:inset 0 1px 0 rgb(255 255 255 / .08)}
.kt-form__row{display:grid;gap:1.1rem;grid-template-columns:1fr}
@media (min-width:640px){.kt-form__row{grid-template-columns:1fr 1fr}}
.kt-field{display:flex;flex-direction:column;gap:.45rem;min-width:0}
.kt-field label{font-size:.8125rem;color:var(--fg-faint)}
.kt-field label b{color:var(--fg-muted);font-weight:400}
.kt-input{width:100%;height:50px;padding:0 14px;border-radius:12px;border:1px solid rgb(255 255 255 / .16);background:rgb(255 255 255 / .04);color:var(--fg);font:inherit;font-size:1rem;transition:border-color var(--d-hover) var(--ease-soft),background var(--d-hover) var(--ease-soft)}
textarea.kt-input{height:auto;min-height:132px;padding:12px 14px;resize:vertical;line-height:1.5}
.kt-input::placeholder{color:rgb(250 250 250 / .38)}
.kt-input:hover{border-color:rgb(255 255 255 / .26)}
.kt-input:focus{outline:none;border-color:var(--accent);background:rgb(255 255 255 / .06);box-shadow:0 0 0 3px rgb(115 96 223 / .28)}
.kt-field.is-bad .kt-input{border-color:#E08078;box-shadow:0 0 0 3px rgb(224 128 120 / .22)}
.kt-err{display:none;font-size:.8125rem;color:#E9A29C}
.kt-field.is-bad .kt-err{display:block}
.kt-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.kt-chip{position:relative}
.kt-chip input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.kt-chip span{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .9rem;border-radius:var(--r-pill);border:1px solid rgb(255 255 255 / .16);color:var(--fg-muted);font-size:.9375rem;transition:color var(--d-hover) var(--ease-soft),border-color var(--d-hover) var(--ease-soft),background var(--d-hover) var(--ease-soft),translate var(--d-hover) var(--ease-soft)}
.kt-chip:hover span{color:var(--fg);border-color:rgb(255 255 255 / .3)}
.kt-chip input:checked+span{color:#fff;background:var(--accent);border-color:var(--accent)}
.kt-chip input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.kt-consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.8125rem;color:var(--fg-faint);line-height:1.5}
.kt-consent input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--accent)}
.kt-consent a{color:var(--fg);text-decoration:underline;text-underline-offset:2px}
.kt-consent.is-bad{color:#E9A29C}
.kt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:.25rem}
.kt-actions .btn--solid{height:50px;padding-inline:26px;font-size:1rem}
.kt-actions .btn--solid[disabled]{opacity:.6;cursor:wait}
.kt-hint{font-size:.8125rem;color:var(--fg-faint);max-width:32ch}
.kt-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* stan sukcesu: formularz ustępuje karcie z krokami */
.kt-form.is-sent>*:not(.kt-done){display:none}
.kt-done{display:none;text-align:left}
.kt-form.is-sent .kt-done{display:grid;gap:1rem;animation:kt-in 700ms var(--ease-out) both}
@keyframes kt-in{from{opacity:0;translate:0 14px;filter:blur(8px)}to{opacity:1;translate:0 0;filter:blur(0)}}
.kt-done__h{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:500;letter-spacing:-.024em;line-height:1.15;color:var(--fg);max-width:none}
.kt-done p{max-width:none}
.kt-done ol{margin:.25rem 0 0;padding-left:1.2rem;color:var(--fg-muted);line-height:1.55}
.kt-done li{margin:.25rem 0}
.kt-done li b{color:var(--fg);font-weight:500}
.kt-check{width:44px;height:44px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:#fff}
.kt-check svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;animation:kt-tick 600ms var(--ease-out) 250ms forwards}
@keyframes kt-tick{to{stroke-dashoffset:0}}
.kt-fail{display:none;padding:1rem 1.1rem;border:1px solid rgb(224 128 120 / .5);border-radius:12px;color:var(--fg);font-size:.9375rem;background:rgb(224 128 120 / .08)}
.kt-fail.is-on{display:block}
.kt-fail a{color:var(--fg);text-decoration:underline}

/* kolumna kontaktu bezpośredniego */
.kt-direct{display:grid;gap:1px;background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--r-lg);overflow:hidden}
.kt-direct>div,.kt-direct>a{background:var(--bg);padding:clamp(1.25rem,2.2vw,1.75rem);display:block;transition:background var(--d-hover) var(--ease-soft)}
.kt-direct>a:hover{background:var(--surface)}
.kt-direct .eyebrow{margin-bottom:.5rem}
.kt-big{display:block;font-weight:500;font-size:clamp(1.75rem,3vw,2.5rem);letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--fg)}
.kt-mid{display:block;font-weight:500;font-size:clamp(1.125rem,1.6vw,1.375rem);letter-spacing:-.018em;color:var(--fg)}
.kt-direct p{margin-top:.5rem;font-size:.9375rem;max-width:none}
.kt-direct .kt-link{display:inline-block;margin-top:.75rem;font-size:.9375rem;color:var(--fg);border-bottom:1px solid var(--hairline);padding-bottom:4px;transition:border-color var(--d-hover) var(--ease-soft)}
.kt-direct .kt-link:hover{border-bottom-color:rgb(255 255 255 / .5)}
.kt-who{display:flex;gap:1rem;align-items:center}
.kt-who__ini{width:52px;height:52px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:500;letter-spacing:-.02em;font-size:1.125rem;background:linear-gradient(160deg,rgb(115 96 223 / .55),rgb(115 96 223 / .15));border:1px solid rgb(255 255 255 / .16)}
.kt-who b{display:block;font-weight:500}
.kt-who span{display:block;font-size:.875rem;color:var(--fg-faint)}
.kt-status{display:inline-flex;align-items:center;gap:.5rem;margin-top:.9rem;font-size:.8125rem;color:var(--fg-muted)}
.kt-status i{width:8px;height:8px;border-radius:50%;background:#6CC69A;box-shadow:0 0 0 0 rgb(108 198 154 / .55);animation:kt-pulse 2.4s var(--ease-soft) infinite}
@keyframes kt-pulse{0%{box-shadow:0 0 0 0 rgb(108 198 154 / .55)}70%{box-shadow:0 0 0 8px rgb(108 198 154 / 0)}100%{box-shadow:0 0 0 0 rgb(108 198 154 / 0)}}

/* co dalej: trzy kroki w linii z datami */
.kt-steps{display:grid;gap:clamp(1.5rem,2vw,2rem);margin-top:clamp(3rem,5vw,4.5rem);grid-template-columns:1fr}
@media (min-width:768px){.kt-steps{grid-template-columns:repeat(3,1fr)}}
.kt-step{padding-top:1.25rem;border-top:1px solid var(--hairline);position:relative}
.kt-step::before{content:'';position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--accent);transition:width 900ms var(--ease-out)}
.kt-step.is-in::before{width:100%}
.kt-step.is-in:nth-child(2)::before{transition-delay:150ms}.kt-step.is-in:nth-child(3)::before{transition-delay:300ms}
.kt-step .n{font-size:var(--t-label);color:var(--fg-faint);letter-spacing:var(--tr-label)}
.kt-step h3{font-size:1.25rem;letter-spacing:-.018em;font-weight:500;margin-top:.6rem}
.kt-step p{margin-top:.5rem;font-size:.9375rem;max-width:none}

@media (prefers-reduced-motion:reduce){
  .kt-aurora{animation:none;transform:translate3d(-1.5%,1%,0) scale(1.04)}
  .kt-status i{animation:none}
  .kt-step::before{transition:none}
  .kt-check svg{animation:none;stroke-dashoffset:0}
}
