.contact-concept-page { background: var(--ink-deep); }
.contact-hero { position: relative; padding: clamp(100px, 12vw, 185px) 0 clamp(90px, 9vw, 135px); border-bottom: 1px solid var(--line); }
.contact-hero::before { position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--lime); content: ""; }
.contact-hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(250px, .6fr); align-items: end; gap: clamp(40px, 8vw, 140px); }
.contact-eyebrow { margin-bottom: 24px; color: var(--lime); font-size: 11px; font-weight: 800; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
.contact-hero h1 { max-width: 850px; margin-bottom: 0; font-size: clamp(62px, 7.3vw, 116px); font-weight: 850; letter-spacing: -.08em; line-height: .95; }
.contact-hero h1 span { display: block; color: var(--lime); }
.contact-hero-grid > p { max-width: 440px; margin-bottom: 6px; color: #c3ceca; font-size: clamp(19px, 1.75vw, 25px); line-height: 1.48; }
.contact-main { padding-block: clamp(90px, 10vw, 155px); }
.contact-grid { display: grid; grid-template-columns: minmax(250px, .75fr) minmax(0, 1.25fr); align-items: start; gap: clamp(50px, 8vw, 145px); }
.contact-aside { position: sticky; top: 45px; }
.contact-aside h2, .contact-after h2 { margin-bottom: 25px; font-size: clamp(44px, 4.8vw, 73px); font-weight: 850; letter-spacing: -.07em; line-height: 1.03; }
.contact-aside > p:not(.contact-eyebrow), .contact-after p:not(.contact-eyebrow) { max-width: 520px; color: #b9c5c3; font-size: 18px; line-height: 1.55; }
.contact-direct { display: flex; flex-direction: column; gap: 12px; margin-top: 55px; padding-top: 25px; border-top: 1px solid var(--line); }
.contact-direct span, .contact-location { color: #aebbb9; font-size: 12px !important; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.contact-direct a { width: fit-content; padding-bottom: 5px; border-bottom: 1px solid var(--lime); color: var(--lime); font-size: clamp(18px, 1.6vw, 25px); font-weight: 800; overflow-wrap: anywhere; }
.contact-aside .contact-location { margin-top: 38px; }
.enquiry-form { min-width: 0; padding: clamp(28px, 4vw, 60px); border: 1px solid rgba(221, 235, 98, .32); border-radius: 7px; background: var(--ink); }
.form-intro { margin-bottom: 38px; }
.form-intro .eyebrow { margin-bottom: 17px; color: var(--lime); font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.form-intro h2 { margin-bottom: 12px; font-size: clamp(35px, 3.4vw, 53px); font-weight: 850; letter-spacing: -.06em; line-height: 1.05; }
.form-intro > p:last-child { margin-bottom: 0; color: #b7c4c1; font-size: 16px; line-height: 1.5; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px 20px; }
.field { min-width: 0; }
.field-full { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 10px; color: var(--cream); font-size: 13px; font-weight: 800; }
.field input, .field select, .field textarea { display: block; width: 100%; min-height: 52px; padding: 13px 15px; border: 1px solid #55666b; border-radius: 4px; outline: none; color: var(--cream); background: #23343c; font: inherit; font-size: 16px; }
.field textarea { min-height: 130px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--lime); box-shadow: 0 0 0 2px rgba(221, 235, 98, .18); }
.field input::placeholder, .field textarea::placeholder { color: #a3b0ad; }
.field select { color-scheme: dark; }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-submit { padding-top: 8px; }
.form-note { max-width: 600px; margin-bottom: 24px; color: #aebbb9; font-size: 13px; line-height: 1.5; }
.form-note a { color: var(--lime); text-decoration: underline; text-underline-offset: 3px; }
.form-submit .button { min-height: 55px; border: 0; cursor: pointer; }
.form-submit .button:disabled { opacity: .6; cursor: wait; }
.form-status { margin: 16px 0 0; font-size: 14px; line-height: 1.4; }
.form-status[data-state="success"] { color: var(--lime); }
.form-status[data-state="error"] { color: #ffc5af; }
.contact-after { padding-block: clamp(90px, 10vw, 155px); color: var(--ink-deep); background: var(--cream); }
.contact-after-grid { display: grid; grid-template-columns: minmax(180px, .3fr) minmax(0, 1fr); gap: clamp(35px, 8vw, 130px); }
.contact-after .contact-eyebrow { color: #65721b; }
.contact-after h2 { max-width: 850px; }
.contact-after p:not(.contact-eyebrow) { max-width: 650px; color: #435154; }
@media (max-width: 900px) { .contact-hero-grid, .contact-grid { grid-template-columns: 1fr; } .contact-aside { position: static; } .contact-hero-grid { gap: 35px; } .contact-hero-grid > p { max-width: 650px; } }
@media (max-width: 700px) { .contact-hero { padding-block: 80px; } .contact-hero::before { width: 3px; } .contact-hero h1 { font-size: clamp(55px, 12vw, 82px); } .contact-grid { gap: 55px; } .contact-after-grid, .form-grid { grid-template-columns: 1fr; } .field-full { grid-column: auto; } .contact-aside h2, .contact-after h2 { font-size: clamp(42px, 9vw, 60px); } }
