/* Page 9 — Contact / Work With Natsu */
.contact-v2{scroll-behavior:smooth}
.contact-v2 .legacy-anchor{position:absolute;pointer-events:none}
.contact-hero{padding:clamp(68px,8.3vw,112px) 0 clamp(62px,7vw,92px)}
.contact-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.72fr);gap:clamp(46px,7vw,96px);align-items:start}
.contact-hero-copy{padding-top:8px}
.contact-hero-copy h1{max-width:17ch;margin-top:18px;font-size:clamp(2.6rem,4.1vw,3.7rem);line-height:1.01}
.contact-hero-copy .v2-lead{max-width:57ch;margin-top:24px}
.contact-hero-copy .v2-actions{margin-top:30px}

.contact-route-panel{border-top:1px solid var(--v2-line-strong)}
.route-panel-label{display:block;padding:14px 0;color:var(--v2-muted);font-size:.75rem;font-weight:720}
.contact-route-list a{display:grid;grid-template-columns:1fr auto;gap:5px 18px;align-items:center;min-height:82px;padding:15px 2px;border-top:1px solid var(--v2-line);transition:border-color .16s ease,color .16s ease}
.contact-route-list a:first-child{border-top:0}
.contact-route-list strong{font-size:.97rem;letter-spacing:-.01em}
.contact-route-list span:nth-child(2){grid-column:1;color:var(--v2-muted);font-size:.82rem;line-height:1.45}
.contact-route-list span:last-child{grid-column:2;grid-row:1/3;color:var(--v2-muted);font-size:1.15rem}

.contact-builder-section{scroll-margin-top:82px}
.contact-builder-grid{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1fr);gap:clamp(48px,7vw,100px);align-items:start}
.contact-builder-intro h2{max-width:11ch;margin-top:16px;font-size:clamp(2.05rem,3.3vw,3.25rem)}
.contact-builder-intro>p{max-width:42ch;margin-top:18px;color:var(--v2-text-soft)}
.builder-notes{margin-top:34px;border-top:1px solid var(--v2-line)}
.builder-notes div{display:grid;grid-template-columns:82px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--v2-line)}
.builder-notes strong{font-size:.8rem}
.builder-notes span{color:var(--v2-muted);font-size:.8rem;line-height:1.5}

.contact-form{padding:clamp(24px,3.2vw,38px);border:1px solid var(--v2-line);background:var(--v2-surface)}
.contact-noscript{margin-bottom:20px;padding:12px 14px;border:1px solid var(--v2-line-strong);color:var(--v2-text-soft);font-size:.82rem}
.contact-noscript a{border-bottom:1px solid var(--v2-line-strong)}
.contact-field{margin-top:22px}
.contact-field:first-child{margin-top:0}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-field label{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--v2-text-soft);font-size:.84rem;font-weight:720}
.field-state{color:var(--v2-muted);font-size:.69rem;font-weight:650}
.field-state.optional{font-weight:550}
.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:1px solid var(--v2-line-strong);border-radius:2px;background:#0c0f12;color:var(--v2-text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.contact-field input,.contact-field select{min-height:48px;padding:10px 12px}
.contact-field textarea{min-height:170px;resize:vertical;padding:12px;line-height:1.55}
.contact-field select{appearance:auto}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#747b77;opacity:1}
.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--v2-accent);box-shadow:0 0 0 1px var(--v2-accent)}
.contact-field input:user-invalid,.contact-field select:user-invalid,.contact-field textarea:user-invalid{border-color:#e29b8f}
.field-help{margin-top:7px;color:var(--v2-muted);font-size:.76rem;line-height:1.48}
.contact-form-footer{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-top:28px;padding-top:22px;border-top:1px solid var(--v2-line)}
.recipient-preview span{display:block;color:var(--v2-muted);font-size:.7rem;font-weight:700}
.recipient-preview strong{display:block;margin-top:3px;font-size:.86rem;word-break:break-word}
.contact-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}
.contact-form-status{margin-top:14px;color:var(--v2-muted);font-size:.76rem;line-height:1.5}

.contact-next{background:#090b0d}
.contact-next-grid{display:grid;grid-template-columns:minmax(220px,.54fr) minmax(0,1fr);gap:clamp(42px,7vw,96px)}
.contact-next-grid h2{max-width:12ch;margin-top:16px;font-size:clamp(2rem,3.2vw,3.1rem)}
.contact-next-copy{border-top:1px solid var(--v2-line)}
.contact-next-copy p{padding:18px 0;border-bottom:1px solid var(--v2-line);color:var(--v2-text-soft)}
.contact-next-copy strong{color:var(--v2-text)}

@media(hover:hover){
  .contact-route-list a:hover{border-color:var(--v2-line-strong);color:var(--v2-accent)}
  .contact-route-list a:hover span:nth-child(2){color:var(--v2-text-soft)}
  .contact-route-list a:hover span:last-child{color:var(--v2-accent)}
}
@media(max-width:900px){
  .contact-hero{padding:68px 0 58px}
  .contact-hero-grid{grid-template-columns:1fr;gap:48px}
  .contact-hero-copy h1{max-width:14ch;font-size:clamp(2.55rem,7vw,3.7rem)}
  .contact-route-panel{max-width:680px}
  .contact-builder-grid,.contact-next-grid{grid-template-columns:1fr;gap:38px}
  .contact-builder-intro h2,.contact-next-grid h2{max-width:17ch}
  .builder-notes{max-width:680px}
}
@media(max-width:600px){
  .contact-hero{padding:54px 0 48px}
  .contact-hero-copy h1{font-size:clamp(2.25rem,10.8vw,3rem);line-height:1.02}
  .contact-hero-copy .v2-lead{margin-top:18px}
  .contact-hero-copy .v2-actions{margin-top:24px}
  .contact-hero-copy .v2-button{width:100%}
  .contact-route-list a{min-height:78px;padding-block:13px}
  .contact-builder-section{scroll-margin-top:70px}
  .contact-field-row{grid-template-columns:1fr;gap:0}
  .contact-form{padding:20px 16px}
  .contact-field{margin-top:19px}
  .contact-form-footer{display:block}
  .contact-form-actions{justify-content:stretch;margin-top:18px}
  .contact-form-actions .v2-button{flex:1 1 100%;width:100%}
  .builder-notes div{grid-template-columns:70px 1fr}
}
@media(max-width:380px){
  .contact-hero-copy h1{font-size:2.15rem}
  .contact-route-list a{grid-template-columns:1fr auto;column-gap:10px}
  .contact-route-list span:nth-child(2){font-size:.78rem}
  .builder-notes div{grid-template-columns:1fr;gap:5px}
}
