/* ==========================================================================
   Stance Lab Fit — studio stylesheet
   Palette: steel blue field, amber signal, warm paper ground.
   Display face: American Typewriter. Running text: Helvetica.
   Signature: centred wordmark with split navigation, stacked plate cards.
   ========================================================================== */

:root {
  --stnc-ink: #10222c;
  --stnc-steel-deep: #1a3a49;
  --stnc-steel: #2c5468;
  --stnc-steel-soft: #5c8299;
  --stnc-steel-mist: #d5e0e6;
  --stnc-amber: #c8811a;
  --stnc-amber-hi: #eda63a;
  --stnc-amber-wash: #f7ead4;
  --stnc-paper: #f6f3ec;
  --stnc-paper-warm: #ece5d8;
  --stnc-white: #ffffff;
  --stnc-rule: rgba(16, 34, 44, 0.14);
  --stnc-rule-firm: rgba(16, 34, 44, 0.28);
  --stnc-shadow: 0 18px 40px -26px rgba(16, 34, 44, 0.62);
  --stnc-type-display: 'American Typewriter', 'Courier New', Courier, Georgia, serif;
  --stnc-type-text: Helvetica, 'Helvetica Neue', 'Nimbus Sans', Arial, sans-serif;
  --stnc-shell: 1180px;
  --stnc-gutter: 26px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body.stnc-body {
  margin: 0;
  background: var(--stnc-paper);
  color: var(--stnc-ink);
  font-family: var(--stnc-type-text);
  font-size: 17px;
  line-height: 1.68;
  letter-spacing: 0.005em;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--stnc-steel); }

h1, h2, h3, h4 {
  font-family: var(--stnc-type-display);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -0.008em;
  margin: 0 0 0.55em;
  color: var(--stnc-steel-deep);
}

h1 { font-size: clamp(2.05rem, 4.4vw, 3.25rem); }
h2 { font-size: clamp(1.55rem, 2.7vw, 2.25rem); }
h3 { font-size: 1.2rem; }
h4 { font-size: 1.02rem; }

p { margin: 0 0 1.05em; }

.stnc-shell {
  width: 100%;
  max-width: var(--stnc-shell);
  margin: 0 auto;
  padding-left: var(--stnc-gutter);
  padding-right: var(--stnc-gutter);
}

.stnc-jump {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--stnc-amber);
  color: var(--stnc-ink);
  padding: 12px 20px;
  z-index: 200;
  font-weight: 700;
}
.stnc-jump:focus { left: 12px; top: 12px; }

/* ---------- top ticker ---------------------------------------------------- */

.stnc-ticker {
  background: var(--stnc-steel-deep);
  color: #cfe0e8;
  font-size: 0.735rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.stnc-ticker__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 38px;
  flex-wrap: wrap;
}
.stnc-ticker__item { padding: 6px 0; }
.stnc-ticker__item a { color: var(--stnc-amber-hi); text-decoration: none; }
.stnc-ticker__item a:hover { text-decoration: underline; }

/* ---------- masthead: split nav either side of a centred wordmark ---------- */

.stnc-masthead {
  position: relative;
  background: var(--stnc-paper);
  border-bottom: 1px solid var(--stnc-rule);
  padding: 22px 0 0;
}

.stnc-masthead__grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 22px;
}

.stnc-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
}
.stnc-menu--left { justify-content: flex-end; }
.stnc-menu--right { justify-content: flex-start; }

.stnc-menu__item a {
  font-size: 0.79rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--stnc-steel);
  padding-bottom: 5px;
  border-bottom: 2px solid transparent;
  transition: color 160ms ease, border-color 160ms ease;
  white-space: nowrap;
}
.stnc-menu__item a:hover { color: var(--stnc-ink); border-bottom-color: var(--stnc-amber); }
.stnc-menu__item.is-here a { color: var(--stnc-ink); border-bottom-color: var(--stnc-amber); }

.stnc-wordmark {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  text-align: center;
  padding: 0 12px;
}
.stnc-wordmark__glyph {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 7px;
}
.stnc-wordmark__bar {
  display: block;
  width: 26px;
  height: 3px;
  background: var(--stnc-steel);
}
.stnc-wordmark__dot {
  display: block;
  width: 9px;
  height: 9px;
  background: var(--stnc-amber);
  transform: rotate(45deg);
}
.stnc-wordmark__name {
  font-family: var(--stnc-type-display);
  font-size: 1.52rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--stnc-steel-deep);
  line-height: 1.05;
}
.stnc-wordmark__sub {
  font-size: 0.66rem;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  color: var(--stnc-steel-soft);
  margin-top: 5px;
}

.stnc-masthead__foot {
  display: flex;
  justify-content: center;
  padding-top: 16px;
  padding-bottom: 18px;
}

.stnc-burger {
  display: none;
  position: absolute;
  top: 24px;
  right: var(--stnc-gutter);
  width: 44px;
  height: 40px;
  background: transparent;
  border: 1px solid var(--stnc-rule-firm);
  cursor: pointer;
  padding: 0;
}
.stnc-burger span {
  display: block;
  width: 20px;
  height: 2px;
  margin: 4px auto;
  background: var(--stnc-steel-deep);
  transition: transform 180ms ease, opacity 180ms ease;
}
.stnc-burger.is-lit span:first-child { transform: translateY(3px) rotate(45deg); }
.stnc-burger.is-lit span:last-child { transform: translateY(-3px) rotate(-45deg); }

/* ---------- mobile drawer ------------------------------------------------- */

.stnc-drawer {
  position: fixed;
  inset: 0;
  background: var(--stnc-steel-deep);
  z-index: 150;
  overflow-y: auto;
  padding: 64px 24px 40px;
}
.stnc-drawer[hidden] { display: none; }
.stnc-drawer__inner { max-width: 420px; margin: 0 auto; }
.stnc-drawer__title {
  display: block;
  font-family: var(--stnc-type-display);
  font-size: 1.3rem;
  color: var(--stnc-amber-hi);
  letter-spacing: 0.05em;
  margin-bottom: 22px;
}
.stnc-drawer__list { list-style: none; margin: 0 0 26px; padding: 0; }
.stnc-drawer__list li { border-bottom: 1px solid rgba(255, 255, 255, 0.13); }
.stnc-drawer__list a {
  display: block;
  padding: 14px 2px;
  color: #eaf1f4;
  text-decoration: none;
  font-size: 1.02rem;
  letter-spacing: 0.05em;
}
.stnc-drawer__list a:hover { color: var(--stnc-amber-hi); }
.stnc-drawer__phone {
  display: inline-block;
  font-family: var(--stnc-type-display);
  font-size: 1.25rem;
  color: var(--stnc-amber-hi);
  text-decoration: none;
}

/* ---------- buttons ------------------------------------------------------- */

.stnc-button {
  display: inline-block;
  font-family: var(--stnc-type-text);
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 14px 28px;
  border: 2px solid transparent;
  transition: background 170ms ease, color 170ms ease, border-color 170ms ease, transform 170ms ease;
  cursor: pointer;
}
.stnc-button--amber {
  background: var(--stnc-amber);
  color: #17232b;
  border-color: var(--stnc-amber);
}
.stnc-button--amber:hover { background: var(--stnc-amber-hi); border-color: var(--stnc-amber-hi); transform: translateY(-2px); }
.stnc-button--steel {
  background: var(--stnc-steel-deep);
  color: #f2f6f8;
  border-color: var(--stnc-steel-deep);
}
.stnc-button--steel:hover { background: var(--stnc-steel); border-color: var(--stnc-steel); transform: translateY(-2px); }
.stnc-button--hollow {
  background: transparent;
  color: var(--stnc-steel-deep);
  border-color: var(--stnc-rule-firm);
}
.stnc-button--hollow:hover { border-color: var(--stnc-steel-deep); background: rgba(44, 84, 104, 0.07); }
.stnc-button--ghost-light {
  background: transparent;
  color: #eef4f6;
  border-color: rgba(255, 255, 255, 0.42);
}
.stnc-button--ghost-light:hover { background: rgba(255, 255, 255, 0.11); border-color: #fff; }

/* ---------- generic band -------------------------------------------------- */

.stnc-band { padding: 78px 0; }
.stnc-band--tight { padding: 54px 0; }
.stnc-band--warm { background: var(--stnc-paper-warm); }
.stnc-band--night { background: var(--stnc-steel-deep); color: #dbe6eb; }
.stnc-band--night h2,
.stnc-band--night h3 { color: var(--stnc-white); }
.stnc-band--night a { color: var(--stnc-amber-hi); }

.stnc-flag {
  display: inline-block;
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--stnc-amber);
  margin-bottom: 14px;
  padding-left: 30px;
  position: relative;
}
.stnc-flag::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 20px;
  height: 2px;
  background: var(--stnc-amber);
}
.stnc-band--night .stnc-flag { color: var(--stnc-amber-hi); }
.stnc-band--night .stnc-flag::before { background: var(--stnc-amber-hi); }

.stnc-bandhead { max-width: 720px; margin-bottom: 44px; }
.stnc-bandhead--mid { margin-left: auto; margin-right: auto; text-align: center; }
.stnc-bandhead--mid .stnc-flag { padding-left: 0; }
.stnc-bandhead--mid .stnc-flag::before { display: none; }
.stnc-bandhead p { color: #45606d; font-size: 1.03rem; }
.stnc-band--night .stnc-bandhead p { color: #b6c9d2; }

/* ---------- opening spread ------------------------------------------------ */

.stnc-opening {
  background:
    linear-gradient(180deg, rgba(26, 58, 73, 0.03) 0%, rgba(26, 58, 73, 0) 62%),
    var(--stnc-paper);
  padding: 66px 0 84px;
  position: relative;
  overflow: hidden;
}
.stnc-opening::after {
  content: '';
  position: absolute;
  right: -140px;
  top: -80px;
  width: 420px;
  height: 420px;
  border: 30px solid rgba(200, 129, 26, 0.09);
  border-radius: 50%;
  pointer-events: none;
}
.stnc-opening__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 56px;
  align-items: center;
  position: relative;
  z-index: 1;
}
.stnc-opening h1 { margin-bottom: 22px; }
.stnc-opening__lede {
  font-size: 1.1rem;
  color: #3c5765;
  max-width: 34em;
}
.stnc-opening__row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.stnc-opening__strip {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  margin-top: 40px;
  padding-top: 26px;
  border-top: 1px solid var(--stnc-rule);
}
.stnc-opening__strip div span {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--stnc-steel-soft);
}
.stnc-opening__strip div strong {
  font-family: var(--stnc-type-display);
  font-size: 1.28rem;
  color: var(--stnc-steel-deep);
}

/* ---------- stacked plate cards (the layout signature) -------------------- */

.stnc-stack { position: relative; }
.stnc-plate {
  position: relative;
  background: var(--stnc-white);
  border: 1px solid var(--stnc-rule-firm);
  padding: 28px 26px;
}
.stnc-plate::before {
  content: '';
  position: absolute;
  left: 9px;
  top: 9px;
  right: -9px;
  bottom: -9px;
  border: 1px solid var(--stnc-rule);
  z-index: -1;
}
.stnc-plate--amber::before { border-color: rgba(200, 129, 26, 0.5); }
.stnc-plate h3 { margin-bottom: 0.4em; }
.stnc-plate p { color: #46606c; font-size: 0.97rem; }
.stnc-plate__index {
  display: inline-block;
  font-family: var(--stnc-type-display);
  font-size: 0.82rem;
  letter-spacing: 0.14em;
  color: var(--stnc-amber);
  border-bottom: 2px solid var(--stnc-amber);
  padding-bottom: 3px;
  margin-bottom: 16px;
}
.stnc-plate__more {
  display: inline-block;
  margin-top: 6px;
  font-size: 0.78rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--stnc-steel);
  text-decoration: none;
  border-bottom: 1px solid rgba(44, 84, 104, 0.35);
  padding-bottom: 2px;
}
.stnc-plate__more:hover { color: var(--stnc-amber); border-bottom-color: var(--stnc-amber); }

.stnc-rows { display: grid; gap: 26px; }
.stnc-rows--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.stnc-rows--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.stnc-rows--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- readout panel ------------------------------------------------- */

.stnc-readout {
  background: var(--stnc-steel-deep);
  color: #dfeaef;
  padding: 26px 24px 22px;
  border-top: 5px solid var(--stnc-amber);
  box-shadow: var(--stnc-shadow);
}
.stnc-readout__cap {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #9fb9c5;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  margin-bottom: 16px;
}
.stnc-readout__cap b { color: var(--stnc-amber-hi); font-weight: 700; }
.stnc-line {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.2);
  font-size: 0.93rem;
}
.stnc-line:last-child { border-bottom: 0; }
.stnc-line span:first-child { color: #b0c6d0; }
.stnc-line span:last-child { font-family: var(--stnc-type-display); color: var(--stnc-white); }

.stnc-posture {
  position: relative;
  height: 122px;
  margin: 6px 0 18px;
  border-left: 2px solid rgba(255, 255, 255, 0.24);
  border-bottom: 2px solid rgba(255, 255, 255, 0.24);
}
.stnc-posture__trace {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 34%;
  height: 2px;
  background: var(--stnc-amber);
}
.stnc-posture__trace::after {
  content: '';
  position: absolute;
  right: 0;
  top: -4px;
  width: 10px;
  height: 10px;
  background: var(--stnc-amber-hi);
  transform: rotate(45deg);
}
.stnc-posture__band {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 24%;
  height: 22%;
  background: rgba(200, 129, 26, 0.16);
}
.stnc-posture__tag {
  position: absolute;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #9fb9c5;
}

/* ---------- number plates ------------------------------------------------- */

.stnc-counts { background: var(--stnc-steel); color: #e6eef2; padding: 44px 0; }
.stnc-counts__row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  text-align: center;
}
.stnc-count strong {
  display: block;
  font-family: var(--stnc-type-display);
  font-size: 2rem;
  color: var(--stnc-amber-hi);
  line-height: 1.1;
}
.stnc-count span {
  display: block;
  margin-top: 6px;
  font-size: 0.7rem;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: #c1d4dc;
}

/* ---------- split feature ------------------------------------------------- */

.stnc-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 52px;
  align-items: start;
}
.stnc-split--lean { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); }

/* ---------- ordered method ladder ----------------------------------------- */

.stnc-ladder { counter-reset: rung; display: grid; gap: 0; }
.stnc-rung {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 24px;
  padding: 26px 0;
  border-top: 1px solid var(--stnc-rule);
}
.stnc-rung:last-child { border-bottom: 1px solid var(--stnc-rule); }
.stnc-rung__no {
  font-family: var(--stnc-type-display);
  font-size: 1.9rem;
  color: var(--stnc-amber);
  line-height: 1;
}
.stnc-rung h3 { margin-bottom: 0.35em; }
.stnc-rung p { margin-bottom: 0; color: #46606c; }
.stnc-rung__meta {
  display: block;
  margin-top: 10px;
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--stnc-steel-soft);
}

/* ---------- quote cards --------------------------------------------------- */

.stnc-note {
  background: var(--stnc-white);
  border-left: 4px solid var(--stnc-amber);
  padding: 24px 24px 20px;
  box-shadow: 0 12px 26px -22px rgba(16, 34, 44, 0.6);
}
.stnc-note p { font-size: 0.98rem; color: #34505d; }
.stnc-note__stars { color: var(--stnc-amber); letter-spacing: 0.16em; font-size: 0.86rem; }
.stnc-note__by {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--stnc-rule);
}
.stnc-note__badge {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--stnc-steel-mist);
  color: var(--stnc-steel-deep);
  font-family: var(--stnc-type-display);
  font-size: 0.86rem;
  letter-spacing: 0.05em;
}
.stnc-note__by strong { display: block; font-size: 0.92rem; }
.stnc-note__by span { font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--stnc-steel-soft); }

/* ---------- rack tiles ---------------------------------------------------- */

.stnc-tile {
  border: 1px solid var(--stnc-rule-firm);
  background: var(--stnc-white);
  padding: 22px 20px;
  text-align: center;
}
.stnc-tile__abbr {
  display: inline-block;
  font-family: var(--stnc-type-display);
  font-size: 1.05rem;
  letter-spacing: 0.08em;
  color: var(--stnc-white);
  background: var(--stnc-steel);
  padding: 8px 12px;
  margin-bottom: 13px;
}
.stnc-tile strong { display: block; font-size: 1rem; }
.stnc-tile span {
  display: block;
  margin-top: 4px;
  font-size: 0.74rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--stnc-steel-soft);
}

/* ---------- tables -------------------------------------------------------- */

.stnc-sheet {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.94rem;
  background: var(--stnc-white);
  border: 1px solid var(--stnc-rule-firm);
}
.stnc-sheet caption {
  caption-side: top;
  text-align: left;
  font-size: 0.7rem;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: var(--stnc-steel-soft);
  padding-bottom: 10px;
}
.stnc-sheet th,
.stnc-sheet td { padding: 13px 15px; text-align: left; border-bottom: 1px solid var(--stnc-rule); }
.stnc-sheet thead th {
  background: var(--stnc-steel-deep);
  color: #e9f1f4;
  font-family: var(--stnc-type-text);
  font-size: 0.71rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.stnc-sheet tbody tr:nth-child(even) { background: rgba(213, 224, 230, 0.35); }
.stnc-sheet td strong { font-family: var(--stnc-type-display); }
.stnc-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ---------- price plates -------------------------------------------------- */

.stnc-tariff {
  background: var(--stnc-white);
  border: 1px solid var(--stnc-rule-firm);
  padding: 30px 26px;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.stnc-tariff--pick { border-color: var(--stnc-amber); border-width: 2px; }
.stnc-tariff__badge {
  align-self: flex-start;
  font-size: 0.64rem;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  background: var(--stnc-amber);
  color: #17232b;
  padding: 5px 11px;
  margin-bottom: 14px;
}
.stnc-tariff__fee {
  font-family: var(--stnc-type-display);
  font-size: 2.15rem;
  color: var(--stnc-steel-deep);
  line-height: 1;
  margin: 6px 0 4px;
}
.stnc-tariff__span {
  font-size: 0.72rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--stnc-steel-soft);
  margin-bottom: 18px;
  display: block;
}
.stnc-tariff ul { list-style: none; margin: 0 0 22px; padding: 0; flex: 1; }
.stnc-tariff li {
  position: relative;
  padding: 7px 0 7px 24px;
  font-size: 0.93rem;
  color: #45606d;
  border-bottom: 1px dotted var(--stnc-rule);
}
.stnc-tariff li::before {
  content: '';
  position: absolute;
  left: 2px;
  top: 1.05em;
  width: 8px;
  height: 8px;
  background: var(--stnc-amber);
  transform: rotate(45deg);
}

/* ---------- accordions and definition lists ------------------------------- */

.stnc-qa {
  background: var(--stnc-white);
  border: 1px solid var(--stnc-rule-firm);
  margin-bottom: 14px;
  padding: 22px 24px;
}
.stnc-qa h3 { margin-bottom: 0.45em; font-size: 1.08rem; }
.stnc-qa p { margin-bottom: 0; color: #45606d; font-size: 0.97rem; }

.stnc-terms { margin: 0; }
.stnc-terms dt {
  font-family: var(--stnc-type-display);
  font-size: 1.06rem;
  color: var(--stnc-steel-deep);
  margin-top: 22px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--stnc-rule);
}
.stnc-terms dd { margin: 10px 0 0; color: #45606d; font-size: 0.97rem; }

/* ---------- page banner --------------------------------------------------- */

.stnc-banner {
  background: var(--stnc-steel-deep);
  color: #dae7ec;
  padding: 62px 0 56px;
  position: relative;
  overflow: hidden;
}
.stnc-banner::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--stnc-amber) 0%, var(--stnc-amber) 34%, transparent 34%);
}
.stnc-banner h1 { color: var(--stnc-white); margin-bottom: 16px; }
.stnc-banner__trail {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.21em;
  text-transform: uppercase;
  color: var(--stnc-amber-hi);
  margin-bottom: 14px;
}
.stnc-banner__lede { max-width: 640px; color: #bccdd6; font-size: 1.05rem; margin-bottom: 0; }

/* ---------- long-form article -------------------------------------------- */

.stnc-prose { max-width: 720px; }
.stnc-prose h2 { margin-top: 1.7em; }
.stnc-prose h3 { margin-top: 1.5em; }
.stnc-prose p { color: #33505d; }
.stnc-prose ul,
.stnc-prose ol { color: #33505d; padding-left: 22px; margin: 0 0 1.15em; }
.stnc-prose li { margin-bottom: 8px; }
.stnc-prose blockquote {
  margin: 26px 0;
  padding: 18px 24px;
  background: var(--stnc-amber-wash);
  border-left: 4px solid var(--stnc-amber);
  font-family: var(--stnc-type-display);
  font-size: 1.05rem;
  color: var(--stnc-steel-deep);
}
.stnc-prose blockquote p:last-child { margin-bottom: 0; }
.stnc-byline {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  font-size: 0.71rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--stnc-steel-soft);
  margin-bottom: 26px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--stnc-rule);
}

/* ---------- journal index: ruled entry rows ------------------------------- */

.stnc-journal { border-top: 2px solid var(--stnc-rule-firm); }

.stnc-entry {
  display: grid;
  grid-template-columns: 186px minmax(0, 1fr);
  gap: 34px;
  padding: 30px 0;
  border-bottom: 1px solid var(--stnc-rule);
}
.stnc-entry:hover { background: rgba(255, 255, 255, 0.55); }

.stnc-entry__meta {
  display: flex;
  flex-direction: column;
  gap: 9px;
  align-items: flex-start;
  padding-top: 4px;
}
.stnc-entry__date {
  font-family: var(--stnc-type-display);
  font-size: 0.94rem;
  color: var(--stnc-steel-deep);
}
.stnc-entry__tag {
  font-size: 0.63rem;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: #17232b;
  background: var(--stnc-amber-wash);
  border: 1px solid rgba(200, 129, 26, 0.45);
  padding: 4px 9px;
}
.stnc-entry__who {
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--stnc-steel-soft);
}

.stnc-entry__body h2 {
  font-size: clamp(1.28rem, 2vw, 1.62rem);
  margin-bottom: 0.4em;
}
.stnc-entry__body h2 a {
  color: var(--stnc-steel-deep);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: border-color 160ms ease, color 160ms ease;
}
.stnc-entry__body h2 a:hover { color: var(--stnc-amber); border-bottom-color: var(--stnc-amber); }
.stnc-entry__body p { color: #45606d; font-size: 0.99rem; margin-bottom: 0.7em; }

/* ---------- previous / next pager ----------------------------------------- */

.stnc-pager {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.stnc-pager__side {
  display: block;
  background: var(--stnc-white);
  border: 1px solid var(--stnc-rule-firm);
  border-left: 4px solid var(--stnc-amber);
  padding: 20px 22px;
  text-decoration: none;
  transition: transform 170ms ease, border-color 170ms ease;
}
.stnc-pager__side:hover { transform: translateY(-2px); border-color: var(--stnc-steel); border-left-color: var(--stnc-amber-hi); }
.stnc-pager__side span {
  display: block;
  font-size: 0.66rem;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  color: var(--stnc-steel-soft);
  margin-bottom: 7px;
}
.stnc-pager__side strong {
  font-family: var(--stnc-type-display);
  font-size: 1.06rem;
  color: var(--stnc-steel-deep);
  line-height: 1.25;
}
.stnc-pager__side--next {
  text-align: right;
  border-left: 1px solid var(--stnc-rule-firm);
  border-right: 4px solid var(--stnc-amber);
}
.stnc-pager__side--next:hover { border-right-color: var(--stnc-amber-hi); }

/* ---------- forms --------------------------------------------------------- */

.stnc-form {
  background: var(--stnc-white);
  border: 1px solid var(--stnc-rule-firm);
  padding: 30px 28px;
}
.stnc-field { margin-bottom: 18px; }
.stnc-field label {
  display: block;
  font-size: 0.71rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--stnc-steel);
  margin-bottom: 7px;
  font-weight: 700;
}
.stnc-field input,
.stnc-field select,
.stnc-field textarea {
  width: 100%;
  font-family: var(--stnc-type-text);
  font-size: 0.97rem;
  padding: 12px 13px;
  border: 1px solid var(--stnc-rule-firm);
  background: var(--stnc-paper);
  color: var(--stnc-ink);
}
.stnc-field input:focus,
.stnc-field select:focus,
.stnc-field textarea:focus {
  outline: 2px solid var(--stnc-amber);
  outline-offset: 1px;
  background: var(--stnc-white);
}
.stnc-field textarea { min-height: 132px; resize: vertical; }
.stnc-field--pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.stnc-field__hint { display: block; margin-top: 6px; font-size: 0.8rem; color: var(--stnc-steel-soft); letter-spacing: 0; text-transform: none; }

/* ---------- closing call -------------------------------------------------- */

.stnc-close {
  background: var(--stnc-steel-deep);
  color: #dbe7ec;
  padding: 68px 0;
  text-align: center;
}
.stnc-close h2 { color: var(--stnc-white); max-width: 22ch; margin-left: auto; margin-right: auto; }
.stnc-close p { max-width: 58ch; margin-left: auto; margin-right: auto; color: #b7cad3; }
.stnc-close__row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 26px; }

/* ---------- footer -------------------------------------------------------- */

.stnc-endmatter { background: var(--stnc-ink); color: #b9cbd4; padding-top: 62px; font-size: 0.93rem; }
.stnc-endmatter__grid {
  display: grid;
  grid-template-columns: 1.5fr 1.15fr 0.85fr 0.85fr;
  gap: 38px;
  padding-bottom: 48px;
}
.stnc-endmatter__mark {
  display: block;
  font-family: var(--stnc-type-display);
  font-size: 1.35rem;
  color: var(--stnc-amber-hi);
  letter-spacing: 0.04em;
  margin-bottom: 14px;
}
.stnc-endmatter__head {
  font-size: 0.73rem;
  letter-spacing: 0.19em;
  text-transform: uppercase;
  color: var(--stnc-white);
  margin-bottom: 16px;
  font-family: var(--stnc-type-text);
  font-weight: 700;
}
.stnc-endmatter p { color: #9db2bd; }
.stnc-endmatter address { font-style: normal; color: #9db2bd; margin-bottom: 12px; }
.stnc-endmatter__line { margin-bottom: 6px; }
.stnc-endmatter a { color: var(--stnc-amber-hi); text-decoration: none; }
.stnc-endmatter a:hover { text-decoration: underline; }
.stnc-endmatter__tags { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.stnc-endmatter__tags li {
  font-size: 0.67rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 5px 10px;
  color: #a9bfc9;
}
.stnc-endmatter__links { list-style: none; margin: 0; padding: 0; }
.stnc-endmatter__links li { margin-bottom: 9px; }
.stnc-clock { margin: 14px 0 0; }
.stnc-clock__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 5px 0;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.14);
  font-size: 0.83rem;
}
.stnc-clock dt { color: #d3e0e6; }
.stnc-clock dd { margin: 0; color: #9db2bd; }
.stnc-endmatter__rule { border-top: 1px solid rgba(255, 255, 255, 0.13); padding: 20px 0 26px; }
.stnc-endmatter__rule-inner {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  font-size: 0.79rem;
}
.stnc-endmatter__rule-inner p { margin: 0; }

/* ---------- utilities ----------------------------------------------------- */

.stnc-mid { text-align: center; }
.stnc-lead-in { font-size: 1.08rem; color: #3c5765; }
.stnc-gap-top { margin-top: 34px; }
.stnc-gap-top-sm { margin-top: 18px; }
.stnc-checklist { list-style: none; margin: 0 0 18px; padding: 0; }
.stnc-checklist li {
  position: relative;
  padding: 8px 0 8px 26px;
  border-bottom: 1px dotted var(--stnc-rule);
  color: #45606d;
  font-size: 0.96rem;
}
.stnc-checklist li::before {
  content: '';
  position: absolute;
  left: 3px;
  top: 1.15em;
  width: 9px;
  height: 2px;
  background: var(--stnc-amber);
}

/* ---------- reveal, gated behind the js-on hook on <html> ------------------ */

.js-on .stnc-rise {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 520ms ease, transform 520ms ease;
}
.js-on .stnc-rise.is-shown { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js-on .stnc-rise { opacity: 1; transform: none; transition: none; }
  .stnc-button:hover { transform: none; }
}

/* ---------- breakpoints --------------------------------------------------- */

@media (max-width: 1080px) {
  .stnc-menu { gap: 18px; }
  .stnc-menu__item a { font-size: 0.73rem; letter-spacing: 0.11em; }
  .stnc-endmatter__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 940px) {
  .stnc-opening__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .stnc-split,
  .stnc-split--lean { grid-template-columns: minmax(0, 1fr); gap: 34px; }
  .stnc-rows--three,
  .stnc-rows--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stnc-counts__row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
}

@media (max-width: 820px) {
  .stnc-entry { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .stnc-entry__meta { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 12px; }
  .stnc-nav { display: none; }
  .stnc-burger { display: block; }
  .stnc-masthead { padding-top: 18px; }
  .stnc-masthead__grid { grid-template-columns: minmax(0, 1fr); }
  .stnc-wordmark { align-items: flex-start; text-align: left; padding: 0; }
  .stnc-masthead__foot { justify-content: flex-start; padding-top: 14px; }
  .stnc-ticker__item--hide-sm { display: none; }
  .stnc-band { padding: 56px 0; }
  .stnc-opening { padding: 46px 0 60px; }
}

@media (max-width: 620px) {
  body.stnc-body { font-size: 16px; }
  :root { --stnc-gutter: 18px; }
  .stnc-rows--two,
  .stnc-rows--three,
  .stnc-rows--four { grid-template-columns: minmax(0, 1fr); }
  .stnc-plate::before { display: none; }
  .stnc-field--pair { grid-template-columns: minmax(0, 1fr); }
  .stnc-endmatter__grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .stnc-rung { grid-template-columns: 52px minmax(0, 1fr); gap: 16px; }
  .stnc-counts__row { grid-template-columns: minmax(0, 1fr); }
  .stnc-opening::after { display: none; }
  .stnc-close { padding: 52px 0; }
  .stnc-pager { grid-template-columns: minmax(0, 1fr); }
  .stnc-pager__side--next { text-align: left; border-right: 1px solid var(--stnc-rule-firm); border-left: 4px solid var(--stnc-amber); }
}
