:root{
  --navy-950:#0a121c;
  --navy-900:#0e1c2b;
  --navy-850:#132335;
  --gold:#c9a24a;
  --gold-bright:#e6c47c;
  --ink:#eef2f6;
  --muted:#8ea2b6;
  --hairline:rgba(201,162,74,0.28);
  --danger:#e2777a;
}

*{box-sizing:border-box;}

html,body{
  margin:0;
  background:var(--navy-950);
  color:var(--ink);
}

body{
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  font-family:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
}

a{color:inherit;}

.stage{
  width:100%;
  max-width:1672px;
}

/* ---- shared contact footer (index + contact page) ---- */
footer.contact-block{
  width:100%;
  max-width:1672px;
  padding:clamp(28px,4vw,44px) 24px clamp(36px,5vw,56px);
  text-align:center;
  border-top:1px solid var(--hairline);
}

footer.contact-block .label{
  font-family:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:13px;
  color:var(--gold-bright);
  margin:0 0 12px;
}

footer.contact-block .line{
  font-size:15px;
  color:var(--muted);
  margin:4px 0;
}

footer.contact-block .line a{
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid var(--hairline);
  padding-bottom:1px;
  transition:border-color .15s ease, color .15s ease;
}

footer.contact-block .line a:hover,
footer.contact-block .line a:focus-visible{
  color:var(--gold-bright);
  border-color:var(--gold-bright);
}

footer.contact-block .line a:focus-visible{
  outline:2px solid var(--gold-bright);
  outline-offset:3px;
  border-radius:1px;
}

.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* ---- contact / thank-you page shell ---- */
.contact-shell{
  width:100%;
  max-width:640px;
  padding:clamp(48px,8vw,88px) 24px clamp(40px,6vw,64px);
}

.back-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:14px;
  color:var(--muted);
  text-decoration:none;
  margin-bottom:clamp(28px,5vw,44px);
  border-bottom:1px solid transparent;
}

.back-link:hover,
.back-link:focus-visible{
  color:var(--gold-bright);
  border-bottom-color:var(--gold-bright);
}

.contact-shell h1{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  font-weight:700;
  font-size:clamp(32px,5vw,44px);
  line-height:1.15;
  text-wrap:balance;
  margin:0 0 10px;
}

.contact-shell .eyebrow{
  font-family:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:12px;
  color:var(--gold-bright);
  margin:0 0 14px;
}

.contact-shell .lede{
  font-size:16px;
  line-height:1.6;
  color:var(--muted);
  max-width:52ch;
  margin:0 0 clamp(32px,5vw,48px);
}

form.contact-form{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.field label{
  font-size:13px;
  font-weight:600;
  letter-spacing:.03em;
  color:var(--muted);
}

.field input,
.field textarea{
  font-family:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  font-size:15px;
  color:var(--ink);
  background:var(--navy-850);
  border:1px solid var(--hairline);
  border-radius:3px;
  padding:12px 14px;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}

.field input::placeholder,
.field textarea::placeholder{
  color:#5c7186;
}

.field input:focus-visible,
.field textarea:focus-visible{
  border-color:var(--gold-bright);
  box-shadow:0 0 0 3px rgba(230,196,124,0.18);
}

.field textarea{
  resize:vertical;
  min-height:140px;
  font-family:inherit;
}

.honeypot-field{
  position:absolute;
  left:-5000px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.submit-row{
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}

button.gold-cta{
  font-family:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  font-weight:600;
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--navy-950);
  background:linear-gradient(180deg,var(--gold-bright),var(--gold));
  border:none;
  border-radius:2px;
  padding:14px 28px;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease;
}

button.gold-cta:hover{
  box-shadow:0 6px 18px rgba(201,162,74,0.28);
}

button.gold-cta:active{
  transform:translateY(1px);
}

button.gold-cta:focus-visible{
  outline:2px solid var(--gold-bright);
  outline-offset:3px;
}

.required-note{
  font-size:13px;
  color:var(--muted);
}

/* ---- thank-you page ---- */
.confirm-shell{
  width:100%;
  max-width:560px;
  padding:clamp(64px,12vw,120px) 24px;
  text-align:center;
}

.confirm-shell .mark{
  width:56px;height:56px;
  margin:0 auto 28px;
  border-radius:50%;
  border:1px solid var(--hairline);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold-bright);
}

.confirm-shell h1{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  font-weight:700;
  font-size:clamp(28px,4.5vw,38px);
  margin:0 0 14px;
  text-wrap:balance;
}

.confirm-shell p{
  font-size:16px;
  line-height:1.6;
  color:var(--muted);
  margin:0 0 32px;
}
