:root {
  --gold: #c5a253;
  --gold-light: #dec47d;
  --black: #050505;
  --panel: #0c0c0c;
  --panel-2: #111;
  --ivory: #f7f3ea;
  --muted: #aaa59b;
  --border: rgba(197,162,83,.24);
  --danger: #ef9b9b;
  --success: #b9d6ba;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--black); color: var(--ivory); font-family: Inter, sans-serif; line-height: 1.6; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
.skip-link { position: fixed; left: 12px; top: -100px; z-index: 2000; background: var(--gold); color: #000; padding: 10px 14px; }
.skip-link:focus { top: 12px; }
.site-header { min-height: 100px; padding: 22px clamp(20px,5vw,72px); display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--border); background: rgba(5,5,5,.95); position: sticky; top: 0; z-index: 100; backdrop-filter: blur(15px); }
.brand { text-decoration: none; display: flex; flex-direction: column; }
.brand span { color: var(--gold); font: 600 clamp(21px,2vw,30px)/1.1 "Cormorant Garamond", serif; letter-spacing: .19em; text-transform: uppercase; }
.brand small { margin-top: 5px; color: #ddd; letter-spacing: .27em; text-transform: uppercase; font-size: 9px; }
.back-link { text-decoration: none; text-transform: uppercase; letter-spacing: .18em; font-size: 11px; transition: color .25s; }
.back-link:hover, .back-link:focus-visible { color: var(--gold); }
main { overflow: hidden; }
.contact-hero { min-height: 55vh; padding: clamp(70px,10vw,150px) clamp(20px,7vw,110px); display: grid; grid-template-columns: minmax(0,1.5fr) minmax(180px,.5fr); align-items: end; gap: 40px; background: radial-gradient(circle at 85% 25%, rgba(197,162,83,.13), transparent 36%), linear-gradient(120deg,#050505,#0a0907); border-bottom: 1px solid var(--border); }
.contact-hero__copy { max-width: 850px; }
.eyebrow { margin: 0 0 18px; color: var(--gold); text-transform: uppercase; letter-spacing: .35em; font-size: 10px; }
h1,h2 { font-family: "Cormorant Garamond", serif; font-weight: 500; }
h1 { margin: 0; max-width: 980px; font-size: clamp(46px,7.2vw,112px); line-height: .94; letter-spacing: -.025em; }
.lead { margin: 28px 0 0; max-width: 650px; color: var(--muted); font-size: clamp(14px,1.5vw,18px); }
.contact-hero__monogram { justify-self: end; color: transparent; -webkit-text-stroke: 1px rgba(197,162,83,.35); font: 500 clamp(110px,19vw,300px)/.65 "Cormorant Garamond",serif; user-select: none; }
.contact-shell { padding: clamp(60px,8vw,120px) clamp(20px,6vw,96px); display: grid; grid-template-columns: minmax(250px,.65fr) minmax(0,1.35fr); gap: clamp(30px,6vw,100px); align-items: start; }
.contact-types { display: grid; gap: 1px; background: var(--border); border: 1px solid var(--border); position: sticky; top: 130px; }
.contact-type { min-height: 126px; padding: 24px; text-align: left; color: var(--ivory); border: 0; background: #080808; cursor: pointer; display: grid; grid-template-columns: 38px 1fr; grid-template-areas: "num title" "num desc"; transition: background .25s, color .25s; }
.contact-type:hover, .contact-type:focus-visible { background: #13110c; outline: none; }
.contact-type.is-active { background: var(--gold); color: #050505; }
.contact-type__number { grid-area: num; font-size: 10px; letter-spacing: .15em; opacity: .7; }
.contact-type strong { grid-area: title; font: 500 28px/1 "Cormorant Garamond",serif; }
.contact-type small { grid-area: desc; margin-top: 7px; opacity: .72; font-size: 11px; line-height: 1.5; }
.form-panel { max-width: 840px; }
.form-panel__intro { padding-bottom: 38px; border-bottom: 1px solid var(--border); margin-bottom: 40px; }
.form-panel__intro h2, .success-panel h2 { margin: 0 0 12px; font-size: clamp(38px,5vw,65px); line-height: 1; }
.form-panel__intro > p:last-child, .success-panel > p { color: var(--muted); max-width: 620px; }
.contact-form { display: grid; gap: 28px; }
.form-grid { display: grid; gap: 22px; }
.form-grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.dynamic-fields { display: grid; gap: 28px; }
.field { display: grid; gap: 9px; }
.field label { color: #ddd8ce; font-size: 12px; letter-spacing: .04em; }
.field label span, .consent b { color: var(--gold); }
.field input, .field textarea, .field select { width: 100%; color: var(--ivory); background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.24); padding: 12px 0; border-radius: 0; outline: 0; transition: border-color .2s, background .2s; }
.field textarea { resize: vertical; min-height: 130px; }
.field select { background: var(--black); }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--gold); }
.field [aria-invalid="true"] { border-color: var(--danger); }
.field-error { min-height: 17px; color: var(--danger); font-size: 11px; }
.field-meta { display: flex; justify-content: space-between; color: var(--muted); }
.consent { display: flex; align-items: flex-start; gap: 12px; color: var(--muted); font-size: 12px; cursor: pointer; }
.consent input { accent-color: var(--gold); margin-top: 4px; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.submit-button { margin-top: 10px; min-height: 58px; padding: 0 24px; display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--gold); background: var(--gold); color: #050505; text-transform: uppercase; letter-spacing: .2em; font-size: 11px; font-weight: 600; cursor: pointer; transition: background .25s,color .25s; }
.submit-button:hover, .submit-button:focus-visible { background: transparent; color: var(--gold); }
.submit-button:disabled { opacity: .55; cursor: wait; }
.form-status { min-height: 20px; font-size: 12px; }
.form-status.is-error { color: var(--danger); }
.form-status.is-success { color: var(--success); }
.success-panel { padding: clamp(35px,6vw,70px); border: 1px solid var(--border); background: radial-gradient(circle at 100% 0,rgba(197,162,83,.12),transparent 40%),var(--panel); }
.success-reference { margin: 28px 0; padding: 16px 0; border-block: 1px solid var(--border); color: var(--muted); }
.success-reference strong { color: var(--gold); letter-spacing: .08em; }
.success-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.success-actions a, .success-actions button { min-height: 48px; padding: 0 18px; display: inline-flex; align-items: center; border: 1px solid var(--gold); text-decoration: none; background: var(--gold); color: #050505; cursor: pointer; }
.success-actions button { background: transparent; color: var(--gold); }
.site-footer { padding: 30px clamp(20px,5vw,72px); border-top: 1px solid var(--border); color: var(--muted); display: flex; justify-content: space-between; gap: 20px; font-size: 11px; }
.site-footer a { color: var(--gold); text-decoration: none; }
@media (max-width: 900px) {
  .contact-hero { grid-template-columns: 1fr; min-height: auto; }
  .contact-hero__monogram { display: none; }
  .contact-shell { grid-template-columns: 1fr; }
  .contact-types { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .site-header { min-height: 82px; }
  .brand span { letter-spacing: .11em; font-size: 19px; }
  .brand small { display: none; }
  .back-link { font-size: 9px; }
  .contact-hero { padding-top: 75px; }
  .contact-types, .form-grid--two { grid-template-columns: 1fr; }
  .contact-type { min-height: 100px; }
  .site-footer { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; transition: none !important; } }
