.contact-page { background:var(--ink); color:var(--paper); }
.contact-section-no,.contact-hero-index { position:absolute; font-size:10px; letter-spacing:.25em; opacity:.45; }
.contact-section-no { top:110px; left:var(--pad); }

.contact-hero { position:relative; min-height:100svh; padding:126px var(--pad) 42px; overflow:hidden; isolation:isolate; }
.contact-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 76% 47%,rgba(184,145,87,.14),transparent 27%),linear-gradient(90deg,transparent 0 49.8%,rgba(255,255,255,.065) 50%,transparent 50.15%); }
.contact-hero-index { right:var(--pad); bottom:38px; }
.contact-hero-ghost { position:absolute; right:-3vw; top:7vh; z-index:-1; font:900 31vw/.8 Impact,sans-serif; color:rgba(238,233,222,.025); letter-spacing:-.06em; }
.contact-hero-copy { position:relative; z-index:3; width:57vw; padding-top:7vh; }
.contact-hero-copy h1 { margin:0; font:900 clamp(100px,14vw,240px)/.75 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.025em; }
.contact-hero-copy h1 span { display:block; color:transparent; -webkit-text-stroke:1.5px rgba(238,233,222,.9); }
.contact-hero-copy h1 strong { display:block; margin-left:9vw; color:var(--gold); -webkit-text-stroke:1px rgba(238,233,222,.72); }
.contact-hero-lead { margin:42px 0 0 14vw; font:400 clamp(21px,2.1vw,35px)/1.18 Georgia,serif; }
.contact-hero-lead em { color:var(--gold); }
.contact-hero-image { position:absolute; right:5vw; top:18vh; width:min(35vw,580px); height:62vh; transform:rotate(2.5deg); clip-path:polygon(8% 0,100% 8%,94% 92%,0 100%); z-index:1; }
.contact-hero-note { position:absolute; right:var(--pad); bottom:14vh; width:230px; z-index:3; text-transform:uppercase; letter-spacing:.18em; font-size:9px; line-height:1.7; }
.contact-hero-note span { display:block; width:52px; height:1px; margin-bottom:14px; background:var(--gold); }

.contact-intro { position:relative; min-height:112svh; padding:16vh var(--pad) 11vh; background:var(--paper); color:var(--ink); overflow:hidden; }
.contact-intro .contact-section-no { color:var(--ink); }
.contact-intro-word { position:absolute; left:50%; top:5vh; transform:translateX(-50%); font:900 29vw/.8 Impact,sans-serif; color:transparent; -webkit-text-stroke:1px rgba(10,10,9,.07); letter-spacing:.06em; }
.contact-intro-head { position:relative; z-index:2; width:min(980px,74vw); margin:8vh 0 0 8vw; }
.contact-intro .wtl-kicker { color:#765d38; }
.contact-intro-head h2 { margin:0; font:400 clamp(56px,7vw,118px)/.9 Georgia,serif; letter-spacing:-.055em; }
.contact-intro-head h2 em { color:#765d38; }
.contact-intro-head > p:last-child { width:min(590px,72%); margin:42px 0 0 20vw; font-size:16px; line-height:1.75; }
.contact-direct { position:relative; z-index:2; margin-top:11vh; border-top:1px solid rgba(10,10,9,.25); }
.contact-direct > div { min-height:120px; display:grid; grid-template-columns:180px minmax(0,1fr); align-items:center; gap:28px; border-bottom:1px solid rgba(10,10,9,.22); }
.contact-direct small { text-transform:uppercase; letter-spacing:.2em; font-size:8px; opacity:.55; }
.contact-direct a,.contact-direct strong { color:var(--ink); text-decoration:none; font:400 clamp(24px,3vw,46px)/1 Georgia,serif; font-weight:400; }
.contact-direct a span { color:#765d38; }

.contact-write { position:relative; min-height:120svh; padding:16vh var(--pad) 12vh; background:#0c0c0b; overflow:hidden; }
.contact-write-ghost { position:absolute; right:-2vw; top:2vh; font:900 22vw/.8 Impact,sans-serif; color:rgba(238,233,222,.03); pointer-events:none; }
.contact-write-title { position:relative; z-index:2; max-width:1100px; }
.contact-write-title h2 { margin:0; font:900 clamp(64px,8.5vw,146px)/.82 Impact,sans-serif; text-transform:uppercase; letter-spacing:-.02em; }
.contact-write-title h2 span { display:block; color:transparent; -webkit-text-stroke:1.4px rgba(238,233,222,.82); letter-spacing:.01em; }
.contact-form { position:relative; z-index:2; margin-top:10vh; display:grid; grid-template-columns:1fr 1fr; gap:0 5vw; border-top:1px solid var(--line); }
.contact-field { padding:27px 0 24px; border-bottom:1px solid var(--line); min-width:0; }
.contact-field-wide { grid-column:1/-1; }
.contact-field label { display:block; margin-bottom:12px; color:var(--gold); text-transform:uppercase; letter-spacing:.18em; font-size:8px; }
.contact-field input,.contact-field select,.contact-field textarea { width:100%; border:0; outline:0; border-radius:0; background:transparent; color:var(--paper); font:400 clamp(20px,2vw,31px)/1.35 Georgia,serif; resize:vertical; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:rgba(238,233,222,.27); }
.contact-field select { appearance:none; cursor:pointer; }
.contact-field select option { color:#111; }
.contact-form-bottom { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; }
.contact-form-bottom p { max-width:560px; margin:0; color:var(--paper-muted); font-size:12px; line-height:1.6; }
.contact-form-bottom button { border:0; border-bottom:1px solid var(--gold); padding:0 0 8px; background:none; color:var(--paper); text-transform:uppercase; letter-spacing:.18em; font-size:10px; cursor:pointer; }
.contact-form-bottom button span { margin-left:18px; color:var(--gold); }

.contact-end { position:relative; min-height:105svh; padding:16vh var(--pad) 90px; background:var(--gold); color:var(--ink); display:grid; grid-template-columns:57fr 43fr; gap:7vw; align-items:center; overflow:hidden; isolation:isolate; }
.contact-end-ghost { position:absolute; z-index:-1; right:-3vw; bottom:-10vh; font:900 39vw/.8 Impact,sans-serif; color:rgba(10,10,9,.05); letter-spacing:-.07em; }
.contact-end .wtl-kicker { color:rgba(10,10,9,.6); }
.contact-end-copy h2 { margin:0; font:900 clamp(72px,9vw,154px)/.8 Impact,sans-serif; text-transform:uppercase; }
.contact-end-copy h2 em { display:block; font-family:Georgia,serif; font-weight:400; text-transform:none; color:rgba(10,10,9,.035); -webkit-text-stroke:1.5px rgba(10,10,9,.88); letter-spacing:-.04em; }
.contact-end-copy > p:last-child { max-width:560px; margin:34px 0 0 8vw; font:400 clamp(16px,1.35vw,21px)/1.65 Georgia,serif; }
.contact-end-links { align-self:end; padding-bottom:7vh; border-top:2px solid var(--ink); }
.contact-end-links a { min-height:82px; display:grid; grid-template-columns:50px 1fr 28px; align-items:center; gap:16px; border-bottom:1px solid rgba(10,10,9,.35); color:var(--ink); text-decoration:none; font:400 clamp(20px,2vw,31px)/1 Georgia,serif; }
.contact-end-links a span { font:400 27px/1 Impact,sans-serif; color:rgba(10,10,9,.45); }
.contact-end-links a b { color:#6e512a; font-weight:400; }
.contact-footer { position:absolute; left:var(--pad); right:var(--pad); bottom:28px; display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(10,10,9,.35); padding-top:16px; font-size:8px; text-transform:uppercase; letter-spacing:.2em; }

@media (max-width:900px) {
  .contact-hero-copy { width:76vw; }
  .contact-hero-copy h1 { font-size:19vw; }
  .contact-hero-image { top:45vh; right:-5vw; width:60vw; height:46vh; opacity:.88; }
  .contact-hero-note { display:none; }
  .contact-intro-head { width:92%; margin-left:0; }
  .contact-intro-head > p:last-child { width:80%; margin-left:12vw; }
  .contact-direct > div { grid-template-columns:140px minmax(0,1fr); }
  .contact-end { grid-template-columns:1fr; gap:60px; }
  .contact-end-copy > p:last-child { margin-left:4vw; }
  .contact-end-links { padding-bottom:8vh; }
}
@media (max-width:560px) {
  .contact-hero-copy { width:90vw; padding-top:3vh; }
  .contact-hero-copy h1 { font-size:24vw; }
  .contact-hero-copy h1 strong { margin-left:4vw; }
  .contact-hero-image { width:82vw; right:-18vw; top:48vh; height:41vh; }
  .contact-hero-lead { margin-left:4vw; font-size:20px; }
  .contact-intro-word { font-size:45vw; }
  .contact-intro-head h2 { font-size:13vw; }
  .contact-intro-head > p:last-child { width:90%; margin-left:5vw; }
  .contact-direct > div { grid-template-columns:1fr; gap:8px; padding:24px 0; }
  .contact-form { grid-template-columns:1fr; }
  .contact-field-wide { grid-column:auto; }
  .contact-write-title h2 { font-size:15vw; }
  .contact-form-bottom { align-items:flex-start; flex-direction:column; }
  .contact-end-copy h2 { font-size:18vw; }
  .contact-end-links a { grid-template-columns:38px 1fr 20px; }
  .contact-footer { flex-wrap:wrap; }
}

.contact-honeypot { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.contact-form-alert { margin-top:24px; padding:18px 20px; border:1px solid var(--line); font-size:14px; line-height:1.5; }
.contact-form-alert.is-success { border-color:rgba(184,145,87,.7); color:var(--paper); }
.contact-form-alert.is-error { border-color:rgba(220,90,70,.65); color:var(--paper); }
.contact-form-alert ul { margin:8px 0 0; padding-left:20px; }

.contact-consent { padding:20px 0; border-bottom:1px solid var(--line); }
.contact-consent label { display:flex; align-items:flex-start; gap:12px; max-width:680px; color:var(--paper-muted); font-size:12px; line-height:1.55; cursor:pointer; }
.contact-consent input { margin-top:3px; accent-color:var(--gold); }

@media (max-width:560px) {
  .contact-end { padding-bottom:160px; }
  .contact-footer { flex-direction:column; align-items:flex-start; gap:7px; line-height:1.45; }
  .contact-footer .wtl-legal-links { gap:6px 14px; }
}

/* V16.11.10 — mobile hero in normal flow */
@media (max-width:560px) {
  .contact-hero {
    min-height:auto;
    padding-top:104px;
    padding-bottom:74px;
  }
  .contact-hero-copy { width:100%; padding-top:0; }
  .contact-hero-image.wtl-photo {
    position:relative;
    inset:auto;
    width:88vw;
    height:52vh;
    min-height:410px;
    max-height:560px;
    margin:32px -4vw 0 auto;
    transform:rotate(2deg);
  }
  .contact-hero-no { bottom:24px; }
}
