/*
Theme Name: Sade House
Theme URI: https://sadehouse.com
Author: Sade House
Author URI: https://sadehouse.com
Description: Custom theme for Sade House — architectural, refined, minimal framework.
Version: 2.0
Text Domain: sade-house
*/

/* ======================
   BASE TOKENS
   ====================== */

:root {
  --house-brown: #4A2F24;
  --architectural-umber: #3C241C;
  --cement-grey: #B8B6B2;
  --light-beige: #F4F1EC;
  --obsidian-brown: #1C120B;
  --dark-espresso: #24130D;

  --heading-font: "Playfair Display", Georgia, "Times New Roman", serif;
  --body-font: "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;

  --max-width: 1120px;
  --section-padding: 4.5rem;
}

/* Reset-ish */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

/* ======================
   TYPOGRAPHY
   ====================== */

body {
  font-family: var(--body-font);
  background: var(--obsidian-brown);
  color: var(--light-beige);
  line-height: 1.6;
  font-size: 16px;
}

h1,
h2,
h3,
h4 {
  font-family: var(--heading-font);
  margin: 0;
}

/* Shared section label style (ABOUT / OUR HOUSES / CONTACT labels) */
.sh-section-heading,
.sh-section-kicker {
  font-family: var(--heading-font);
  font-size: 1.1rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  opacity: 0.8;
  margin: 0 0 2.5rem;
}

/* ======================
   LAYOUT WRAPPER
   ====================== */

.sh-container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.sh-section {
  padding: var(--section-padding) 0;
}

/* ======================
   HEADER / NAV
   ====================== */

.sh-site-header {
  background: var(--house-brown);
  border-bottom: 1px solid rgba(244, 241, 236, 0.14);
}

.sh-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 0;
}

.sh-logo {
  font-family: var(--heading-font);
  font-size: 1rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--light-beige);
  text-decoration: none;
}

.sh-main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.75rem;
}

.sh-main-nav a {
  font-size: 0.9rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--light-beige);
  opacity: 0.8;
}

.sh-main-nav a:hover,
.sh-main-nav .current-menu-item > a {
  opacity: 1;
}

/* ======================
   HERO
   ====================== */

.sh-hero {
  background: var(--obsidian-brown); /* flat, clean */
  padding: 5.5rem 0 4rem;
}

.sh-hero-inner {
  text-align: center;
  max-width: 48rem;
  margin: 0 auto;
}

.sh-hero-brand {
  font-size: 0.85rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 0.8rem;
}

.sh-hero-kicker {
  font-size: 0.8rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.75;
  margin-bottom: 1.25rem;
}

.sh-hero-title {
  font-size: clamp(2.7rem, 4vw, 3.6rem);
  line-height: 1.15;
  margin: 0 0 1.5rem;
}

.sh-hero-body {
  max-width: 34rem;
  font-size: 0.98rem;
  opacity: 0.9;
  margin: 0 auto 0; /* no hero CTAs, so no extra bottom gap */
}

/* ======================
   BUTTONS
   ====================== */

.sh-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.sh-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 1.9rem;
  border-radius: 999px;
  border: 1px solid rgba(244, 241, 236, 0.4);
  font-size: 0.85rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}

.sh-button-primary {
  background: var(--house-brown);
  color: var(--light-beige);
  border-color: transparent;
}

.sh-button-primary:hover {
  background: var(--architectural-umber);
}

.sh-button-secondary {
  background: transparent;
  color: var(--light-beige);
}

.sh-button-secondary:hover {
  background: rgba(244, 241, 236, 0.06);
}

/* ======================
   OUR HOUSES
   ====================== */

.sh-houses {
  background: var(--dark-espresso);
}

.sh-houses .sh-section-heading {
  text-align: center;
}

.sh-firms-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem;
}

.sh-firm-card {
  padding: 2.5rem 2.25rem;
  border-radius: 0.75rem;
}

/* Strategic card – deep near-black */
.sh-firm-card--strategic {
  background: #181716;
  color: var(--light-beige);
}

/* Ventures card – cement grey */
.sh-firm-card--ventures {
  background: var(--cement-grey);
  color: #181716;
}

.sh-firm-name {
  font-size: 1.3rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin: 0 0 0.75rem;
}

.sh-firm-tagline {
  font-size: 0.85rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.8;
  margin-bottom: 1.5rem;
}

.sh-firm-body {
  font-size: 0.95rem;
  opacity: 0.9;
  margin-bottom: 1.75rem;
}

.sh-firm-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* ======================
   ABOUT
   ====================== */

.sh-about {
  background: var(--dark-espresso);
}

.sh-about-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}

.sh-about-lead {
  font-size: 1.35rem;
  margin-bottom: 1.4rem;
  line-height: 1.45;
}

.sh-about-copy p {
  margin: 0 0 1rem;
  opacity: 0.92;
  font-size: 0.95rem;
  line-height: 1.55;
}

/* Divider line between About and Capabilities */
.sh-about-tags {
  margin-top: 2.8rem;
  padding-top: 2.2rem;
  border-top: 1px solid rgba(244, 241, 236, 0.16); /* subtle, elegant line */

  /* Remove box, shadow, gradient */
  background: none;
  box-shadow: none;
  border-radius: 0;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 3rem;
  row-gap: 1.2rem;
  align-items: flex-start;
  text-align: left;
}

/* "Capabilities" label spans both columns */
.sh-about-tags-kicker {
  grid-column: 1 / -1;
  font-family: var(--heading-font);
  font-size: 0.75rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.72;
  margin: 0 0 0.8rem;
}

/* Each column */
.sh-about-tag-row {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  margin: 0;
}

/* Clean text-only capabilities */
.sh-tag {
  font-size: 0.78rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;

  padding: 0;
  border: none;
  background: none;
  border-radius: 0;

  opacity: 0.92;
  white-space: nowrap;

  animation: shTagFadeUp 0.55s ease-out both;
}

.sh-tag::before {
  content: none !important;
}

/* Fade-up animation */
@keyframes shTagFadeUp {
  0% { opacity: 0; transform: translateY(6px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Cascading delays */
.sh-about-tag-row .sh-tag:nth-child(1) { animation-delay: 0.05s; }
.sh-about-tag-row .sh-tag:nth-child(2) { animation-delay: 0.10s; }
.sh-about-tag-row .sh-tag:nth-child(3) { animation-delay: 0.15s; }
.sh-about-tag-row .sh-tag:nth-child(4) { animation-delay: 0.20s; }
.sh-about-tag-row .sh-tag:nth-child(5) { animation-delay: 0.25s; }
.sh-about-tag-row .sh-tag:nth-child(6) { animation-delay: 0.30s; }
.sh-about-tag-row .sh-tag:nth-child(7) { animation-delay: 0.35s; }
.sh-about-tag-row .sh-tag:nth-child(8) { animation-delay: 0.40s; }

/* ======================
   SADE STRATEGIC PAGE
   ====================== */

.sh-ss-main {
  background: var(--dark-espresso);
}

/* HERO */

.ss-hero {
  padding-top: 4.5rem;
  padding-bottom: 3.5rem;
  background: var(--obsidian-brown);
}

.ss-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 3.5rem;
  align-items: flex-start;
}

.ss-hero-text {
  max-width: 40rem;
}

.ss-kicker {
  font-family: var(--heading-font);
  font-size: 0.8rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  opacity: 0.78;
  margin: 0 0 0.8rem;
}

.ss-title {
  font-size: clamp(2.3rem, 3.6vw, 3rem);
  line-height: 1.2;
  margin: 0 0 0.8rem;
}

.ss-subtitle {
  font-size: 0.98rem;
  opacity: 0.9;
  margin: 0 0 0.9rem;
}

.ss-body {
  font-size: 0.95rem;
  opacity: 0.92;
  margin: 0 0 1.6rem;
}

.ss-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

/* Hero aside */

.ss-hero-aside {
  border-left: 1px solid rgba(244, 241, 236, 0.16);
  padding-left: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.ss-aside-block {
  max-width: 18rem;
}

.ss-aside-label {
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.7;
  margin: 0 0 0.3rem;
}

.ss-aside-value {
  font-size: 0.9rem;
  opacity: 0.9;
  margin: 0;
}

/* SNAPSHOT STRIP */

.ss-snapshot {
  padding-top: 2.5rem;
  padding-bottom: 2.8rem;
  background: var(--dark-espresso);
}

.ss-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.2rem;
}

.ss-snapshot-item {
  font-size: 0.9rem;
}

.ss-snapshot-label {
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.75;
  margin: 0 0 0.4rem;
}

.ss-snapshot-value {
  margin: 0;
  opacity: 0.92;
}

/* SERVICES */

.ss-services {
  background: var(--dark-espresso);
}

.ss-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.ss-service-card {
  padding: 2rem 1.8rem;
  border-radius: 0.9rem;
  background: #181716;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.45);
}

.ss-service-title {
  font-size: 1.1rem;
  margin: 0 0 0.3rem;
}

.ss-service-kicker {
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.78;
  margin: 0 0 0.9rem;
}

.ss-service-body {
  font-size: 0.9rem;
  opacity: 0.92;
  margin: 0 0 0.9rem;
}

.ss-service-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.88rem;
  opacity: 0.9;
}

.ss-service-list li {
  margin-bottom: 0.35rem;
}

/* FRAMEWORKS */

.ss-frameworks {
  background: var(--dark-espresso);
}

.ss-framework-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.75rem;
}

.ss-framework-card {
  padding: 1.8rem 1.6rem;
  border-radius: 0.8rem;
  border: 1px solid rgba(244, 241, 236, 0.12);
  background: rgba(12, 8, 6, 0.85);
}

.ss-framework-title {
  font-size: 1.0rem;
  margin: 0 0 0.8rem;
}

.ss-framework-body {
  font-size: 0.9rem;
  opacity: 0.92;
  margin: 0;
}

/* CLIENT PROFILES */

.ss-clients {
  background: var(--dark-espresso);
}

.ss-client-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.75rem;
}

.ss-client-card {
  padding: 1.9rem 1.7rem;
  border-radius: 0.8rem;
  background: #181716;
}

.ss-client-label {
  font-size: 0.76rem;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  opacity: 0.75;
  margin: 0 0 0.4rem;
}

.ss-client-title {
  font-size: 1.0rem;
  margin: 0 0 0.7rem;
}

.ss-client-body {
  font-size: 0.9rem;
  opacity: 0.92;
  margin: 0;
}

/* CLOSING CTA */

.ss-closing {
  background: var(--dark-espresso);
  padding-top: 3rem;
  padding-bottom: 4rem;
}

.ss-closing-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 2.2rem 2rem;
  border-radius: 0.9rem;
  background: #181716;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.45);
}

.ss-closing-text {
  max-width: 34rem;
}

/* Let the NEXT STEP block text span full width */
.ss-nextstep-text {
  max-width: none;
}

.ss-closing-title {
  font-size: 1.4rem;
  margin: 0 0 0.7rem;
}

.ss-closing-body {
  font-size: 0.95rem;
  opacity: 0.92;
  margin: 0;
}

.ss-closing-ctas {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

/* RESPONSIVE ADJUSTMENTS FOR SS PAGE */

/* ======================
   SADE STRATEGIC PAGE
   ====================== */

.sh-ss-main { ... }
.ss-hero { ... }
...
(all other Sade Strategic CSS)


/* ======================
   ENTRY CARD — SADE STRATEGIC (Brand Obsidian Brown)
   ====================== */

.ss-entrycard {
   ... (paste updated version here)
}

(you can also place the Ventures card here if you want them grouped)


/* ======================
   RESPONSIVE ADJUSTMENTS FOR SS PAGE
   ====================== */
   
/* ======================
   ENTRY CARDS – STRATEGIC & VENTURES
   ====================== */

/* Sade Strategic – Route to Revenue diagnostic entry */
.ss-entrycard {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1.4rem 1.6rem;
  border-radius: 0.75rem;
  text-decoration: none;

  background: var(--obsidian-brown); /* brand near-black */
  border-top: 1px solid rgba(244, 241, 236, 0.16);

  transition: all 0.28s ease;
  color: var(--light-beige);
  position: relative;
}

.ss-entrycard-kicker {
  font-family: var(--heading-font);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.7;
}

.ss-entrycard-title {
  font-size: 1.15rem;
  line-height: 1.28;
  font-family: var(--heading-font);
}

.ss-entrycard-arrow {
  position: absolute;
  right: 1.4rem;
  bottom: 1.4rem;
  font-size: 1.2rem;
  opacity: 0.75;
}

.ss-entrycard:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
}

/* Sade Ventures – Route to Capital diagnostic entry */
.sv-entrycard {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1.4rem 1.6rem;
  border-radius: 0.75rem;
  text-decoration: none;

  background: var(--cement-grey);
  color: #181716;
  border-top: 1px solid rgba(28, 18, 11, 0.14);

  transition: all 0.28s ease;
  position: relative;
}

.sv-entrycard-kicker {
  font-family: var(--heading-font);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.75;
}

.sv-entrycard-title {
  font-size: 1.15rem;
  line-height: 1.28;
  font-family: var(--heading-font);
}

.sv-entrycard-arrow {
  position: absolute;
  right: 1.4rem;
  bottom: 1.4rem;
  font-size: 1.2rem;
  opacity: 0.75;
}

.sv-entrycard:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.25);
}   

/* ======================
   SADE VENTURES PAGE
   ====================== */

.sh-sv-main {
  background: var(--dark-espresso);
}

/* HERO */

.sv-hero {
  background: var(--obsidian-brown);
  padding: 4.5rem 0 3.5rem;
}

.sv-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
  gap: 3rem;
  align-items: flex-start;
}

.sv-hero-text {
  max-width: 42rem;
}

.sv-kicker {
  font-family: var(--heading-font);
  font-size: 0.8rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  opacity: 0.78;
  margin: 0 0 0.8rem;
}

.sv-title {
  font-size: clamp(2.3rem, 3.6vw, 3rem);
  line-height: 1.2;
  margin: 0 0 0.8rem;
}

.sv-subtitle {
  font-size: 0.98rem;
  opacity: 0.9;
  margin: 0 0 0.9rem;
}

.sv-body {
  font-size: 0.95rem;
  opacity: 0.92;
  margin: 0 0 1.6rem;
}

.sv-hero-aside {
  border-left: 1px solid rgba(244, 241, 236, 0.16);
  padding-left: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.sv-aside-block {
  max-width: 18rem;
}

.sv-aside-label {
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  opacity: 0.7;
  margin: 0 0 0.3rem;
}

.sv-aside-value {
  font-size: 0.9rem;
  opacity: 0.9;
  margin: 0;
}

/* SNAPSHOT STRIP */

.sv-snapshot {
  padding-top: 2.5rem;
  padding-bottom: 2.8rem;
  background: var(--dark-espresso);
}

.sv-snapshot-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.2rem;
}

.sv-snapshot-item {
  font-size: 0.9rem;
}

.sv-snapshot-label {
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.75;
  margin: 0 0 0.4rem;
}

.sv-snapshot-value {
  margin: 0;
  opacity: 0.92;
}

/* SERVICES – CAPITAL WORK */

.sv-services {
  background: var(--dark-espresso);
}

.sv-service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.sv-service-card {
  padding: 2rem 1.8rem;
  border-radius: 0.9rem;
  background: #181716;
  box-shadow: 0 14px 38px rgba(0, 0, 0, 0.45);
}

.sv-service-title {
  font-size: 1.1rem;
  margin: 0 0 0.3rem;
}

.sv-service-kicker {
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  opacity: 0.78;
  margin: 0 0 0.9rem;
}

.sv-service-body {
  font-size: 0.9rem;
  opacity: 0.92;
  margin: 0 0 0.9rem;
}

.sv-service-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.88rem;
  opacity: 0.9;
}

.sv-service-list li {
  margin-bottom: 0.35rem;
}

/* FRAMEWORKS – INVESTOR / FOUNDER LENSES */

.sv-frameworks {
  background: var(--dark-espresso);
}

.sv-framework-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.75rem;
}

.sv-framework-card {
  padding: 1.8rem 1.6rem;
  border-radius: 0.8rem;
  border: 1px solid rgba(244, 241, 236, 0.12);
  background: rgba(12, 8, 6, 0.85);
}

.sv-framework-title {
  font-size: 1rem;
  margin: 0 0 0.8rem;
}

.sv-framework-body {
  font-size: 0.9rem;
  opacity: 0.92;
  margin: 0;
}

/* CLIENT / COUNTERPART PROFILES */

.sv-clients {
  background: var(--dark-espresso);
}

.sv-client-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.75rem;
}

.sv-client-card {
  padding: 1.9rem 1.7rem;
  border-radius: 0.8rem;
  background: #181716;
}

.sv-client-label {
  font-size: 0.76rem;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  opacity: 0.75;
  margin: 0 0 0.4rem;
}

.sv-client-title {
  font-size: 1rem;
  margin: 0 0 0.7rem;
}

.sv-client-body {
  font-size: 0.9rem;
  opacity: 0.92;
  margin: 0;
}

/* CLOSING CTA */

.sv-closing {
  background: var(--dark-espresso);
  padding-top: 3rem;
  padding-bottom: 4rem;
}

.sv-closing-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 2.2rem 2rem;
  border-radius: 0.9rem;
  background: #181716;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.45);
}

.sv-closing-text {
  max-width: 34rem;
}

.sv-closing-title {
  font-size: 1.4rem;
  margin: 0 0 0.7rem;
}

.sv-closing-body {
  font-size: 0.95rem;
  opacity: 0.92;
  margin: 0 0 0.75rem;
}

.sv-closing-footnote {
  font-size: 0.82rem;
  opacity: 0.8;
  margin: 0;
}

.sv-closing-ctas {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

/* RESPONSIVE – VENTURES PAGE */

@media (max-width: 900px) {
  .sv-hero-layout {
    grid-template-columns: 1fr;
    gap: 2.2rem;
  }

  .sv-hero-aside {
    border-left: none;
    padding-left: 0;
    border-top: 1px solid rgba(244, 241, 236, 0.16);
    padding-top: 1.5rem;
  }

  .sv-snapshot-grid {
    grid-template-columns: 1fr;
  }

  .sv-service-grid {
    grid-template-columns: 1fr;
  }

  .sv-framework-grid {
    grid-template-columns: 1fr;
  }

  .sv-client-grid {
    grid-template-columns: 1fr;
  }

  .sv-closing-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .sv-closing-ctas {
    width: 100%;
  }

  .sv-closing-ctas .sh-button {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 900px) {
   ...
}


/* ======================
   RESPONSIVE (GLOBAL)
   ====================== */

@media (max-width: 900px) {
   ...
}

@media (max-width: 900px) {
  .ss-hero-layout {
    grid-template-columns: 1fr;
    gap: 2.2rem;
  }

  .ss-hero-aside {
    border-left: none;
    padding-left: 0;
    border-top: 1px solid rgba(244, 241, 236, 0.16);
    padding-top: 1.5rem;
  }

  .ss-snapshot-grid {
    grid-template-columns: 1fr;
  }

  .ss-service-grid {
    grid-template-columns: 1fr;
  }

  .ss-framework-grid {
    grid-template-columns: 1fr;
  }

  .ss-client-grid {
    grid-template-columns: 1fr;
  }

  .ss-closing-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .ss-closing-ctas {
    width: 100%;
  }

  .ss-closing-ctas .sh-button {
    width: 100%;
    justify-content: center;
  }
}

/* Stack to one-column layout on mobile */
@media (max-width: 900px) {
  .sh-about-tags {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
}

/* ======================
   CONTACT
   ====================== */

.sh-contact {
  background: var(--dark-espresso);
}

.sh-contact-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.sh-contact-text {
  max-width: 32rem;
}

/* “Contact” label – aligned with other section labels */
.sh-contact-kicker {
  font-family: var(--heading-font);
  font-size: 1.1rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  opacity: 0.8;
  margin: 0 0 2.5rem;
}

/* “Connect with Sade House” – same hierarchy as About lead */
.sh-contact-headline {
  font-size: 1.4rem;
  line-height: 1.3;
  margin: 0 0 0.75rem;
}

.sh-contact-copy {
  font-size: 0.95rem;
  opacity: 0.92;
}

.sh-contact-cta-column {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

/* ======================
   FOOTER
   ====================== */

.sh-site-footer {
  background: var(--house-brown);
  border-top: 1px solid rgba(244, 241, 236, 0.08);
  padding: 1.5rem 0 2rem;
  font-size: 0.8rem;
  opacity: 0.7;
}

.sh-footer-inner {
  text-align: center;
}

/* ======================
   RESPONSIVE
   ====================== */

@media (max-width: 900px) {
  .sh-header-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  
  /* NEW: allow nav items to wrap on small screens */
  .sh-main-nav ul {
    flex-wrap: wrap;
    row-gap: 0.25rem;
    column-gap: 1.25rem;
  }

  .sh-firms-grid {
    grid-template-columns: 1fr;
  }

  .sh-about-layout {
    grid-template-columns: 1fr;
  }

  .sh-about-tags {
    grid-template-columns: 1fr; /* stack columns on mobile */
    column-gap: 0;
    padding: 1.6rem 1.4rem 1.4rem;
  }

  .sh-contact-inner {
    flex-direction: column;
    gap: 1.5rem;
  }

  .sh-hero {
    padding-top: 4.5rem;
  }
}