.landing {
  --navy: #122a3d;
  --gold: #b08a2e;
  --dark-gold: #745612;
  --sheet: #fffdf8;
  --landing-width: 1220px;
}
.landing a { text-decoration-thickness: 1px; }
.landing .landing-wrap {
  width: min(var(--landing-width), calc(100% - 2 * clamp(1.1rem, 5vw, 4rem)));
  margin-inline: auto;
}
.landing .masthead {
  background: var(--paper);
  padding: 0;
  border-bottom: 1px solid var(--line);
}
.masthead-inner {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem 1.5rem;
  flex-wrap: wrap;
  padding-block: .85rem;
}
.masthead img { width: 161px; height: auto; display: block; }
.landing .masthead nav { gap: .45rem clamp(.9rem, 3vw, 1.8rem); margin: 0; }
.masthead nav a { text-decoration: none; font-weight: 650; }
.masthead nav a:hover { text-decoration: underline; }
.landing-hero {
  padding-block: clamp(2.3rem, 6vw, 5.5rem);
  background: linear-gradient(115deg, var(--paper) 56%, #f0ece0);
  border-bottom: 1px solid var(--line);
}
.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(0, .88fr);
  gap: clamp(2rem, 6vw, 5.5rem);
  align-items: center;
}
.eyebrow {
  font: 700 .73rem/1.55 "Segoe UI", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--dark-gold);
}
.landing h1, .landing h2 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.landing h1 {
  color: var(--navy);
  font-size: clamp(2.65rem, 5.55vw, 5.25rem);
  margin: .85rem 0 1.05rem;
}
.landing h2 { font-size: clamp(2rem, 3.6vw, 3.25rem); margin: .4rem 0 1rem; }
.landing h3 { margin: 0 0 .4rem; line-height: 1.28; }
.hero-copy { max-width: 54ch; color: var(--muted); font-size: clamp(1.03rem, 1.6vw, 1.23rem); }
.landing .actions { margin: 1.5rem 0 1.1rem; gap: .7rem; }
.landing .button { min-height: 48px; border-radius: 3px; padding: .58rem .95rem; }
.landing .button:hover { box-shadow: inset 0 0 0 1px currentColor; }
.landing .button.primary { background: var(--navy); color: var(--paper); }
.release-line { margin: .8rem 0 0; color: var(--muted); font-size: .85rem; }
.workflow-sheet {
  position: relative;
  margin: 0;
  padding: clamp(1.15rem, 3vw, 2rem);
  color: var(--paper);
  background: var(--navy);
  border: 1px solid #25455b;
  border-top: 3px solid var(--gold);
  box-shadow: 7px 7px 0 #ded4bd;
}
.workflow-sheet .eyebrow { color: #e3c275; display: block; margin-bottom: .4rem; }
.workflow-sheet figcaption { margin-top: .4rem; font: 500 clamp(1.25rem, 2vw, 1.7rem)/1.15 Georgia, serif; }
.workflow-sheet ol { padding: 0; margin: 1rem 0 0; list-style: none; counter-reset: stage; }
.workflow-sheet li {
  counter-increment: stage;
  display: grid;
  grid-template-columns: 2.3rem minmax(0, 1fr);
  column-gap: .65rem;
  padding: .65rem 0;
  margin: 0;
  border-top: 1px solid #486072;
}
.workflow-sheet li::before {
  content: counter(stage, decimal-leading-zero);
  grid-row: span 2;
  color: #e3c275;
  font: 600 .81rem/1.65 Consolas, monospace;
}
.workflow-sheet strong { line-height: 1.35; }
.workflow-sheet li span { color: #e6edf3; font-size: .91rem; margin-top: .18rem; line-height: 1.4; }
.workflow-sheet .sheet-note { color: #c8d9e5; margin: .75rem 0 0; font-size: .77rem; }
.landing-section { padding-block: clamp(2.6rem, 6vw, 5rem); }
.landing-section + .landing-section { border-top: 1px solid var(--line); }
.section-intro { max-width: 66ch; color: var(--muted); }
.capability-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2.2rem);
  margin-top: 1.6rem;
}
.capability-columns article { border-top: 2px solid var(--gold); padding: .9rem 0 0; }
.capability-columns p, .directory-list p { margin: .35rem 0 0; color: var(--muted); }
.landing-band { background: var(--wash); border-block: 1px solid var(--line); }
.landing-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.4rem, 5vw, 4rem); }
.landing-panel { background: var(--sheet); border: 1px solid var(--line); padding: clamp(1rem, 3vw, 2rem); }
.landing-panel p:first-of-type { margin-top: .5rem; }
.landing-panel p:last-child { margin-bottom: 0; }
.landing-link-list { display: flex; flex-wrap: wrap; gap: .55rem 1.2rem; list-style: none; padding: 0; margin: .8rem 0 0; }
.landing-link-list li { margin: 0; }
.directory-group { display: grid; grid-template-columns: minmax(10rem, .85fr) 2.4fr; gap: 1rem 2rem; padding-block: 1.4rem; border-top: 1px solid var(--line); }
.directory-group:first-of-type { margin-top: 1.7rem; }
.directory-group h3 { font: 500 1.5rem/1.2 Georgia, serif; }
.directory-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1.4rem; list-style: none; margin: 0; padding: 0; }
.directory-list li { margin: 0; }
.directory-list a { font-weight: 700; }
.directory-list p { font-size: .93rem; line-height: 1.45; }
.status { display: inline-block; font-size: .72rem; color: var(--dark-gold); margin-left: .3rem; }
.landing-diagram { display: block; width: 100%; max-width: 700px; height: auto; background: var(--sheet); margin-top: 1rem; }
.landing .landing-footer { margin-top: 0; padding: 1.7rem 0; }
.landing-footer .landing-wrap { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .8rem 2rem; }
.landing-footer .landing-link-list { margin: 0; }
@media (max-width: 800px) {
  .hero-layout, .landing-split { grid-template-columns: 1fr; }
  .workflow-sheet { max-width: 620px; }
  .capability-columns { grid-template-columns: 1fr; gap: 1rem; }
  .directory-group { grid-template-columns: 1fr; }
}
@media (max-width: 460px) {
  .directory-list { grid-template-columns: 1fr; }
  .landing h1 { font-size: clamp(2.25rem, 10vw, 2.8rem); }
  .landing .masthead nav { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html:has(.landing) { scroll-behavior: auto; }
}
