/* KRYVARA contact — local assets, native form controls, progressive enhancement. */
.kvs-contact {
  --kvs-contact-bg:var(--kv-panel,#121a1b);
  --kvs-contact-text:var(--kv-text,#f5f0e5);
  --kvs-contact-muted:var(--kv-muted,#afb9b7);
  --kvs-contact-gold:var(--kv-ember,#dda66e);
  --kvs-contact-rune:var(--kv-ice,#a5e5e7);
  --kvs-contact-body:var(--kv-body,Manrope,"Segoe UI",Arial,sans-serif);
  --kvs-contact-display:var(--kv-display,"Barlow Condensed","Arial Narrow",Impact,sans-serif);
  --kvs-contact-line:rgba(175,198,187,.25);
  width:100%; max-width:1280px; margin-inline:auto; padding-block:22px 45px;
  color:var(--kvs-contact-text); font-family:var(--kvs-contact-body);
  overflow-wrap:anywhere; container-type:inline-size; container-name:kvs-contact;
}
.kvs-contact,.kvs-contact *,.kvs-contact *::before,.kvs-contact *::after { box-sizing:border-box; }
.kvs-contact .kvs-contact-layout { display:grid; grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr); align-items:start; gap:clamp(30px,5vw,76px); }
.kvs-contact .kvs-contact-layout>* { min-width:0; }
.kvs-contact .kvs-contact-intro { position:relative; padding:20px 0 35px; }
.kvs-contact .kvs-contact-intro::before { content:""; display:block; width:44px; height:1px; margin-bottom:26px; background:linear-gradient(90deg,var(--kvs-contact-gold),var(--kvs-contact-rune)); box-shadow:0 0 12px #9fdedc29; }
.kvs-contact .kvs-contact-intro :is(h1,h2,h3),.kvs-contact .kvs-contact-title { margin:0 0 24px; color:var(--kvs-contact-text); font:700 clamp(42px,4.8vw,70px)/1.02 var(--kvs-contact-display); letter-spacing:-.015em; text-transform:uppercase; text-wrap:balance; }
.kvs-contact .kvs-contact-intro p { max-width:390px; margin:0 0 20px; color:var(--kvs-contact-muted); font-size:15px; line-height:1.85; }
.kvs-contact .kvs-contact-intro .kvs-contact-eyebrow { margin-bottom:18px; color:var(--kvs-contact-gold); font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.kvs-contact .kvs-contact-direct { display:flex; flex-direction:column; align-items:flex-start; gap:5px; margin-top:32px; padding-top:24px; border-top:1px solid var(--kvs-contact-line); }
.kvs-contact .kvs-contact-direct a { display:inline-flex; align-items:center; gap:12px; min-height:44px; color:var(--kvs-contact-text); text-underline-offset:5px; text-decoration-color:#b69d766b; }
.kvs-contact .kvs-contact-direct a:hover { color:var(--kvs-contact-gold); }
.kvs-contact .kvs-contact-panel { position:relative; isolation:isolate; min-width:0; padding:clamp(23px,3.2vw,40px); border:1px solid var(--kvs-contact-line); background:radial-gradient(ellipse at 100% 0%,#487a7621,transparent 55%),linear-gradient(145deg,#172326,var(--kvs-contact-bg)); box-shadow:0 22px 70px #0000001c; }
.kvs-contact .kvs-contact-panel::before { content:""; position:absolute; top:-1px; left:9%; right:9%; height:1px; background:linear-gradient(90deg,transparent,var(--kvs-contact-gold),var(--kvs-contact-rune),transparent); opacity:.75; pointer-events:none; }
.kvs-contact .kvs-contact-panel::after { content:""; position:absolute; right:12px; top:12px; width:8px; height:8px; border:1px solid #c9af825f; transform:rotate(45deg); pointer-events:none; }
.kvs-contact .kvs-contact-form { margin:0; }
.kvs-contact .kvs-contact-field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:19px; }
.kvs-contact .kvs-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 19px; }
.kvs-contact .kvs-contact-field { position:relative; min-width:0; margin:0 0 22px; }
.kvs-contact .kvs-contact-field--wide { grid-column:1 / -1; }
.kvs-contact .kvs-contact-field label { display:block; margin:0 0 9px; color:#e4e8de; font-size:13px; font-weight:650; line-height:1.6; }
.kvs-contact .kvs-contact-field label span { color:var(--kvs-contact-muted); font-size:12px; font-weight:400; }
.kvs-contact .kvs-contact-field :is(input,select,textarea) { display:block; width:100%; min-width:0; max-width:100%; min-height:52px; margin:0; padding:13px 15px; border:1px solid #9eb1a85e; border-radius:2px; background:#091518; color:var(--kvs-contact-text); box-shadow:inset 0 1px 3px #0000001c; font:400 16px/1.5 var(--kvs-contact-body); transition:border-color .18s ease,background .18s ease; color-scheme:dark; }
.kvs-contact .kvs-contact-field select { padding-right:30px; cursor:pointer; }
.kvs-contact .kvs-contact-field textarea { min-height:190px; resize:vertical; }
.kvs-contact .kvs-contact-field :is(input,textarea)::placeholder { color:#97a9a3; opacity:1; }
.kvs-contact .kvs-contact-field :is(input,select,textarea):hover { border-color:#b4c4b991; }
.kvs-contact .kvs-contact-field :is(input,select,textarea):focus { outline:2px solid var(--kvs-contact-rune); outline-offset:3px; border-color:var(--kvs-contact-rune); background:#0b1a1e; }
.kvs-contact .kvs-contact-field [aria-invalid="true"] { border-color:#e7a08a; }
.kvs-contact .kvs-contact-field :is(input,textarea):autofill { -webkit-text-fill-color:var(--kvs-contact-text); box-shadow:0 0 0 1000px #10252a inset; caret-color:var(--kvs-contact-text); }
.kvs-contact .kvs-contact-help { margin:9px 0 0; color:var(--kvs-contact-muted); font-size:12px; line-height:1.7; }
.kvs-contact .kvs-contact-counter { display:block; margin:7px 0 0; color:#a6b9ad; font-size:11px; line-height:1.6; font-variant-numeric:tabular-nums; text-align:right; }
.kvs-contact .kvs-contact-error { margin:9px 0 0; color:#f2b9a4; font-size:13px; line-height:1.65; }
.kvs-contact .kvs-contact-notice { margin:0 0 25px; padding:18px 19px; border:1px solid #7cafa34d; border-left:3px solid var(--kvs-contact-rune); background:#14312f88; color:#e0ede6; font-size:14px; line-height:1.8; }
.kvs-contact .kvs-contact-notice>* { margin-block:0 8px; }
.kvs-contact .kvs-contact-notice>:last-child { margin-bottom:0; }
.kvs-contact .kvs-contact-notice.is-error,.kvs-contact .kvs-contact-alert--error { border-color:#ba837157; border-left-color:#e5a187; background:#44241d5c; color:#f5d5c6; }
.kvs-contact .kvs-contact-notice.is-success,.kvs-contact .kvs-contact-alert--success { border-left-color:#a5dac4; }
.kvs-contact .kvs-contact-notice:focus { outline:2px solid var(--kvs-contact-rune); outline-offset:4px; }
.kvs-contact .kvs-contact-errors { margin:9px 0 0; padding-left:20px; }
.kvs-contact .kvs-contact-errors li { margin-block:5px; }
.kvs-contact .kvs-contact-errors a { display:inline-block; padding-block:4px; color:inherit; text-underline-offset:3px; }
.kvs-contact .kvs-contact-privacy { margin:4px 0 23px; color:var(--kvs-contact-muted); font-size:12px; line-height:1.85; }
.kvs-contact .kvs-contact-privacy a { display:inline-block; padding-block:3px; color:#e5c79b; text-underline-offset:4px; }
.kvs-contact .kvs-contact-actions { display:flex; align-items:center; flex-wrap:wrap; gap:15px; }
.kvs-contact .kvs-contact-submit { display:inline-flex; align-items:center; justify-content:center; gap:24px; min-width:220px; max-width:100%; min-height:54px; padding:17px 22px; margin:0; border:1px solid #e6c18d; border-radius:1px; background:linear-gradient(115deg,#dfb57f,#be8753); color:#10191b; box-shadow:inset 0 0 0 3px #1017190c,0 8px 26px #cd834318; font:700 12px/1.4 var(--kvs-contact-body); letter-spacing:.07em; text-transform:uppercase; cursor:pointer; transition:background .2s ease,box-shadow .2s ease; }
.kvs-contact .kvs-contact-submit:hover:not(:disabled) { box-shadow:inset 0 0 0 3px #1017190c,0 8px 30px #dfaa6330; background:linear-gradient(115deg,#e7c18d,#ce995f); }
.kvs-contact .kvs-contact-submit:disabled { cursor:wait; opacity:.8; }
.kvs-contact .kvs-contact-arrow { position:relative; display:block; flex:none; width:19px; height:12px; }
.kvs-contact .kvs-contact-arrow::before { content:""; position:absolute; top:5px; left:0; width:18px; height:1px; background:currentColor; }
.kvs-contact .kvs-contact-arrow::after { content:""; position:absolute; right:1px; top:2px; width:7px; height:7px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); }
.kvs-contact :is(a,button,summary):focus-visible { outline:2px solid var(--kvs-contact-rune); outline-offset:4px; }
.kvs-contact .kvs-contact-trap[hidden] { display:none; }
.kvs-contact .kvs-contact-form.is-submitting .kvs-contact-submit { letter-spacing:.025em; }
@container kvs-contact (max-width:780px) {
  .kvs-contact .kvs-contact-layout { grid-template-columns:1fr; gap:18px; }
  .kvs-contact .kvs-contact-intro { padding-bottom:8px; }
  .kvs-contact .kvs-contact-intro p { max-width:580px; }
  .kvs-contact .kvs-contact-direct { margin-top:22px; padding-top:16px; }
}
@media(max-width:900px) {
  .kvs-contact .kvs-contact-layout { grid-template-columns:1fr; gap:18px; }
  .kvs-contact .kvs-contact-intro { padding-bottom:8px; }
  .kvs-contact .kvs-contact-intro p { max-width:580px; }
  .kvs-contact .kvs-contact-direct { margin-top:22px; padding-top:16px; }
}
@media(max-width:600px) {
  .kvs-contact { padding-block:8px 25px; }
  .kvs-contact .kvs-contact-intro :is(h1,h2,h3),.kvs-contact .kvs-contact-title { font-size:clamp(40px,11.6vw,58px); line-height:1.03; margin-bottom:19px; }
  .kvs-contact .kvs-contact-intro::before { margin-bottom:21px; }
  .kvs-contact .kvs-contact-panel { padding:24px 20px; }
  .kvs-contact .kvs-contact-field-row,.kvs-contact .kvs-contact-fields { grid-template-columns:1fr; gap:0; }
  .kvs-contact .kvs-contact-field { margin-bottom:22px; }
  .kvs-contact .kvs-contact-field textarea { min-height:200px; }
  .kvs-contact .kvs-contact-submit { width:100%; min-width:0; padding-inline:16px; font-size:11px; }
  .kvs-contact .kvs-contact-notice { padding:16px; }
}
@media(max-width:360px) {
  .kvs-contact .kvs-contact-panel { padding:23px 16px; }
  .kvs-contact .kvs-contact-submit { gap:15px; letter-spacing:.04em; }
}
@media(prefers-reduced-motion:reduce) {
  .kvs-contact .kvs-contact-field :is(input,select,textarea),.kvs-contact .kvs-contact-submit { transition:none; }
}
