/* /kontakt/ - page layer (S5). Port of design/Kontakt.dc.html. Shared tokens/nav/footer/motion come from S0 (mkm-fe). */
.kt-page{position:relative;background:#0a0c10;color:#fff;font-family:'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.kt-page h1,.kt-page h2,.kt-page h3,.kt-page p{margin:0}
.kt-page a{text-decoration:none}
.kt-page button,.kt-page input,.kt-page textarea{font:inherit;color:inherit}
.kt-page input::placeholder,.kt-page textarea::placeholder{color:#6b7385}

/* hero */
.kt-hero{position:relative;overflow:hidden;padding:clamp(140px,16vw,200px) clamp(18px,4vw,56px) clamp(80px,10vw,140px)}
.kt-hero__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 60% at 78% 0%,rgba(0,87,255,.30),transparent 70%)}
.kt-hero__grid{position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 0%,#000,transparent);mask-image:radial-gradient(ellipse 70% 70% at 50% 0%,#000,transparent)}
.kt-hero__inner{position:relative;max-width:1400px;margin:0 auto;display:flex;flex-wrap:wrap;gap:clamp(36px,5vw,80px);align-items:flex-start}
.kt-hero__main{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:28px}
.kt-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:#8a92a3}
.kt-crumbs a{color:#aeb4c2}
.kt-crumbs a:hover{color:#fff}
.kt-crumbs [aria-current]{color:#fff}
.kt-status{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;background:rgba(77,255,159,.08);border:1px solid rgba(77,255,159,.25)}
.kt-status__dot{width:8px;height:8px;border-radius:50%;background:#4dff9f;box-shadow:0 0 0 4px rgba(77,255,159,.2)}
.kt-status__t{font-size:14px;color:#fff;font-weight:600}
.kt-h1{font-size:clamp(46px,7vw,116px);font-weight:600;line-height:.92;letter-spacing:-0.055em;text-wrap:balance}
.kt-lede{max-width:560px;color:#c3c8d3;font-size:clamp(17px,1.4vw,20px);line-height:1.55;text-wrap:pretty}

/* channels */
.kt-channels{display:flex;flex-direction:column;gap:10px;margin:8px 0 0;padding:0;list-style:none}
.kt-channel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-radius:22px;background:#12161f;border:1px solid rgba(255,255,255,.07);color:#fff;transition:border-color 200ms ease,transform 140ms cubic-bezier(0.23,1,0.32,1)}
.kt-channel:hover{border-color:rgba(153,186,255,.3);color:#fff}
.kt-channel:active{transform:scale(0.985)}
.kt-channel__main{display:flex;flex-direction:column;gap:4px;min-width:0}
.kt-channel__l{font-size:13px;color:#aeb4c2}
.kt-channel__v{font-size:clamp(18px,1.6vw,22px);font-weight:600;letter-spacing:-0.02em;overflow-wrap:anywhere}
.kt-channel__note{font-size:13px;color:#99baff;text-align:right}

/* form card */
.kt-card{flex:1.1 1 460px;min-width:0;padding:clamp(24px,3vw,44px);border-radius:36px;background:#12161f;border:1px solid rgba(255,255,255,.08);box-shadow:0 40px 100px rgba(0,0,0,.4)}
.kt-form{display:flex;flex-direction:column;gap:22px}
.kt-form[hidden],.kt-sent[hidden]{display:none}
.kt-fieldset{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:12px}
.kt-label{font-size:14px;font-weight:600;color:#e5e8ee;padding:0}
.kt-label small{font-size:13px;font-weight:500;color:#8a92a3}
.kt-topics{display:flex;flex-wrap:wrap;gap:8px}
.kt-topic{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background-color 200ms ease,border-color 200ms ease,transform 140ms cubic-bezier(0.23,1,0.32,1)}
.kt-topic:hover{border-color:rgba(255,255,255,.3)}
.kt-topic[aria-pressed="true"]{background:#0057FF;border-color:#0057FF}
.kt-topic:active{transform:scale(0.96)}
.kt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.kt-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.kt-input{width:100%;height:54px;padding:0 18px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:#0a0c10;color:#fff;font-size:16px;outline:none;transition:border-color 150ms ease}
.kt-textarea{height:auto;padding:16px 18px;line-height:1.55;resize:vertical;min-height:140px}
.kt-input:focus{border-color:#0057FF}
.kt-input[aria-invalid="true"]{border-color:rgba(255,120,120,.6)}
.kt-hp{position:absolute !important;left:-10000px !important;width:1px;height:1px;overflow:hidden}

/* callback slots (data/contact-slots.json) */
.kt-slots[hidden]{display:none}
.kt-slots__toggle{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background-color 200ms ease,transform 140ms cubic-bezier(0.23,1,0.32,1)}
.kt-slots__toggle:hover{background:rgba(255,255,255,.06)}
.kt-slots__toggle:active{transform:scale(0.96)}
.kt-slots__toggle[aria-expanded="true"]{background:rgba(0,87,255,.16);border-color:rgba(0,87,255,.6)}
.kt-slots__picked{font-size:14px;font-weight:600;color:#99baff}
.kt-slots__panel{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:20px;background:#0a0c10;border:1px solid rgba(255,255,255,.08)}
.kt-slots__panel[hidden]{display:none}
.kt-slots__intro{font-size:13px;line-height:1.55;color:#aeb4c2}
.kt-slots__days{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:10px}
.kt-day{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:#12161f;border:1px solid rgba(255,255,255,.07)}
.kt-day__l{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#aeb4c2}
.kt-day__slots{display:flex;flex-wrap:wrap;gap:6px}
.kt-day__none{font-size:12px;color:#8a92a3}
.kt-slot{height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color 200ms ease,border-color 200ms ease,transform 140ms cubic-bezier(0.23,1,0.32,1)}
.kt-slot:hover{border-color:rgba(255,255,255,.3)}
.kt-slot[aria-pressed="true"]{background:#0057FF;border-color:#0057FF}
.kt-slot:active{transform:scale(0.96)}

/* consent */
.kt-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.55;color:#8a92a3;cursor:pointer}
.kt-consent input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:#0057FF;cursor:pointer}
.kt-consent a{color:#99baff}
.kt-consent a:hover{color:#fff}
.kt-consent.is-invalid{color:#ff8a8a}

.kt-error{color:#ff8a8a;font-size:14px;line-height:1.5}
.kt-error[hidden]{display:none}
.kt-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.kt-note{color:#8a92a3;font-size:13px;max-width:300px;line-height:1.5}
.kt-note a{color:#99baff}
.kt-note a:hover{color:#fff}
.kt-submit{display:inline-flex;align-items:center;gap:12px;height:58px;padding:0 10px 0 26px;border-radius:999px;border:0;background:#0057FF;color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 18px 40px rgba(0,87,255,.35);transition:transform 140ms cubic-bezier(0.23,1,0.32,1),opacity 200ms ease}
.kt-submit:active{transform:scale(0.96)}
.kt-submit[disabled]{opacity:.6;cursor:progress}
.kt-submit__icon{width:38px;height:38px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.kt-submit[aria-busy="true"] .kt-submit__icon svg{animation:kt-spin 900ms linear infinite}
@keyframes kt-spin{to{transform:rotate(360deg)}}
.kt-topic:focus-visible,.kt-slot:focus-visible,.kt-slots__toggle:focus-visible,.kt-submit:focus-visible,.kt-again:focus-visible,.kt-channel:focus-visible{outline:2px solid #3378ff;outline-offset:3px}

/* sent state */
.kt-sent{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding:clamp(20px,4vw,48px) 0}
.kt-sent__icon{width:64px;height:64px;border-radius:50%;background:#0057FF;display:flex;align-items:center;justify-content:center}
.kt-sent__h{font-size:clamp(32px,3.6vw,56px);font-weight:600;letter-spacing:-0.045em;line-height:1;outline:none}
.kt-sent__p{color:#c3c8d3;font-size:17px;line-height:1.6;max-width:440px}
.kt-again{height:46px;padding:0 20px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background-color 200ms ease,transform 140ms cubic-bezier(0.23,1,0.32,1)}
.kt-again:hover{background:rgba(255,255,255,.06)}
.kt-again:active{transform:scale(0.96)}

/* promises */
.kt-section{padding:0 clamp(18px,4vw,56px) clamp(80px,10vw,140px)}
.kt-promises{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}
.kt-promise{display:flex;flex-direction:column;gap:12px;padding:clamp(26px,3vw,36px);border-radius:28px;background:#12161f;border:1px solid rgba(255,255,255,.07)}
.kt-promise__n{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6699ff}
.kt-promise__t{font-size:19px;color:#e5e8ee;line-height:1.45;text-wrap:pretty}

@media (max-width:480px){
  .kt-channel{flex-wrap:wrap}
  .kt-channel__note{text-align:left}
}
@media (prefers-reduced-motion:reduce){
  .kt-page *{transition:none !important}
  .kt-submit[aria-busy="true"] .kt-submit__icon svg{animation:none}
}
