/* Global Digital M.D., LLC — site stylesheet
   Fonts are self-hosted (see /assets/fonts/fonts.css). No third-party requests.
   Palette follows the company mark: near-black ground, olive line, coyote-tan accent, oxblood rule. */

:root{
  --ink:#0E0E0C;
  --surface:#161614;
  --line:#2A2A24;
  --text:#EDEBE4;
  --muted:#9A968C;
  --accent:#C2B08C;        /* coyote tan, lifted for contrast on the dark ground */
  --accent-dim:rgba(194,176,140,.35);
  --oxblood:#6B2A2A;       /* the "MD" in the mark */
  --serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:680px;margin:0 auto;padding:0 28px}

/* ---------- masthead ---------- */
header{padding:64px 0 0}
.logo{
  width:min(220px, 56vw);
  height:auto;
  display:block;
  margin-left:-10px;   /* optical: the mark carries its own padding */
}
/* The mark already says the company name, so the heading is for
   screen readers and search engines rather than sighted repetition. */
.vh{
  position:absolute;
  width:1px;height:1px;
  margin:-1px;padding:0;border:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}
.entity{
  display:block;
  font-family:var(--sans);
  font-weight:500;
  font-size:13px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--accent);
  margin-top:14px;
}
.rule{height:2px;width:56px;background:var(--oxblood);border:0;margin:36px 0 0}

/* ---------- lede + the one call to action ---------- */
.lede{
  font-family:var(--serif);
  font-size:clamp(19px, 2.6vw, 22px);
  line-height:1.5;
  color:var(--text);
  margin:32px 0 0;
}
p{margin:20px 0 0}
.muted{color:var(--muted)}

.cta{
  display:inline-flex;
  align-items:center;
  gap:.6em;
  margin-top:28px;
  padding:13px 22px;
  border:1px solid var(--accent);
  border-radius:9px;
  color:var(--accent);
  background:transparent;
  font-weight:500;
  font-size:16px;
  text-decoration:none;
  transition:background .15s ease, color .15s ease;
}
.cta:hover{background:var(--accent);color:#0E0E0C}
.cta:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.cta .arrow{font-size:1.05em;line-height:1}

/* ---------- detail list ---------- */
section{padding-top:56px}
h2{
  font-family:var(--sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 26px;
}
dl{margin:0}
.item{border-top:1px solid var(--line);padding:22px 0}
.item:last-child{border-bottom:1px solid var(--line)}
dt{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--text);margin:0}
dd{margin:8px 0 0;color:var(--muted);font-size:16px;line-height:1.6}

/* ---------- contact ---------- */
.contact{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:14px;
  padding:30px 32px;
  margin-top:26px;
}
.contact .label{
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--muted);font-weight:600;
}
a.mailto{
  display:inline-block;
  margin-top:8px;
  font-family:var(--serif);
  font-size:clamp(19px, 3.4vw, 23px);
  color:var(--accent);
  text-decoration:none;
  border-bottom:1px solid var(--accent-dim);
  padding-bottom:2px;
  word-break:break-word;
}
a.mailto:hover{border-bottom-color:var(--accent)}
a.mailto:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}
.place{
  margin-top:22px;padding-top:20px;
  border-top:1px solid var(--line);
  color:var(--muted);font-size:16px;
}

/* ---------- footer ---------- */
footer{
  margin-top:64px;
  padding:26px 0 72px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:13.5px;
  line-height:1.6;
}
footer p{margin:0}
footer p + p{margin-top:8px}
.legal a{
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px solid var(--line);
}
.legal a:hover{color:var(--text);border-bottom-color:var(--muted)}
.legal a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}

/* ---------- sub pages ---------- */
header.sub{padding-top:56px}
.back{display:inline-block;text-decoration:none}
.backmark{width:min(150px,44vw);height:auto;display:block;margin-left:-8px}
.back:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:4px}
header.sub h1{
  font-family:var(--serif);
  font-weight:600;
  font-size:clamp(27px,5.2vw,36px);
  line-height:1.15;
  letter-spacing:-0.015em;
  margin:28px 0 0;
}
.stamp{
  font-size:13px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);margin-top:10px;
}
.prose{padding-top:40px}
.prose h2{
  font-family:var(--serif);
  font-size:20px;
  font-weight:600;
  letter-spacing:normal;
  text-transform:none;
  color:var(--text);
  margin:38px 0 0;
}
.prose h2:first-of-type{margin-top:0}
.prose p{color:var(--muted);font-size:16.5px}
.prose strong{color:var(--text);font-weight:600}
.prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent-dim)}
.prose a:hover{border-bottom-color:var(--accent)}
.prose a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
a.home{
  color:var(--accent);text-decoration:none;
  border-bottom:1px solid var(--accent-dim);
}
a.home:hover{border-bottom-color:var(--accent)}
a.home:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}

@media (max-width:520px){
  header{padding-top:48px}
  header.sub{padding-top:44px}
  section{padding-top:44px}
  .contact{padding:24px}
}
