
/* Contact page */
.contact-page { background: #f5f5f3; color: #080808; }
.contact-hero { background: #080808; color: #fff; min-height: 560px; display:flex; align-items:flex-end; }
.contact-hero-inner { padding: 120px 0 90px; }
.contact-kicker, .section-label { font-family:"DM Mono",monospace; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.contact-kicker { color:#999; margin-bottom:35px; }
.contact-hero h1 { font-size:clamp(62px,10vw,145px); line-height:.86; letter-spacing:-.07em; margin:0; }
.contact-hero h1 span { color:transparent; -webkit-text-stroke:1px #fff; }
.contact-hero p { max-width:650px; margin:45px 0 0 auto; color:#aaa; font-size:16px; line-height:1.7; }
.contact-section { padding:130px 0; }
.contact-grid { display:grid; grid-template-columns: .9fr 1.1fr; gap:100px; align-items:start; }
.contact-info h2 { font-size:clamp(48px,6vw,82px); line-height:.92; letter-spacing:-.065em; margin:28px 0 35px; }
.contact-info > p { max-width:520px; color:#666; line-height:1.75; }
.contact-details { border-top:1px solid #d5d5d2; margin-top:55px; }
.contact-details > * { display:block; padding:20px 0; border-bottom:1px solid #d5d5d2; color:#080808; font-size:14px; }
.contact-details span { display:block; font-family:"DM Mono",monospace; color:#888; font-size:9px; text-transform:uppercase; margin-bottom:8px; }
.contact-form-wrap { background:#fff; padding:55px; border:1px solid #ddd; }
.contact-form { display:grid; gap:26px; }
.form-field { display:flex; flex-direction:column; gap:9px; }
.form-field label { font-family:"DM Mono",monospace; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.form-field label span { color:#777; }
.form-field input, .form-field select, .form-field textarea {
    width:100%; border:0; border-bottom:1px solid #bdbdb9; background:transparent; border-radius:0;
    padding:14px 2px; font:inherit; font-size:15px; color:#080808; outline:none; transition:border-color .2s;
}
.form-field textarea { resize:vertical; min-height:150px; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-bottom-color:#080808; }
.form-field input.invalid, .form-field select.invalid, .form-field textarea.invalid { border-bottom-color:#b00020; }
.phone-field { display:grid; grid-template-columns:180px 1fr; gap:15px; }
.form-error { min-height:14px; color:#b00020; font-size:11px; }
.form-status { min-height:20px; font-size:13px; }
.form-status.success { color:#176b35; }
.form-status.error { color:#b00020; }
.contact-submit { justify-self:start; border:0; background:#080808; color:#fff; padding:18px 28px; border-radius:999px; font:700 12px inherit; text-transform:uppercase; letter-spacing:.06em; cursor:pointer; transition:transform .2s, opacity .2s; }
.contact-submit:hover { transform:translateY(-3px); }
.contact-submit:disabled { opacity:.6; cursor:wait; transform:none; }
.contact-submit span { margin-left:25px; font-size:18px; }
.form-note { color:#888; font-size:10px; line-height:1.6; margin:0; }
.social-icons { display:flex; gap:10px; margin-top:-2px; }
.footer-column .social-icons a { width:36px; height:36px; border:1px solid #333; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#bbb; }
.footer-column .social-icons a:hover { color:#fff; border-color:#777; }
.social-icons svg { width:17px; height:17px; fill:currentColor; stroke:none; }
.social-icons svg rect, .social-icons svg circle { fill:none; stroke:currentColor; stroke-width:1.8; }
@media(max-width:900px) {
    .contact-hero { min-height:500px; }
    .contact-hero-inner { padding:100px 0 70px; }
    .contact-hero p { margin:35px 0 0; }
    .contact-grid { grid-template-columns:1fr; gap:70px; }
    .contact-section { padding:90px 0; }
    .contact-form-wrap { padding:35px 25px; }
    .phone-field { grid-template-columns:1fr; gap:5px; }
}
@media(max-width:500px) {
    .contact-hero h1 { font-size:clamp(52px,16vw,85px); }
    .contact-form-wrap { padding:28px 20px; }
}
