/* ===== CONTACT ===== */
.k-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:100svh}
.k-left{position:relative;display:flex;align-items:flex-end;padding:calc(var(--nav-h) + 60px) var(--gutter) clamp(40px,6vh,80px);overflow:hidden}
.k-left::before{content:"";position:absolute;left:-20%;bottom:-40%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,106,61,.16),transparent 60%);pointer-events:none;animation:drift 12s ease-in-out infinite}
@keyframes drift{50%{transform:translate(12%,-8%)}}
.k-left-inner{position:relative;max-width:640px}
.k-left h1{margin:26px 0 30px;max-width:11ch}
.k-left h1 .serif{color:var(--signal)}
.k-left .lede{color:#B5B2AB}
.k-meta{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-top:50px;padding-top:24px;border-top:1px solid var(--line)}
.k-mail{font-size:clamp(1.3rem,2vw,1.8rem);font-weight:560;letter-spacing:-.03em;background:linear-gradient(var(--signal),var(--signal)) left bottom/0 2px no-repeat;padding-bottom:4px;transition:background-size .5s var(--ease)}
.k-mail:hover{background-size:100% 2px}
.k-meta .mono{color:var(--mute)}
.k-meta b{color:var(--text);font-weight:500}

.k-right{background:var(--paper);color:var(--ink);display:flex;align-items:center;padding:calc(var(--nav-h) + 60px) clamp(24px,5vw,80px) 60px;
  --mute:#6B6862;--line:rgba(19,19,17,.14);--line-2:rgba(19,19,17,.25);--text:var(--ink)}
.kform{width:100%;max-width:560px;margin:0 auto}
.k-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:56px}
.k-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.kform .k-second{margin-top:14px}
.k-error{margin:18px 0 0;color:#C43B1C}
.k-error a{color:inherit;text-decoration:underline}
.k-done{width:100%;max-width:560px;margin:0 auto;outline:none}
.k-done-h{font-size:clamp(1.6rem,2.6vw,2.4rem);letter-spacing:-.03em;line-height:1.15;margin:18px 0 0;text-wrap:balance}
.k-progress i{height:3px;border-radius:3px;background:rgba(19,19,17,.12);position:relative;overflow:hidden}
.k-progress i::after{content:"";position:absolute;inset:0;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.k-progress i.on::after{transform:none}
.k-step{margin-bottom:34px}
.k-step label{display:flex;flex-direction:column;gap:14px;margin-bottom:16px}
.k-step .mono{color:var(--mute)}
.k-q{font-size:clamp(1.8rem,3.4vw,3rem);font-weight:600;letter-spacing:-.045em;line-height:1}
.kform input,.kform textarea{width:100%;font:inherit;font-size:clamp(1.15rem,1.6vw,1.45rem);letter-spacing:-.02em;color:var(--ink);background:transparent;border:0;border-bottom:2px solid rgba(19,19,17,.2);padding:12px 0;outline:none;resize:vertical;transition:border-color .3s;border-radius:0}
.kform input:focus,.kform textarea:focus{border-color:var(--signal)}
.kform textarea::placeholder{color:#A19D95}
.kform .invalid{border-color:#C43B1C}
.k-actions{display:flex;align-items:center;gap:14px;margin-top:40px}
.k-back{font-size:15px;color:var(--mute);padding:10px 4px;margin-right:auto}
.k-back:hover{color:var(--ink)}
.kform .btn{color:var(--ink)}
.kform .btn:hover{color:var(--paper)}
.kform .btn.solid{color:var(--paper)}
.kform .btn.solid:hover{color:var(--void)}
.k-note{margin:26px 0 0;color:var(--mute)}
/* stepped mode (JS on) */
.stepped .k-step{display:none}
.stepped .k-step.on{display:block;animation:stepIn .6s var(--ease)}
@keyframes stepIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.stepped .k-send{display:none}
.stepped.last .k-send{display:inline-flex}
.stepped.last .k-next{display:none}
.kform:not(.stepped) .k-next,.kform:not(.stepped) .k-progress{display:none}

@media (max-width:900px){
  .k-hero{grid-template-columns:1fr}
  .k-left{min-height:auto;padding-bottom:60px}
  .k-right{padding-top:70px;padding-bottom:90px}
}
.page-contact .nav{background:rgba(14,14,13,.82)}
