/* ARG holder-website - styles (brand tokens: ARG Guidelines, Edition One) */

/* ---- Self-hosted fonts (WOFF2) ---- */
@font-face{ font-family:"EB Garamond"; font-style:normal; font-weight:400; font-display:swap; src:url("/fonts/ebgaramond-400.woff2") format("woff2"); }
@font-face{ font-family:"EB Garamond"; font-style:normal; font-weight:500; font-display:swap; src:url("/fonts/ebgaramond-500.woff2") format("woff2"); }
@font-face{ font-family:"EB Garamond"; font-style:normal; font-weight:600; font-display:swap; src:url("/fonts/ebgaramond-600.woff2") format("woff2"); }
@font-face{ font-family:"Inter"; font-style:normal; font-weight:400; font-display:swap; src:url("/fonts/inter-400.woff2") format("woff2"); }
@font-face{ font-family:"Inter"; font-style:normal; font-weight:500; font-display:swap; src:url("/fonts/inter-500.woff2") format("woff2"); }
@font-face{ font-family:"Inter"; font-style:normal; font-weight:700; font-display:swap; src:url("/fonts/inter-700.woff2") format("woff2"); }

/* ---- Brand tokens ---- */
:root{
  --navy:#1A2B4A;
  --gold:#8B6F3F;
  --ink:#2C2C2A;
  --muted:#7A7A78;
  --cream:#FAFAF7;
  --hairline:#D3D1C7;
  --white:#FFFFFF;
  --serif: "EB Garamond", Georgia, "Times New Roman", serif;
  --sans: "Inter", system-ui, "Segoe UI", Arial, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--serif);
  font-size:18px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.page{
  max-width:600px;
  margin:0 auto;
  padding:clamp(2.5rem,8vw,5rem) clamp(1.25rem,5vw,2rem) 3rem;
}

/* ---- Masthead ---- */
.masthead{ text-align:center; }

.badge{
  display:block;
  width:clamp(96px, 22vw, 140px);
  height:auto;
  margin:0 auto 1.5rem;
}

.wordmark{
  margin:0;
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(1.7rem,6vw,2.25rem);
  line-height:1.15;
  color:var(--navy);
  letter-spacing:.005em;
}

.rule{
  width:54px; height:0;
  margin:1.1rem auto;
  border-top:2px solid var(--gold);
}

.descriptor{
  margin:0;
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--navy);
}

/* ---- Bio ---- */
.bio{ margin-top:clamp(2.25rem,7vw,3rem); }
.bio p{ margin:0 0 1rem; }
.bio p:last-child{ margin-bottom:0; }

/* ---- Divider ---- */
.divider{
  border:0;
  border-top:1px solid var(--hairline);
  margin:clamp(2.25rem,7vw,3rem) 0;
}

/* ---- Inquiries / form ---- */
.section-label{
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 .9rem;
}
h2.inquiries-title{
  font-family:var(--serif);
  font-weight:500;
  font-size:1.5rem;
  color:var(--navy);
  margin:0 0 1.25rem;
}
.lede{ margin:0 0 1.5rem; }

.help{
  font-family:var(--sans);
  font-size:.8rem;
  color:var(--ink);
  margin:.45rem 0 0;
}

form{ margin:0; }
.field{ margin-bottom:1.1rem; }
label{
  display:block;
  font-family:var(--sans);
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--ink);
  margin-bottom:.4rem;
}
.req{ color:var(--gold); }
input,textarea{
  width:100%;
  font-family:var(--sans);
  font-size:1rem;
  color:var(--ink);
  background:var(--white);
  border:1px solid var(--hairline);
  border-radius:2px;
  padding:.7rem .8rem;
  transition:border-color .15s ease, box-shadow .15s ease;
}
input::placeholder,textarea::placeholder{ color:var(--muted); }
textarea{ min-height:130px; resize:vertical; }
input:focus,textarea:focus{
  outline:none;
  border-color:var(--navy);
  box-shadow:0 0 0 3px rgba(26,43,74,.14);
}
input[aria-invalid="true"],textarea[aria-invalid="true"]{
  border-color:#6B2B2B;
  box-shadow:0 0 0 3px rgba(107,43,43,.12);
}

/* Honeypot - off-screen, never shown to humans, ignored by AT */
.hp{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0);
  white-space:nowrap; border:0;
}

button{
  font-family:var(--sans);
  font-size:.95rem;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--cream);
  background:var(--navy);
  border:1px solid var(--navy);
  border-radius:2px;
  padding:.75rem 1.5rem;
  cursor:pointer;
  transition:background-color .15s ease;
}
button:hover{ background:#142138; }
button:focus-visible{ outline:3px solid var(--gold); outline-offset:2px; }
button:disabled{ opacity:.6; cursor:default; }

.status{
  font-family:var(--sans);
  font-size:.9rem;
  line-height:1.5;
  margin-top:1.1rem;
  padding:.7rem .85rem;
  border-radius:2px;
  display:none;
}
.status.show{ display:block; }
.status.info{ background:#F1EFE7; color:var(--ink); border:1px solid var(--hairline); }
.status.ok{ background:#EAF0EA; color:#264A2E; border:1px solid #C3D6C6; }
.status.err{ background:#F4ECEC; color:#6B2B2B; border:1px solid #E0C9C9; }

/* ---- Footer ---- */
footer{
  font-family:var(--sans);
  font-size:.82rem;
  line-height:1.7;
  color:var(--ink);
  text-align:center;
}
footer .firm{ font-weight:600; color:var(--navy); }
footer .fine{ color:var(--ink); margin-top:.4rem; }
footer .compliance{
  font-family:var(--sans);
  font-style:italic;
  font-size:.68rem;
  line-height:1.5;
  color:var(--muted);
  margin:1rem auto 0;
}

a:focus-visible{ outline:3px solid var(--gold); outline-offset:2px; }

@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; }
}
