/* DragonPine Contact — static-first, black/white editorial design. */
.page-contact .section-pagehero { padding-block: clamp(58px,8vw,112px) clamp(56px,7vw,88px); }
.page-contact .section-pagehero h1 { max-width: 980px; }
.page-contact .page-lede { color: #D4D4D5; max-width: 740px; }
.contact-section { padding-block: clamp(64px,8vw,100px); }
.contact-layout { display:grid; grid-template-columns: minmax(220px,.85fr) minmax(0,1.35fr); gap:clamp(44px,6vw,104px); align-items:start; }
.contact-intro { min-width:0; }
.contact-intro h2 { font-size:clamp(1.8rem,3vw,3rem); font-weight:700; letter-spacing:-.05em; line-height:1.08; margin:20px 0 22px; }
.contact-intro .prose { margin-bottom:30px; }
.contact-email-label { font-family:var(--font-mono); font-size:.7rem; letter-spacing:.09em; text-transform:uppercase; color:#BCBEC0; margin:0 0 8px; }
.contact-email-link { font-size:clamp(1rem,1.5vw,1.2rem); font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; overflow-wrap:anywhere; }
.contact-form-wrap { min-width:0; border:1px solid #505155; background:#101112; padding:clamp(22px,4vw,48px); }
.contact-form-head { display:flex; justify-content:space-between; align-items:baseline; gap:16px; border-bottom:1px solid #45464A; padding-bottom:24px; margin-bottom:30px; }
.contact-form-head h2 { margin:0; font-size:clamp(1.55rem,2.4vw,2.2rem); letter-spacing:-.035em; line-height:1.1; }
.contact-form-head p { margin:0; font:400 .7rem/1.5 var(--font-mono); color:#BCBEC0; }
.contact-form { margin:0; }
.contact-two-col { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.contact-field { margin-bottom:25px; min-width:0; }
.contact-field label { display:block; font-size:.91rem; font-weight:700; letter-spacing:.005em; color:#F7F7F7; margin-bottom:10px; }
.contact-required { color:#BCBEC0; }
.contact-field input, .contact-field select, .contact-field textarea {
  display:block; width:100%; min-width:0; border:1px solid #65676B; border-radius:0;
  background:#08090A; color:#FFFFFF; padding:15px 17px; min-height:56px;
  font:500 1rem/1.5 var(--font-sans); transition:border-color .15s ease, box-shadow .15s ease;
}
.contact-field textarea { resize:vertical; min-height:188px; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#A7A9AB; opacity:1; }
.contact-field input:hover,.contact-field select:hover,.contact-field textarea:hover { border-color:#BFC0C2; }
.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible {
  outline:2px solid white; outline-offset:3px; border-color:white;
}
.contact-field select { appearance:none; padding-right:44px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%23FFFFFF' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center; }
.contact-field select option { background:#151515; color:#fff; }
.contact-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-consent { display:flex; align-items:flex-start; gap:12px; margin:8px 0 15px; line-height:1.48; font-size:.9rem; cursor:pointer; }
.contact-consent input { width:19px; height:19px; accent-color:#FFFFFF; flex:none; margin:3px 0 0; }
.contact-consent input:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.contact-privacy { color:#BCBEC0; font-size:.82rem; margin:0 0 25px; line-height:1.55; }
.contact-actions { padding-top:25px; border-top:1px solid #45464A; display:flex; flex-direction:column; align-items:flex-start; gap:14px; }
.contact-submit { background:#FFFFFF; color:#000; border:1px solid #fff; border-radius:0; min-height:54px; padding:13px 28px; font:700 .99rem/1.4 var(--font-sans); cursor:pointer; }
.contact-submit:hover:not(:disabled) { background:#E5E5E5; }
.contact-submit:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.contact-submit:disabled { color:#E5E5E5; background:#444548; border-color:#5A5B5E; cursor:not-allowed; }
.contact-setup { margin:0; color:#CDCFD0; font-size:.83rem; line-height:1.5; max-width:540px; }
@media (max-width:940px) { .contact-layout { grid-template-columns:1fr; gap:42px; } .contact-intro { max-width:720px; } }
@media (max-width:580px) { .contact-two-col { grid-template-columns:1fr; gap:0; } .contact-form-head { display:block; } .contact-form-head p { margin-top:8px; } .contact-form-wrap { padding:23px 18px; } }
@media (prefers-reduced-motion:reduce) { .contact-field input,.contact-field select,.contact-field textarea { transition:none; } }

/* Hide the temporary status entirely when the form is ready. */
.contact-setup[hidden], .contact-verification[hidden] { display:none !important; }
.contact-verification { margin: 0 0 20px; min-height:65px; }
