:root {
  --bg: #0a0a0a;
  --bg-soft: #101010;
  --bg-panel: rgba(255, 255, 255, 0.035);
  --bg-panel-strong: rgba(255, 255, 255, 0.055);

  --text: #f5f1e8;
  --text-muted: rgba(245, 241, 232, 0.72);
  --text-dim: rgba(245, 241, 232, 0.55);

  --gold-deep: #8c6a2f;
  --gold: #c9a24a;
  --gold-light: #f2d27a;
  --gold-dark: #8c6a2f;
  --gold-gradient: linear-gradient(
    90deg,
    #8c6a2f 0%,
    #c9a24a 24%,
    #f2d27a 50%,
    #c9a24a 76%,
    #8c6a2f 100%
  );

  --line: rgba(201, 162, 74, 0.18);
  --line-strong: rgba(201, 162, 74, 0.42);
  --shadow: 0 22px 70px rgba(0, 0, 0, 0.38);

  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;

  --header-height: 104px;
  --max-width: 1280px;

  --font-title: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --font-subtitle: Georgia, "Times New Roman", serif;
  --font-body: Aptos, "Segoe UI", Arial, sans-serif;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
}

body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 0%, rgba(201, 162, 74, 0.08), transparent 34rem),
    radial-gradient(circle at 88% 12%, rgba(201, 162, 74, 0.055), transparent 30rem),
    var(--bg);
  color: var(--text);
  font-family: var(--font-body);
  line-height: 1.6;
  overflow-x: hidden;
  padding-top: var(--header-height);
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

::selection {
  background: rgba(201, 162, 74, 0.38);
  color: #fff;
}

/* HEADER */

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 9999;
}

.nav-container {
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1rem clamp(1.25rem, 4vw, 4.5rem);
  background: rgba(10, 10, 10, 0.9);
  border-bottom: 1px solid rgba(201, 162, 74, 0.14);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition:
    height 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease;
}

.nav-container.is-scrolled {
  height: 84px;
  background: rgba(10, 10, 10, 0.96);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.38);
}

.logo-link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  position: relative;
  z-index: 10002;
}

.site-logo {
  width: auto;
  height: 72px;
  object-fit: contain;
  transition: height 0.3s ease;
}

.nav-container.is-scrolled .site-logo {
  height: 58px;
}

.nav-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(1rem, 2vw, 2rem);
}

.nav-links a {
  color: rgba(245, 241, 232, 0.84);
  font-size: 0.94rem;
  letter-spacing: 0.05em;
  transition: color 0.25s ease, transform 0.25s ease;
  white-space: nowrap;
}

.nav-links a:hover {
  color: var(--gold-light);
  transform: translateY(-1px);
}

.nav-button {
  padding: 0.78rem 1.12rem;
  border: 1px solid rgba(201, 162, 74, 0.65);
  border-radius: 999px;
  color: #0a0a0a !important;
  background: var(--gold-gradient);
  font-weight: 700;
  box-shadow: 0 12px 34px rgba(201, 162, 74, 0.18);
}

.nav-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 44px rgba(201, 162, 74, 0.28);
}

.nav-toggle {
  display: none;
}

.hamburger {
  display: none;
  width: 34px;
  height: 24px;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  z-index: 10002;
}

.hamburger span {
  display: block;
  height: 3px;
  width: 100%;
  background: var(--gold);
  border-radius: 999px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

/* SHARED */

.section-inner {
  width: min(100%, var(--max-width));
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.eyebrow {
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: 0.75rem;
  font-weight: 400;
  margin-bottom: 0.85rem;
}

.section-heading {
  max-width: 900px;
  margin-bottom: 2.6rem;
}

.section-heading.centered {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.section-heading h2 {
  font-family: var(--font-title);
  font-size: clamp(2.66rem, 4.95vw, 6.6rem);
  line-height: 1.06;
  letter-spacing: -0.035em;
  font-weight: 700;
  margin-bottom: 1.15rem;
  padding-bottom: 0.08em;
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  overflow: visible;
}

.section-heading p:not(.eyebrow) {
  color: var(--text-muted);
  font-size: clamp(1.05rem, 1.7vw, 1.24rem);
  line-height: 1.78;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0.98rem 1.45rem;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.015em;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease;
  text-align: center;
}

.button:hover {
  transform: translateY(-3px);
}

.button-primary {
  color: #090909;
  background: var(--gold-gradient);
  box-shadow: 0 16px 42px rgba(201, 162, 74, 0.25);
}

.button-primary:hover {
  box-shadow: 0 22px 58px rgba(201, 162, 74, 0.34);
}

.button-secondary {
  color: var(--gold-light);
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(201, 162, 74, 0.38);
}

.button-secondary:hover {
  border-color: rgba(201, 162, 74, 0.75);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
}

.text-link,
.service-link {
  display: inline-flex;
  margin-top: 1.5rem;
  color: var(--gold-light);
  font-weight: 700;
  transition: color 0.25s ease, transform 0.25s ease;
}

.text-link:hover,
.service-link:hover {
  color: #fff;
  transform: translateX(4px);
}

/* BACKGROUND SYSTEM */

.black-section {
  position: relative;
  background:
    radial-gradient(circle at 18% 0%, rgba(201, 162, 74, 0.055), transparent 28rem),
    radial-gradient(circle at 86% 25%, rgba(242, 210, 122, 0.035), transparent 26rem),
    linear-gradient(180deg, #090909 0%, #0d0d0d 48%, #080808 100%);
  overflow: visible;
}

.la-atmosphere {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #080808;
}

.la-atmosphere::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: var(--la-image);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: var(--la-position, center);
  opacity: var(--la-opacity, 0.58);
  filter: saturate(1.04) contrast(1.08) brightness(1.03);
  transform: scale(1.03);
}

.la-atmosphere::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(
      90deg,
      rgba(5, 5, 5, 0.96) 0%,
      rgba(8, 8, 8, 0.88) 22%,
      rgba(10, 10, 10, 0.58) 46%,
      rgba(10, 10, 10, 0.24) 68%,
      rgba(10, 10, 10, 0.44) 100%
    ),
    linear-gradient(
      180deg,
      rgba(5, 5, 5, 0.24) 0%,
      rgba(10, 10, 10, 0.40) 48%,
      rgba(10, 10, 10, 0.88) 100%
    ),
    radial-gradient(circle at 20% 20%, rgba(201, 162, 74, 0.15), transparent 27rem),
    radial-gradient(circle at 78% 55%, rgba(242, 210, 122, 0.10), transparent 26rem);
  pointer-events: none;
}

.hero-inner,
.section-inner {
  position: relative;
  z-index: 2;
}

.la-atmosphere-hero {
  --la-image: url("/assets/griffith-background.png");
  --la-position: center center;
  --la-opacity: 1;
}

/* Temporary reuse until we design the second LA background. */
.la-atmosphere-about {
  --la-image: url("/assets/sm-pier-background.png");
  --la-position: center bottom;
  --la-opacity: 1;
}

/* Temporary reuse until we design the third LA background. */
.la-atmosphere-services {
  --la-image: url("/assets/rose-bowl-background.png");
  --la-position: right center;
  --la-opacity: 0.95;
}

/* HERO */

.hero-section {
  min-height: calc(88vh - var(--header-height));
  display: flex;
  align-items: flex-start;
  padding:
    clamp(3.2rem, 5.5vw, 5.25rem)
    clamp(1.25rem, 6vw, 6rem)
    clamp(5.2rem, 8vw, 8rem);
}

.hero-section::after {
  background:
    linear-gradient(
      90deg,
      rgba(3, 3, 3, 0.96) 0%,
      rgba(5, 5, 5, 0.86) 22%,
      rgba(8, 8, 8, 0.58) 44%,
      rgba(10, 10, 10, 0.18) 68%,
      rgba(10, 10, 10, 0.34) 100%
    ),
    linear-gradient(
      180deg,
      rgba(5, 5, 5, 0.18) 0%,
      rgba(10, 10, 10, 0.36) 58%,
      rgba(10, 10, 10, 0.88) 100%
    ),
    radial-gradient(circle at 22% 28%, rgba(201, 162, 74, 0.19), transparent 22rem),
    radial-gradient(circle at 82% 68%, rgba(242, 210, 122, 0.11), transparent 24rem);
}

.hero-inner {
  width: min(100%, var(--max-width));
  margin: 0 auto;
}

.hero-section h1 {
  max-width: 1080px;
  font-family: var(--font-title);
  font-size: clamp(2.66rem, 4.95vw, 6.6rem);
  line-height: 1.04;
  letter-spacing: -0.045em;
  font-weight: 700;
  margin-bottom: 1.65rem;
  padding-bottom: 0.14em;
  text-wrap: balance;
  background: var(--gold-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  overflow: visible;
}

.hero-lede {
  max-width: 1040px;
  font-size: clamp(0.75rem, 1.25vw, 1.28rem);
  line-height: 1.72;
  color: rgba(245, 241, 232, 0.88);
  margin-bottom: 1.4rem;
}

.hero-qualifier {
  max-width: 840px;
  font-family: var(--font-subtitle);
  font-size: clamp(0.75rem, 1.25vw, 1.28rem);
  line-height: 1.7;
  color: rgba(242, 210, 122, 0.94);
  margin-bottom: 2.35rem;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.05rem;
}

.hero-button {
  min-height: 64px;
  padding: 1.12rem 1.85rem;
  font-size: clamp(1.02rem, 1.35vw, 1.15rem);
  letter-spacing: 0.018em;
}

/* SECTOR SELECTOR */

.sector-section {
  padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 6vw, 6rem);
  border-top: 1px solid rgba(201, 162, 74, 0.12);
  border-bottom: 1px solid rgba(201, 162, 74, 0.1);
  overflow: visible;
}

.sector-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.85rem;
}

.sector-button {
  min-height: 78px;
  padding: 1rem;
  border: 1px solid rgba(201, 162, 74, 0.23);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.022);
  color: rgba(245, 241, 232, 0.88);
  line-height: 1.25;
  text-align: center;
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease;
}

.sector-button:hover,
.sector-button.is-active {
  transform: translateY(-2px);
  border-color: rgba(201, 162, 74, 0.72);
  background: rgba(201, 162, 74, 0.115);
  color: #fff;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
}

.sector-button.is-active {
  background:
    linear-gradient(180deg, rgba(201, 162, 74, 0.18), rgba(201, 162, 74, 0.06));
}

.sector-panel {
  margin-top: 2rem;
  overflow: visible;
}

.sector-brief {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(360px, 3fr);
  gap: 1rem;
  align-items: start;
  overflow: visible;
  animation: sectorReveal 0.35s ease both;
}

@keyframes sectorReveal {
  from {
    opacity: 0;
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.sector-story,
.executive-readout {
  border: 1px solid rgba(201, 162, 74, 0.18);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.046), rgba(255, 255, 255, 0.024));
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.sector-story {
  padding: clamp(2rem, 4vw, 3.2rem);
}

.sector-label {
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.74rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.sector-story h3 {
  max-width: 980px;
  font-family: var(--font-title);
  font-size: clamp(2.15rem, 4.2vw, 4.15rem);
  line-height: 1.06;
  letter-spacing: -0.03em;
  font-weight: 700;
  margin-bottom: 2rem;
  padding-bottom: 0.06em;
  color: var(--text);
  overflow: visible;
}

.story-section {
  max-width: 980px;
  padding-top: 1.35rem;
  margin-top: 1.35rem;
  border-top: 1px solid rgba(201, 162, 74, 0.13);
}

.story-section:first-of-type {
  margin-top: 0;
}

.story-section h4 {
  font-family: var(--font-subtitle);
  color: var(--gold-light);
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  letter-spacing: 0.03em;
  margin-bottom: 0.55rem;
}

.story-section p {
  color: rgba(245, 241, 232, 0.78);
  font-size: clamp(1rem, 1.5vw, 1.14rem);
  line-height: 1.78;
}

.closing-question {
  margin-top: 2rem;
  color: var(--gold-light);
  font-family: var(--font-subtitle);
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  line-height: 1.35;
  font-weight: 700;
}

.sector-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 1.75rem;
}

.executive-readout {
  padding: clamp(1.5rem, 2.6vw, 2rem);
  position: sticky;
  top: calc(var(--header-height) + 1.25rem);
  align-self: start;
  max-height: calc(100vh - var(--header-height) - 2.5rem);
  overflow: auto;
}

.readout-kicker {
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.7rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.executive-readout h4 {
  font-family: var(--font-title);
  font-size: clamp(1.7rem, 2.3vw, 2.18rem);
  line-height: 1.12;
  letter-spacing: -0.02em;
  margin-bottom: 1rem;
  color: #fff;
}

.readout-data {
  padding: 1rem;
  border: 1px solid rgba(201, 162, 74, 0.22);
  border-radius: 16px;
  background: rgba(201, 162, 74, 0.08);
  color: var(--gold-light);
  font-size: 1rem;
  line-height: 1.55;
  margin-bottom: 1.15rem;
}

.executive-readout ul {
  list-style: none;
  display: grid;
  gap: 0.9rem;
}

.executive-readout li {
  position: relative;
  padding-left: 1.1rem;
  color: rgba(245, 241, 232, 0.78);
  font-size: 0.97rem;
  line-height: 1.5;
}

.executive-readout li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: var(--gold);
}

/* ABOUT */

.about-section {
  padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 6vw, 6rem);
  border-top: 1px solid rgba(201, 162, 74, 0.1);
}

.about-section::after {
  background:
    linear-gradient(
      90deg,
      rgba(6, 6, 6, 0) 0%,
      rgba(8, 8, 8, 0) 32%,
      rgba(10, 10, 10, 0) 58%,
      rgba(10, 10, 10, 0) 100%
    ),
    linear-gradient(
      180deg,
      rgba(8, 8, 8, 0.56) 0%,
      rgba(10, 10, 10, 0) 48%,
      rgba(10, 10, 10, 0) 100%
    ),
    radial-gradient(circle at 22% 18%, rgba(201, 162, 74, 0.11), transparent 28rem),
    radial-gradient(circle at 84% 70%, rgba(242, 210, 122, 0.055), transparent 26rem);
}

.about-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.about-card {
  min-height: 260px;
  padding: clamp(1.6rem, 3vw, 2.2rem);
  border: 1px solid rgba(201, 162, 74, 0.16);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.028);
  transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.about-card:hover {
  transform: translateY(-4px);
  border-color: rgba(201, 162, 74, 0.45);
  background: rgba(255, 255, 255, 0.042);
}

.about-card h3 {
  font-family: var(--font-title);
  font-size: clamp(1.7rem, 2.8vw, 2.35rem);
  line-height: 1.1;
  margin-bottom: 1rem;
  color: var(--gold-light);
}

.about-card p {
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1.75;
}

/* PROOF / COMMUNITY VOICE */

.proof-section {
  padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 6vw, 6rem);
  border-top: 1px solid rgba(201, 162, 74, 0.1);
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.testimonial-card {
  padding: clamp(1.6rem, 3vw, 2.2rem);
  border: 1px solid rgba(201, 162, 74, 0.16);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.028);
}

.testimonial-card blockquote {
  font-family: var(--font-subtitle);
  color: rgba(245, 241, 232, 0.86);
  font-size: clamp(0.875rem, 1vw, 1.125rem);
  font-style: italic;
  font-weight: 50;
  line-height: 1.65;
}

.testimonial-card figcaption {
  margin-top: 1.4rem;
  color: var(--gold);
  font-size: 0.96rem;
}

/* TESTIMONIAL SECTION — FEATURED QUOTE LAYOUT */

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.35rem);
  align-items: stretch;
}

.testimonial-card {
  min-height: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.testimonial-card:nth-child(2) {
  grid-column: 1 / -1;
  order: -1;
  padding: clamp(2rem, 4vw, 3rem);
  border-color: rgba(201, 162, 74, 0.28);
  background:
    radial-gradient(circle at 8% 0%, rgba(201, 162, 74, 0.12), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.024));
}

.testimonial-card:nth-child(2) blockquote {
  max-width: 980px;
  font-size: clamp(0.875rem, 1.2vw, 1.25rem);
  line-height: 1.52;
}

.testimonial-card:nth-child(2) figcaption {
  margin-top: 1.6rem;
}

.testimonial-card:not(:nth-child(2)) blockquote {
  font-size: clamp(0.875rem, 1.2vw, 1.25rem);
  line-height: 1.58;
}

/* SERVICES */

.services-section {
  padding: clamp(5rem, 9vw, 8rem) clamp(1.25rem, 6vw, 6rem);
}

.services-section::after {
  background:
    linear-gradient(
      180deg,
      rgba(7, 7, 7, 0.38) 0%,
      rgba(9, 9, 9, 0.34) 44%,
      rgba(8, 8, 8, 0.84) 100%
    ),
    linear-gradient(
      90deg,
      rgba(8, 8, 8, 0.92) 0%,
      rgba(8, 8, 8, 0.68) 34%,
      rgba(8, 8, 8, 0.20) 66%,
      rgba(8, 8, 8, 0.34) 100%
    ),
    radial-gradient(circle at 18% 0%, rgba(201, 162, 74, 0.16), transparent 30rem),
    radial-gradient(circle at 86% 18%, rgba(242, 210, 122, 0.10), transparent 28rem);
}

.services-inner {
  display: grid;
  gap: clamp(2rem, 4vw, 3.25rem);
}

.services-heading {
  max-width: 1020px;
  margin-bottom: 0;
}

.services-heading h2 {
  max-width: 980px;
}

.services-heading p:not(.eyebrow) {
  max-width: 920px;
}

.services-grid,
.service-system {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.35rem);
  counter-reset: service-step;
}

.service-card,
.service-step {
  min-height: auto;
  position: relative;
  display: flex;
  gap: clamp(1rem, 1.6vw, 1.25rem);
  padding: clamp(1.55rem, 2.5vw, 2.25rem);
  border: 1px solid rgba(201, 162, 74, 0.18);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.025));
  box-shadow: 0 20px 58px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow: hidden;
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.service-card::before,
.service-step::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 0%, rgba(201, 162, 74, 0.12), transparent 18rem),
    linear-gradient(135deg, rgba(201, 162, 74, 0.08), transparent 42%);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.service-card:hover,
.service-step:hover {
  transform: translateY(-5px);
  border-color: rgba(201, 162, 74, 0.48);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32);
}

.service-card:hover::before,
.service-step:hover::before {
  opacity: 1;
}

.featured-service {
  border-color: rgba(201, 162, 74, 0.5);
  background:
    radial-gradient(circle at 20% 0%, rgba(201, 162, 74, 0.16), transparent 18rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.028));
}

.service-step-number {
  flex: 0 0 auto;
  width: clamp(2.35rem, 4vw, 3.25rem);
  height: clamp(2.35rem, 4vw, 3.25rem);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(201, 162, 74, 0.38);
  background: rgba(201, 162, 74, 0.08);
  color: var(--gold-light);
  font-family: var(--font-subtitle);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  box-shadow: inset 0 0 22px rgba(201, 162, 74, 0.08);
  position: relative;
  z-index: 1;
}

.service-card-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.service-card h3 {
  font-family: var(--font-title);
  font-size: clamp(1.85rem, 3vw, 2.85rem);
  line-height: 1.03;
  letter-spacing: -0.028em;
  margin-bottom: 1rem;
  color: var(--gold-light);
  text-wrap: balance;
}

.service-body {
  display: grid;
  gap: 0.9rem;
}

.service-card p,
.service-body p {
  color: rgba(245, 241, 232, 0.74);
  line-height: 1.72;
  font-size: 1rem;
}

.service-question {
  margin-top: 1.35rem;
  padding: 1rem 1rem 1.05rem;
  border: 1px solid rgba(201, 162, 74, 0.2);
  border-radius: 16px;
  background: rgba(10, 10, 10, 0.34);
}

.service-question span {
  display: block;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.68rem;
  font-weight: 700;
  margin-bottom: 0.45rem;
}

.service-question p {
  color: rgba(245, 241, 232, 0.9);
  font-family: var(--font-subtitle);
  font-size: clamp(1rem, 1.55vw, 1.18rem);
  line-height: 1.45;
  font-weight: 700;
}

.service-link {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 1.25rem;
  color: var(--gold-light);
  font-weight: 700;
  transition: color 0.25s ease, transform 0.25s ease;
}

.service-link:hover {
  color: #fff;
  transform: translateX(4px);
}

.services-closing {
  max-width: 1060px;
  margin: 0;
  padding: clamp(1.25rem, 2.6vw, 1.8rem);
  border-left: 3px solid rgba(201, 162, 74, 0.62);
  border-radius: 0 20px 20px 0;
  background:
    linear-gradient(90deg, rgba(201, 162, 74, 0.11), rgba(201, 162, 74, 0.025));
  color: rgba(245, 241, 232, 0.88);
  font-family: var(--font-subtitle);
  font-size: clamp(1.18rem, 2vw, 1.55rem);
  line-height: 1.55;
  font-weight: 700;
}

.services-cta {
  display: flex;
  justify-content: flex-start;
  margin-top: 0;
}

/* FOOTER */

.site-footer {
  padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 6vw, 6rem) 2rem;
  background:
    radial-gradient(circle at 70% 0%, rgba(201, 162, 74, 0.08), transparent 28rem),
    #050505;
  border-top: 1px solid rgba(201, 162, 74, 0.14);
}

.footer-inner {
  width: min(100%, var(--max-width));
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 0.8fr;
  gap: 2rem;
}

.footer-brand h2 {
  font-family: var(--font-title);
  color: var(--gold-light);
  font-size: 2.25rem;
  line-height: 1;
  margin-bottom: 0.7rem;
}

.footer-brand p,
.footer-contact,
.footer-legal {
  color: var(--text-dim);
}

.footer-links,
.footer-socials {
  display: grid;
  gap: 0.7rem;
  align-content: start;
}

.footer-links a,
.footer-socials a,
.footer-contact a {
  color: rgba(245, 241, 232, 0.78);
  transition: color 0.25s ease;
}

.footer-links a:hover,
.footer-socials a:hover,
.footer-contact a:hover {
  color: var(--gold-light);
}

.footer-contact address {
  margin-top: 0.8rem;
  font-style: normal;
  line-height: 1.6;
}

.footer-legal {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.5rem;
  padding-top: 2rem;
  margin-top: 1rem;
  border-top: 1px solid rgba(201, 162, 74, 0.1);
  font-size: 0.9rem;
}

/* LEFT-ALIGN ALL SECTION HEADINGS */

.section-heading,
.section-heading.centered {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}

.section-heading.centered {
  max-width: 900px;
}

/* RESPONSIVE */

@media (max-width: 1180px) {
  .sector-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .sector-brief {
    grid-template-columns: minmax(0, 1.7fr) minmax(330px, 0.95fr);
  }

  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .about-grid,
  .testimonial-grid {
    grid-template-columns: 1fr;
  }

  .about-card {
    min-height: auto;
  }
}

@media (max-width: 980px) {
  :root {
    --header-height: 92px;
  }

  body {
    padding-top: var(--header-height);
  }

  .nav-container {
    height: var(--header-height);
    padding: 0.9rem 1.25rem;
  }

  .site-logo {
    height: 58px;
  }

  .hamburger {
    display: flex;
  }

  .nav-links {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(82vw, 380px);
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 1.35rem;
    padding: 7rem 2rem 2.5rem;
    background: rgba(7, 7, 7, 0.98);
    border-left: 1px solid rgba(201, 162, 74, 0.16);
    box-shadow: -24px 0 60px rgba(0, 0, 0, 0.44);
    transform: translateX(100%);
    transition: transform 0.35s ease;
    z-index: 10001;
  }

  .nav-links a {
    width: 100%;
    white-space: normal;
    font-size: 1rem;
  }

  .nav-button {
    text-align: center;
    margin-top: 0.5rem;
  }

  #nav-toggle:checked ~ .nav-links {
    transform: translateX(0);
  }

  #nav-toggle:checked + .hamburger span:nth-child(1) {
    transform: translateY(10.5px) rotate(45deg);
  }

  #nav-toggle:checked + .hamburger span:nth-child(2) {
    opacity: 0;
  }

  #nav-toggle:checked + .hamburger span:nth-child(3) {
    transform: translateY(-10.5px) rotate(-45deg);
  }

  .hero-section {
    min-height: auto;
    padding-top: 3.5rem;
  }

  .sector-brief {
    display: flex;
    flex-direction: column;
  }

  .executive-readout {
    order: -1;
    position: relative;
    top: auto;
    max-height: none;
    overflow: visible;
  }

  .footer-inner {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  :root {
    --header-height: 86px;
  }

  .nav-container {
    height: var(--header-height);
  }

  .site-logo {
    height: 52px;
  }

  .hero-section {
    min-height: auto;
    padding-top: 3.25rem;
    padding-bottom: 5rem;
  }

  .hero-section h1 {
    font-size: clamp(3.1rem, 14.5vw, 5.1rem);
    line-height: 1.08;
    letter-spacing: -0.038em;
    padding-bottom: 0.16em;
  }

  .hero-actions,
  .sector-actions {
    flex-direction: column;
  }

  .button {
    width: 100%;
  }

  .hero-button {
    min-height: 62px;
    padding: 1.08rem 1.35rem;
  }

  .sector-grid {
    grid-template-columns: 1fr;
  }

  .sector-button {
    min-height: 64px;
    text-align: left;
  }

  .sector-story,
  .executive-readout {
    border-radius: 22px;
  }

  .services-grid {
    grid-template-columns: 1fr;
  }

  .service-card {
    min-height: auto;
  }

  .services-cta {
    justify-content: stretch;
  }

  .footer-inner {
    grid-template-columns: 1fr;
  }

  .footer-legal {
    display: grid;
  }

  .la-atmosphere::after {
    background:
      linear-gradient(
        180deg,
        rgba(5, 5, 5, 0.78) 0%,
        rgba(7, 7, 7, 0.86) 44%,
        rgba(8, 8, 8, 0.98) 100%
      ),
      linear-gradient(
        90deg,
        rgba(5, 5, 5, 0.98) 0%,
        rgba(7, 7, 7, 0.92) 46%,
        rgba(9, 9, 9, 0.74) 100%
      ),
      radial-gradient(circle at 22% 18%, rgba(201, 162, 74, 0.09), transparent 20rem);
  }

  .la-atmosphere-hero {
    --la-position: 66% center;
    --la-opacity: 0.46;
  }
}

@media (max-width: 420px) {
  .hero-section,
  .sector-section,
  .about-section,
  .services-section,
  .proof-section,
  .site-footer {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sector-story,
  .executive-readout,
  .about-card,
  .service-card,
  .testimonial-card {
    padding: 1.35rem;
  }

  .section-heading h2 {
    font-size: clamp(2.66rem, 4.95vw, 6.6rem);
    line-height: 1.08;
    padding-bottom: 0.1em;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}


/* SECTOR LONG-FORM COPY — DOCUMENT STYLE, POLISHED FOR WEB */

.sector-brief {
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, 0.72fr);
  gap: clamp(1rem, 2.2vw, 1.65rem);
}

.sector-story {
  padding: clamp(2rem, 4vw, 3rem);
}

.sector-story h3 {
  max-width: 880px;
  font-size: clamp(2.35rem, 4.8vw, 4.75rem);
  line-height: 1.03;
  letter-spacing: -0.038em;
  margin-bottom: clamp(2rem, 3vw, 2.65rem);
}

.sector-document {
  max-width: 960px;
}

.sector-document p {
  color: rgba(245, 241, 232, 0.82);
  font-size: clamp(1rem, 1.18vw, 1.1rem);
  line-height: 1.74;
}

.sector-document p + p {
  margin-top: 0.9rem;
}

.sector-document .sector-punchline {
  margin: 1.25rem 0 0.95rem;
  color: rgba(245, 241, 232, 0.96);
  font-family: var(--font-subtitle);
  font-size: clamp(1.08rem, 1.45vw, 1.28rem);
  line-height: 1.45;
  font-weight: 700;
}

.sector-document h4 {
  margin: 2.2rem 0 0.75rem;
  color: var(--gold-light);
  font-family: var(--font-title);
  font-size: clamp(1.55rem, 2vw, 2rem);
  line-height: 1.12;
  letter-spacing: -0.015em;
  font-weight: 700;
}

.sector-document .sector-section-heading {
  padding-top: 1.45rem;
  border-top: 1px solid rgba(201, 162, 74, 0.15);
}

.sector-document .sector-subhead {
  margin-top: 2rem;
  padding-top: 0;
  border-top: 0;
  color: var(--gold-light);
}

.sector-actions {
  margin-top: 2.35rem;
  padding-top: 1.55rem;
  border-top: 1px solid rgba(201, 162, 74, 0.14);
}

.executive-readout {
  padding: clamp(1.35rem, 2vw, 1.85rem);
}

.executive-readout h4 {
  font-size: clamp(1.55rem, 2vw, 2.05rem);
  margin-bottom: 1.35rem;
}

.executive-readout .readout-data {
  display: none;
}

.executive-readout ul {
  gap: 0.95rem;
}

.executive-readout li {
  color: rgba(245, 241, 232, 0.76);
  font-size: clamp(0.92rem, 1.05vw, 1rem);
  line-height: 1.52;
}

.executive-readout li::before {
  top: 0.58em;
}

@media (max-width: 1180px) {
  .sector-brief {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.8fr);
  }
}

@media (max-width: 980px) {
  .sector-story h3 {
    font-size: clamp(2.35rem, 8vw, 4.3rem);
  }

  .sector-document {
    max-width: none;
  }
}

@media (max-width: 680px) {
  .sector-story h3 {
    font-size: clamp(2.2rem, 11vw, 3.65rem);
  }

  .sector-document h4 {
    font-size: clamp(1.35rem, 6vw, 1.75rem);
  }
}

/* SECTOR LONG-FORM COPY — PREMIUM EDITORIAL CARDS */

.sector-section {
  background:
    radial-gradient(circle at 12% 4%, rgba(201, 162, 74, 0.08), transparent 30rem),
    radial-gradient(circle at 88% 18%, rgba(242, 210, 122, 0.055), transparent 26rem),
    linear-gradient(180deg, #080808 0%, #0c0c0c 48%, #070707 100%);
}

.sector-brief {
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, 0.46fr);
  gap: clamp(1.1rem, 2.4vw, 2rem);
}

.sector-story,
.executive-readout {
  background:
    radial-gradient(circle at 12% 0%, rgba(201, 162, 74, 0.09), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.026));
  border-color: rgba(201, 162, 74, 0.22);
}

.sector-story {
  position: relative;
  padding: clamp(1.65rem, 3.2vw, 2.6rem);
  overflow: hidden;
}

.sector-story::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, rgba(242, 210, 122, 0.9), rgba(201, 162, 74, 0.2));
  opacity: 0.8;
}

.sector-label {
  margin-bottom: 0.75rem;
}

.sector-story h3 {
  max-width: 780px;
  font-size: clamp(2.15rem, 4vw, 3.85rem);
  line-height: 1.04;
  letter-spacing: -0.035em;
  margin-bottom: clamp(1.45rem, 2.6vw, 2.1rem);
}

.sector-document {
  max-width: none;
  display: grid;
  gap: 1rem;
}

.sector-content-card {
  position: relative;
  max-width: 980px;
  padding: clamp(1.15rem, 2.2vw, 1.65rem);
  border: 1px solid rgba(201, 162, 74, 0.13);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.038), rgba(255, 255, 255, 0.018));
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

.sector-content-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(242, 210, 122, 0.045), transparent 42%);
}

.sector-opening-card {
  border-color: rgba(201, 162, 74, 0.22);
  background:
    radial-gradient(circle at 0% 0%, rgba(201, 162, 74, 0.14), transparent 18rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.024));
}

.sector-value-card {
  border-color: rgba(242, 210, 122, 0.2);
  background:
    radial-gradient(circle at 100% 0%, rgba(242, 210, 122, 0.11), transparent 20rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02));
}

.sector-document p {
  max-width: 76ch;
  color: rgba(245, 241, 232, 0.82);
  font-size: clamp(0.98rem, 1.05vw, 1.07rem);
  line-height: 1.68;
}

.sector-document p + p {
  margin-top: 0.82rem;
}

.sector-opening-card p:first-child {
  color: rgba(245, 241, 232, 0.9);
  font-size: clamp(1.03rem, 1.18vw, 1.14rem);
  line-height: 1.72;
}

.sector-document .sector-punchline {
  max-width: 62ch;
  margin: 1.15rem 0 0;
  padding: 0.95rem 1.05rem;
  border-left: 3px solid var(--gold-light);
  border-radius: 0 16px 16px 0;
  background: rgba(201, 162, 74, 0.09);
  color: #fff;
  font-family: var(--font-subtitle);
  font-size: clamp(1.13rem, 1.5vw, 1.35rem);
  line-height: 1.42;
  font-weight: 700;
}

.sector-document h4,
.sector-document p strong {
  display: block;
  max-width: 760px;
  margin: 0 0 0.85rem;
  color: var(--gold-light);
  font-family: var(--font-title);
  font-size: clamp(1.45rem, 2.1vw, 2.05rem);
  line-height: 1.12;
  letter-spacing: -0.015em;
  font-weight: 700;
}

.sector-document .sector-subhead {
  margin: 0 0 0.95rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(201, 162, 74, 0.22);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0% 0%, rgba(242, 210, 122, 0.13), transparent 16rem),
    rgba(201, 162, 74, 0.07);
}

.sector-document .sector-section-heading {
  padding-top: 0;
  border-top: 0;
}

.sector-actions {
  margin-top: 1.65rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(201, 162, 74, 0.16);
}

.executive-readout {
  padding: clamp(1.25rem, 2vw, 1.75rem);
  border-radius: 26px;
}

.executive-readout h4 {
  font-size: clamp(1.45rem, 2vw, 1.95rem);
  margin-bottom: 1rem;
}

.executive-readout .readout-data {
  display: none;
}

.executive-readout ul {
  gap: 0;
}

.executive-readout li {
  color: rgba(245, 241, 232, 0.75);
  font-size: clamp(0.9rem, 1vw, 0.98rem);
  line-height: 1.48;
  padding: 0.9rem 0 0.9rem 1.15rem;
  border-top: 1px solid rgba(201, 162, 74, 0.11);
}

.executive-readout li:first-child {
  margin-bottom: 0.75rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(201, 162, 74, 0.24);
  border-radius: 16px;
  background: rgba(201, 162, 74, 0.085);
  color: var(--gold-light);
  font-family: var(--font-subtitle);
  font-size: clamp(1rem, 1.15vw, 1.08rem);
}

.executive-readout li:first-child::before {
  display: none;
}

.executive-readout li::before {
  top: 1.36rem;
}

@media (max-width: 1180px) {
  .sector-brief {
    grid-template-columns: minmax(0, 1fr) minmax(310px, 0.55fr);
  }
}

@media (max-width: 980px) {
  .sector-brief {
    display: flex;
    flex-direction: column;
  }

  .sector-story h3 {
    font-size: clamp(2.1rem, 7vw, 3.6rem);
  }

  .sector-content-card {
    max-width: none;
  }
}

@media (max-width: 680px) {
  .sector-story {
    padding: 1.35rem;
  }

  .sector-content-card {
    padding: 1.05rem;
    border-radius: 18px;
  }

  .sector-story h3 {
    font-size: clamp(2rem, 10vw, 3.35rem);
  }

  .sector-document h4,
  .sector-document p strong {
    font-size: clamp(1.32rem, 5.8vw, 1.72rem);
  }

  @media (max-width: 680px) {
  .testimonial-grid {
    grid-template-columns: 1fr;
  }

  .testimonial-card:nth-child(2) {
    grid-column: auto;
    order: 0;
  }
}
}

/* Sector section refinement: document subheads should sit inside the same premium card style, not as boxed mini-cards. */
.sector-document .sector-subhead {
  margin: 0 0 0.85rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.sector-conditions-card .sector-section-heading {
  margin-bottom: 0.85rem;
}

/* SERVICES — 4-CARD DESKTOP LAYOUT OVERRIDE
   Keeps your existing 2-column tablet and 1-column mobile rules intact. */
@media (min-width: 1181px) {
  .services-grid,
  .service-system {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.85rem, 1.15vw, 1.1rem);
  }

  .service-card,
  .service-step {
    flex-direction: column;
    gap: 1rem;
    padding: clamp(1.15rem, 1.55vw, 1.55rem);
  }

  .service-step-number {
    width: 2.45rem;
    height: 2.45rem;
    font-size: 0.82rem;
  }

  .service-card h3 {
    font-size: clamp(1.42rem, 1.75vw, 1.9rem);
    line-height: 1.06;
    margin-bottom: 0.85rem;
  }

  .service-card p,
  .service-body p {
    font-size: 1rem;
    line-height: 1.62;
  }

  .service-question {
    margin-top: 1rem;
    padding: 0.85rem;
    border-radius: 14px;
  }

  .service-question span {
    font-size: 0.62rem;
    letter-spacing: 0.14em;
  }

  .service-question p {
    font-size: clamp(0.9rem, 0.9vw, 1rem);
    line-height: 1.38;
  }

  .service-link {
    font-size: 0.9rem;
    margin-top: 1rem;
  }
}

/* SERVICES — ALIGN 4-CARD DESKTOP CONTENT */

@media (min-width: 1181px) {
  .service-card,
  .service-step {
    display: flex;
    flex-direction: column;
  }

  .service-card-content {
    display: grid;
    grid-template-rows:
      minmax(4.4rem, auto)
      minmax(13.5rem, auto)
      minmax(8.8rem, auto)
      auto;
    height: 100%;
  }

  .service-card h3 {
    margin-bottom: 0;
    align-self: start;
  }

  .service-body {
    align-self: start;
  }

  .service-question {
    margin-top: 0;
    align-self: start;
  }

  .service-link {
    margin-top: 1.1rem;
    align-self: start;
  }

  .featured-service {
    border-color: rgba(201, 162, 74, 0.18);
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.025));
  }
}

/* ABOUT — LONG-FORM EDITORIAL LAYOUT */

.about-section .section-inner {
  max-width: 1400px;
}

.about-section > .section-inner > .section-heading:first-child {
  max-width: 1120px;
}

.about-section > .section-inner > .section-heading:first-child p:not(.eyebrow),
.about-continuation p {
  max-width: 92ch;
  color: rgba(245, 241, 232, 0.86);
  line-height: 1.68;
}

.about-section > .section-inner > .section-heading:first-child p:not(.eyebrow) + p:not(.eyebrow),
.about-continuation p + p {
  margin-top: 0.82rem;
}

.about-section > .section-inner > .section-heading:first-child p:nth-of-type(3) {
  max-width: 88ch;
  margin-top: 1.05rem;
  padding-left: 1rem;
  border-left: 2px solid rgba(201, 162, 74, 0.62);
  color: rgba(245, 241, 232, 0.94);
  font-family: var(--font-subtitle);
  font-size: clamp(1.02rem, 1.2vw, 1.16rem);
  line-height: 1.5;
  font-weight: 700;
}

.about-grid {
  margin-bottom: clamp(2.2rem, 4vw, 3.5rem);
}

/* FEEDBACK PASS — HERO, SECTION SPACING, BUTTONS, ABOUT CARDS, SERVICES */

/* 1. HERO ONLY — switch hero eyebrow to gold and hero headline to ivory/white */

.hero-section .eyebrow {
  color: var(--gold-light);
  font-weight: 700;
}

.hero-section h1 {
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  color: var(--text);
}


/* 2. REDUCE SPACE BETWEEN TOP OF SECTION AND EYEBROW */

.sector-section,
.about-section,
.proof-section,
.services-section {
  padding-top: clamp(2.5rem, 4.5vw, 4rem);
}


/* 3. MAKE ABOUT + SECTOR CTA BUTTONS SAME SIZE AS HERO BUTTONS */

.about-actions .button,
.sector-actions .button {
  min-height: 64px;
  padding: 1.12rem 1.85rem;
  font-size: clamp(1.02rem, 1.35vw, 1.15rem);
  letter-spacing: 0.018em;
}


/* 4. CUT EXTRA SPACE UNDER "LEARN MORE" LINKS IN SERVICES CARDS */

@media (min-width: 1181px) {
  .service-card,
  .service-step {
    padding: clamp(1.05rem, 1.35vw, 1.35rem);
  }

  .service-card-content {
    display: flex;
    flex-direction: column;
    height: auto;
  }

  .service-body {
    margin-bottom: 0;
  }

  .service-link {
    margin-top: 1rem;
    margin-bottom: 0;
  }

  .service-card h3 {
    margin-bottom: 0.85rem;
  }
}


/* 5. MAKE SERVICES BOXES SHORTER OVERALL */

@media (min-width: 1181px) {
  .service-card p,
  .service-body p {
    font-size: 0.95rem;
    line-height: 1.58;
  }

  .service-step-number {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 0.76rem;
  }
}


/* 6. GIVE RESEARCH / EDUCATE / CONSULT CARDS SAME PREMIUM HOVER FEEL AS SERVICES */

.about-card {
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 58px rgba(0, 0, 0, 0.24);
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.about-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 0%, rgba(201, 162, 74, 0.12), transparent 18rem),
    linear-gradient(135deg, rgba(201, 162, 74, 0.08), transparent 42%);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.about-card:hover {
  transform: translateY(-5px);
  border-color: rgba(201, 162, 74, 0.48);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.025));
}

.about-card:hover::before {
  opacity: 1;
}

.about-card h3,
.about-card p {
  position: relative;
  z-index: 1;
}

/* FEEDBACK PASS 2 — HERO, SERVICE ALIGNMENT, TESTIMONIAL HOVER */


/* 1. HERO QUALIFIER — make "If public sentiment..." white + bold */

.hero-section .hero-qualifier {
  color: var(--text);
  font-family: var(--font-body);
  font-weight: 700;
  text-shadow: 0 10px 34px rgba(0, 0, 0, 0.55);
}


/* 2. HERO PRIMARY BUTTON — make text white instead of black */

.hero-section .button-primary {
  color: #ffffff;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}

.hero-section .button-primary:hover {
  color: #ffffff;
}


/* 3. SERVICES — restore horizontal alignment inside cards while keeping boxes shorter */

@media (min-width: 1181px) {
  .service-card,
  .service-step {
    display: flex;
    flex-direction: column;
    padding: clamp(1.05rem, 1.35vw, 1.35rem);
  }

  .service-card-content {
    display: grid;
    grid-template-rows:
      minmax(4.15rem, auto)
      minmax(9.25rem, auto)
      auto;
    height: 100%;
    align-content: start;
  }

  .service-card h3 {
    min-height: 4.15rem;
    margin-bottom: 0;
    align-self: start;
  }

  .service-body {
    min-height: 9.25rem;
    align-self: start;
  }

  .service-card p,
  .service-body p {
    font-size: 0.95rem;
    line-height: 1.58;
  }

  .service-link {
    margin-top: 0.9rem;
    margin-bottom: 0;
    align-self: start;
  }
}


/* 4. TESTIMONIALS — add same premium hover effect as service/about cards */

.testimonial-card {
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 58px rgba(0, 0, 0, 0.24);
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.testimonial-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 0%, rgba(201, 162, 74, 0.12), transparent 18rem),
    linear-gradient(135deg, rgba(201, 162, 74, 0.08), transparent 42%);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}

.testimonial-card:hover {
  transform: translateY(-5px);
  border-color: rgba(201, 162, 74, 0.48);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.025));
}

.testimonial-card:hover::before {
  opacity: 1;
}

.testimonial-card blockquote,
.testimonial-card figcaption {
  position: relative;
  z-index: 1;
}

/* HERO REFINEMENT — QUALIFIER + PRIMARY BUTTON */

/* 1. Change the "If public sentiment..." line back to regular weight,
   but add a thin gold vertical line to draw attention */
.hero-section .hero-qualifier {
  color: rgba(242, 210, 122, 0.94);
  font-family: var(--font-subtitle);
  font-weight: 400;
  position: relative;
  padding-left: 1.1rem;
  text-shadow: none;
}

.hero-section .hero-qualifier::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  bottom: 0.18em;
  width: 2px;
  background: linear-gradient(
    180deg,
    rgba(242, 210, 122, 0.95),
    rgba(201, 162, 74, 0.35)
  );
  border-radius: 999px;
}


/* 2. Change ONLY the filled hero button text back to black.
   Leave the Request a Sector Executive Brief button alone. */
.hero-section .button-primary {
  color: #090909;
  text-shadow: none;
}

.hero-section .button-primary:hover {
  color: #090909;
}

/* HERO FINAL REFINEMENT — WHITE QUALIFIER + WHITE PRIMARY BUTTON */

/* Make the "If public sentiment..." line white, while keeping the thin gold line */
.hero-section .hero-qualifier {
  color: var(--text);
  font-family: var(--font-subtitle);
  font-weight: 400;
  position: relative;
  padding-left: 1.1rem;
  text-shadow: none;
}

.hero-section .hero-qualifier::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  bottom: 0.18em;
  width: 2px;
  background: linear-gradient(
    180deg,
    rgba(242, 210, 122, 0.95),
    rgba(201, 162, 74, 0.35)
  );
  border-radius: 999px;
}


/* Make ONLY the left hero button white instead of gold gradient */
.hero-section .button-primary {
  color: #090909;
  background: #f5f1e8;
  box-shadow: 0 16px 42px rgba(245, 241, 232, 0.18);
  text-shadow: none;
}

.hero-section .button-primary:hover {
  color: #090909;
  background: #ffffff;
  box-shadow: 0 22px 58px rgba(245, 241, 232, 0.26);
}

/* HERO BUTTON REFINEMENT — OUTLINED DEFAULT, GOLD FILL ON HOVER */

/* Make hero button typography feel closer to the headline */
.hero-section .hero-actions .button {
  font-family: var(--font-title);
  font-size: clamp(1.15rem, 1.45vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.01em;
  background: transparent;
  box-shadow: none;
  text-shadow: none;
}

/* Left button: transparent with thin white outline */
.hero-section .hero-actions .button-primary {
  color: var(--text);
  background: transparent;
  border: 1px solid rgba(245, 241, 232, 0.78);
}

/* Right button: transparent with thin gold outline */
.hero-section .hero-actions .button-secondary {
  color: var(--text);
  background: transparent;
  border: 1px solid rgba(201, 162, 74, 0.72);
}

/* Both hero buttons: gold fill + black text on hover */
.hero-section .hero-actions .button-primary:hover,
.hero-section .hero-actions .button-secondary:hover {
  color: #090909;
  background: var(--gold-gradient);
  border-color: rgba(242, 210, 122, 0.88);
  box-shadow:
    0 18px 48px rgba(201, 162, 74, 0.34),
    0 0 32px rgba(242, 210, 122, 0.16);
  text-shadow: none;
}

/* HERO BUTTON FINAL — GOLD OUTLINE DEFAULT, SOFTER GOLD FILL ON HOVER */

.hero-section .hero-actions .button {
  font-family: var(--font-title);
  font-size: clamp(1.15rem, 1.45vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  background: transparent;
  box-shadow: none;
  text-shadow: none;
}

/* Both hero buttons: transparent with gold/yellow text and outline */
.hero-section .hero-actions .button-primary,
.hero-section .hero-actions .button-secondary {
  color: var(--gold-light);
  background: transparent;
  border: 1px solid rgba(201, 162, 74, 0.72);
}

/* Both hero buttons: subtle gold gradient fill on hover */
.hero-section .hero-actions .button-primary:hover,
.hero-section .hero-actions .button-secondary:hover {
  color: #0f0f12;
  background: linear-gradient(
    90deg,
    #c9a96e 0%,
    #e8c88a 52%,
    #b8860b 100%
  );
  border-color: transparent;
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(201, 169, 110, 0.28);
  text-shadow: none;
}

/* HERO BUTTON UPDATE — LEFT FILLED, RIGHT OUTLINED */

.hero-section .hero-actions .button {
  font-family: var(--font-title);
  font-size: clamp(1.15rem, 1.45vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-shadow: none;
}

/* Left button: gold gradient fill before hover */
.hero-section .hero-actions .button-primary {
  color: #0f0f12;
  background: linear-gradient(
    90deg,
    #c9a96e 0%,
    #e8c88a 52%,
    #b8860b 100%
  );
  border: 1px solid transparent;
  box-shadow: 0 12px 30px rgba(201, 169, 110, 0.24);
}

/* Right button: keep transparent with gold outline */
.hero-section .hero-actions .button-secondary {
  color: var(--gold-light);
  background: transparent;
  border: 1px solid rgba(201, 162, 74, 0.72);
  box-shadow: none;
}

/* Both buttons: gold gradient fill on hover */
.hero-section .hero-actions .button-primary:hover,
.hero-section .hero-actions .button-secondary:hover {
  color: #0f0f12;
  background: linear-gradient(
    90deg,
    #c9a96e 0%,
    #e8c88a 52%,
    #b8860b 100%
  );
  border-color: transparent;
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(201, 169, 110, 0.28);
  text-shadow: none;
}

/* HERO BUTTON — STRONGER SERIF BOLD */

.hero-section .hero-actions .button {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  font-size: clamp(1.12rem, 1.35vw, 1.28rem);
  letter-spacing: 0.08em;
}

/* UNIVERSAL BUTTON SYSTEM + SERVICES LINK ALIGNMENT */

/* 1. Softer gold gradient from the current website button style */
:root {
  --soft-gold-gradient: linear-gradient(
    90deg,
    #c9a96e 0%,
    #e8c88a 52%,
    #b8860b 100%
  );
}

/* 2. Standard button typography across the site, excluding Services text links */
.button,
.nav-button {
  font-family: var(--font-title);
  font-weight: 700;
  letter-spacing: 0.075em;
  text-shadow: none;
  -webkit-text-stroke: 0.2px currentColor;
}

/* 3. Filled buttons: Hero left, Sector left, About left, Header CTA */
.button-primary,
.nav-button {
  color: #0f0f12 !important;
  background: var(--soft-gold-gradient);
  border: 1px solid transparent;
  box-shadow: 0 12px 30px rgba(201, 169, 110, 0.24);
}

/* 4. Outline buttons: Hero right, Sector right, About right */
.button-secondary {
  color: var(--gold-light);
  background: transparent;
  border: 1px solid rgba(201, 162, 74, 0.72);
  box-shadow: none;
}

/* 5. Hover behavior: all real buttons turn into the soft gold fill */
.button-primary:hover,
.button-secondary:hover,
.nav-button:hover {
  color: #0f0f12 !important;
  background: var(--soft-gold-gradient);
  border-color: transparent;
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(201, 169, 110, 0.28);
  text-shadow: none;
}

/* 6. Keep Services card text links from becoming buttons */
.service-link {
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: 0;
  -webkit-text-stroke: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}


/* 7. Hero qualifier standard: white text + thin gold attention line */
.hero-section .hero-qualifier {
  color: var(--text);
  font-family: var(--font-subtitle);
  font-weight: 400;
  position: relative;
  padding-left: 1.1rem;
  text-shadow: none;
}

.hero-section .hero-qualifier::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.18em;
  bottom: 0.18em;
  width: 2px;
  background: linear-gradient(
    180deg,
    rgba(242, 210, 122, 0.95),
    rgba(201, 162, 74, 0.35)
  );
  border-radius: 999px;
}


/* 8. Services cards: align all Learn More links horizontally */
@media (min-width: 1181px) {
  .services-grid,
  .service-system {
    align-items: stretch;
  }

  .service-card,
  .service-step {
    height: 100%;
  }

  .service-card-content {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .service-body {
    align-self: start;
  }

  .service-link {
    margin-top: auto;
    padding-top: 1rem;
    margin-bottom: 0;
    align-self: flex-start;
  }
}

/* CTA BUTTON FONT FIX — BOLDER BUTTON TEXT */

/* Apply the stronger button font to all real CTA buttons */
.hero-section .hero-actions .button,
.sector-actions .button,
.about-actions .button,
.nav-button {
  font-family: Georgia, "Times New Roman", serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.075em !important;
  -webkit-text-stroke: 0.22px currentColor;
  text-shadow: 0.22px 0 currentColor;
}

/* Keep Services section Learn More links as text links, not CTA buttons */
.service-link {
  font-family: var(--font-body) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}

/* GLOBAL TYPE SYSTEM — GOLD EYEBROWS + WHITE MAIN HEADERS */

/* Eyebrows: gold gradient across every section */
.eyebrow,
.hero-section .eyebrow,
.section-heading .eyebrow {
  display: inline-block;
  color: transparent !important;
  background: linear-gradient(
    90deg,
    #c9a96e 0%,
    #e8c88a 52%,
    #b8860b 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
}


/* Main headers: white instead of gold gradient */
.hero-section h1,
.section-heading h2 {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  color: var(--text) !important;
  -webkit-text-fill-color: var(--text) !important;
}

/* SECTOR DETAIL BODY TEXT — FORCE REGULAR COPY TO 1REM */

/* Left-side regular body text */
.sector-document p:not(.sector-punchline) {
  font-size: 1rem !important;
  line-height: 1.68;
}

/* Override the larger first paragraph in the opening card */
.sector-opening-card p:first-child {
  font-size: 1rem !important;
  line-height: 1.68;
}

/* Right-side Executive Readout regular text */
.executive-readout li,
.readout-data {
  font-size: 1rem !important;
  line-height: 1.55;
}

/* SECTOR EXECUTIVE SUMMARY BOX — FORCE TO 1REM */

.executive-readout .readout-data,
.executive-readout .readout-data p,
.executive-summary-box,
.executive-summary-box p {
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

/* EXECUTIVE READOUT BULLET POINTS — 1REM BODY TEXT */

.executive-readout li,
.executive-readout li p,
.executive-readout li span,
.readout-list li,
.readout-list li p,
.readout-list li span {
  font-size: 1rem !important;
  line-height: 1.55 !important;
}

/* Keep the gold bullet dots small and polished */
.executive-readout li::marker,
.readout-list li::marker {
  font-size: 0.8rem;
  color: var(--gold-light);
}

.executive-readout li::before,
.readout-list li::before {
  width: 0.42rem;
  height: 0.42rem;
}

/* EXECUTIVE READOUT — VISUAL MATCH TO LEFT COLUMN */

.executive-readout .readout-data,
.executive-readout .readout-data p,
.readout-data,
.readout-data p,
.executive-readout li,
.executive-readout li p,
.executive-readout li span,
.readout-list li,
.readout-list li p,
.readout-list li span {
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
}

/* EXECUTIVE READOUT — MATCH LEFT BOX BODY FONT */

/* Gold summary box text */
.executive-readout .readout-data,
.executive-readout .readout-data *,
.readout-data,
.readout-data * {
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}

/* Executive Summary bullet text */
.executive-readout li,
.executive-readout li *,
.readout-list li,
.readout-list li * {
  font-family: var(--font-body) !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}

/* EXECUTIVE READOUT — HARD FONT RESET TO MATCH LEFT BODY COPY */

/* Force the whole right readout area to use the same body font as the left cards */
.executive-readout,
.executive-readout ul,
.executive-readout ul > li,
.executive-readout ul > li:first-child,
.executive-readout ul > li * {
  font-family: Aptos, "Segoe UI", Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}

/* Keep the first bullet styled as the gold summary box, but remove the larger serif treatment */
.executive-readout ul > li:first-child {
  color: var(--gold-light) !important;
  font-family: Aptos, "Segoe UI", Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
  font-weight: 400 !important;
}

/* Keep the regular bullet text aligned with the left body copy */
.executive-readout ul > li:not(:first-child) {
  color: rgba(245, 241, 232, 0.82) !important;
  font-family: Aptos, "Segoe UI", Arial, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.68 !important;
  font-weight: 400 !important;
}

/* EXECUTIVE READOUT — VISUALLY MATCH LEFT BODY COPY */

/* Gold summary box + bullet text */
.executive-readout ul > li,
.executive-readout ul > li:first-child,
.executive-readout ul > li *,
.executive-readout .readout-data,
.executive-readout .readout-data * {
  font-family: Aptos, "Segoe UI", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}

/* Keep the gold summary box styling, but smaller */
.executive-readout ul > li:first-child {
  color: var(--gold-light) !important;
  padding: 0.95rem 1rem !important;
}

/* Regular bullet text */
.executive-readout ul > li:not(:first-child) {
  color: rgba(245, 241, 232, 0.82) !important;
  padding-top: 0.8rem !important;
  padding-bottom: 0.8rem !important;
}

/* Keep bullet dots proportional */
.executive-readout ul > li::before {
  width: 0.36rem !important;
  height: 0.36rem !important;
  top: 1.22rem !important;
}

/* EXECUTIVE READOUT — FORCE REGULAR BULLET TEXT SMALLER */

/* Regular bullet rows only — excludes the gold summary box */
.executive-readout ul li:not(:first-child),
.executive-readout ul li:not(:first-child) *,
.executive-readout li:not(:first-child),
.executive-readout li:not(:first-child) p,
.executive-readout li:not(:first-child) span,
.executive-readout li:not(:first-child) div {
  font-family: Aptos, "Segoe UI", Arial, sans-serif !important;
  font-size: 0.9rem !important;
  line-height: 1.62 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
}

/* Keep spacing balanced after shrinking the text */
.executive-readout ul li:not(:first-child) {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  color: rgba(245, 241, 232, 0.82) !important;
}

/* Adjust the gold bullet dots to match the smaller text */
.executive-readout ul li:not(:first-child)::before {
  width: 0.34rem !important;
  height: 0.34rem !important;
  top: 1.2rem !important;
}

/* SECTOR STORIES — OPTION 1: EXECUTIVE BRIEF CARD LABELS */

/* Make each sector story card feel like a labeled executive brief module */
.sector-content-card {
  position: relative;
  padding-top: clamp(2.6rem, 3.2vw, 3.25rem) !important;
}

/* Shared label style */
.sector-content-card::before {
  position: absolute;
  top: clamp(1rem, 1.4vw, 1.25rem);
  left: clamp(1.15rem, 2.2vw, 1.65rem);
  z-index: 2;
  display: inline-block;
  font-family: var(--font-body);
  font-size: 0.66rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: transparent;
  background: linear-gradient(
    90deg,
    #c9a96e 0%,
    #e8c88a 52%,
    #b8860b 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Card-specific labels */
.sector-opening-card::before {
  content: "Scenario";
}

.sector-conditions-card::before {
  content: "Trust Condition";
}

.sector-intelligence-card::before {
  content: "Missed Intelligence";
}

.sector-value-card::before {
  content: "Business Value";
}

/* Keep card contents visually above decorative overlays */
.sector-content-card > * {
  position: relative;
  z-index: 1;
}

/* Give the cards a slightly clearer executive-brief rhythm */
.sector-content-card p {
  max-width: 74ch;
}

/* Tighten the first card slightly so the label feels intentional */
.sector-opening-card p:first-child {
  margin-top: 0;
}

/* Make section headings under labels feel like brief findings */
.sector-content-card .sector-section-heading {
  margin-top: 0;
  margin-bottom: 0.85rem;
}

/* Optional: slightly soften the card interiors so the labels lead the eye */
.sector-content-card {
  background:
    radial-gradient(circle at 0% 0%, rgba(201, 162, 74, 0.09), transparent 16rem),
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.018)) !important;
}

/* SECTOR STORIES — OPTION 2: FIRST SENTENCE LEAD-IN TREATMENT */

.sector-lead-sentence {
  color: var(--text);
  font-weight: 700;
  letter-spacing: 0.005em;
}

.sector-lead-sentence::after {
  content: "";
}

/* Slightly improve readability of the paragraph after the lead sentence */
.sector-content-card p {
  line-height: 1.72;
}

/* Keep the treatment refined, not magazine-like */
.sector-opening-card .sector-lead-sentence,
.sector-conditions-card .sector-lead-sentence,
.sector-intelligence-card .sector-lead-sentence,
.sector-value-card .sector-lead-sentence {
  font-size: 1.02em;
}

/* SECTOR STORIES — OPTION 3: KEY METRIC RAIL */

.sector-metric-rail {
  position: relative;
  display: grid;
  grid-template-columns: minmax(7rem, auto) 1fr;
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: center;
  max-width: 980px;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(201, 162, 74, 0.22);
  border-left: 3px solid var(--gold-light);
  border-radius: 0 22px 22px 0;
  background:
    radial-gradient(circle at 0% 0%, rgba(242, 210, 122, 0.13), transparent 16rem),
    linear-gradient(90deg, rgba(201, 162, 74, 0.11), rgba(255, 255, 255, 0.018));
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
  overflow: hidden;
  animation: sectorMetricIn 0.38s ease both;
}

.sector-metric-number {
  font-family: var(--font-title);
  font-size: clamp(2.1rem, 4vw, 3.35rem);
  line-height: 0.95;
  letter-spacing: -0.04em;
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
}

.sector-metric-copy span {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.66rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold-light);
}

.sector-metric-copy p {
  max-width: 68ch;
  margin: 0;
  color: rgba(245, 241, 232, 0.84);
  font-family: var(--font-body);
  font-size: 0.98rem;
  line-height: 1.58;
}

@keyframes sectorMetricIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 680px) {
  .sector-metric-rail {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .sector-metric-number {
    font-size: clamp(2rem, 13vw, 3rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .sector-metric-rail {
    animation: none;
  }
}

/* SECTOR STORIES — EXECUTIVE SUMMARY SIGNALS INSIDE LEFT CARDS */

/* Disable earlier Option 1 pseudo-labels so the new real signal blocks lead the eye */
.sector-content-card::before {
  display: none !important;
}

.sector-content-card {
  padding-top: clamp(1.15rem, 2.2vw, 1.65rem) !important;
}

/* Top Key Measure rail */
.sector-metric-rail {
  position: relative;
  display: grid;
  grid-template-columns: minmax(7rem, auto) 1fr;
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: center;
  max-width: 980px;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(201, 162, 74, 0.24);
  border-left: 3px solid var(--gold-light);
  border-radius: 0 22px 22px 0;
  background:
    radial-gradient(circle at 0% 0%, rgba(242, 210, 122, 0.13), transparent 16rem),
    linear-gradient(90deg, rgba(201, 162, 74, 0.12), rgba(255, 255, 255, 0.018));
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

.sector-metric-number {
  font-family: var(--font-title);
  font-size: clamp(2.1rem, 4vw, 3.35rem);
  line-height: 0.95;
  letter-spacing: -0.04em;
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
}

.sector-metric-copy span,
.sector-card-insight-label {
  display: block;
  margin-bottom: 0.38rem;
  font-family: var(--font-body);
  font-size: 0.64rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: transparent;
  background: linear-gradient(
    90deg,
    #c9a96e 0%,
    #e8c88a 52%,
    #b8860b 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.sector-metric-copy p {
  max-width: 68ch;
  margin: 0;
  color: rgba(245, 241, 232, 0.84);
  font-family: var(--font-body);
  font-size: 0.98rem !important;
  line-height: 1.58 !important;
}

/* Matching Executive Summary signal block inside each left card */
.sector-card-insight {
  margin-bottom: clamp(0.95rem, 1.8vw, 1.25rem);
  padding: clamp(0.85rem, 1.7vw, 1.05rem);
  border: 1px solid rgba(201, 162, 74, 0.22);
  border-left: 3px solid rgba(242, 210, 122, 0.82);
  border-radius: 0 18px 18px 0;
  background:
    radial-gradient(circle at 0% 0%, rgba(242, 210, 122, 0.10), transparent 14rem),
    linear-gradient(90deg, rgba(201, 162, 74, 0.10), rgba(255, 255, 255, 0.014));
}

.sector-card-insight strong {
  display: block;
  margin-bottom: 0.35rem;
  font-family: var(--font-title);
  font-size: clamp(1.35rem, 2.4vw, 2.15rem);
  line-height: 1;
  letter-spacing: -0.035em;
  font-weight: 700;
  color: var(--text);
}

.sector-card-insight p {
  max-width: 72ch;
  margin: 0 !important;
  color: rgba(245, 241, 232, 0.86) !important;
  font-family: var(--font-body) !important;
  font-size: 0.95rem !important;
  line-height: 1.58 !important;
  font-weight: 400 !important;
}

.sector-card-insight.no-metric p {
  color: var(--gold-light) !important;
  font-weight: 500 !important;
}

/* Keep the actual narrative copy calm and readable below the signal */
.sector-card-insight + p,
.sector-card-insight + h4,
.sector-card-insight + .sector-section-heading {
  margin-top: 0;
}

/* Mobile cleanup */
@media (max-width: 680px) {
  .sector-metric-rail {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .sector-metric-number {
    font-size: clamp(2rem, 13vw, 3rem);
  }

  .sector-card-insight strong {
    font-size: clamp(1.45rem, 8vw, 2rem);
  }
}

/* SECTOR STORIES — CONSISTENT EXECUTIVE SIGNAL RAILS */

/* Remove older experimental card labels / embedded signal boxes */
.sector-content-card::before {
  display: none !important;
}

.sector-card-insight {
  display: none !important;
}

/* Each signal now sits outside and above its matching story card */
.sector-signal-pair {
  display: grid;
  gap: 0.85rem;
}

/* Shared format for every executive signal rail */
.sector-signal-rail {
  position: relative;
  display: grid;
  grid-template-columns: minmax(7.25rem, auto) 1fr;
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: center;
  max-width: 980px;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid rgba(201, 162, 74, 0.24);
  border-left: 3px solid var(--gold-light);
  border-radius: 0 22px 22px 0;
  background:
    radial-gradient(circle at 0% 0%, rgba(242, 210, 122, 0.13), transparent 16rem),
    linear-gradient(90deg, rgba(201, 162, 74, 0.12), rgba(255, 255, 255, 0.018));
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
}

/* Left-side big stat or fallback number */
.sector-signal-number {
  font-family: var(--font-title);
  font-size: clamp(2.1rem, 4vw, 3.35rem);
  line-height: 0.95;
  letter-spacing: -0.04em;
  font-weight: 700;
  color: var(--text);
  white-space: nowrap;
}

/* When there is no stat, use 01 / 02 / 03 / 04 as the big anchor */
.sector-signal-rail.no-metric .sector-signal-number {
  color: transparent;
  background: linear-gradient(
    90deg,
    #c9a96e 0%,
    #e8c88a 52%,
    #b8860b 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Right-side label and summary copy */
.sector-signal-copy span {
  display: block;
  margin-bottom: 0.38rem;
  font-family: var(--font-body);
  font-size: 0.64rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: transparent;
  background: linear-gradient(
    90deg,
    #c9a96e 0%,
    #e8c88a 52%,
    #b8860b 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.sector-signal-copy p {
  max-width: 72ch;
  margin: 0;
  color: rgba(245, 241, 232, 0.86);
  font-family: var(--font-body);
  font-size: 0.96rem !important;
  line-height: 1.58 !important;
  font-weight: 400;
}

/* Since the signal sits above each card now, cards can breathe normally */
.sector-content-card {
  padding-top: clamp(1.15rem, 2.2vw, 1.65rem) !important;
}

/* Mobile cleanup */
@media (max-width: 680px) {
  .sector-signal-rail {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }

  .sector-signal-number {
    font-size: clamp(2rem, 13vw, 3rem);
  }
}

/* DROP-IN SECTOR INTELLIGENCE BRIEF REDESIGN */
/* New sector panel system: intelligence brief, not article. */
    .sector-brief {
      grid-template-columns: minmax(0, 1fr) minmax(360px, 0.46fr) !important;
      gap: clamp(1.1rem, 2.4vw, 2rem) !important;
      align-items: start;
    }

    .sector-story {
      position: relative;
      overflow: hidden;
    }

    .sector-story::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 4px;
      background: linear-gradient(180deg, rgba(242, 210, 122, 0.92), rgba(201, 162, 74, 0.12));
      opacity: 0.9;
    }

    .briefing-header {
      display: grid;
      gap: 0.85rem;
      margin-bottom: clamp(1.4rem, 2.6vw, 2rem);
    }

    .briefing-risk-line {
      display: inline-flex;
      align-items: center;
      width: fit-content;
      max-width: 100%;
      padding: 0.7rem 0.95rem;
      border: 1px solid rgba(201, 162, 74, 0.25);
      border-radius: 999px;
      background: rgba(201, 162, 74, 0.075);
      color: rgba(245, 241, 232, 0.88);
      font-size: 0.92rem;
      line-height: 1.35;
    }

    .briefing-risk-line strong {
      color: var(--gold-light);
      margin-right: 0.45rem;
      font-weight: 800;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      font-size: 0.68rem;
    }

    .sector-document.intelligence-brief {
      display: grid;
      gap: clamp(1rem, 1.6vw, 1.35rem);
      max-width: none;
    }

    .brief-module {
      position: relative;
      border: 1px solid rgba(201, 162, 74, 0.16);
      border-radius: 24px;
      background:
        radial-gradient(circle at 0% 0%, rgba(201, 162, 74, 0.085), transparent 18rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.046), rgba(255, 255, 255, 0.018));
      box-shadow: 0 18px 45px rgba(0, 0, 0, 0.2);
      padding: clamp(1.15rem, 2.1vw, 1.65rem);
      overflow: hidden;
    }

    .brief-module::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: linear-gradient(135deg, rgba(242, 210, 122, 0.04), transparent 42%);
    }

    .brief-module > * {
      position: relative;
      z-index: 1;
    }

    .module-label {
      display: inline-block;
      margin-bottom: 0.85rem;
      color: transparent;
      background: linear-gradient(90deg, #c9a96e 0%, #e8c88a 52%, #b8860b 100%);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      font-size: 0.66rem;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }

    .brief-module h4 {
      margin: 0 0 0.85rem !important;
      padding: 0 !important;
      border: 0 !important;
      color: var(--text) !important;
      font-family: var(--font-title) !important;
      font-size: clamp(1.45rem, 2.1vw, 2.1rem) !important;
      line-height: 1.08 !important;
      letter-spacing: -0.02em !important;
    }

    .brief-module p {
      max-width: 76ch;
      color: rgba(245, 241, 232, 0.82) !important;
      font-size: 0.98rem !important;
      line-height: 1.66 !important;
    }

    .brief-module p + p {
      margin-top: 0.75rem;
    }

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

    .snapshot-tile {
      min-height: 132px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      border: 1px solid rgba(201, 162, 74, 0.2);
      border-radius: 18px;
      background: rgba(10, 10, 10, 0.28);
      padding: 1rem;
    }

    .snapshot-label {
      color: rgba(245, 241, 232, 0.58);
      font-size: 0.68rem;
      line-height: 1.2;
      font-weight: 800;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .snapshot-value {
      margin: 0.7rem 0 0.35rem;
      color: var(--text);
      font-family: var(--font-title);
      font-size: clamp(2rem, 3vw, 3rem);
      line-height: 0.95;
      letter-spacing: -0.045em;
      font-weight: 700;
      white-space: nowrap;
    }

    .snapshot-detail {
      color: rgba(245, 241, 232, 0.76);
      font-size: 0.9rem;
      line-height: 1.35;
    }

    .brief-split {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 1rem;
      align-items: stretch;
    }

    .brief-column {
      border: 1px solid rgba(201, 162, 74, 0.14);
      border-radius: 18px;
      background: rgba(10, 10, 10, 0.25);
      padding: 1rem;
    }

    .brief-column h5 {
      margin-bottom: 0.85rem;
      color: var(--gold-light);
      font-size: 0.72rem;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }

    .brief-list {
      list-style: none;
      display: grid;
      gap: 0.65rem;
    }

    .brief-list li {
      position: relative;
      padding-left: 0.95rem;
      color: rgba(245, 241, 232, 0.82);
      font-size: 0.95rem;
      line-height: 1.45;
    }

    .brief-list li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.62em;
      width: 0.34rem;
      height: 0.34rem;
      border-radius: 999px;
      background: var(--gold);
    }

    .trust-map {
      display: grid;
      gap: 0.95rem;
    }

    .trust-row {
      display: grid;
      grid-template-columns: minmax(145px, 0.7fr) minmax(140px, 1fr) minmax(100px, auto);
      gap: 0.8rem;
      align-items: center;
    }

    .trust-name {
      color: rgba(245, 241, 232, 0.86);
      font-size: 0.94rem;
      line-height: 1.25;
      font-weight: 700;
    }

    .trust-bar {
      height: 0.58rem;
      border-radius: 999px;
      background: rgba(245, 241, 232, 0.1);
      overflow: hidden;
      box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.28);
    }

    .trust-fill {
      display: block;
      width: var(--level, 50%);
      height: 100%;
      border-radius: inherit;
      background: linear-gradient(90deg, rgba(140, 106, 47, 0.9), rgba(242, 210, 122, 0.92));
    }

    .trust-status {
      justify-self: end;
      padding: 0.38rem 0.58rem;
      border: 1px solid rgba(201, 162, 74, 0.24);
      border-radius: 999px;
      color: var(--gold-light);
      background: rgba(201, 162, 74, 0.075);
      font-size: 0.72rem;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .timeline-strip {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 0.65rem;
    }

    .timeline-step {
      position: relative;
      min-height: 116px;
      padding: 0.95rem;
      border: 1px solid rgba(201, 162, 74, 0.15);
      border-radius: 18px;
      background: rgba(10, 10, 10, 0.28);
    }

    .timeline-step-number {
      display: block;
      margin-bottom: 0.55rem;
      color: var(--gold-light);
      font-family: var(--font-title);
      font-size: 1.45rem;
      line-height: 1;
      font-weight: 700;
    }

    .timeline-step p {
      color: rgba(245, 241, 232, 0.82) !important;
      font-size: 0.9rem !important;
      line-height: 1.38 !important;
    }

    .missed-intelligence {
      border-left: 3px solid var(--gold-light);
      border-radius: 0 22px 22px 0;
      background:
        radial-gradient(circle at 0% 0%, rgba(242, 210, 122, 0.13), transparent 18rem),
        linear-gradient(90deg, rgba(201, 162, 74, 0.12), rgba(255, 255, 255, 0.02));
    }

    .diagnostic-question {
      border-color: rgba(242, 210, 122, 0.26);
      background:
        radial-gradient(circle at 100% 0%, rgba(242, 210, 122, 0.12), transparent 18rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
    }

    .diagnostic-question .question-text {
      max-width: 28ch;
      color: var(--text) !important;
      font-family: var(--font-title);
      font-size: clamp(1.65rem, 2.8vw, 2.55rem) !important;
      line-height: 1.08 !important;
      letter-spacing: -0.025em;
      font-weight: 700;
    }

    .intelligence-readout {
      background:
        radial-gradient(circle at 15% 0%, rgba(201, 162, 74, 0.1), transparent 18rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.024));
    }

    .readout-body {
      display: grid;
      gap: 0.8rem;
    }

    .readout-block {
      border-top: 1px solid rgba(201, 162, 74, 0.13);
      padding-top: 0.8rem;
    }

    .readout-block:first-child {
      padding: 0.95rem 1rem;
      border: 1px solid rgba(201, 162, 74, 0.24);
      border-radius: 16px;
      background: rgba(201, 162, 74, 0.085);
    }

    .readout-block span {
      display: block;
      margin-bottom: 0.28rem;
      color: var(--gold-light);
      font-size: 0.66rem;
      line-height: 1;
      font-weight: 800;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }

    .readout-block strong,
    .readout-block p {
      display: block;
      color: rgba(245, 241, 232, 0.84);
      font-family: Aptos, "Segoe UI", Arial, sans-serif !important;
      font-size: 0.94rem !important;
      line-height: 1.55 !important;
      font-weight: 400 !important;
      letter-spacing: 0 !important;
      -webkit-text-stroke: 0 !important;
      text-shadow: none !important;
    }

    .readout-block:first-child strong {
      color: var(--gold-light);
      font-family: var(--font-title) !important;
      font-size: clamp(1.4rem, 2.4vw, 2.05rem) !important;
      line-height: 1.05 !important;
      letter-spacing: -0.03em !important;
      font-weight: 700 !important;
    }

    .readout-recommendation {
      margin-top: 0.35rem;
      padding: 0.85rem;
      border-radius: 14px;
      border: 1px solid rgba(201, 162, 74, 0.22);
      background: rgba(10, 10, 10, 0.22);
      color: var(--text) !important;
    }

    @media (max-width: 1180px) {
      .sector-brief {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 0.55fr) !important;
      }

      .snapshot-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .timeline-strip {
        grid-template-columns: repeat(5, minmax(150px, 1fr));
        overflow-x: auto;
        padding-bottom: 0.35rem;
      }
    }

    @media (max-width: 980px) {
      .sector-brief {
        display: flex !important;
        flex-direction: column;
      }

      .sector-story {
        width: 100%;
      }

      .snapshot-grid,
      .brief-split {
        grid-template-columns: 1fr;
      }

      .timeline-strip {
        grid-template-columns: 1fr;
        overflow: visible;
      }

      .timeline-step {
        min-height: auto;
      }
    }

    @media (max-width: 680px) {
      .briefing-risk-line {
        align-items: flex-start;
        border-radius: 18px;
      }

      .snapshot-value {
        font-size: clamp(1.85rem, 12vw, 2.65rem);
      }

      .trust-row {
        grid-template-columns: 1fr;
        gap: 0.45rem;
      }

      .trust-status {
        justify-self: start;
      }

      .diagnostic-question .question-text {
        font-size: clamp(1.5rem, 8vw, 2.1rem) !important;
      }
    }

    /* Center the $5.1M compounding value tile */
    #sector-body .compounding-value-metric {
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
    }

    #sector-body .compounding-value-metric strong {
      text-align: center !important;
      width: 100% !important;
    }

    #sector-body .compounding-value-metric span {
      text-align: center !important;
      margin-left: auto !important;
      margin-right: auto !important;
    }

    /* Center Situation Snapshot tile content */
    #sector-body .snapshot-tile {
      align-items: center !important;
      justify-content: center !important;
      text-align: center !important;
      gap: 0.45rem !important;
    }

    #sector-body .snapshot-label,
    #sector-body .snapshot-value,
    #sector-body .snapshot-detail {
      width: 100% !important;
      text-align: center !important;
    }

    #sector-body .snapshot-value {
      margin: 0.25rem 0 0.15rem !important;
    }

    /* Center the 35% inside the LA Readiness Index signal column */
    #sector-body .signal-minimal-stat {
      justify-self: center !important;
      align-self: center !important;
      text-align: center !important;
      width: auto !important;
      display: block !important;
    }

    /* INTELLIGENCE GAP — combined signal-style module */

    #sector-body .intelligence-gap-module {
      border: 1px solid rgba(201, 162, 74, 0.24) !important;
      border-left: 4px solid rgba(242, 210, 122, 0.86) !important;
      border-radius: 22px !important;
      background:
        radial-gradient(circle at 0% 0%, rgba(242, 210, 122, 0.105), transparent 19rem),
        linear-gradient(180deg, rgba(255, 255, 255, 0.042), rgba(255, 255, 255, 0.018)) !important;
      box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22) !important;
    }

    #sector-body .intelligence-gap-module h4 {
      margin-bottom: clamp(1rem, 1.8vw, 1.35rem) !important;
    }

    #sector-body .intelligence-gap-module .brief-column {
      border-color: rgba(201, 162, 74, 0.22) !important;
      background: rgba(10, 10, 10, 0.28) !important;
    }

    #sector-body .intelligence-gap-module .brief-column h5 {
      color: var(--gold-light) !important;
    }

    #sector-body .intelligence-gap-finding {
      margin-top: clamp(1rem, 1.8vw, 1.35rem);
      padding-top: clamp(1rem, 1.8vw, 1.25rem);
      border-top: 1px solid rgba(201, 162, 74, 0.18);
    }

    #sector-body .intelligence-gap-finding .finding-label {
      display: inline-block;
      margin-bottom: 0.55rem;
      color: var(--gold-light);
      font-family: Aptos, "Segoe UI", Arial, sans-serif;
      font-size: 0.68rem;
      line-height: 1;
      font-weight: 900;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }

    #sector-body .intelligence-gap-finding p {
      max-width: 82ch !important;
      margin: 0 !important;
      color: rgba(245, 241, 232, 0.86) !important;
      font-size: 1rem !important;
      line-height: 1.7 !important;
    }

    /* Diagnostic Opportunity — make closing question wider and more executive */
    #sector-body .diagnostic-question .question-text {
      max-width: 150ch !important;
      width: 100% !important;
      font-size: clamp(0.75rem, 1vw, 1.125rem) !important;
      line-height: 1.08 !important;
      text-wrap: balance;
    }

    #sector-body .diagnostic-question p:not(.question-text) {
      max-width: 150ch !important;
    }

    /* Situation block — make the setup sentence feel like a strong lead question */
    #sector-summary .situation-lead {
      display: block !important;
      max-width: 62ch !important;
      margin: 0 0 0.85rem !important;
      color: var(--text) !important;
      font-family: var(--font-title) !important;
      font-size: clamp(0.85rem, 1vw, 1.125rem) !important;
      line-height: 1.08 !important;
      letter-spacing: -0.025em !important;
      font-weight: 700 !important;
      text-wrap: balance;
    }

    #sector-summary .situation-lead + #sector-summary-text {
      margin-top: 0 !important;
    }

    /* Situation lead — let the setup sentence extend across the full card */
    #sector-summary .situation-lead {
      max-width: 100% !important;
      width: 100% !important;
      display: block !important;
      text-wrap: normal !important;
    }

    #sector-summary #sector-summary-text {
      max-width: 100% !important;
      width: 100% !important;
    }

    /* Move Santa Monica Pier background to testimonial section — brighter version */
.testimonial-atmosphere {
  --la-image: url("/assets/sm-pier-background.png");
  --la-position: center bottom;
  --la-opacity: 1;
}

/* Make the image more visible */
.testimonial-atmosphere::before {
  opacity: 1 !important;
  filter: saturate(1.12) contrast(1.06) brightness(1.12) !important;
  transform: scale(1.03);
}

/* Lighter overlay so the background stays visible */
.testimonial-atmosphere::after {
  background:
    linear-gradient(
      90deg,
      rgba(5, 5, 5, 0.72) 0%,
      rgba(8, 8, 8, 0.52) 28%,
      rgba(10, 10, 10, 0.24) 55%,
      rgba(10, 10, 10, 0.34) 100%
    ),
    linear-gradient(
      180deg,
      rgba(5, 5, 5, 0.28) 0%,
      rgba(8, 8, 8, 0.12) 42%,
      rgba(8, 8, 8, 0.68) 100%
    ),
    radial-gradient(circle at 20% 18%, rgba(201, 162, 74, 0.08), transparent 28rem),
    radial-gradient(circle at 82% 64%, rgba(242, 210, 122, 0.055), transparent 26rem);
}

/* Keep testimonial cards readable without darkening the whole section */
.testimonial-atmosphere .testimonial-card {
  background:
    radial-gradient(circle at 8% 0%, rgba(201, 162, 74, 0.08), transparent 20rem),
    linear-gradient(180deg, rgba(10, 10, 10, 0.56), rgba(10, 10, 10, 0.38));
  border-color: rgba(201, 162, 74, 0.24);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}


/* =========================================================
   PARALLAX + SCROLL REVEAL ADD-ON
   Inspired by the old scroll-animation / ScrollTrigger feel,
   but implemented in lightweight vanilla JS for this homepage.
========================================================= */

.parallax-section {
  --parallax-y: 0px;
  --float-y: 0px;
  overflow: hidden;
  transform-style: preserve-3d;
}

.parallax-section.la-atmosphere::before {
  inset: -10% 0;
  height: 120%;
  transform: translate3d(0, var(--parallax-y), 0) scale(1.08);
  transform-origin: center;
  will-change: transform;
}

.parallax-section.la-atmosphere::after {
  transform: translate3d(0, calc(var(--parallax-y) * -0.18), 0);
  will-change: transform;
}

.parallax-float {
  transform: translate3d(0, var(--float-y), 0);
  will-change: transform;
  transition: transform 0.18s linear;
}

/* The hero can take a slightly more cinematic background drift. */
.hero-section.parallax-section.la-atmosphere::before {
  inset: -14% 0;
  height: 128%;
  transform: translate3d(0, var(--parallax-y), 0) scale(1.11);
}

/* Scroll reveal system */
.reveal-on-scroll {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0s),
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0s),
    border-color 0.25s ease,
    background 0.25s ease,
    box-shadow 0.25s ease;
  will-change: opacity, transform;
}

.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Keep existing hover movement after reveal. */
.reveal-on-scroll.is-visible.sector-button:hover,
.reveal-on-scroll.is-visible.sector-button.is-active,
.reveal-on-scroll.is-visible.about-card:hover,
.reveal-on-scroll.is-visible.service-card:hover,
.reveal-on-scroll.is-visible.service-step:hover,
.reveal-on-scroll.is-visible.testimonial-card:hover {
  transform: translateY(-5px);
}

.reveal-on-scroll.is-visible.sector-button:hover,
.reveal-on-scroll.is-visible.sector-button.is-active {
  transform: translateY(-2px);
}

/* Add a subtle depth layer to the sector module cards that appear dynamically. */
#sector-body .brief-module.reveal-on-scroll {
  transform: translate3d(0, 22px, 0) scale(0.992);
}

#sector-body .brief-module.reveal-on-scroll.is-visible {
  transform: translate3d(0, 0, 0) scale(1);
}

/* Slight staggered dimensionality on card grids. */
.about-card:nth-child(2),
.service-card:nth-child(2),
.testimonial-card:nth-child(2) {
  transition-delay: calc(var(--reveal-delay, 0s) + 0.04s);
}

.about-card:nth-child(3),
.service-card:nth-child(3),
.testimonial-card:nth-child(3) {
  transition-delay: calc(var(--reveal-delay, 0s) + 0.08s);
}

.service-card:nth-child(4) {
  transition-delay: calc(var(--reveal-delay, 0s) + 0.12s);
}

@media (max-width: 980px) {
  .parallax-section.la-atmosphere::before,
  .hero-section.parallax-section.la-atmosphere::before {
    inset: -6% 0;
    height: 112%;
    transform: translate3d(0, calc(var(--parallax-y) * 0.45), 0) scale(1.055);
  }

  .parallax-float {
    transform: none;
  }
}

@media (max-width: 680px) {
  .parallax-section.la-atmosphere::before,
  .hero-section.parallax-section.la-atmosphere::before {
    transform: scale(1.04);
  }

  .reveal-on-scroll {
    transform: translate3d(0, 18px, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .parallax-section.la-atmosphere::before,
  .parallax-section.la-atmosphere::after,
  .parallax-float,
  .reveal-on-scroll,
  .reveal-on-scroll.is-visible {
    transform: none !important;
    opacity: 1 !important;
    transition: none !important;
    animation: none !important;
  }
}

/* Preserve existing button lift after reveal is active. */
.reveal-on-scroll.is-visible.button:hover,
.reveal-on-scroll.is-visible.sector-actions .button:hover {
  transform: translateY(-3px);
}

/* =========================================================
   PARALLAX EDGE BLEED FIX
   Keeps the moving image layer oversized while the dark overlay
   stays locked to the section, preventing thin image strips from
   appearing at the top/bottom edges during scroll.
========================================================= */

.parallax-section.la-atmosphere {
  overflow: hidden !important;
  clip-path: inset(0) !important;
  box-shadow:
    inset 0 3px 0 rgba(8, 8, 8, 0.98),
    inset 0 -3px 0 rgba(8, 8, 8, 0.98) !important;
}

.parallax-section.la-atmosphere::before {
  inset: -16% -2px !important;
  height: auto !important;
  transform: translate3d(0, var(--parallax-y), 0) scale(1.09) !important;
}

.hero-section.parallax-section.la-atmosphere::before {
  inset: -20% -2px !important;
  height: auto !important;
  transform: translate3d(0, var(--parallax-y), 0) scale(1.12) !important;
}

.parallax-section.la-atmosphere::after {
  inset: -4px 0 !important;
  transform: none !important;
  will-change: auto !important;
}

@media (max-width: 980px) {
  .parallax-section.la-atmosphere::before,
  .hero-section.parallax-section.la-atmosphere::before {
    inset: -10% -2px !important;
    height: auto !important;
    transform: translate3d(0, calc(var(--parallax-y) * 0.35), 0) scale(1.06) !important;
  }

  .parallax-section.la-atmosphere::after {
    transform: none !important;
  }
}

@media (max-width: 680px) {
  .parallax-section.la-atmosphere::before,
  .hero-section.parallax-section.la-atmosphere::before {
    inset: -7% -2px !important;
    transform: scale(1.045) !important;
  }
}


/* =========================================================
   SECTOR PANEL PARALLAX FIX
   Keep the large sector story/readout containers populated
   immediately when a sector button is clicked. Only the cards
   inside the sector body use the scroll-reveal/parallax effect.
========================================================= */

.sector-story,
.executive-readout,
.sector-panel,
.sector-brief {
  opacity: 1 !important;
  transform: none !important;
}

.sector-story.reveal-on-scroll,
.executive-readout.reveal-on-scroll,
.sector-panel.reveal-on-scroll,
.sector-brief.reveal-on-scroll {
  opacity: 1 !important;
  transform: none !important;
  transition:
    border-color 0.25s ease,
    background 0.25s ease,
    box-shadow 0.25s ease !important;
}

#sector-body .brief-module.reveal-on-scroll,
#sector-body .snapshot-tile.reveal-on-scroll {
  opacity: 0;
  transform: translate3d(0, 22px, 0) scale(0.992);
}

#sector-body .brief-module.reveal-on-scroll.is-visible,
#sector-body .snapshot-tile.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* HOMEPAGE VIDEO — FULL SCREEN */

.full-video-section {
  position: relative;
  width: 100vw;
  min-height: 100vh;
  margin-left: calc(50% - 50vw);
  background: #000;
  overflow: hidden;
  border-top: 1px solid rgba(201, 162, 74, 0.12);
  border-bottom: 1px solid rgba(201, 162, 74, 0.12);
}

.full-video {
  width: 100%;
  height: 100vh;
  display: block;
  object-fit: contain;
  object-position: center;
  background: #000;
}

.full-video-toggle {
  position: absolute;
  right: clamp(1rem, 2vw, 2rem);
  bottom: clamp(1rem, 2vw, 2rem);
  z-index: 5;
  width: clamp(52px, 4vw, 68px);
  height: clamp(52px, 4vw, 68px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(242, 210, 122, 0.5);
  background: rgba(0, 0, 0, 0.52);
  color: var(--gold-light);
  font-size: clamp(1rem, 1.4vw, 1.35rem);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
  transition:
    transform 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease;
}

.full-video-toggle:hover {
  transform: translateY(-2px) scale(1.04);
  background: rgba(201, 162, 74, 0.18);
  border-color: rgba(242, 210, 122, 0.85);
}

@media (max-width: 680px) {
  .full-video-section {
    min-height: auto;
  }

  .full-video {
    height: auto;
    min-height: auto;
    aspect-ratio: 16 / 9;
  }
}


/* =========================================================
   MOBILE EXPERIENCE PASS V1 — 2026-07-15
   Implements the partner review without changing desktop order.
   ========================================================= */

.about-title-primary,
.about-title-secondary {
  display: block;
}

@media (max-width: 760px) {
  /* JavaScript moves the sections in the actual DOM so visual, reading, and tab order match. */
  main#top > section {
    width: 100%;
  }

  /* Restore the Griffith visual on phones while retaining text contrast. */
  .hero-section.la-atmosphere::before {
    opacity: 0.84 !important;
    background-position: 66% center !important;
    filter: saturate(1.06) contrast(1.06) brightness(1.02) !important;
  }

  .hero-section.la-atmosphere::after {
    background:
      linear-gradient(180deg, rgba(5, 5, 5, 0.48) 0%, rgba(7, 7, 7, 0.66) 58%, rgba(8, 8, 8, 0.90) 100%),
      linear-gradient(90deg, rgba(4, 4, 4, 0.90) 0%, rgba(6, 6, 6, 0.72) 48%, rgba(8, 8, 8, 0.34) 100%),
      radial-gradient(circle at 20% 22%, rgba(201, 162, 74, 0.12), transparent 20rem) !important;
  }

  .hero-section {
    padding-top: 2.75rem !important;
    padding-bottom: 4.25rem !important;
  }

  .hero-section .hero-lede,
  .hero-section .hero-qualifier {
    font-size: clamp(1rem, 4.35vw, 1.12rem) !important;
    line-height: 1.7 !important;
  }

  .hero-section .hero-lede {
    color: rgba(245, 241, 232, 0.94) !important;
  }

  .section-heading p:not(.eyebrow),
  .about-card p,
  .service-card p,
  .testimonial-card blockquote {
    font-size: clamp(1rem, 4.15vw, 1.08rem) !important;
  }

  /* One semantic heading with intentional wrapping; never split “Social Contract.” */
  .about-title {
    max-width: 100% !important;
    font-size: clamp(2.7rem, 11.7vw, 4.15rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.04em !important;
    text-wrap: normal !important;
  }

  .about-title .keep-together {
    white-space: nowrap;
  }

  .about-title-secondary {
    margin-top: 0.14em;
    text-wrap: balance;
  }

  /* The video now acts as the early visual break instead of arriving near the end. */
  .full-video-section {
    min-height: auto !important;
  }

  .full-video {
    width: 100% !important;
    height: auto !important;
    min-height: clamp(230px, 56.25vw, 430px) !important;
    aspect-ratio: 16 / 9 !important;
    object-fit: cover !important;
  }

  /* Sector choices behave like an accordion: the result follows the tapped choice. */
  .sector-grid {
    grid-template-columns: 1fr !important;
    gap: 0.72rem !important;
  }

  .sector-button {
    width: 100%;
    min-height: 60px !important;
    padding: 0.9rem 1rem !important;
    text-align: left !important;
  }

  .sector-grid > .sector-panel {
    width: 100%;
    min-width: 0;
    margin: 0.15rem 0 0.75rem !important;
    scroll-margin-top: calc(var(--header-height) + 0.75rem);
  }

  .sector-panel .sector-story,
  .sector-panel .executive-readout {
    padding: 1.2rem !important;
    border-radius: 20px !important;
  }

  body .briefing-header #sector-summary .situation-label-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.48rem !important;
    margin-bottom: 0.85rem !important;
  }

  body .briefing-header #sector-summary .situation-kicker,
  body .briefing-header #sector-summary .situation-context {
    width: fit-content !important;
    max-width: 100% !important;
    white-space: nowrap !important;
  }

  .briefing-risk-line {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.28rem !important;
    width: 100% !important;
    padding: 0.85rem 0.95rem !important;
    border-radius: 16px !important;
    line-height: 1.48 !important;
  }

  .briefing-risk-line strong {
    display: block !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }

  #sector-body .diagnostic-question .question-text {
    max-width: 100% !important;
    font-size: clamp(1.35rem, 6.5vw, 1.85rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    text-wrap: balance !important;
  }

  #sector-body .diagnostic-question p:not(.question-text) {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  /* A nonbreaking space keeps the arrow attached to the final word. */
  .service-link {
    max-width: 100%;
    font-size: clamp(0.86rem, 3.65vw, 0.96rem) !important;
    line-height: 1.35 !important;
  }

  .about-section,
  .services-section,
  .proof-section,
  .sector-section {
    padding-top: clamp(4.25rem, 15vw, 5.5rem) !important;
    padding-bottom: clamp(4.25rem, 15vw, 5.5rem) !important;
  }
}
