/* ============================================================
   herzingstudent.com — interior furniture
   Only what the homepage comp has no example of. styles.css stays
   extraction-only from design/homepage.html; nothing here overrides it.
   Same register as the comp: ruled ledger rows, right-aligned tabular
   figures, navy rules, nothing carded.
   ============================================================ */

.masthead-page { border-bottom: 1px solid var(--line); }
.masthead-page .frame { padding-block: clamp(2.5rem, 5.5vw, 4rem) clamp(1.75rem, 3.5vw, 2.75rem); }
.masthead-page h1 { font-size: clamp(2.1rem, 4.8vw, 3.4rem); max-width: 19ch; }
.masthead-page .standfirst { margin-top: 1.3rem; font-size: 1.12rem; color: var(--text); max-width: 54ch; line-height: 1.6; }
.masthead-page .provenance { margin-top: 1.5rem; font-size: .88rem; color: var(--faint); max-width: 62ch; }

.sheet { }
.sheet .frame { padding-block: clamp(2.5rem, 5vw, 3.75rem); }
.sheet-tint { background: var(--leaf); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.sheet-navy { background: var(--navy); color: #fff; }
.sheet-navy h2 { color: #fff; }
.sheet-navy .prose { color: rgba(255,255,255,.78); }
.sheet-navy .prose strong { color: #fff; }

.sheet h2 { font-size: clamp(1.7rem, 3.6vw, 2.5rem); max-width: 24ch; }
.sheet h3 { font-size: clamp(1.2rem, 2.4vw, 1.5rem); margin-top: 2rem; }
.prose { margin-top: 1.1rem; font-size: 1.05rem; color: var(--text); line-height: 1.68; max-width: 62ch; }
.prose + .prose { margin-top: 1rem; }
.prose strong { color: var(--ink); font-weight: 700; }
.prose a { color: var(--navy-mid); text-decoration: underline; text-underline-offset: 3px; }

/* a quoted policy line — used where we reproduce Herzing's own wording */
.quoted { margin-top: 1.5rem; border-left: 3px solid var(--green-fill); padding: .3rem 0 .3rem 1.35rem; max-width: 56ch; }
.quoted p { font-size: 1.12rem; line-height: 1.55; color: var(--ink); }
.quoted cite { display: block; margin-top: .6rem; font-style: normal; font-size: .88rem; color: var(--faint); }

/* ruled ledger, the interior workhorse */
.rule-set { margin-top: clamp(1.75rem, 3.5vw, 2.5rem); border-top: 2px solid var(--navy); }
.sheet-navy .rule-set { border-top-color: rgba(255,255,255,.35); }
.rule-row { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr) minmax(0, auto); gap: clamp(.9rem, 3vw, 2.5rem); align-items: baseline; padding-block: 1.2rem; border-bottom: 1px solid var(--line); }
.sheet-navy .rule-row { border-bottom-color: rgba(255,255,255,.16); }
@media (max-width: 800px) { .rule-row { grid-template-columns: 1fr; gap: .35rem; } }
.rule-row dt, .rule-row .k { font-family: var(--disp); font-weight: 700; font-size: 1rem; letter-spacing: -.02em; }
.rule-row dd, .rule-row .v { margin: 0; font-size: .98rem; color: var(--muted); line-height: 1.6; }
.sheet-navy .rule-row dd { color: rgba(255,255,255,.74); }
.rule-row .fig { font-family: var(--disp); font-weight: 800; font-size: 1.05rem; color: var(--green); white-space: nowrap; }
.sheet-navy .rule-row .fig { color: var(--amber-fill); }
@media (min-width: 801px) { .rule-row .fig { text-align: right; } }
.rule-row .fig.warn { color: var(--amber); }

/* a two-column reckoning, reused from the homepage register */
.two-books { margin-top: clamp(1.75rem, 3.5vw, 2.5rem); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); }
@media (max-width: 820px) { .two-books { grid-template-columns: 1fr; gap: 2rem; } }

/* a plain figure callout */
.figure-line { margin-top: clamp(1.75rem, 3.5vw, 2.5rem); border-top: 3px solid var(--navy); border-bottom: 3px double var(--navy); padding-block: 1.35rem; display: grid; grid-template-columns: 1fr auto; gap: 1.5rem; align-items: baseline; }
.figure-line span { font-size: 1rem; color: var(--muted); max-width: 46ch; }
.figure-line b { font-family: var(--disp); font-weight: 800; font-size: clamp(1.8rem, 4vw, 2.6rem); letter-spacing: -.04em; text-align: right; }

/* next-steps rail at the foot of interior pages */
.onward { border-top: 1px solid var(--line); }
.onward .frame { padding-block: clamp(2.5rem, 5vw, 3.5rem); }
.onward h2 { font-size: clamp(1.4rem, 2.8vw, 1.85rem); }
.onward-set { margin-top: 1.5rem; border-top: 2px solid var(--navy); }
.onward-set a { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr) auto; gap: clamp(1rem, 3vw, 2.5rem); align-items: baseline; padding-block: 1.2rem; border-bottom: 1px solid var(--line); text-decoration: none; transition: padding-left .15s ease; }
.onward-set a:hover { padding-left: .6rem; }
.onward-set strong { font-family: var(--disp); font-weight: 700; font-size: 1.1rem; letter-spacing: -.026em; }
.onward-set span { font-size: .98rem; color: var(--text); }
.onward-set i { font-style: normal; color: var(--green); font-size: 1.2rem; transition: transform .15s ease; }
.onward-set a:hover i { transform: translateX(4px); }
@media (max-width: 800px) { .onward-set a { grid-template-columns: 1fr auto; } .onward-set span { grid-column: 1 / -1; } }

/* interior call to action */
.ask-band { background: var(--green-wash); border-top: 1px solid var(--line); }
.ask-band .frame { padding-block: clamp(2.5rem, 5vw, 3.5rem); display: grid; gap: 1.35rem; }
.ask-band h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); max-width: 22ch; }
.ask-band p { font-size: 1.05rem; color: var(--text); max-width: 54ch; }
.ask-band .go { justify-self: start; }


/* ============================================================
   ARTICLE FURNITURE  +  Q&A BLOCKS  (answer-engine structure)
   ============================================================ */

.answer-first { margin-top: 1.5rem; border-left: 4px solid var(--green-fill); background: var(--green-wash); padding: 1.25rem 1.5rem; border-radius: 0 8px 8px 0; max-width: 62ch; }
.answer-first p { font-size: 1.08rem; line-height: 1.6; color: var(--ink); }
.answer-first p + p { margin-top: .7rem; }
.answer-first b { font-weight: 700; }

.byline { margin-top: 1.1rem; font-size: .88rem; color: var(--faint); }
.byline b { color: var(--muted); font-weight: 600; }

.qa-set { margin-top: clamp(1.75rem, 3.5vw, 2.5rem); border-top: 2px solid var(--navy); }
.qa { border-bottom: 1px solid var(--line); padding-block: 1.35rem; }
.qa h3 { font-family: var(--disp); font-weight: 700; font-size: 1.12rem; letter-spacing: -.024em; margin: 0; max-width: 52ch; }
.qa .a { margin-top: .6rem; font-size: 1rem; color: var(--text); line-height: 1.65; max-width: 64ch; }
.qa .a p + p { margin-top: .7rem; }

.index-set { margin-top: clamp(1.75rem, 3.5vw, 2.5rem); border-top: 2px solid var(--navy); }
.index-set a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem; align-items: baseline; padding-block: 1.3rem; border-bottom: 1px solid var(--line); text-decoration: none; transition: padding-left .15s ease; }
.index-set a:hover { padding-left: .6rem; }
.index-set strong { font-family: var(--disp); font-weight: 700; font-size: 1.14rem; letter-spacing: -.026em; display: block; }
.index-set span { display: block; margin-top: .35rem; font-size: .97rem; color: var(--muted); line-height: 1.55; max-width: 68ch; }
.index-set i { font-style: normal; color: var(--green); font-size: 1.2rem; }

.people { margin-top: clamp(1.75rem, 3.5vw, 2.5rem); display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.25rem; }
.person { background: var(--leaf); border: 1px solid var(--line); border-radius: 10px; padding: 1.5rem; }
.person h3 { font-size: 1.08rem; margin: 0 0 .4rem; }
.person p { font-size: .95rem; color: var(--muted); line-height: 1.6; }

.voices { margin-top: clamp(1.75rem, 3.5vw, 2.5rem); display: grid; gap: 1rem; }
.voice { background: var(--leaf); border: 1px solid var(--line); border-left: 4px solid var(--green-fill); border-radius: 0 10px 10px 0; padding: 1.5rem 1.75rem; }
.voice p { font-size: 1.05rem; line-height: 1.6; color: var(--ink); max-width: 66ch; }
.voice cite { display: block; margin-top: .8rem; font-style: normal; font-size: .9rem; color: var(--faint); }

/* index rows wrap their text so the arrow can sit in its own grid column */
.index-set .wrap-t { display: block; margin: 0; color: inherit; max-width: none; }
