/* Homepage below the existing hero. All rules are scoped; other pages are unchanged. */
.reference-home {
  --rh-inset: max(24px, calc((100vw - 1360px) / 2));
  --rh-border: #1c373f;
  max-width: 1920px;
  margin: 0 auto;
  background: #050d10;
  border-inline: 1px solid #10262c;
}
.reference-home .rh-band { position: relative; isolation: isolate; overflow: hidden; border-bottom: 1px solid var(--rh-border); }
.reference-home .rh-heading { position: relative; display: flex; align-items: center; margin-bottom: 10px; min-height: 29px; }
.reference-home .rh-heading h2 { margin: 0; font: 600 clamp(23px, 2vw, 29px)/1.1 var(--display); letter-spacing: .08em; color: #edf2f2; }
.reference-home .rh-index { position: absolute; left: -45px; width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid #40636d; color: #b3d7de; font: 500 10px/1 var(--mono); letter-spacing: .02em; }
.reference-home .rh-copy { z-index: 2; position: relative; align-self: center; padding: 24px 28px 24px calc(var(--rh-inset) + 44px); }
.reference-home .eyebrow { margin: 0 0 12px; font: 500 9px/1.55 var(--mono); letter-spacing: .15em; color: #8bd0dc; }
.reference-home p:not(.eyebrow) { font-size: 13px; line-height: 1.65; max-width: 415px; margin: 0 0 10px; color: #c0cccf; }
.reference-home .btn { min-height: 35px; padding: 8px 13px; font: 500 10px/1.4 var(--mono); letter-spacing: .025em; border-color: #73aab4; gap: 15px; }
.reference-home .btn .icon { width: 14px; height: 14px; }
.reference-home .btn:hover { color: #eefcfd; background: #1d3c46; }
.reference-home .btn-primary:hover { color: #071317; background: #c5f7f7; }
.reference-home .rh-copy > .btn { margin-top: 7px; }
.reference-home .rh-scene { position: relative; overflow: hidden; background: #070e12; }
.reference-home .rh-scene img { display: block; width: 100%; height: 100%; object-fit: cover; }
.reference-home .rh-marginal { font: 400 8px/1.8 var(--mono); letter-spacing: .12em; color: #a1c2ca; position: relative; z-index: 1; align-self: end; padding: 18px 18px 23px; }
.reference-home .rh-marginal span { border-left: 1px solid #3a646f; display: block; padding-left: 14px; }
/* World: a continuous scene, not an image card with a separate grey frame. */
.reference-home .rh-world { min-height: 238px; display: grid; grid-template-columns: 36% 50% 14%; }
.reference-home .rh-world .rh-copy { grid-column: 1; }
.reference-home .rh-world-scene { position: absolute; inset: 0 0 0 29%; z-index: 0; }
.reference-home .rh-world-scene img { object-position: 61% center; }
.reference-home .rh-world-scene::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #050d10 0%, #050d10a0 11%, transparent 29%, transparent 76%, #050d10da 93%, #050d10 100%), linear-gradient(0deg, #030a0d88, transparent 40%); }
.reference-home .rh-world .rh-marginal { grid-column: 3; }
/* Archetype file photographs with HTML labels and working detail-page links. */
.reference-home .rh-archetypes { display: grid; grid-template-columns: 35% 65%; min-height: 240px; }
.reference-home .rh-subjects { min-width: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; padding: 11px var(--rh-inset) 11px 4px; }
.reference-home .rh-subject { min-width: 0; min-height: 218px; border: 1px solid #2a444e; overflow: hidden; position: relative; isolation: isolate; background: #0d181e; display: flex; align-items: end; }
.reference-home .rh-subject img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 32%; transition: transform .25s, filter .25s; }
.reference-home .rh-subject::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(0deg, #030b10 0%, #030b10db 12%, #030b1000 65%); }
.reference-home .rh-subject-label { width: 100%; padding: 12px 13px; }
.reference-home .rh-subject h3 { color: #e9f0f1; margin: 0 0 4px; font: 600 clamp(17px, 1.55vw, 23px)/1.15 var(--display); letter-spacing: .06em; text-transform: uppercase; overflow-wrap: anywhere; }
.reference-home .rh-subject span { display: block; color: #93c8d2; font: 400 8px/1.5 var(--mono); letter-spacing: .16em; text-transform: uppercase; }
.reference-home .rh-subject:hover img { transform: scale(1.035); filter: brightness(1.12); }
.reference-home .rh-subject:hover { border-color: #8cd8e1; }
/* The authority: troop formation, doctrine, and an insignia column. */
.reference-home .rh-authority { min-height: 247px; display: grid; grid-template-columns: 49% 37% 14%; }
.reference-home .rh-cortex-scene { grid-column: 1; }
.reference-home .rh-cortex-scene img { position: absolute; inset: 0; object-position: 43% center; }
.reference-home .rh-cortex-scene::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 75%, #050d10b0), linear-gradient(0deg,#050d1040,transparent 32%); }
.reference-home .rh-authority .rh-copy { padding-left: 66px; padding-right: 27px; }
.reference-home .rh-insignia { display: flex; flex-direction: column; justify-content: center; align-items: center; border-left: 1px solid #23444e; margin: 25px 0; color: #d0dce0; }
.reference-home .rh-cortex-mark { width: 54px; height: 77px; margin-bottom: 12px; }
.reference-home .rh-insignia strong { font: 500 11px/1.5 var(--mono); letter-spacing: .28em; padding-left: .28em; }
.reference-home .rh-insignia > span { margin-top: 15px; font: 400 7px/1.8 var(--mono); letter-spacing: .14em; color: #84a9b4; }
/* Society image is a warm counterpoint to the institutional cyan. */
.reference-home .rh-societies { display: grid; grid-template-columns: 36% 50% 14%; min-height: 223px; }
.reference-home .rh-society-scene { position: absolute; inset: 0 0 0 31%; z-index: 0; }
.reference-home .rh-society-scene img { object-position: 64% center; }
.reference-home .rh-society-scene::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#050d10 0%,#050d1075 14%,transparent 35%,transparent 76%,#050d10a6 97%),linear-gradient(0deg,#030a0d70,transparent 32%); }
.reference-home .rh-societies .rh-copy { grid-column: 1; }
.reference-home .rh-societies .rh-marginal { grid-column: 3; background: #061015b3; padding-top: 14px; }
/* Short operational strip. Every icon links to the existing systems page. */
.reference-home .rh-systems { display: grid; grid-template-columns: 34% 38% 28%; min-height: 157px; }
.reference-home .rh-systems .rh-copy { padding-top: 20px; padding-bottom: 20px; }
.reference-home .rh-system-links { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); align-items: center; gap: 15px; padding: 20px 24px 20px 12px; }
.reference-home .rh-system-links a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; min-height: 76px; }
.reference-home .rh-system-links .icon { width: 28px; height: 28px; color: #8dd7e4; transition: transform .18s; }
.reference-home .rh-system-links span { font: 400 8px/1.6 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: #afcbd1; }
.reference-home .rh-system-links a:hover .icon { transform: translateY(-3px); color: #d4fbff; }
.reference-home .rh-system-poster { display: block; position: relative; min-height: 100%; overflow: hidden; }
.reference-home .rh-system-poster img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: 48% center; }
.reference-home .rh-system-poster::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#050d10,transparent 28%),linear-gradient(0deg,#020a0ceb,transparent 35%); }
.reference-home .rh-system-poster > span { position: absolute; z-index: 1; bottom: 13px; right: 18px; display: flex; gap: 10px; align-items: center; font: 400 8px/1.6 var(--mono); color: #c9edf2; letter-spacing: .1em; }
/* Three panels preserve the reference's silhouette. Getting Started replaces Development. */
.reference-home .rh-community { display: grid; grid-template-columns: 1fr 1.15fr 1fr; border-bottom: 1px solid var(--rh-border); }
.reference-home .rh-community-card { min-height: 286px; position: relative; isolation: isolate; overflow: hidden; border-right: 1px solid var(--rh-border); background: #060e12; }
.reference-home .rh-community-card:last-child { border-right: 0; }
.reference-home .rh-card-content { position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column; padding: 23px 24px 23px 62px; }
.reference-home .rh-wiki .rh-card-content { padding-left: calc(var(--rh-inset) + 44px); }
.reference-home .rh-start .rh-card-content { padding-right: var(--rh-inset); }
.reference-home .rh-community .rh-heading h2 { font-size: 22px; letter-spacing: .05em; }
.reference-home .rh-community .eyebrow { font-size: 8px; letter-spacing: .13em; }
.reference-home .rh-community p:not(.eyebrow) { font-size: 12px; line-height: 1.65; }
.reference-home .rh-card-art { position: absolute; inset: 0 0 0 25%; z-index: -1; }
.reference-home .rh-card-art img { height: 100%; width: 100%; object-fit: cover; }
.reference-home .rh-card-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#060e12 0%,#060e12b3 30%,#060e1230 100%),linear-gradient(0deg,#060e12db 0%,transparent 25%,#060e12be 96%); }
.reference-home .rh-wiki .rh-card-art { left: 35%; opacity: .85; }
.reference-home .rh-wiki .rh-card-art img { object-position: 64% center; }
.reference-home .rh-start .rh-card-art { inset: 0; opacity: .72; }
.reference-home .rh-start .rh-card-art img { object-position: 100% center; }
.reference-home .rh-start .rh-card-art::after { background: linear-gradient(90deg,#060e12dc,#060e1299),linear-gradient(0deg,#060e12,transparent 60%); }
.reference-home .rh-live { flex: 1; min-height: 60px; margin: 6px 0 10px; padding-top: 0; border-top: 0; }
.reference-home .rh-live p { font-size: 11px; max-width: 215px; color: #9fbac3; line-height: 1.65; }
.reference-home .rh-live .mini-forum { min-height: 29px; padding: 6px 8px; border: 1px solid #26454f; border-bottom: 0; background: #071317bb; gap: 9px; }
.reference-home .rh-live .mini-forum:last-child { border-bottom: 1px solid #26454f; }
.reference-home .rh-live .mini-forum strong { font-size: 10px; overflow-wrap: anywhere; }
.reference-home .rh-live .mini-forum span { font-size: 8px; white-space: nowrap; }
.reference-home .rh-live .mini-forum .icon { width: 12px; height: 12px; }
.reference-home .rh-live .mini-record { border-color: #294753; background: #071317b3; padding: 6px; gap: 8px; }
.reference-home .rh-live .mini-record strong { font-size: 11px; overflow-wrap: anywhere; }
.reference-home .rh-live .mini-record small { font-size: 8px; }
.reference-home .rh-live .mini-record > span { width: 27px; height: 29px; }
.reference-home .rh-card-content > .btn { margin-top: 6px; align-self: flex-start; }
.reference-home .rh-start-steps { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 9px; margin: 2px 0 15px; }
.reference-home .rh-start-steps > span { font: 400 10px/1.5 var(--mono); color: #b6c7ce; }
.reference-home .rh-start-steps b { color: #84cbd8; padding-right: 10px; font-size: 9px; font-weight: 400; }
/* The final call to action sits in a single street panorama. */
.reference-home .rh-entry { min-height: 171px; position: relative; isolation: isolate; overflow: hidden; text-align: center; display: grid; place-items: center; padding: 22px; border-bottom: 1px solid var(--rh-border); }
.reference-home .rh-entry-art { position: absolute; inset-block: 0; z-index: -2; }
.reference-home .rh-entry-art img { width: 100%; height: 100%; object-fit: cover; }
.reference-home .rh-entry-left { left: 0; width: 39%; }
.reference-home .rh-entry-right { right: 0; width: 30%; }
.reference-home .rh-entry::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,transparent 0%,#050d1055 20%,#050d10f7 37%,#050d10 58%,#050d1060 82%,transparent 100%); }
.reference-home .rh-entry h2 { font: 600 18px/1.3 var(--display); letter-spacing: .18em; margin: 0 0 9px; }
.reference-home .rh-entry p { max-width: none; font: 400 11px/1.7 var(--mono); margin-bottom: 16px; color: #bdd1d7; }
.reference-home .rh-entry .actions { justify-content: center; gap: 10px; }
/* Homepage footer only: preserve the links, remove the oversized column layout. */
body:has(.reference-home) > .site-footer { padding-top: 0; }
body:has(.reference-home) > .site-footer .footer-grid { display: flex; flex-wrap: wrap; gap: 18px 26px; align-items: center; justify-content: space-between; padding-block: 23px 14px; }
body:has(.reference-home) > .site-footer .footer-grid > div:not(.footer-intro) { display: flex; flex-wrap: wrap; column-gap: 15px; row-gap: 4px; }
body:has(.reference-home) > .site-footer .footer-grid h4,
body:has(.reference-home) > .site-footer .footer-intro > p { display: none; }
body:has(.reference-home) > .site-footer .footer-grid > div > a:not(.brand) { font-size: 10px; margin-bottom: 0; }
body:has(.reference-home) > .site-footer .footer-bottom { padding-block: 12px 15px; }
body:has(.reference-home) > .site-footer .footer-bottom > p { font-size: 8px; }
@media (min-width:1921px) { .reference-home { --rh-inset: 64px; } }
@media (max-width:1180px) {
  .reference-home .rh-copy { padding-left: 62px; padding-right: 22px; }
  .reference-home .rh-world, .reference-home .rh-societies { grid-template-columns: 39% 47% 14%; }
  .reference-home .rh-archetypes { grid-template-columns: 36% 64%; }
  .reference-home .rh-authority { grid-template-columns: 46% 42% 12%; }
  .reference-home .rh-authority .rh-copy { padding-left: 57px; padding-right: 17px; }
  .reference-home .rh-insignia > span { font-size: 6px; letter-spacing: .03em; }
  .reference-home .rh-insignia strong { font-size: 9px; }
  .reference-home .rh-cortex-mark { width: 45px; height: 67px; }
  .reference-home .rh-community .rh-card-content { padding-left: 53px; padding-right: 18px; }
  .reference-home .rh-community .rh-index { left: -38px; width: 27px; height: 27px; font-size: 9px; }
  .reference-home .rh-community .rh-heading h2 { font-size: 19px; }
  .reference-home .rh-community .eyebrow { font-size: 7px; }
  .reference-home .rh-card-content > .btn { font-size: 9px; padding-inline: 10px; gap: 9px; }
  .reference-home .rh-start-steps > span { font-size: 9px; }
  .reference-home .rh-system-links { gap: 10px; padding-right: 15px; }
}
@media (max-width:850px) {
  .reference-home .rh-world, .reference-home .rh-societies { grid-template-columns: 47% 53%; min-height: 270px; }
  .reference-home .rh-marginal { display: none; }
  .reference-home .rh-world-scene, .reference-home .rh-society-scene { left: 37%; }
  .reference-home .rh-archetypes { grid-template-columns: 1fr; }
  .reference-home .rh-archetypes .rh-copy { padding-bottom: 14px; }
  .reference-home .rh-archetypes p:not(.eyebrow) { max-width: none; }
  .reference-home .rh-subjects { padding: 6px 20px 20px; gap: 10px; }
  .reference-home .rh-subject { min-height: 230px; }
  .reference-home .rh-subject h3 { font-size: 22px; }
  .reference-home .rh-authority { grid-template-columns: 42% 58%; }
  .reference-home .rh-insignia { display: none; }
  .reference-home .rh-authority .rh-copy { padding-right: 24px; }
  .reference-home .rh-systems { grid-template-columns: 48% 52%; }
  .reference-home .rh-system-poster { display: none; }
  .reference-home .rh-system-links { padding-inline: 14px 22px; gap: 10px; }
  .reference-home .rh-community { grid-template-columns: 1fr 1fr; }
  .reference-home .rh-start { grid-column: 1/-1; min-height: 0; border-top: 1px solid var(--rh-border); }
  .reference-home .rh-start .rh-card-content { padding: 24px 24px 24px 62px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 30px; }
  .reference-home .rh-start .rh-heading, .reference-home .rh-start .eyebrow, .reference-home .rh-start p { grid-column: 1; }
  .reference-home .rh-start .rh-start-steps { grid-column: 2; grid-row: 1 / span 3; }
  .reference-home .rh-start .rh-btn { grid-column: 1; }
  .reference-home .rh-community .rh-heading h2 { font-size: 24px; }
  .reference-home .rh-community .eyebrow { font-size: 8px; }
  .reference-home .rh-community .rh-card-content > .btn { font-size: 10px; }
  .reference-home .rh-entry { min-height: 180px; }
}
@media (max-width:600px) {
  .reference-home { border-inline: 0; }
  .reference-home .rh-copy { padding: 25px 24px 23px 63px; }
  .reference-home .rh-heading h2 { font-size: 27px; letter-spacing: .045em; }
  .reference-home .rh-index { left: -43px; }
  .reference-home .eyebrow { font-size: 8px; letter-spacing: .1em; }
  .reference-home p:not(.eyebrow) { font-size: 14px; line-height: 1.7; }
  .reference-home .btn { min-height: 42px; font-size: 10px; padding: 10px 13px; }
  .reference-home .rh-world, .reference-home .rh-societies { display: flex; flex-direction: column; }
  .reference-home .rh-world .rh-copy, .reference-home .rh-societies .rh-copy { width: 100%; align-self: auto; }
  .reference-home .rh-world-scene, .reference-home .rh-society-scene { position: relative; inset: auto; order: 2; width: 100%; height: 174px; }
  .reference-home .rh-world-scene::after, .reference-home .rh-society-scene::after { background: linear-gradient(180deg,#050d10a0,transparent 32%,transparent 85%,#050d1040); }
  .reference-home .rh-world-scene img { object-position: 65% center; }
  .reference-home .rh-society-scene img { object-position: 63% center; }
  .reference-home .rh-subjects { grid-template-columns: 1fr 1fr; padding: 5px 20px 23px; gap: 12px; }
  .reference-home .rh-subject { min-height: 205px; }
  .reference-home .rh-subject h3 { font-size: clamp(18px, 5vw, 22px); overflow-wrap: normal; }
  .reference-home .rh-subject span { font-size: 9px; }
  .reference-home .rh-subject-label { padding: 15px; }
  .reference-home .rh-authority { display: flex; flex-direction: column; }
  .reference-home .rh-authority .rh-copy { order: 0; padding: 25px 24px 23px 63px; }
  .reference-home .rh-cortex-scene { min-height: 184px; order: 1; width: 100%; }
  .reference-home .rh-cortex-scene::after { background: linear-gradient(0deg,#050d1055,transparent 30%); }
  .reference-home .rh-systems { grid-template-columns: 1fr; }
  .reference-home .rh-system-links { padding: 0 23px 20px; gap: 8px; }
  .reference-home .rh-system-links a { min-height: 80px; }
  .reference-home .rh-system-links span { font-size: 9px; letter-spacing: .07em; }
  .reference-home .rh-community { grid-template-columns: 1fr; }
  .reference-home .rh-community-card { min-height: 275px; border-bottom: 1px solid var(--rh-border); border-right: 0; }
  .reference-home .rh-community-card:last-child { border-bottom: 0; border-top: 0; }
  .reference-home .rh-community .rh-card-content, .reference-home .rh-start .rh-card-content { display: flex; padding: 25px 24px 23px 63px; }
  .reference-home .rh-community .rh-index { left: -43px; width: 29px; height: 29px; }
  .reference-home .rh-community .rh-heading h2 { font-size: 27px; }
  .reference-home .rh-community p:not(.eyebrow) { font-size: 13px; }
  .reference-home .rh-live .mini-forum { min-height: 43px; padding: 9px; }
  .reference-home .rh-live .mini-forum strong { font-size: 12px; }
  .reference-home .rh-live .mini-forum span { font-size: 9px; }
  .reference-home .rh-live .mini-record { min-height: 45px; }
  .reference-home .rh-live .mini-record strong { font-size: 12px; }
  .reference-home .rh-start-steps > span { font-size: 11px; }
  .reference-home .rh-entry { padding: 30px 22px; min-height: 228px; }
  .reference-home .rh-entry h2 { font-size: 24px; letter-spacing: .12em; }
  .reference-home .rh-entry p { font-size: 11px; }
  .reference-home .rh-entry-left { width: 100%; }
  .reference-home .rh-entry-right { display: none; }
  .reference-home .rh-entry::after { background: #050d10c2; }
  .reference-home .rh-entry .actions { gap: 8px; }
  .reference-home .rh-entry .btn { padding: 10px; font-size: 9px; gap: 7px; }
  body:has(.reference-home) > .site-footer .footer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding-block: 25px 15px; }
  body:has(.reference-home) > .site-footer .footer-grid > div:not(.footer-intro) { display: flex; flex-direction: column; gap: 0; }
  body:has(.reference-home) > .site-footer .footer-grid > div > a:not(.brand) { font-size: 11px; padding: 9px 0; }
  body:has(.reference-home) > .site-footer .footer-grid .footer-intro { grid-column: 1/-1; }
  body:has(.reference-home) > .site-footer .footer-bottom { padding-block: 17px 23px; }
  body:has(.reference-home) > .site-footer .footer-bottom > p { font-size: 9px; line-height: 1.8; }
}
@media (prefers-reduced-motion:reduce) { .reference-home .rh-subject img, .reference-home .rh-system-links .icon { transition: none; } .reference-home .rh-subject:hover img, .reference-home .rh-system-links a:hover .icon { transform: none; } }
