/* Housetory Homepage Front Screen v0.1.9
   Isolated presentation layer. Desktop header changes are deliberately
   excluded below 769px so the accepted mobile logo/hamburger rules remain authoritative. */

:root {
  --ht-home-ink: #312a24;
  --ht-home-muted: #6c6259;
  --ht-home-green: #345d4d;
  --ht-home-green-dark: #294a3d;
  --ht-home-gold: #b08a4a;
  --ht-home-paper: #fbf8f2;
  --ht-home-paper-2: #f5eee3;
  --ht-home-border: rgba(84, 65, 44, .18);
}

/* -------- Site header / brand -------- */
@media (min-width: 769px) {
  #sp-header {
    min-height: 92px !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 1px 0 rgba(42,35,27,.10), 0 7px 22px rgba(42,35,27,.035) !important;
  }

  #sp-header .container,
  #sp-header .container-inner,
  #sp-header .row,
  #sp-logo,
  #sp-logo .sp-column,
  #sp-menu,
  #sp-menu .sp-column {
    min-height: 92px !important;
    align-items: center !important;
  }

  #sp-logo {
    display: flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding-right: 28px !important;
  }

  #sp-logo a,
  #sp-logo .logo {
    display: flex !important;
    align-items: center !important;
  }

  #sp-logo img,
  #sp-logo .logo-image,
  #sp-logo .sp-default-logo {
    height: auto !important;
    max-height: 76px !important;
    width: auto !important;
    max-width: 330px !important;
    object-fit: contain !important;
  }

  #sp-header .sp-megamenu-parent > li > a,
  #sp-header .sp-megamenu-parent > li > span,
  #sp-header .sp-megamenu-parent > li > .sp-menu-heading {
    min-height: 92px !important;
    line-height: 92px !important;
    padding-left: 13px !important;
    padding-right: 13px !important;
    color: #302b26 !important;
    font-size: .95rem !important;
    font-weight: 500 !important;
  }

  #sp-header .sp-megamenu-parent > li.active > a,
  #sp-header .sp-megamenu-parent > li.current-item > a {
    color: var(--ht-home-green) !important;
  }
}

@media (min-width: 769px) and (max-width: 1180px) {
  #sp-header,
  #sp-header .container,
  #sp-header .container-inner,
  #sp-header .row,
  #sp-logo,
  #sp-logo .sp-column,
  #sp-menu,
  #sp-menu .sp-column {
    min-height: 82px !important;
  }

  #sp-logo img,
  #sp-logo .logo-image,
  #sp-logo .sp-default-logo {
    max-height: 64px !important;
    max-width: 255px !important;
  }

  #sp-logo { padding-right: 16px !important; }

  #sp-header .sp-megamenu-parent > li > a,
  #sp-header .sp-megamenu-parent > li > span,
  #sp-header .sp-megamenu-parent > li > .sp-menu-heading {
    min-height: 82px !important;
    line-height: 82px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
    font-size: .87rem !important;
  }
}

/* -------- Approved homepage hero -------- */
body.housetory-homefront-active .hero-section.ht-homefront-hero {
  min-height: 430px !important;
  padding: 64px 22px 58px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  isolation: isolate;
}

body.housetory-homefront-active .hero-section.ht-homefront-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(25,23,20,.44), rgba(25,23,20,.31) 58%, rgba(73,58,38,.20));
  pointer-events: none;
  z-index: -1;
}

body.housetory-homefront-active .hero-section .ht-homefront-hero-inner {
  width: min(1040px, calc(100% - 28px)) !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

body.housetory-homefront-active .hero-section h1 {
  margin: 0 0 16px !important;
  color: #fff !important;
  font-family: Georgia, 'Times New Roman', serif !important;
  font-size: clamp(3.25rem, 6vw, 5.35rem) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: -.025em !important;
  text-shadow: 0 4px 22px rgba(0,0,0,.46) !important;
}

body.housetory-homefront-active .hero-section .housetory-hero-subtitle {
  max-width: 820px !important;
  margin: 0 auto 30px !important;
  color: rgba(255,255,255,.96) !important;
  font-size: clamp(1.02rem, 1.45vw, 1.28rem) !important;
  line-height: 1.52 !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.52) !important;
}

body.housetory-homefront-active .hero-section .ht-homefront-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  max-width: 900px !important;
  margin: 0 auto !important;
}

body.housetory-homefront-active .hero-section .ht-homefront-actions > a {
  margin: 0 !important;
}

body.housetory-homefront-active .hero-section .housetory-hero-btn {
  min-width: 190px !important;
  height: 54px !important;
  padding: 0 24px !important;
  border-radius: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1rem !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.21) !important;
}

body.housetory-homefront-active .hero-section .ht-homefront-action-primary {
  background: var(--ht-home-green) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.42) !important;
}

body.housetory-homefront-active .hero-section .ht-homefront-action-secondary {
  background: rgba(255,252,246,.98) !important;
  color: #334d43 !important;
  border: 1px solid rgba(255,255,255,.72) !important;
}

body.housetory-homefront-active .hero-section .ht-homefront-how-link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 54px !important;
  padding: 0 12px !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.55) !important;
}

body.housetory-homefront-active .hero-section .ht-homefront-actions > a:hover {
  transform: translateY(-2px) !important;
  opacity: .97 !important;
}

/* -------- Search band -------- */
.ht-homefront-search-band {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(235px, 300px) minmax(320px, 1fr) minmax(170px, 230px);
  gap: 22px;
  align-items: center;
  padding: 20px max(28px, calc((100vw - 1450px) / 2));
  background: linear-gradient(90deg, #fbf7ef, #f8f2e8 65%, #fbf7ef);
  border-bottom: 1px solid rgba(80,60,35,.10);
  box-shadow: 0 8px 24px rgba(49,42,36,.035);
  box-sizing: border-box;
}

.ht-homefront-search-intro strong,
.ht-homefront-search-intro span { display: block; }

.ht-homefront-search-intro strong {
  color: var(--ht-home-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.23rem;
  line-height: 1.2;
  margin-bottom: 4px;
}

.ht-homefront-search-intro span {
  color: var(--ht-home-muted);
  font-size: .9rem;
}

.ht-homefront-search-holder { min-width: 0; }

.ht-homefront-search-form,
#housetory-header-search.ht-homefront-search-form {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.ht-homefront-search-form input[type="text"],
#housetory-header-search.ht-homefront-search-form input[type="text"] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid #d7cdbf !important;
  border-right: 0 !important;
  border-radius: 11px 0 0 11px !important;
  background: rgba(255,255,255,.97) !important;
  color: #312a24 !important;
  box-shadow: 0 5px 15px rgba(49,42,36,.07) !important;
  font-size: .98rem !important;
}

.ht-homefront-search-form button,
#housetory-header-search.ht-homefront-search-form button {
  flex: 0 0 auto !important;
  min-width: 118px !important;
  height: 52px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 1px solid var(--ht-home-green-dark) !important;
  border-radius: 0 11px 11px 0 !important;
  background: var(--ht-home-green) !important;
  color: #fff !important;
  font-weight: 800 !important;
  box-shadow: 0 5px 15px rgba(49,42,36,.10) !important;
}

.ht-homefront-search-browse {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  padding-left: 20px;
  border-left: 1px solid rgba(76,61,44,.16);
}

.ht-homefront-pin { color: var(--ht-home-green); font-size: 1.3rem; }
.ht-homefront-inline-link,
.ht-homefront-card-link,
.ht-homefront-contribute-options summary,
.ht-homefront-contribute-links a {
  color: var(--ht-home-green) !important;
  font-weight: 750 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}

.ht-homefront-search-fallback {
  display: flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: var(--ht-home-green);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800;
}

/* -------- Three front-page pathways -------- */
.ht-homefront-pathways {
  width: min(1450px, calc(100% - 48px));
  margin: 0 auto;
  padding: 28px 0 34px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  box-sizing: border-box;
}

.ht-homefront-card {
  min-width: 0;
  display: grid;
  grid-template-columns: 154px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 22px;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: 22px 24px;
  border: 1px solid var(--ht-home-border);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,254,251,.99), rgba(250,245,237,.98));
  box-shadow: 0 10px 28px rgba(50,38,25,.065);
  color: var(--ht-home-ink);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.ht-homefront-card::after {
  content: "";
  position: absolute;
  inset: auto -36px -56px auto;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(176,138,74,.09), rgba(176,138,74,0) 70%);
  pointer-events: none;
}

.ht-homefront-card-picture {
  grid-row: 1 / span 2;
  width: 146px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  filter: drop-shadow(0 8px 12px rgba(69,50,29,.09));
  transform-origin: center;
  transition: transform .28s ease, filter .28s ease;
}

.ht-homefront-card-picture svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.ht-homefront-picture-layer,
.ht-homefront-picture-tree,
.ht-homefront-lantern-body,
.ht-homefront-lantern-flame,
.ht-homefront-lantern-glow {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform .32s ease, opacity .32s ease;
}

.ht-homefront-card:hover,
.ht-homefront-card:focus-within {
  transform: translateY(-3px);
  border-color: rgba(67,94,79,.25);
  box-shadow: 0 16px 34px rgba(50,38,25,.11);
}

.ht-homefront-card:hover .ht-homefront-card-picture,
.ht-homefront-card:focus-within .ht-homefront-card-picture {
  transform: translateY(-3px) scale(1.025);
  filter: drop-shadow(0 11px 15px rgba(69,50,29,.13));
}

.ht-homefront-card-explore:hover .ht-homefront-picture-layer-back,
.ht-homefront-card-explore:focus-within .ht-homefront-picture-layer-back {
  transform: translateX(-2px) translateY(1px);
}

.ht-homefront-card-explore:hover .ht-homefront-picture-layer-front,
.ht-homefront-card-explore:focus-within .ht-homefront-picture-layer-front {
  transform: translateX(2px) translateY(-2px);
}

.ht-homefront-card-explore:hover .ht-homefront-picture-tree,
.ht-homefront-card-explore:focus-within .ht-homefront-picture-tree {
  transform: translateX(2px) rotate(1.5deg);
}

.ht-homefront-card-lantern:hover .ht-homefront-lantern-glow,
.ht-homefront-card-lantern:focus-within .ht-homefront-lantern-glow {
  transform: scale(1.08);
  opacity: 1;
}

.ht-homefront-card-lantern:hover .ht-homefront-lantern-body,
.ht-homefront-card-lantern:focus-within .ht-homefront-lantern-body {
  transform: translateY(-1px);
}

.ht-homefront-card-lantern:hover .ht-homefront-lantern-flame,
.ht-homefront-card-lantern:focus-within .ht-homefront-lantern-flame {
  transform: scale(1.09) translateY(-1px);
}

.ht-homefront-card-copy h3 {
  margin: 0 0 7px;
  color: var(--ht-home-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.3rem;
  line-height: 1.15;
}

.ht-homefront-card-copy p {
  margin: 0 0 10px;
  color: var(--ht-home-muted);
  font-size: .92rem;
  line-height: 1.48;
}

.ht-homefront-card > .ht-homefront-card-link,
.ht-homefront-card > details {
  grid-column: 2;
  justify-self: start;
  margin-top: 2px;
  font-size: .9rem;
}

.ht-homefront-contribute-options summary {
  cursor: pointer;
  list-style: none;
}
.ht-homefront-contribute-options summary::-webkit-details-marker { display: none; }

.ht-homefront-contribute-links {
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
}

.ht-homefront-contribute-links a { font-size: .84rem; }

.ht-homefront-contribute-browse-links {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 2px;
  padding-top: 6px;
  border-top: 1px solid rgba(76,61,44,.12);
}

.ht-homefront-contribute-browse-links a {
  font-size: .78rem;
  font-weight: 700 !important;
}

/* Keep the accepted legacy compact homepage content below this new front screen.
   We intentionally do not hide/remove it in v0.1.0; live acceptance can decide
   what lower-page material should be retained or redesigned next. */

@media (max-width: 980px) {
  .ht-homefront-search-band {
    grid-template-columns: 1fr;
    gap: 14px;
    padding-left: 22px;
    padding-right: 22px;
  }
  .ht-homefront-search-intro { text-align: center; }
  .ht-homefront-search-browse {
    justify-content: center;
    border-left: 0;
    padding-left: 0;
  }
  .ht-homefront-pathways { grid-template-columns: 1fr; width: min(720px, calc(100% - 32px)); }
}

@media (max-width: 768px) {
  body.housetory-homefront-active .hero-section.ht-homefront-hero {
    min-height: auto !important;
    padding: 62px 18px 54px !important;
  }
  body.housetory-homefront-active .hero-section h1 {
    font-size: clamp(2.45rem, 12vw, 3.45rem) !important;
  }
  body.housetory-homefront-active .hero-section .housetory-hero-subtitle {
    font-size: 1rem !important;
    margin-bottom: 24px !important;
  }
  body.housetory-homefront-active .hero-section .ht-homefront-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: min(100%, 390px) !important;
  }
  body.housetory-homefront-active .hero-section .housetory-hero-btn,
  body.housetory-homefront-active .hero-section .ht-homefront-how-link {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    box-sizing: border-box !important;
    justify-content: center !important;
  }
  .ht-homefront-search-form,
  #housetory-header-search.ht-homefront-search-form {
    flex-direction: column !important;
    gap: 9px !important;
  }
  .ht-homefront-search-form input[type="text"],
  #housetory-header-search.ht-homefront-search-form input[type="text"],
  .ht-homefront-search-form button,
  #housetory-header-search.ht-homefront-search-form button {
    width: 100% !important;
    border: 1px solid #d7cdbf !important;
    border-radius: 11px !important;
  }
  .ht-homefront-card {
    grid-template-columns: 112px minmax(0,1fr);
    column-gap: 15px;
    padding: 20px;
  }
  .ht-homefront-card-picture { width: 106px; height: 70px; }
}

/* =========================================================
   v0.1.2 desktop header row repair
   Keep Helix's existing header content and functionality, but prevent the
   larger desktop brand from forcing #sp-menu onto a second flex line.
   Mobile remains governed by the accepted <=768px site rules.
   ========================================================= */
@media (min-width: 769px) {
  body.housetory-homefront-active #sp-header {
    min-height: 92px !important;
    height: auto !important;
    background: rgba(255,255,255,.985) !important;
  }

  body.housetory-homefront-active #sp-header .container,
  body.housetory-homefront-active #sp-header .container-inner,
  body.housetory-homefront-active #sp-header .row.align-items-center {
    min-height: 92px !important;
  }

  body.housetory-homefront-active #sp-header .row.align-items-center {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: 100% !important;
  }

  body.housetory-homefront-active #sp-logo {
    flex: 0 0 270px !important;
    width: 270px !important;
    max-width: 270px !important;
    min-width: 0 !important;
    padding-right: 18px !important;
  }

  body.housetory-homefront-active #sp-logo .sp-column,
  body.housetory-homefront-active #sp-logo a,
  body.housetory-homefront-active #sp-logo .logo {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.housetory-homefront-active #sp-logo img,
  body.housetory-homefront-active #sp-logo .logo-image,
  body.housetory-homefront-active #sp-logo .sp-default-logo {
    max-height: 72px !important;
    max-width: 250px !important;
  }

  body.housetory-homefront-active #sp-menu {
    flex: 1 1 0 !important;
    width: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    align-self: stretch !important;
  }

  body.housetory-homefront-active #sp-menu > .sp-column {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 92px !important;
  }

  body.housetory-homefront-active #sp-header .sp-megamenu-wrapper {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
  }

  body.housetory-homefront-active #sp-header .sp-megamenu-parent {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    white-space: nowrap !important;
  }

  body.housetory-homefront-active #sp-header .sp-megamenu-parent > li > a,
  body.housetory-homefront-active #sp-header .sp-megamenu-parent > li > span,
  body.housetory-homefront-active #sp-header .sp-megamenu-parent > li > .sp-menu-heading {
    min-height: 92px !important;
    line-height: 92px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: .86rem !important;
  }

  body.housetory-homefront-active #sp-header .header-modules,
  body.housetory-homefront-active #sp-header #offcanvas-toggler,
  body.housetory-homefront-active #sp-header .offcanvas-toggler-right {
    flex: 0 0 auto !important;
  }

  body.housetory-homefront-active #sp-header .header-modules {
    margin-left: 10px !important;
  }

  body.housetory-homefront-active #sp-header #offcanvas-toggler,
  body.housetory-homefront-active #sp-header .offcanvas-toggler-right {
    margin-left: 10px !important;
  }
}

@media (min-width: 769px) and (max-width: 1180px) {
  body.housetory-homefront-active #sp-logo {
    flex-basis: 220px !important;
    width: 220px !important;
    max-width: 220px !important;
    padding-right: 12px !important;
  }

  body.housetory-homefront-active #sp-logo img,
  body.housetory-homefront-active #sp-logo .logo-image,
  body.housetory-homefront-active #sp-logo .sp-default-logo {
    max-height: 64px !important;
    max-width: 205px !important;
  }

  body.housetory-homefront-active #sp-header .sp-megamenu-parent > li > a,
  body.housetory-homefront-active #sp-header .sp-megamenu-parent > li > span,
  body.housetory-homefront-active #sp-header .sp-megamenu-parent > li > .sp-menu-heading {
    padding-left: 5px !important;
    padding-right: 5px !important;
    font-size: .78rem !important;
  }
}

/* The site's older hero rule gives every non-first hero anchor a pale button.
   Reset the approved tertiary action so its white text remains legible. */
body.housetory-homefront-active .hero-section .ht-homefront-actions > a.ht-homefront-how-link {
  min-width: 150px !important;
  min-height: 54px !important;
  padding: 0 18px !important;
  justify-content: center !important;
  background: rgba(24,27,24,.34) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.58) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.16) !important;
  text-decoration: none !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.55) !important;
}

body.housetory-homefront-active .hero-section .ht-homefront-actions > a.ht-homefront-how-link:hover {
  background: rgba(24,27,24,.48) !important;
  color: #fff !important;
}



/* =========================================================
   v0.1.3 desktop top-bar seam repair
   Helix lets the enlarged desktop logo paint roughly two pixels into the
   utility bar. Keep the utility bar above the header in the stacking order
   so its dark background cleanly masks that tiny overlap. No dimensions,
   navigation, sticky-header behaviour or mobile layout are changed.
   ========================================================= */
@media (min-width: 769px) {
  #sp-top-bar {
    position: relative !important;
    z-index: 1102 !important;
  }

  #sp-header {
    z-index: 1101 !important;
  }
}

/* =========================================================
   v0.1.4 desktop logo scale + vertical alignment
   Keep the accepted 92px desktop white header height. Use the existing
   vertical space more effectively by explicitly enlarging the full desktop
   wordmark and nudging it down into visual alignment with the menu. The
   v0.1.3 top-bar stacking repair remains authoritative, so the dark utility
   bar continues to mask any fractional paint overlap. Mobile is untouched.
   ========================================================= */
@media (min-width: 1181px) {
  body.housetory-homefront-active #sp-logo {
    flex-basis: 290px !important;
    width: 290px !important;
    max-width: 290px !important;
    padding-right: 14px !important;
  }

  body.housetory-homefront-active #sp-logo .sp-column,
  body.housetory-homefront-active #sp-logo .logo,
  body.housetory-homefront-active #sp-logo a {
    display: flex !important;
    align-items: center !important;
    height: 92px !important;
    min-height: 92px !important;
    overflow: visible !important;
  }

  body.housetory-homefront-active #sp-logo img.logo-default,
  body.housetory-homefront-active #sp-logo img.logo-sticky,
  body.housetory-homefront-active #sp-logo img.logo-image,
  body.housetory-homefront-active #sp-logo .sp-default-logo {
    height: 78px !important;
    max-height: 78px !important;
    width: auto !important;
    max-width: 276px !important;
    object-fit: contain !important;
    transform: translateY(5px) !important;
    transform-origin: left center !important;
  }
}

@media (min-width: 769px) and (max-width: 1180px) {
  body.housetory-homefront-active #sp-logo .sp-column,
  body.housetory-homefront-active #sp-logo .logo,
  body.housetory-homefront-active #sp-logo a {
    display: flex !important;
    align-items: center !important;
    height: 92px !important;
    min-height: 92px !important;
    overflow: visible !important;
  }

  body.housetory-homefront-active #sp-logo img.logo-default,
  body.housetory-homefront-active #sp-logo img.logo-sticky,
  body.housetory-homefront-active #sp-logo img.logo-image,
  body.housetory-homefront-active #sp-logo .sp-default-logo {
    height: 66px !important;
    max-height: 66px !important;
    width: auto !important;
    max-width: 215px !important;
    object-fit: contain !important;
    transform: translateY(4px) !important;
    transform-origin: left center !important;
  }
}


@media (prefers-reduced-motion: reduce) {
  .ht-homefront-card,
  .ht-homefront-card-picture,
  .ht-homefront-picture-layer,
  .ht-homefront-picture-tree,
  .ht-homefront-lantern-body,
  .ht-homefront-lantern-flame,
  .ht-homefront-lantern-glow {
    transition: none !important;
    transform: none !important;
  }
}

/* =========================================================
   v0.1.5 lower homepage consolidation
   The accepted v0.1.4 header/hero/search/pathway screen remains unchanged.
   Once the new lower homepage is built successfully, retire only the old
   compact homepage teaser that repeated Explore / Contribute / Preserve and
   Search / Explore / Contribute / Review / Preserve messaging.
   ========================================================= */
body.housetory-homefront-active.ht-homefront-lower-ready .housetory-home-about-compact[data-housetory-homefront-retired="1"] {
  display: none !important;
}

.ht-homefront-lower {
  width: 100%;
  padding: 72px 22px 78px;
  box-sizing: border-box;
  background: #f8f4ed;
  border-top: 1px solid rgba(84,65,44,.10);
  color: var(--ht-home-ink);
}

.ht-homefront-lower-intro {
  width: min(900px, 100%);
  margin: 0 auto 34px;
  text-align: center;
}

.ht-homefront-lower-kicker,
.ht-homefront-feature-eyebrow {
  display: block;
  margin: 0 0 9px;
  color: var(--ht-home-green);
  font-family: inherit;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .11em;
  line-height: 1.25;
  text-transform: uppercase;
}

.ht-homefront-lower-intro h2 {
  max-width: 820px;
  margin: 0 auto 16px;
  color: var(--ht-home-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 3.1vw, 3rem);
  font-weight: 500;
  line-height: 1.12;
}

.ht-homefront-lower-intro p {
  max-width: 720px;
  margin: 0 auto;
  color: var(--ht-home-muted);
  font-size: 1.02rem;
  line-height: 1.65;
}

.ht-homefront-research-feature,
.ht-homefront-people-grid,
.ht-homefront-review-band {
  width: min(1240px, calc(100% - 20px));
  margin-left: auto;
  margin-right: auto;
}

.ht-homefront-research-feature {
  display: grid;
  grid-template-columns: 118px minmax(0,1fr) auto;
  gap: 26px;
  align-items: center;
  margin-bottom: 22px;
  padding: 30px 34px;
  box-sizing: border-box;
  background: #eef4ef;
  border: 1px solid rgba(52,93,77,.22);
  border-radius: 22px;
  box-shadow: 0 14px 34px rgba(55,45,34,.055);
}

.ht-homefront-research-mark {
  width: 96px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f5ecd9;
  border: 1px solid rgba(176,138,74,.26);
}

.ht-homefront-research-mark svg {
  width: 57px;
  height: 57px;
  fill: none;
  stroke: var(--ht-home-green);
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ht-homefront-research-copy h3,
.ht-homefront-deeper-card h3 {
  margin: 0 0 8px;
  color: var(--ht-home-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: 1.15;
}

.ht-homefront-research-copy h3 { font-size: 1.75rem; }
.ht-homefront-deeper-card h3 { font-size: 1.55rem; }

.ht-homefront-research-copy p,
.ht-homefront-deeper-card p,
.ht-homefront-review-band p {
  margin: 0;
  color: var(--ht-home-muted);
  line-height: 1.6;
}

.ht-homefront-source-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.ht-homefront-source-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(52,93,77,.17);
  color: #496558;
  font-size: .78rem;
  font-weight: 700;
}

.ht-homefront-feature-link,
.ht-homefront-review-link {
  color: var(--ht-home-green) !important;
  font-weight: 800;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.ht-homefront-feature-link:hover,
.ht-homefront-review-link:hover {
  color: var(--ht-home-green-dark) !important;
}

.ht-homefront-people-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 22px;
  margin-bottom: 22px;
}

.ht-homefront-deeper-card {
  position: relative;
  min-height: 250px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  padding: 31px 34px 29px;
  box-sizing: border-box;
  background: #fffdf9;
  border: 1px solid var(--ht-home-border);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(55,45,34,.05);
  overflow: hidden;
}

.ht-homefront-deeper-number {
  position: absolute;
  top: 21px;
  right: 26px;
  color: rgba(52,93,77,.18);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 3.4rem;
  line-height: 1;
}

.ht-homefront-deeper-card > div:first-of-type {
  max-width: 82%;
}

.ht-homefront-network-links {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.ht-homefront-review-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 25px 31px;
  box-sizing: border-box;
  background: #332c26;
  border-radius: 18px;
  color: #fff;
}

.ht-homefront-review-band .ht-homefront-feature-eyebrow {
  color: #dec99f;
}

.ht-homefront-review-band strong {
  display: block;
  margin: 0 0 6px;
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.38rem;
  font-weight: 500;
}

.ht-homefront-review-band p {
  color: rgba(255,255,255,.76);
}

.ht-homefront-review-link {
  color: #fff !important;
  flex: 0 0 auto;
}

.ht-homefront-review-link:hover { color: #f1dfb8 !important; }

@media (max-width: 980px) {
  .ht-homefront-lower { padding-top: 56px; padding-bottom: 62px; }
  .ht-homefront-research-feature {
    grid-template-columns: 92px minmax(0,1fr);
  }
  .ht-homefront-research-mark { width: 78px; height: 78px; }
  .ht-homefront-research-mark svg { width: 47px; height: 47px; }
  .ht-homefront-research-feature > .ht-homefront-feature-link {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 760px) {
  .ht-homefront-lower { padding: 46px 16px 54px; }
  .ht-homefront-lower-intro { margin-bottom: 27px; }
  .ht-homefront-research-feature,
  .ht-homefront-people-grid,
  .ht-homefront-review-band {
    width: 100%;
  }
  .ht-homefront-research-feature {
    grid-template-columns: 1fr;
    gap: 17px;
    padding: 25px 22px;
  }
  .ht-homefront-research-mark { width: 72px; height: 72px; }
  .ht-homefront-research-feature > .ht-homefront-feature-link { grid-column: auto; }
  .ht-homefront-people-grid { grid-template-columns: 1fr; }
  .ht-homefront-deeper-card { min-height: 0; padding: 26px 23px; }
  .ht-homefront-deeper-number { font-size: 2.8rem; right: 20px; }
  .ht-homefront-deeper-card > div:first-of-type { max-width: 88%; }
  .ht-homefront-review-band {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 22px;
  }
  .ht-homefront-feature-link,
  .ht-homefront-review-link { white-space: normal; }
}


/* =========================================================
   v0.1.7 global desktop header parity + live lower homepage
   Make interior-page desktop header geometry match the accepted homepage
   header exactly. Mobile remains untouched. The homepage lower showcase adds
   real published House previews plus source/trades discovery panels.
   ========================================================= */
@media (min-width: 769px) {
  #sp-header {
    min-height: 92px !important;
    height: auto !important;
    background: rgba(255,255,255,.985) !important;
  }
  #sp-header .container,
  #sp-header .container-inner,
  #sp-header .row.align-items-center {
    min-height: 92px !important;
  }
  #sp-header .row.align-items-center {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: 100% !important;
  }
  #sp-logo {
    flex: 0 0 290px !important;
    width: 290px !important;
    max-width: 290px !important;
    min-width: 0 !important;
    padding-right: 14px !important;
  }
  #sp-logo .sp-column,
  #sp-logo .logo,
  #sp-logo a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 92px !important;
    min-height: 92px !important;
    overflow: visible !important;
  }
  #sp-logo img.logo-default,
  #sp-logo img.logo-sticky,
  #sp-logo img.logo-image,
  #sp-logo .sp-default-logo {
    height: 78px !important;
    max-height: 78px !important;
    width: auto !important;
    max-width: 276px !important;
    object-fit: contain !important;
    transform: translateY(5px) !important;
    transform-origin: left center !important;
  }
  #sp-menu {
    flex: 1 1 0 !important;
    width: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
    align-self: stretch !important;
  }
  #sp-menu > .sp-column {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 92px !important;
  }
  #sp-header .sp-megamenu-wrapper {
    display: flex !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: center !important;
  }
  #sp-header .sp-megamenu-parent {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    white-space: nowrap !important;
  }
  #sp-header .sp-megamenu-parent > li > a,
  #sp-header .sp-megamenu-parent > li > span,
  #sp-header .sp-megamenu-parent > li > .sp-menu-heading {
    min-height: 92px !important;
    line-height: 92px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    font-size: .86rem !important;
  }
  #sp-header .header-modules,
  #sp-header #offcanvas-toggler,
  #sp-header .offcanvas-toggler-right { flex: 0 0 auto !important; }
  #sp-header .header-modules { margin-left: 10px !important; }
  #sp-header #offcanvas-toggler,
  #sp-header .offcanvas-toggler-right { margin-left: 10px !important; }
}

@media (min-width: 769px) and (max-width: 1180px) {
  #sp-logo {
    flex-basis: 220px !important;
    width: 220px !important;
    max-width: 220px !important;
    padding-right: 12px !important;
  }
  #sp-logo .sp-column,
  #sp-logo .logo,
  #sp-logo a {
    height: 92px !important;
    min-height: 92px !important;
  }
  #sp-logo img.logo-default,
  #sp-logo img.logo-sticky,
  #sp-logo img.logo-image,
  #sp-logo .sp-default-logo {
    height: 66px !important;
    max-height: 66px !important;
    max-width: 215px !important;
    transform: translateY(4px) !important;
  }
  #sp-header .sp-megamenu-parent > li > a,
  #sp-header .sp-megamenu-parent > li > span,
  #sp-header .sp-megamenu-parent > li > .sp-menu-heading {
    padding-left: 5px !important;
    padding-right: 5px !important;
    font-size: .78rem !important;
  }
}

.ht-homefront-lower-v017 {
  padding: 34px 20px 62px;
  background: linear-gradient(180deg, #faf7f1 0%, #f5efe6 100%);
}

.ht-homefront-showcase {
  width: min(1480px, calc(100% - 10px));
  margin: 0 auto 24px;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(270px, .9fr) minmax(270px, .9fr);
  gap: 20px;
  align-items: stretch;
}

.ht-homefront-recent,
.ht-homefront-showcase-card {
  min-width: 0;
  border: 1px solid var(--ht-home-border);
  border-radius: 20px;
  background: rgba(255,253,249,.96);
  box-shadow: 0 12px 30px rgba(55,45,34,.055);
  overflow: hidden;
}

.ht-homefront-recent { padding: 19px 19px 18px; }
.ht-homefront-showcase-card { padding: 19px; display: flex; flex-direction: column; }

.ht-homefront-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  min-height: 36px;
  margin: 0 0 15px;
}

.ht-homefront-section-head h2 {
  margin: 0;
  color: var(--ht-home-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.42rem;
  font-weight: 500;
  line-height: 1.18;
}

.ht-homefront-section-link {
  flex: 0 0 auto;
  color: var(--ht-home-green) !important;
  font-size: .82rem;
  font-weight: 800;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.ht-homefront-recent-grid {
  min-height: 244px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 13px;
}

.ht-homefront-recent-house {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(84,65,44,.15);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 7px 18px rgba(55,45,34,.045);
  transition: transform .22s ease, box-shadow .22s ease;
}

.ht-homefront-recent-house:hover,
.ht-homefront-recent-house:focus-within {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(55,45,34,.09);
}

.ht-homefront-recent-house-media {
  height: 158px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #eee6d9;
  text-decoration: none !important;
}

.ht-homefront-recent-house-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ht-homefront-recent-house-media.is-placeholder {
  flex-direction: column;
  gap: 5px;
  color: var(--ht-home-green);
  background: linear-gradient(145deg,#fbf4e7,#eee3d1);
}
.ht-homefront-recent-house-media.is-placeholder span { font-size: 2.4rem; }
.ht-homefront-recent-house-media.is-placeholder small { font-weight: 700; }

.ht-homefront-recent-house-body { padding: 11px 12px 13px; }
.ht-homefront-recent-house-body h3 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: .98rem;
  line-height: 1.24;
}
.ht-homefront-recent-house-title {
  color: var(--ht-home-ink) !important;
  text-decoration: none !important;
}
.ht-homefront-recent-house-title:hover { color: var(--ht-home-green) !important; }
.ht-homefront-recent-house-meta {
  margin: 5px 0 0;
  color: var(--ht-home-muted);
  font-size: .75rem;
  line-height: 1.3;
}
.ht-homefront-recent-status {
  min-height: 1em;
  margin: 9px 0 0;
  color: var(--ht-home-muted);
  font-size: .76rem;
}
.ht-homefront-recent-fallback {
  grid-column: 1 / -1;
  min-height: 210px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: #f4ede2;
}

.ht-homefront-recent-skeleton {
  overflow: hidden;
  border: 1px solid rgba(84,65,44,.10);
  border-radius: 14px;
  background: #fff;
}
.ht-homefront-recent-skeleton span,
.ht-homefront-recent-skeleton i {
  display: block;
  background: linear-gradient(90deg,#eee8de,#f7f2eb,#eee8de);
  background-size: 200% 100%;
  animation: ht-homefront-pulse 1.4s linear infinite;
}
.ht-homefront-recent-skeleton span { height: 158px; }
.ht-homefront-recent-skeleton i { height: 12px; margin: 12px 12px 0; border-radius: 999px; }
.ht-homefront-recent-skeleton i:last-child { width: 56%; margin-bottom: 14px; }
@keyframes ht-homefront-pulse { to { background-position: -200% 0; } }

.ht-homefront-showcase-picture {
  min-height: 176px;
  overflow: hidden;
  border-radius: 15px;
  background: #e7dfd2;
  box-shadow: inset 0 0 0 1px rgba(84,65,44,.09);
}
.ht-homefront-showcase-picture svg { display: block; width: 100%; height: 100%; min-height: 176px; }
.ht-homefront-showcase-copy { padding: 17px 4px 2px; }
.ht-homefront-showcase-copy h3 {
  margin: 0 0 8px;
  color: var(--ht-home-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.28rem;
  font-weight: 500;
  line-height: 1.2;
}
.ht-homefront-showcase-copy p { margin: 0; color: var(--ht-home-muted); font-size: .9rem; line-height: 1.52; }

.ht-homefront-network-band {
  width: min(1240px, calc(100% - 20px));
  margin: 0 auto 22px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 30px;
  align-items: center;
  padding: 27px 31px;
  box-sizing: border-box;
  border: 1px solid rgba(52,93,77,.18);
  border-radius: 19px;
  background: #edf3ee;
}
.ht-homefront-network-band h2 {
  margin: 0 0 7px;
  color: var(--ht-home-ink);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.55rem;
  font-weight: 500;
}
.ht-homefront-network-band p { max-width: 760px; margin: 0; color: var(--ht-home-muted); line-height: 1.55; }

@media (max-width: 1160px) {
  .ht-homefront-showcase { grid-template-columns: 1fr 1fr; }
  .ht-homefront-recent { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .ht-homefront-lower-v017 { padding: 26px 14px 48px; }
  .ht-homefront-showcase { width: 100%; grid-template-columns: 1fr; gap: 15px; }
  .ht-homefront-recent { grid-column: auto; padding: 17px; }
  .ht-homefront-section-head { align-items: flex-start; }
  .ht-homefront-section-link { white-space: normal; }
  .ht-homefront-recent-grid { grid-template-columns: 1fr; }
  .ht-homefront-recent-house { display: grid; grid-template-columns: 135px minmax(0,1fr); }
  .ht-homefront-recent-house-media { height: 110px; }
  .ht-homefront-recent-house-body { align-self: center; }
  .ht-homefront-showcase-card { padding: 17px; }
  .ht-homefront-network-band {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 24px 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ht-homefront-recent-house,
  .ht-homefront-recent-skeleton span,
  .ht-homefront-recent-skeleton i {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}

/* =========================================================
   v0.1.8 rich pictorial artwork + green swinging-lantern Dottie
   Presentation-only refinement over v0.1.7.
   ========================================================= */
.ht-homefront-card {
  grid-template-columns: 180px minmax(0, 1fr);
  column-gap: 24px;
}

.ht-homefront-card-picture.ht-homefront-card-picture-rich {
  width: 176px;
  height: 128px;
  overflow: hidden;
  border-radius: 18px;
  background: #f7efe2;
  box-shadow: 0 8px 20px rgba(59,46,31,.09);
  filter: none;
}

.ht-homefront-card-picture-rich img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
  transition: transform .34s ease, filter .34s ease;
}

.ht-homefront-card:hover .ht-homefront-card-picture-rich,
.ht-homefront-card:focus-within .ht-homefront-card-picture-rich {
  transform: translateY(-3px);
  filter: none;
}

.ht-homefront-card:hover .ht-homefront-card-picture-rich img,
.ht-homefront-card:focus-within .ht-homefront-card-picture-rich img {
  transform: scale(1.035);
  filter: saturate(1.03) contrast(1.015);
}

.ht-homefront-showcase-picture .ht-homefront-showcase-rich-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 176px;
  object-fit: cover;
}

.ht-homefront-showcase-picture .ht-homefront-showcase-books {
  object-position: center center;
}

.ht-homefront-showcase-picture .ht-homefront-showcase-trades {
  object-position: center 35%;
  filter: contrast(1.03);
}

/* Dottie remains the existing working assistant; only the visible trigger branding changes. */
.ht-homefront-dottie-green {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  background: linear-gradient(180deg, #276a51 0%, #174e3b 100%) !important;
  color: #fffdf8 !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(26,76,58,.24) !important;
}

.ht-homefront-dottie-green:hover,
.ht-homefront-dottie-green:focus-visible {
  background: linear-gradient(180deg, #2d765a 0%, #19543f 100%) !important;
  color: #fff !important;
  box-shadow: 0 13px 28px rgba(26,76,58,.31) !important;
}

.ht-homefront-dottie-green .ht-homefront-dottie-old-icon {
  display: none !important;
}

.ht-homefront-dottie-lantern {
  width: 31px !important;
  height: 31px !important;
  min-width: 31px !important;
  max-width: 31px !important;
  min-height: 31px !important;
  max-height: 31px !important;
  margin: -3px 0 -3px -2px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  object-position: center !important;
  box-shadow: 0 0 0 1px rgba(242,205,118,.42), 0 0 12px rgba(241,184,64,.22) !important;
  transform-origin: 50% 9% !important;
  animation: ht-homefront-lantern-swing 3.6s ease-in-out infinite;
}

@keyframes ht-homefront-lantern-swing {
  0%, 100% { transform: rotate(-3deg); }
  50% { transform: rotate(3deg); }
}

@media (max-width: 1180px) and (min-width: 769px) {
  .ht-homefront-card {
    grid-template-columns: 150px minmax(0, 1fr);
    column-gap: 18px;
  }
  .ht-homefront-card-picture.ht-homefront-card-picture-rich {
    width: 146px;
    height: 112px;
  }
}

@media (max-width: 768px) {
  .ht-homefront-card-picture.ht-homefront-card-picture-rich {
    width: min(220px, 100%);
    height: 142px;
    margin: 0 auto 4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ht-homefront-card-picture-rich img,
  .ht-homefront-dottie-lantern {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}



/* =========================================================
   v0.1.9 Featured Houses + balanced showcase row
   Keeps the accepted v0.1.8 artwork but promotes curated Featured Houses
   and shortens the research/trades panels so the lower showcase reads as
   one balanced row rather than a tall pair beside a mostly empty House panel.
   ========================================================= */
.ht-homefront-lower-v019 .ht-homefront-showcase {
  grid-template-columns: minmax(0, 1.7fr) minmax(255px, .86fr) minmax(255px, .86fr);
  align-items: start;
}

.ht-homefront-lower-v019 .ht-homefront-recent {
  display: flex;
  flex-direction: column;
}

.ht-homefront-lower-v019 .ht-homefront-recent-grid {
  min-height: 0;
}

.ht-homefront-lower-v019 .ht-homefront-showcase-card {
  padding: 18px;
}

.ht-homefront-lower-v019 .ht-homefront-section-head {
  margin-bottom: 13px;
}

.ht-homefront-lower-v019 .ht-homefront-showcase-picture {
  min-height: 134px;
  height: 134px;
}

.ht-homefront-lower-v019 .ht-homefront-showcase-picture .ht-homefront-showcase-rich-image {
  min-height: 134px;
}

.ht-homefront-lower-v019 .ht-homefront-showcase-copy {
  padding: 13px 2px 0;
}

.ht-homefront-lower-v019 .ht-homefront-showcase-copy h3 {
  margin: 0 0 6px;
  font-size: 1.16rem;
}

.ht-homefront-lower-v019 .ht-homefront-showcase-copy p {
  font-size: .865rem;
  line-height: 1.46;
}

.ht-homefront-lower-v019 .ht-homefront-trades-card .ht-homefront-showcase-trades {
  object-position: center 24%;
}

.ht-homefront-lower-v019 .ht-homefront-sources-card .ht-homefront-showcase-books {
  object-position: center 48%;
}

@media (max-width: 1160px) {
  .ht-homefront-lower-v019 .ht-homefront-showcase { grid-template-columns: 1fr 1fr; }
  .ht-homefront-lower-v019 .ht-homefront-recent { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .ht-homefront-lower-v019 .ht-homefront-showcase { grid-template-columns: 1fr; gap: 15px; }
  .ht-homefront-lower-v019 .ht-homefront-showcase-picture,
  .ht-homefront-lower-v019 .ht-homefront-showcase-picture .ht-homefront-showcase-rich-image {
    min-height: 176px;
    height: 176px;
  }
}


/* =========================================================
   v0.1.10 Trades image crop correction
   Keep the v0.1.9 panel dimensions; anchor the archival worker image at the
   top so the principal worker's head/hat remains visible in the wide crop.
   ========================================================= */
.ht-homefront-lower-v019 .ht-homefront-trades-card .ht-homefront-showcase-trades {
  object-position: center top !important;
}

/* =========================================================
   v0.1.13 Browse Published Houses pathway
   Adds a fourth top-level homepage pathway between Explore Houses and
   Contribute Stories. The new card uses the existing approved heritage-house
   artwork with a restrained collection badge, adds no new media dependency,
   and routes to the same published-Houses browser used by Featured Houses.
   ========================================================= */
.ht-homefront-card-picture-browse.ht-homefront-card-picture-rich {
  position: relative;
}

.ht-homefront-card-picture-browse.ht-homefront-card-picture-rich::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: 11px;
  width: 38px;
  height: 28px;
  border: 2px solid rgba(52, 79, 65, .84);
  border-radius: 6px;
  background:
    linear-gradient(90deg, rgba(255,253,248,.96) 0 44%, rgba(224,214,195,.96) 44% 49%, rgba(255,253,248,.96) 49% 100%);
  box-shadow:
    -6px -6px 0 -2px rgba(255,253,248,.96),
    -6px -6px 0 0 rgba(52,79,65,.55),
    0 5px 12px rgba(45,35,24,.18);
  pointer-events: none;
}

@media (min-width: 1281px) {
  .ht-homefront-pathways {
    width: min(1540px, calc(100% - 48px));
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }

  .ht-homefront-card {
    grid-template-columns: 116px minmax(0, 1fr);
    column-gap: 17px;
    padding: 20px;
  }

  .ht-homefront-card-picture.ht-homefront-card-picture-rich {
    width: 114px;
    height: 96px;
  }

  .ht-homefront-card-copy h3 {
    font-size: 1.16rem;
  }

  .ht-homefront-card-copy p {
    font-size: .86rem;
    line-height: 1.45;
  }

  .ht-homefront-card > .ht-homefront-card-link,
  .ht-homefront-card > details {
    font-size: .85rem;
  }
}

@media (min-width: 981px) and (max-width: 1280px) {
  .ht-homefront-pathways {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(1040px, calc(100% - 48px));
  }
}

/* =========================================================
   v0.1.17 desktop showcase alignment + Trades scene crop
   - line up Featured Houses / Historical research sources /
     Trades & Professions along the same bottom edge;
   - retain the accepted archival worker image, but move the
     crop down enough to show more roof/working context while
     keeping the worker's head visible.
   ========================================================= */
@media (min-width: 1161px) {
  .ht-homefront-lower-v019 .ht-homefront-showcase {
    align-items: stretch;
  }

  .ht-homefront-lower-v019 .ht-homefront-recent,
  .ht-homefront-lower-v019 .ht-homefront-showcase-card {
    height: 100%;
    box-sizing: border-box;
  }
}

.ht-homefront-lower-v019 .ht-homefront-trades-card .ht-homefront-showcase-trades {
  object-position: center 13% !important;
}

