.houses-body {
  overflow:auto;
  background:#101411;
  color:#e7e4da;
  font-family:var(--f-body);
  line-height:1.7}
.houses-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  padding:24px 5vw;
  border-bottom:1px solid #ffffff17}
.houses-brand {
  flex-shrink:0}
.houses-header nav {
  display:flex;
  gap:24px;
  flex-wrap:wrap}
.houses-header nav a {
  font:600 12px var(--f-ui);
  text-transform:uppercase;
  letter-spacing:1px;
  padding:9px 0;
  color:#b9bcb3}
.houses-header nav a[aria-current] {
  color:#d6b77c;
  border-bottom:1px solid}
.houses-main {
  max-width:1320px;
  margin:auto;
  padding:60px 40px}
.houses-intro {
  max-width:830px;
  margin-bottom:46px}
.house-eyebrow {
  text-transform:uppercase;
  letter-spacing:2px;
  font:600 11px var(--f-ui);
  color:#c5a776}
.houses-body h1,.houses-body h2,.houses-body h3 {
  font-family:var(--f-heading);
  font-weight:400;
  line-height:1.2}
.houses-body h1 {
  font-size:clamp(40px,5vw,68px);
  margin:16px 0 22px}
.houses-body h1 em {
  color:#c5a776;
  font-weight:400}
.houses-intro>p {
  font-size:19px;
  color:#b9bcb3;
  max-width:680px}
.houses-stats {
  display:flex;
  gap:30px;
  flex-wrap:wrap;
  margin-top:28px;
  color:#aaaFA5;
  font-size:13px}
.houses-stats strong {
  font-size:22px;
  color:#e7e4da;
  margin-right:5px}
.houses-filters {
  display:flex;
  gap:22px;
  align-items:end;
  padding:22px 0;
  border-top:1px solid #ffffff20;
  border-bottom:1px solid #ffffff20;
  margin-bottom:30px}
.houses-filters label {
  display:grid;
  gap:7px;
  font-size:12px;
  color:#c5a776}
.houses-filters label:first-child {
  flex:1}
.houses-filters input,.houses-filters select {
  background:#1c231e;
  color:#e7e4da;
  border:1px solid #ffffff28;
  border-radius:3px;
  padding:12px 14px;
  font:15px var(--f-ui);
  width:100%;
  min-height:46px}
.houses-filters p,.houses-filters button {
  font-size:13px;
  padding-bottom:12px;
  white-space:nowrap}
.houses-filters button {
  color:#d6b77c;
  text-decoration:underline}
.houses-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px}
.house-card {
  padding:25px;
  background:linear-gradient(130deg,#202820,#171c18);
  border:1px solid #ffffff18;
  display:flex;
  flex-direction:column;
  transition:border-color .2s}
.house-card:hover {
  border-color:#c5a77688}
.house-card-top {
  display:flex;
  align-items:center;
  gap:18px}
.house-emblem {
  width:65px;
  height:78px;
  object-fit:contain;
  flex-shrink:0}
.house-monogram {
  display:grid;
  place-items:center;
  border:1px solid #c5a77688;
  border-radius:4px 4px 45% 45%;
  background:#c5a7760d;
  color:#d6b77c;
  font:36px Georgia,serif}
.house-card h2 {
  font-size:25px;
  margin:8px 0}
.house-period {
  font-size:13px;
  color:#b9af95}
.house-card-summary {
  font-size:15px;
  color:#c4c8bf;
  margin:22px 0 14px}
.house-regions {
  font-size:12px;
  color:#9aa795;
  margin-bottom:22px}
.house-card-foot {
  margin-top:auto;
  border-top:1px solid #ffffff13;
  padding-top:18px;
  display:grid;
  gap:12px;
  font-size:11px;
  color:#a5ada1}
.house-link {
  color:#d6b77c;
  font-size:14px}
.house-link:hover,.house-sources a:hover {
  text-decoration:underline}
.house-note {
  padding:26px;
  background:#c5a77608;
  border-left:2px solid #c5a77666;
  margin-top:40px;
  color:#aeb6a8;
  font-size:14px}
.house-note h2 {
  color:#e7e4da;
  font-size:24px;
  margin-bottom:12px}
.house-note p+p {
  margin-top:10px}
.houses-footer {
  max-width:1240px;
  margin:0 auto;
  padding:30px 40px;
  border-top:1px solid #ffffff20;
  color:#9ca595;
  font-size:13px;
  display:flex;
  justify-content:space-between;
  gap:20px}
.house-profile-heading {
  display:flex;
  gap:30px;
  align-items:center;
  margin:38px 0}
.house-profile-heading .house-emblem {
  width:100px;
  height:120px;
  font-size:55px}
.house-profile-heading h1 {
  margin:10px 0}
.house-section-nav {
  display:flex;
  flex-wrap:wrap;
  gap:28px;
  border-block:1px solid #ffffff20;
  padding:17px 0;
  color:#d6b77c;
  font-size:14px}
.house-profile-grid {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(260px,1fr);
  gap:60px}
.house-section {
  padding:36px 0;
  border-bottom:1px solid #ffffff18;
  scroll-margin-top:20px}
.house-section h2 {
  font-size:30px;
  margin:10px 0 24px}
.house-section h3 {
  font-size:20px;
  margin:20px 0 10px}
.house-section p {
  color:#bcc4b7;
  margin-bottom:16px}
.house-bullets {
  list-style:disc;
  padding-left:20px;
  color:#bcc4b7}
.house-bullets li+li {
  margin-top:10px}
.house-facts dt {
  color:#c5a776;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-top:20px}
.house-facts dd {
  margin-top:5px;
  color:#bcc4b7}
.house-art-note {
  font-size:12px;
  font-style:italic}
.house-events {
  list-style:none}
.house-events li {
  display:grid;
  grid-template-columns:70px 1fr;
  gap:22px;
  padding:16px 0;
  border-bottom:1px solid #ffffff10}
.house-events li>span {
  color:#c5a776;
  font:22px Georgia,serif;
  padding-top:3px}
.house-events h3 {
  margin:0 0 10px}
.house-events p {
  margin:0}
.house-members {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px}
.house-members article {
  padding:20px;
  border:1px solid #ffffff18;
  background:#1a211b}
.house-members h3 {
  margin-top:0}
.house-members p {
  font-size:14px;
  margin:12px 0 0}
.house-rulers li {
  padding:14px 0;
  border-bottom:1px solid #ffffff12}
.house-rulers a {
  display:block}
.house-rulers a:hover strong {
  color:#d6b77c}
.house-rulers span {
  display:block;
  color:#a9b1a3;
  font-size:13px}
.house-sources li {
  margin:12px 0;
  color:#d6b77c}
.houses-body :focus-visible {
  outline:2px solid #e4c88e;
  outline-offset:5px}
.houses-skip {
  position:absolute;
  top:-100px;
  left:20px;
  background:#101411;
  padding:10px;
  z-index:10}
.houses-skip:focus {
  top:10px}
.houses-body [hidden] {
  display:none!important}
#house-empty {
  padding:40px 0}
.house-rulers-title {
  padding-top:20px}
@media(max-width:1050px) {
  .houses-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))}
.houses-header {
  align-items:flex-start;
  flex-direction:column;
  gap:18px}
.houses-header nav {
  gap:20px}
.house-profile-grid {
  gap:30px}
}
@media(max-width:650px) {
  .houses-main {
  padding:35px 20px}
.houses-grid,.house-profile-grid,.house-members {
  grid-template-columns:1fr}
.houses-header {
  padding:20px}
.houses-header nav {
  gap:12px 18px}
.houses-header nav a {
  font-size:10px}
.houses-filters {
  flex-wrap:wrap;
  gap:14px}
.houses-filters label:first-child {
  flex-basis:100%}
.houses-filters label:nth-child(2) {
  flex:1}
.houses-stats {
  gap:16px}
.house-card {
  padding:22px}
.house-profile-heading {
  gap:18px}
.house-profile-heading .house-emblem {
  width:65px;
  height:82px;
  font-size:36px}
.house-profile-heading h1 {
  font-size:38px}
.house-section-nav {
  gap:15px}
.houses-footer {
  flex-direction:column;
  padding:25px 20px}
.house-events li {
  grid-template-columns:55px 1fr;
  gap:14px}
}


/* Embedded in the #houses-page overlay (.rp-panel) rather than a standalone page */
.houses-embedded { color:#e7e4da; line-height:1.7; }
.houses-main.houses-embedded { max-width:none; padding:0; margin:0; }
.houses-embedded h1, .houses-embedded h2, .houses-embedded h3 { font-family:var(--f-heading); font-weight:400; line-height:1.2; }
.houses-embedded h1 { font-size:clamp(34px,4vw,56px); margin:16px 0 22px; }
.houses-embedded [hidden] { display:none !important; }
.houses-embedded :focus-visible { outline:2px solid #e4c88e; outline-offset:5px; }
.houses-embedded .houses-stats { margin:0 0 28px; }
.houses-embedded .house-section { scroll-margin-top:90px; }
.houses-embedded a { color:inherit; }
.houses-embedded .house-link { color:#d6b77c; }
