/* ============================================================
   THE HOUSE OF JACKSON — Modern Heraldry design language
   Standalone homepage system (prototype). Distinct from theme.css.
   Cinzel (engraved caps) + Spectral (body). Navy/gold/crimson/steel/parchment.
   ============================================================ */
:root{
  --h-navy:#14233F; --h-navy-deep:#0E1A30; --h-navy-soft:#1E3357;
  --h-ink:#11151C;
  --h-gold:#C9A14A; --h-gold-soft:#E4CB8E; --h-gold-deep:#A07B2E;
  --h-crimson:#9E1B1B; --h-crimson-deep:#7A1414;
  --h-silver:#C7CCD1;
  --h-parchment:#F4EFE3; --h-paper:#FBF8F1;
  --h-line:rgba(201,161,74,.30);

  --h-display:"Cinzel","Trajan Pro",Georgia,serif;
  --h-body:"Spectral","Georgia",serif;

  --h-fs-h1:clamp(2.6rem,1.4rem + 5vw,5.5rem);
  --h-fs-h2:clamp(1.6rem,1.1rem + 2.2vw,2.6rem);
  --h-maxw:1180px;
  --h-gutter:clamp(20px,5vw,56px);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body.house{
  font-family:var(--h-body); color:var(--h-ink); background:var(--h-paper);
  font-size:clamp(1.02rem,.99rem + .2vw,1.12rem); line-height:1.7; -webkit-font-smoothing:antialiased;
}
body.house img{ max-width:100%; display:block; }
body.house a{ color:inherit; text-decoration:none; }
body.house ::selection{ background:var(--h-gold); color:var(--h-navy-deep); }
body.house :focus-visible{ outline:2px solid var(--h-gold); outline-offset:3px; }
.h-wrap{ max-width:var(--h-maxw); margin:0 auto; padding:0 var(--h-gutter); }
.skip-link{ position:absolute; left:-9999px; top:0; background:var(--h-gold); color:var(--h-navy-deep); padding:10px 16px; z-index:100; }
.skip-link:focus{ left:0; }

/* ---- Heraldic display type ---- */
.house h1,.house h2,.house h3{ font-family:var(--h-display); font-weight:600; line-height:1.06; }
.cinzel{ font-family:var(--h-display); }
.motto{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.34em; font-size:.72rem;
  font-weight:600; color:var(--h-gold); }

/* ---- Lozenge rule (gold hairline + center diamond) ---- */
.rule{ display:flex; align-items:center; justify-content:center; gap:14px; color:var(--h-gold); }
.rule::before,.rule::after{ content:""; height:1px; background:var(--h-line); flex:1; max-width:160px; }
.rule .lz{ width:7px; height:7px; background:var(--h-gold); transform:rotate(45deg); flex:none; }

/* ---- Buttons (heraldic) ---- */
.h-btn{ display:inline-block; font-family:var(--h-display); font-weight:600; text-transform:uppercase;
  letter-spacing:.18em; font-size:.78rem; padding:16px 34px; border:1px solid var(--h-gold);
  color:var(--h-gold); background:transparent; transition:.25s; cursor:pointer; }
.h-btn:hover{ background:var(--h-gold); color:var(--h-navy-deep); }
.h-btn.solid{ background:var(--h-gold); color:var(--h-navy-deep); }
.h-btn.solid:hover{ background:var(--h-gold-soft); border-color:var(--h-gold-soft); }
.h-btn.ink{ border-color:var(--h-navy); color:var(--h-navy); }
.h-btn.ink:hover{ background:var(--h-navy); color:var(--h-parchment); }

/* ============================================================ Masthead (centered, ceremonial) */
.masthead{ background:var(--h-navy-deep); color:var(--h-parchment); }
.mast-rail{ border-bottom:1px solid rgba(255,255,255,.08); }
.mast-rail .h-wrap{ display:flex; justify-content:center; align-items:center; gap:18px; height:38px;
  font-family:var(--h-display); text-transform:uppercase; letter-spacing:.28em; font-size:.62rem; color:var(--h-gold-soft); }
.mast-rail .lz{ width:5px; height:5px; background:var(--h-gold); transform:rotate(45deg); }
.mast-main{ padding:22px 0 18px; text-align:center; position:relative; }
.mast-seal{ width:74px; height:74px; margin:0 auto 10px; display:block; }
.mast-name{ font-family:var(--h-display); font-weight:600; letter-spacing:.14em; font-size:1.18rem; color:#fff; }
.mast-name b{ color:var(--h-gold-soft); font-weight:600; }
.mast-sub{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.3em; font-size:.58rem; color:var(--h-silver); margin-top:6px; }
.mast-creds{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.28em; font-size:.64rem; color:var(--h-gold-soft); margin-top:7px; }
.mast-nav{ margin-top:16px; display:flex; justify-content:center; flex-wrap:wrap; gap:0; border-top:1px solid rgba(255,255,255,.08);
  padding-top:14px; }
.mast-nav a{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; color:#cdd6e6;
  padding:4px 20px; position:relative; transition:color .2s; }
.mast-nav a + a::before{ content:"◆"; position:absolute; left:-3px; top:50%; transform:translateY(-50%); font-size:.4rem; color:var(--h-gold); opacity:.6; }
.mast-nav a:hover,.mast-nav a.active{ color:var(--h-gold-soft); }
.mast-toggle{ display:none; }

/* ============================================================ Charter hero (centered crest) */
.charter{ background:
    radial-gradient(120% 90% at 50% -10%, var(--h-navy-soft) 0%, var(--h-navy) 42%, var(--h-navy-deep) 100%);
  color:var(--h-parchment); text-align:center; position:relative; overflow:hidden; }
.charter .h-wrap{ padding:clamp(48px,7vw,92px) var(--h-gutter) clamp(56px,8vw,104px); position:relative; z-index:2; }
.charter-crest{ width:clamp(180px,26vw,300px); margin:0 auto clamp(18px,3vw,30px); filter:drop-shadow(0 10px 30px rgba(0,0,0,.45)); }
.charter h1{ font-size:var(--h-fs-h1); letter-spacing:.04em; color:#fff; text-transform:uppercase; }
.charter .banner{ display:inline-block; margin:clamp(18px,3vw,26px) 0; padding:9px 28px; border-top:1px solid var(--h-line);
  border-bottom:1px solid var(--h-line); color:var(--h-gold-soft); font-family:var(--h-display); text-transform:uppercase;
  letter-spacing:.28em; font-size:.74rem; }
.charter .lede{ font-size:clamp(1.25rem,1rem + 1vw,1.7rem); font-style:italic; color:#e9e2d2; max-width:30ch; margin:0 auto clamp(26px,4vw,38px); line-height:1.4; }
.charter .lede b{ color:var(--h-gold-soft); font-style:normal; font-weight:600; }
.charter-cta{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.charter::after{ content:""; position:absolute; inset:0; background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60'><path d='M30 0L34 26 60 30 34 34 30 60 26 34 0 30 26 26z' fill='%23C9A14A' fill-opacity='0.025'/></svg>"); z-index:1; }

/* ============================================================ Motto strip / credentials seals */
.seals{ background:var(--h-navy-deep); color:var(--h-silver); border-top:1px solid rgba(255,255,255,.06); }
.seals .h-wrap{ display:flex; flex-wrap:wrap; justify-content:center; gap:clamp(16px,3vw,44px); padding:18px var(--h-gutter); }
.seals span{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.16em; font-size:.66rem; display:flex; align-items:center; gap:10px; }
.seals span::before{ content:"✦"; color:var(--h-gold); font-size:.7rem; }

/* ============================================================ Proclamation band */
.proclaim{ background:var(--h-parchment); text-align:center; padding:clamp(56px,9vw,120px) 0; }
.proclaim .h-wrap{ max-width:900px; }
.proclaim h2{ font-size:clamp(1.5rem,1rem + 2.4vw,2.7rem); color:var(--h-navy); line-height:1.25; text-transform:none; }
.proclaim h2 em{ color:var(--h-crimson); font-style:italic; }
.proclaim .rule{ margin-bottom:28px; }

/* ============================================================ The Register (offers as ledger) */
.register{ background:var(--h-paper); padding:clamp(48px,7vw,104px) 0; }
.register .reg-head{ text-align:center; margin-bottom:clamp(30px,5vw,56px); }
.register .reg-head .motto{ display:block; margin-bottom:12px; }
.register .reg-head h2{ font-size:var(--h-fs-h2); color:var(--h-navy); text-transform:uppercase; letter-spacing:.06em; }
.reg-row{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(20px,4vw,48px);
  padding:clamp(22px,3vw,34px) 6px; border-top:1px solid var(--h-line); }
.reg-row:last-child{ border-bottom:1px solid var(--h-line); }
.reg-num{ font-family:var(--h-display); font-size:clamp(1.6rem,1.2rem + 1.6vw,2.6rem); color:var(--h-gold); font-weight:600;
  line-height:1; min-width:2.2ch; text-align:center; }
.reg-body h3{ font-family:var(--h-display); font-size:clamp(1.15rem,1rem + .7vw,1.55rem); color:var(--h-navy);
  text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.reg-body p{ color:#4a4a44; max-width:64ch; }
.reg-go{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; color:var(--h-crimson);
  white-space:nowrap; border-bottom:1px solid var(--h-crimson); padding-bottom:3px; transition:.2s; }
.reg-row:hover .reg-go{ color:var(--h-crimson-deep); }
.reg-row:hover{ background:rgba(201,161,74,.05); }

/* ============================================================ Standard / Method feature (crimson) */
.standard{ background:var(--h-navy); color:var(--h-parchment); }
.standard .h-wrap{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(32px,5vw,72px); align-items:center;
  padding:clamp(48px,7vw,104px) var(--h-gutter); }
.standard .device{ text-align:center; }
.standard .device .scales{ font-family:var(--h-display); font-size:clamp(2.4rem,1.6rem + 3vw,4rem); color:var(--h-gold-soft);
  letter-spacing:.2em; }
.standard .device .scales-by{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.24em; font-size:.62rem;
  color:var(--h-silver); margin-top:14px; }
.standard h2{ font-size:var(--h-fs-h2); color:#fff; text-transform:uppercase; letter-spacing:.04em; margin-bottom:18px; }
.standard p{ color:#d8d2c4; margin-bottom:26px; max-width:54ch; }
.standard .motto{ color:var(--h-gold-soft); display:block; margin-bottom:14px; }

/* ============================================================ Two doors (split, asymmetric) */
.doors{ background:var(--h-parchment); padding:clamp(48px,7vw,104px) 0; }
.doors .reg-head{ text-align:center; margin-bottom:clamp(28px,4vw,48px); }
.doors .reg-head h2{ font-family:var(--h-display); font-size:var(--h-fs-h2); color:var(--h-navy); text-transform:uppercase; letter-spacing:.06em; }
.door-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--h-line); border:1px solid var(--h-line); }
.door{ background:var(--h-paper); padding:clamp(28px,4vw,48px); }
.door .lz{ display:inline-block; width:9px; height:9px; background:var(--h-crimson); transform:rotate(45deg); margin-bottom:16px; }
.door h3{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.08em; color:var(--h-navy); font-size:1.2rem; margin-bottom:8px; }
.door p{ color:#4a4a44; }

/* ============================================================ Summons (CTA) */
.summons{ background:var(--h-navy-deep); color:var(--h-parchment); text-align:center; padding:clamp(48px,7vw,96px) var(--h-gutter); }
.summons h2{ font-size:var(--h-fs-h2); color:#fff; text-transform:uppercase; letter-spacing:.05em; margin-bottom:18px; }
.summons p{ color:var(--h-silver); max-width:52ch; margin:0 auto 30px; font-style:italic; }

/* ============================================================ Footer (crest) */
.h-foot{ background:var(--h-ink); color:#9aa3b2; padding:clamp(48px,6vw,80px) 0 28px; }
.h-foot .top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:32px;
  border-bottom:1px solid rgba(255,255,255,.08); }
.h-foot .seal-blk img{ width:64px; margin-bottom:14px; }
.h-foot .seal-blk p{ font-size:.86rem; max-width:30ch; color:#8a93a2; }
.h-foot h4{ font-family:var(--h-display); color:var(--h-gold-soft); text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; margin-bottom:14px; }
.h-foot a{ display:block; color:#9aa3b2; margin-bottom:9px; font-size:.92rem; transition:color .2s; }
.h-foot a:hover{ color:var(--h-gold-soft); }
.h-foot .bottom{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:20px;
  font-family:var(--h-display); text-transform:uppercase; letter-spacing:.14em; font-size:.58rem; color:#6b7486; }

/* ============================================================ Seal SVG (interim mark) */
.seal-svg circle.ring{ fill:none; stroke:var(--h-gold); }
.seal-svg .fld{ fill:var(--h-navy); }
.seal-svg .blade{ stroke:var(--h-silver); stroke-width:3; }
.seal-svg .mono{ fill:#fff; font-family:var(--h-display); font-weight:600; }

/* ============================================================ Responsive */
@media(max-width:860px){
  .standard .h-wrap,.door-grid{ grid-template-columns:1fr; }
  .h-foot .top{ grid-template-columns:1fr 1fr; }
  .reg-row{ grid-template-columns:auto 1fr; row-gap:10px; }
  .reg-go{ grid-column:2; justify-self:start; }
}
@media(max-width:560px){
  .mast-nav a{ padding:4px 12px; font-size:.62rem; }
  .h-foot .top{ grid-template-columns:1fr; }
  .seals .h-wrap{ gap:12px; }
}

/* ============================================================
   LEGACY COMPONENTS — heraldic restyle so inner pages (which keep
   their existing markup) adopt the House language. Inner pages load
   ONLY house.css + body.house. Tokens below alias the old names.
   ============================================================ */
body.house{
  /* legacy token aliases → House palette/type (so inline var() refs resolve) */
  --navy:var(--h-navy); --navy-deep:var(--h-navy-deep); --navy-darker:var(--h-ink);
  --charcoal:var(--h-navy-soft); --gold:var(--h-gold); --gold-soft:var(--h-gold-soft);
  --gold-hover:var(--h-gold-deep); --gold-dark:var(--h-gold-deep); --crimson:var(--h-crimson);
  --paper:var(--h-paper); --paper-warm:var(--h-parchment); --ink:var(--h-ink); --muted:#5b5b52;
  --line:var(--h-line); --hairline:var(--h-line); --serif:var(--h-display); --sans:var(--h-body);
  --radius:0px; --radius-sm:0px;
}
.house .wrap{ max-width:var(--h-maxw); margin:0 auto; padding:0 var(--h-gutter); }
.house .serif{ font-family:var(--h-display); }
.house h1,.house h2,.house h3{ font-family:var(--h-display); font-weight:600; line-height:1.1; letter-spacing:.02em; }
.house .kicker{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.28em; font-size:.68rem;
  font-weight:600; color:var(--h-gold); display:inline-flex; align-items:center; gap:12px; }
.house .kicker::before{ content:""; width:18px; height:1px; background:var(--h-gold); }

/* Buttons (legacy class names → heraldic) */
.house .btn{ display:inline-block; font-family:var(--h-display); font-weight:600; text-transform:uppercase;
  letter-spacing:.16em; font-size:.74rem; padding:15px 30px; border:1px solid var(--h-gold); border-radius:0;
  transition:.25s; cursor:pointer; }
.house .btn-gold{ background:var(--h-gold); color:var(--h-navy-deep); border-color:var(--h-gold); }
.house .btn-gold:hover{ background:var(--h-gold-soft); border-color:var(--h-gold-soft); }
.house .btn-navy{ background:var(--h-navy); color:var(--h-parchment); border-color:var(--h-gold); }
.house .btn-navy:hover{ background:var(--h-navy-deep); }
.house .btn-outline{ background:transparent; color:var(--h-navy); border-color:var(--h-navy); }
.house .btn-outline:hover{ background:var(--h-navy); color:var(--h-parchment); }
.house .btn-ghost{ background:transparent; border-color:rgba(255,255,255,.6); color:#fff; }
.house .btn-ghost:hover{ background:#fff; color:var(--h-navy); }
.house .btn-lg{ padding:18px 40px; font-size:.8rem; }
.house .btn-block{ display:block; width:100%; }

/* Utility bar + compact heraldic nav (inner pages) */
.house .util{ background:var(--h-navy-deep); color:var(--h-gold-soft); font-size:.66rem; font-family:var(--h-display);
  letter-spacing:.16em; text-transform:uppercase; }
.house .util .wrap{ display:flex; justify-content:space-between; align-items:center; height:38px; }
.house .util a{ color:var(--h-gold-soft); margin-left:18px; }
.house .util a:hover{ color:#fff; }
.house .util .util-contact{ display:flex; align-items:center; }
.house nav.main{ background:var(--h-navy); color:#fff; position:sticky; top:0; z-index:30;
  border-bottom:1px solid rgba(201,161,74,.3); }
.house nav.main .wrap{ display:flex; align-items:center; height:72px; }
.house .brand{ font-family:var(--h-display); font-weight:600; font-size:1.1rem; letter-spacing:.14em; color:#fff; }
.house .brand b{ color:var(--h-gold-soft); font-weight:600; }
.house .navlinks{ display:flex; gap:0; margin-left:auto; }
.house .navlinks a{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.14em; font-size:.66rem;
  color:#cdd6e6; padding:6px 16px; position:relative; transition:color .2s; }
.house .navlinks a + a::before{ content:"◆"; position:absolute; left:-2px; top:50%; transform:translateY(-50%); font-size:.34rem; color:var(--h-gold); opacity:.6; }
.house .navlinks a:hover,.house .navlinks a.active{ color:var(--h-gold-soft); }
.house .navcta{ display:flex; gap:10px; margin-left:24px; }
.house .nav-toggle{ display:none; margin-left:auto; background:none; border:0; cursor:pointer; width:42px; height:42px; padding:9px; }
.house .nav-toggle span{ display:block; height:2px; background:#fff; margin:5px 0; transition:.25s; }
.house .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.house .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.house .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Page header → charter-style (navy, engraved) */
.house .page-head{ background:radial-gradient(120% 90% at 50% -20%, var(--h-navy-soft), var(--h-navy) 55%, var(--h-navy-deep)); color:var(--h-parchment); text-align:center; }
.house .page-head .wrap{ padding:clamp(48px,7vw,92px) var(--h-gutter); max-width:880px; }
.house .page-head .kicker{ color:var(--h-gold-soft); justify-content:center; }
.house .page-head .kicker::before{ background:var(--h-gold-soft); }
.house .page-head h1{ font-size:var(--h-fs-h1); color:#fff; text-transform:uppercase; letter-spacing:.05em; margin:18px 0 16px; }
.house .page-head p{ color:#d8d2c4; font-style:italic; font-size:clamp(1.1rem,1rem + .6vw,1.4rem); max-width:60ch; margin:0 auto; }

/* Sections */
.house #main{ counter-reset:sec; }
.house .section{ padding:clamp(48px,7vw,104px) 0; }
.house .section.alt{ background:var(--h-parchment); }
.house .sec-top{ margin-bottom:clamp(28px,4vw,48px); max-width:760px; counter-increment:sec; text-align:center; margin-left:auto; margin-right:auto; }
.house .sec-top .kicker{ justify-content:center; }
.house .sec-top h2{ font-size:var(--h-fs-h2); color:var(--h-navy); text-transform:uppercase; letter-spacing:.05em; margin-top:14px; }
.house .sec-top p{ color:#5b5b52; max-width:62ch; margin:14px auto 0; }
.house .prose{ max-width:68ch; }
.house .prose h2{ font-size:var(--h-fs-h2); color:var(--h-navy); text-transform:uppercase; letter-spacing:.04em; margin:32px 0 14px; }
.house .prose h3{ font-family:var(--h-display); font-size:1.3rem; color:var(--h-navy); text-transform:uppercase; letter-spacing:.06em; margin:26px 0 10px; }
.house .prose p{ color:#43433c; margin-bottom:16px; }
.house .prose ul{ margin:0 0 18px 22px; color:#43433c; }
.house .lead{ font-size:clamp(1.2rem,1rem + .8vw,1.5rem); font-style:italic; color:var(--h-navy); }

/* Cards → engraved tablets w/ gold rule */
.house .cards{ display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--h-line); }
.house .cards.cols-3{ grid-template-columns:repeat(3,1fr); }
.house .card{ background:transparent; border-bottom:1px solid var(--h-line); border-right:1px solid var(--h-line); padding:clamp(26px,3vw,38px); }
.house .cards.cols-3 .card:nth-child(3n),.house .cards .card:nth-child(2n){ border-right:none; }
.house .card .num{ font-family:var(--h-display); color:var(--h-gold); font-size:1.3rem; font-weight:600; letter-spacing:.08em; }
.house .card h3{ font-family:var(--h-display); font-size:1.3rem; color:var(--h-navy); text-transform:uppercase; letter-spacing:.05em; margin:10px 0 8px; }
.house .card p{ color:#5b5b52; margin-bottom:16px; }
.house .card .lnk{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.14em; font-size:.66rem; color:var(--h-crimson); border-bottom:1px solid var(--h-crimson); padding-bottom:3px; }

/* Split */
.house .split{ display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(32px,5vw,64px); align-items:flex-start; }

/* Ticks */
.house .ticks{ list-style:none; margin:0; }
.house .ticks li{ position:relative; padding-left:28px; margin-bottom:14px; color:#43433c; }
.house .ticks li::before{ content:""; position:absolute; left:0; top:.6em; width:8px; height:8px; background:var(--h-gold); transform:rotate(45deg); }

/* Offer / pricing */
.house .offer{ background:#fff; border:1px solid var(--h-navy); border-top:4px solid var(--h-gold); padding:clamp(30px,4vw,44px); }
.house .offer .price{ font-family:var(--h-display); font-size:clamp(2rem,1.5rem + 1.8vw,2.8rem); color:var(--h-navy); }
.house .offer .price small{ font-family:var(--h-body); font-size:.85rem; color:#5b5b52; }
.house .offer h3{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.06em; color:var(--h-navy); }

/* Book band / circle / about / capture / cta-strip — navy heraldic */
.house .book{ background:var(--h-navy); color:var(--h-parchment); }
.house .book .wrap{ display:grid; grid-template-columns:220px 1fr; gap:clamp(32px,5vw,64px); align-items:center; padding:clamp(48px,7vw,96px) var(--h-gutter); }
.house .book-cover{ width:220px; height:320px; background:linear-gradient(150deg,#1E3357,#0E1A30); border:1px solid var(--h-gold); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:26px; }
.house .book-cover img{ width:100%; height:100%; object-fit:cover; }
.house .book-cover .t{ font-family:var(--h-display); font-size:1.5rem; color:var(--h-gold-soft); text-transform:uppercase; letter-spacing:.06em; }
.house .book-cover .by{ font-family:var(--h-display); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--h-silver); margin-top:16px; }
.house .book-info h2{ font-size:var(--h-fs-h2); color:#fff; text-transform:uppercase; letter-spacing:.04em; margin-bottom:14px; }
.house .book-info p{ color:#d8d2c4; margin-bottom:24px; }
.house .book .kicker{ color:var(--h-gold-soft); }
.house .circle{ background:var(--h-parchment); padding:clamp(48px,7vw,104px) 0; }
.house .circle .panel{ background:#fff; border:1px solid var(--h-navy); border-top:4px solid var(--h-gold); padding:clamp(34px,5vw,58px); text-align:center; }
.house .circle h2{ font-size:var(--h-fs-h2); color:var(--h-navy); text-transform:uppercase; letter-spacing:.05em; margin:8px 0 14px; }
.house .circle p{ color:#5b5b52; max-width:62ch; margin:0 auto 26px; }
.house .circle .feats{ display:flex; justify-content:center; gap:clamp(24px,4vw,48px); flex-wrap:wrap; margin-bottom:30px; }
.house .circle .feat{ font-family:var(--h-display); color:var(--h-navy); text-transform:uppercase; letter-spacing:.06em; font-size:1rem; }
.house .circle .feat span{ display:block; font-family:var(--h-body); font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--h-gold-deep); margin-top:6px; font-style:normal; }
.house .about{ padding:clamp(48px,7vw,104px) 0; }
.house .about .wrap{ display:grid; grid-template-columns:320px 1fr; gap:clamp(32px,5vw,64px); align-items:center; }
.house .about-img{ border:1px solid var(--h-gold); padding:8px; background:#fff; }
.house .about-img img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.house .about-copy h2{ font-size:var(--h-fs-h2); color:var(--h-navy); text-transform:uppercase; letter-spacing:.04em; margin:8px 0 18px; }
.house .about-copy p{ color:#43433c; margin-bottom:16px; }
.house .capture{ background:var(--h-navy-deep); color:var(--h-parchment); text-align:center; padding:clamp(48px,7vw,96px) var(--h-gutter); }
.house .capture h2{ font-size:var(--h-fs-h2); color:#fff; text-transform:uppercase; letter-spacing:.05em; margin-bottom:14px; }
.house .capture p{ color:var(--h-silver); margin-bottom:26px; }
.house .capform{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.house .capform input{ padding:14px 18px; border:1px solid var(--h-gold); background:transparent; color:var(--h-parchment); width:300px; max-width:80vw; font-family:var(--h-body); }
.house .cta-strip{ background:var(--h-navy); color:var(--h-parchment); text-align:center; padding:clamp(44px,6vw,84px) var(--h-gutter); }
.house .cta-strip h2{ font-size:var(--h-fs-h2); color:#fff; text-transform:uppercase; letter-spacing:.05em; margin-bottom:14px; }
.house .cta-strip p{ color:var(--h-silver); max-width:56ch; margin:0 auto 26px; font-style:italic; }

/* Trust / posband (home-legacy, harmless if unused) */
.house .trust{ background:var(--h-navy-deep); color:var(--h-silver); }
.house .trust .wrap{ display:flex; justify-content:center; gap:clamp(16px,3vw,40px); flex-wrap:wrap; padding:16px var(--h-gutter); font-family:var(--h-display); font-size:.64rem; text-transform:uppercase; letter-spacing:.16em; }
.house .posband{ padding:clamp(48px,7vw,104px) 0; }
.house .posband h2{ font-size:clamp(1.7rem,1.2rem + 2vw,2.8rem); color:var(--h-navy); max-width:22ch; }
.house .posband .g{ color:var(--h-crimson); font-style:italic; }

/* Contact info / forms */
.house .info-list{ list-style:none; margin:0; }
.house .info-list li{ margin-bottom:22px; }
.house .info-list .lbl{ font-family:var(--h-display); font-size:.62rem; text-transform:uppercase; letter-spacing:.18em; color:var(--h-gold-deep); margin-bottom:4px; }
.house .info-list a,.house .info-list span{ font-family:var(--h-display); font-size:1.05rem; color:var(--h-navy); }
.house .socials{ display:flex; gap:16px; margin-top:8px; }
.house .socials a{ font-family:var(--h-display); text-transform:uppercase; letter-spacing:.12em; font-size:.66rem; color:var(--h-navy); border-bottom:1px solid var(--h-gold); }
.house .form-card{ background:#fff; border:1px solid var(--h-navy); padding:clamp(28px,4vw,42px); }
.house label{ display:block; font-family:var(--h-display); font-size:.62rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--h-navy); margin-bottom:7px; }
.house input,.house select,.house textarea{ width:100%; padding:13px 14px; border:1px solid var(--h-line); background:#fff; font-family:var(--h-body); font-size:1rem; color:var(--h-ink); }
.house input:focus,.house select:focus,.house textarea:focus{ outline:none; border-color:var(--h-gold); box-shadow:0 0 0 2px rgba(201,161,74,.2); }
.house textarea{ min-height:130px; resize:vertical; }
.house .form-row{ margin-bottom:16px; }
.house .form-row.two{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.house .form-note{ font-size:.82rem; color:#5b5b52; margin-top:10px; }
.house .form-status{ margin-top:16px; font-weight:600; display:none; }
.house .form-status.show{ display:block; }
.house .form-status.ok{ color:var(--h-gold-deep); } .house .form-status.err{ color:var(--h-crimson); }

/* FAQ */
.house .faq{ max-width:820px; margin:0 auto; }
.house .faq details{ border-bottom:1px solid var(--h-line); padding:20px 0; }
.house .faq summary{ font-family:var(--h-display); font-size:1.05rem; color:var(--h-navy); text-transform:uppercase; letter-spacing:.04em; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; }
.house .faq summary::-webkit-details-marker{ display:none; }
.house .faq summary::after{ content:"+"; color:var(--h-gold); font-size:1.4rem; }
.house .faq details[open] summary::after{ transform:rotate(45deg); }
.house .faq details p{ color:#43433c; margin-top:12px; }

.house .slot{ display:none; }

/* Footer (legacy) → heraldic */
.house footer{ background:var(--h-ink); color:#8a93a2; padding:clamp(48px,6vw,76px) 0 26px; font-size:.9rem; }
.house footer .grid{ display:flex; justify-content:space-between; gap:36px; flex-wrap:wrap; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.08); }
.house footer h4{ font-family:var(--h-display); color:var(--h-gold-soft); text-transform:uppercase; letter-spacing:.16em; font-size:.72rem; margin-bottom:14px; }
.house footer a{ color:#8a93a2; display:block; margin-bottom:8px; }
.house footer a:hover{ color:var(--h-gold-soft); }
.house .foot-bottom{ display:flex; justify-content:space-between; padding-top:20px; font-family:var(--h-display); font-size:.58rem; text-transform:uppercase; letter-spacing:.12em; color:#6b7486; flex-wrap:wrap; gap:10px; }
.house .credit{ color:var(--h-gold-soft); }

@media(max-width:820px){
  .house .split,.house .book .wrap,.house .about .wrap{ grid-template-columns:1fr; }
  .house .cards,.house .cards.cols-3{ grid-template-columns:1fr; }
  .house .cards .card{ border-right:none; }
  .house .navcta{ display:none; }
  .house .navlinks{ display:none; position:absolute; top:72px; left:0; right:0; background:var(--h-navy); flex-direction:column; padding:6px 0; border-bottom:1px solid rgba(201,161,74,.3); }
  .house .navlinks.open{ display:flex; }
  .house nav.main .wrap{ position:relative; flex-wrap:wrap; }
  .house .navlinks a{ padding:14px var(--h-gutter); }
  .house .navlinks a + a::before{ display:none; }
  .house .nav-toggle{ display:block; }
}
@media(max-width:560px){ .house .form-row.two{ grid-template-columns:1fr; } }

/* ============================================================ Real logos + photography */
.masthead img.mast-seal{ width:auto; height:66px; margin:0 auto; }
.charter img.charter-crest{ width:clamp(230px,34vw,400px); height:auto; margin:0 auto clamp(18px,3vw,30px); filter:drop-shadow(0 12px 34px rgba(0,0,0,.5)); }
.house .brand{ display:inline-flex; align-items:center; }
.house .brand-seal{ height:42px; width:auto; margin-right:12px; }

/* Portrait plate (homepage) */
.plate{ background:var(--h-parchment); padding:clamp(48px,7vw,104px) 0; border-top:1px solid var(--h-line); border-bottom:1px solid var(--h-line); }
.plate .h-wrap{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(32px,5vw,64px); align-items:center; }
.plate-photo img{ width:100%; aspect-ratio:5/6; object-fit:cover; border:1px solid var(--h-gold); padding:8px; background:#fff; }
.plate-copy .motto{ display:block; margin-bottom:14px; }
.plate-copy h2{ font-size:var(--h-fs-h2); color:var(--h-navy); text-transform:uppercase; letter-spacing:.04em; margin-bottom:16px; line-height:1.08; }
.plate-copy p{ color:#43433c; margin-bottom:24px; max-width:54ch; }

/* Photo feature band (inner pages) */
.photo-band{ background:var(--h-navy); }
.photo-band .h-wrap{ display:grid; grid-template-columns:1.1fr .9fr; gap:0; align-items:stretch; }
.photo-band img{ width:100%; height:100%; min-height:340px; object-fit:cover; }
.photo-band .pb-copy{ padding:clamp(32px,5vw,64px); color:var(--h-parchment); display:flex; flex-direction:column; justify-content:center; }
.photo-band .pb-copy .motto{ color:var(--h-gold-soft); margin-bottom:12px; }
.photo-band .pb-copy h2{ color:#fff; font-size:var(--h-fs-h2); text-transform:uppercase; letter-spacing:.04em; margin-bottom:14px; }
.photo-band .pb-copy p{ color:#d8d2c4; }
@media(max-width:820px){ .plate .h-wrap,.photo-band .h-wrap{ grid-template-columns:1fr; } .photo-band img{ min-height:260px; } }
